# yamllint disable rule:document-start rule:line-length rule:trailing-spaces suite: Test cert-manager Integration - Metrics templates: - configmap.yaml tests: - it: should create the cert-manager config set: deployAsConfigMap: true cert-manager: instances: - name: cert-manager labelSelectors: app.kubernetes.io/name: cert-manager asserts: - isKind: of: ConfigMap - equal: path: data["metrics.alloy"] value: |- declare "cert_manager_integration" { argument "metrics_destinations" { comment = "Must be a list of metric destinations where collected metrics should be forwarded to" } import.git "cert_manager" { repository = "https://github.com/grafana/alloy-modules.git" revision = "main" path = "modules/kubernetes/cert-manager/metrics.alloy" pull_frequency = "15m" } cert_manager.kubernetes "cert_manager" { label_selectors = ["app.kubernetes.io/name=cert-manager"] port_name = "http-metrics" } cert_manager.scrape "cert_manager" { targets = cert_manager.kubernetes.cert_manager.output clustering = true job_label = "integrations/cert-manager" scrape_interval = "60s" max_cache_size = 100000 forward_to = argument.metrics_destinations.value } } - it: can be restricted to a namespace set: deployAsConfigMap: true cert-manager: instances: - name: my-cert-manager labelSelectors: app.kubernetes.io/name: my-cert-manager namespaces: - kube-system asserts: - isKind: of: ConfigMap - equal: path: data["metrics.alloy"] value: |- declare "cert_manager_integration" { argument "metrics_destinations" { comment = "Must be a list of metric destinations where collected metrics should be forwarded to" } import.git "cert_manager" { repository = "https://github.com/grafana/alloy-modules.git" revision = "main" path = "modules/kubernetes/cert-manager/metrics.alloy" pull_frequency = "15m" } cert_manager.kubernetes "my_cert_manager" { namespaces = ["kube-system"] label_selectors = ["app.kubernetes.io/name=my-cert-manager"] port_name = "http-metrics" } cert_manager.scrape "my_cert_manager" { targets = cert_manager.kubernetes.my_cert_manager.output clustering = true job_label = "integrations/cert-manager" scrape_interval = "60s" max_cache_size = 100000 forward_to = argument.metrics_destinations.value } }