@@ -333,20 +333,40 @@ func (cfgInput *OtelColConfigInput) AssembleConfig(ctx context.Context) (otelv1b
333
333
334
334
func assembleAdditionalArgs (otelConfig * otelv1beta1.Config ) map [string ]string {
335
335
const (
336
- featureGatesKey = "feature-gates"
337
- flattenLogsFeatureGateValue = "transform.flatten.logs"
338
-
336
+ featureGatesKey = "feature-gates"
339
337
transformProcessorID = "transform"
340
338
flattenDataKey = "flatten_data"
341
339
)
340
+ const (
341
+ flattenLogsFeatureGateValue = "transform.flatten.logs"
342
+ telemetryDisableAddressFieldForInternalTelemetry = "telemetry.disableAddressFieldForInternalTelemetry"
343
+ )
342
344
345
+ type enableConstraint func () bool
343
346
args := make (map [string ]string )
344
- for processorName , processorConfig := range otelConfig .Processors .Object {
345
- if strings .Contains (processorName , transformProcessorID ) && processorConfig .(processor.TransformProcessor ).FlattenData {
346
- args [featureGatesKey ] = flattenLogsFeatureGateValue
347
- break
347
+ availableFeatureGates := map [string ]enableConstraint {
348
+ flattenLogsFeatureGateValue : func () bool {
349
+ for processorName , processorConfig := range otelConfig .Processors .Object {
350
+ if strings .Contains (processorName , transformProcessorID ) && processorConfig .(processor.TransformProcessor ).FlattenData {
351
+ return true
352
+ }
353
+ }
354
+ return false
355
+ },
356
+ telemetryDisableAddressFieldForInternalTelemetry : func () bool {
357
+ return true
358
+ },
359
+ }
360
+
361
+ var enabledFeatureGates []string
362
+ for featureGate , isFeatureGateEnabled := range availableFeatureGates {
363
+ if isFeatureGateEnabled () {
364
+ enabledFeatureGates = append (enabledFeatureGates , featureGate )
348
365
}
349
366
}
367
+ if len (enabledFeatureGates ) > 0 {
368
+ args [featureGatesKey ] = strings .Join (enabledFeatureGates , "," )
369
+ }
350
370
351
371
return args
352
372
}
0 commit comments