in internal/manifests/collector/config_replace.go [111:167]
func ReplacePrometheusConfig(instance v1alpha1.AmazonCloudWatchAgent) (string, error) {
promConfigYaml, err := instance.Spec.Prometheus.Yaml()
if err != nil {
return "", fmt.Errorf("%s could not convert json to yaml", err)
}
// Check if TargetAllocator is enabled, if not, return the original config
if !instance.Spec.TargetAllocator.Enabled {
prometheusConfig, err := adapters.ConfigFromString(promConfigYaml)
if err != nil {
return "", err
}
prometheusConfigYAML, err := yaml.Marshal(prometheusConfig)
if err != nil {
return "", err
}
return string(prometheusConfigYAML), nil
}
promCfgMap, getCfgPromErr := adapters.ConfigFromString(promConfigYaml)
if getCfgPromErr != nil {
return "", getCfgPromErr
}
validateCfgPromErr := ta.ValidatePromConfig(promCfgMap, instance.Spec.TargetAllocator.Enabled, featuregate.EnableTargetAllocatorRewrite.IsEnabled())
if validateCfgPromErr != nil {
return "", validateCfgPromErr
}
if featuregate.EnableTargetAllocatorRewrite.IsEnabled() {
updPromCfgMap, getCfgPromErr := ta.AddTAConfigToPromConfig(promCfgMap, naming.TAService(instance.Name))
if getCfgPromErr != nil {
return "", getCfgPromErr
}
out, updCfgMarshalErr := yaml.Marshal(updPromCfgMap)
if updCfgMarshalErr != nil {
return "", updCfgMarshalErr
}
return string(out), nil
}
updPromCfgMap, err := ta.AddHTTPSDConfigToPromConfig(promCfgMap, naming.TAService(instance.Name))
if err != nil {
return "", err
}
out, err := yaml.Marshal(updPromCfgMap)
if err != nil {
return "", err
}
return string(out), nil
}