in init/fluent_bit_init_process.go [120:146]
func setECSTaskMetadata(metadata ECSTaskMetadata, filePath string) {
invokeFile := openFile(filePath)
defer invokeFile.Close()
// set the FLB_AWS_USER_AGENT env var as "init" to get the image usage
initUsage := "export FLB_AWS_USER_AGENT=ecs-init\n"
_, err := invokeFile.WriteString(initUsage)
if err != nil {
logrus.Errorln(err)
logrus.Warnf("[FluentBit Init Process] Cannot write %s in the invoke_fluent_bit.sh\n", initUsage[:len(initUsage)-2])
}
t := reflect.TypeOf(metadata)
v := reflect.ValueOf(metadata)
for i := 0; i < t.NumField(); i++ {
if v.Field(i).Interface().(string) == "" {
continue
}
writeContent := "export " + t.Field(i).Name + "=" + v.Field(i).Interface().(string) + "\n"
_, err := invokeFile.WriteString(writeContent)
if err != nil {
logrus.Errorln(err)
logrus.Fatalf("[FluentBit Init Process] Cannot write %s in the invoke_fluent_bit.sh\n", writeContent[:len(writeContent)-2])
}
}
}