cw-infra-apps/grafana/charts/feature-integrations/tests/cert-manager_test.yaml

89 lines
3.1 KiB
YAML

# 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
}
}