diff --git a/internal/manifests/collector/annotations.go b/internal/manifests/collector/annotations.go index 55fc059f30..10759afbd9 100644 --- a/internal/manifests/collector/annotations.go +++ b/internal/manifests/collector/annotations.go @@ -27,8 +27,25 @@ func Annotations(instance v1beta1.OpenTelemetryCollector) (map[string]string, er // new map every time, so that we don't touch the instance's annotations annotations := map[string]string{} + var enableAnnotations bool + // enableAnnotations is true only if both disable variables are false. + // DisableAutomaticPrometheusAnnotations takes precedence over DisablePrometheusAnnotations. + if instance.Spec.Observability.Metrics.DisableAutomaticPrometheusAnnotations { + enableAnnotations = !instance.Spec.Observability.Metrics.DisableAutomaticPrometheusAnnotations + } else if instance.Spec.Observability.Metrics.DisablePrometheusAnnotations { + enableAnnotations = !instance.Spec.Observability.Metrics.DisablePrometheusAnnotations + } else { + enableAnnotations = true + } + if enableAnnotations { + // Set default Prometheus annotations + annotations["prometheus.io/scrape"] = "true" + annotations["prometheus.io/port"] = "8888" + annotations["prometheus.io/path"] = "/metrics" + } + // Enable Prometheus annotations by default if DisablePrometheusAnnotations|DisableAutomaticPrometheusAnnotations is nil or true - if !instance.Spec.Observability.Metrics.DisablePrometheusAnnotations || !instance.Spec.Observability.Metrics.DisableAutomaticPrometheusAnnotations { + if !instance.Spec.Observability.Metrics.DisableAutomaticPrometheusAnnotations { // Set default Prometheus annotations annotations["prometheus.io/scrape"] = "true" annotations["prometheus.io/port"] = "8888"