in init/fluent_bit_init_process.go [371:403]
func main() {
// create the invoke_fluent_bit.sh
// which will declare ECS Task Metadata as environment variables
// and finally invoke Fluent Bit
createFile(invokeFile, true)
// get ECS Task Metadata and set the region for S3 client
httpClient := &http.Client{}
metadata := getECSTaskMetadata(httpClient)
// set ECS Task Metada as env vars in the invoke_fluent_bit.sh
setECSTaskMetadata(metadata, invokeFile)
// create main config file which will be used invoke Fluent Bit
createFile(mainConfigFile, true)
// add @INCLUDE in main config file to include original main config file
writeInclude(originalMainConfigFile, mainConfigFile)
// create Fluent Bit command to use "-c" to specify new main config file
createCommand(&baseCommand, mainConfigFile)
// get our built in config files or files from s3
// process built-in config files directly
// add S3 config files to directory "/init/fluent-bit-init-s3-files/"
getAllConfigFiles()
// modify invoke_fluent_bit.sh, invoke fluent bit
// this function will be called at the end
// any error appear above will cause exit this process,
// will not write Fluent Bit command in the finvoke_fluent_bit.sh so Fluent Bit will not be invoked
modifyInvokeFile(invokeFile)
}