Files
devops-infra-helm-charts-gcp/helm-templates/jenkins-grn/unittests/jenkins-controller-servicemonitor_test.yaml
T
2026-08-26 03:39:42 +05:30

115 lines
3.1 KiB
YAML

suite: Controller Prometheus ServiceMonitor
release:
name: my-release
namespace: my-namespace
templates:
- jenkins-controller-servicemonitor.yaml
tests:
- it: defaults
asserts:
- hasDocuments:
count: 0
- it: enabled
set:
controller.prometheus.enabled: true
asserts:
- isKind:
of: ServiceMonitor
- equal:
path: apiVersion
value: monitoring.coreos.com/v1
- equal:
path: metadata.name
value: my-release-jenkins
- equal:
path: metadata.namespace
value: my-namespace
- matchRegex:
path: metadata.labels["helm.sh/chart"]
pattern: ^jenkins-
- equal:
path: spec
value:
endpoints:
- interval: 60s
port: http
path: /prometheus
jobLabel: my-release-jenkins
namespaceSelector:
matchNames:
- "my-namespace"
selector:
matchLabels:
"app.kubernetes.io/instance": "my-release"
"app.kubernetes.io/component": "jenkins-controller"
- it: custom values
set:
controller:
jenkinsUriPrefix: /prefix
prometheus:
enabled: true
scrapeInterval: 120s
scrapeEndpoint: /monitoring
asserts:
- equal:
path: spec
value:
endpoints:
- interval: 120s
port: http
path: /prefix/monitoring
jobLabel: my-release-jenkins
namespaceSelector:
matchNames:
- "my-namespace"
selector:
matchLabels:
"app.kubernetes.io/instance": "my-release"
"app.kubernetes.io/component": "jenkins-controller"
- it: disable helm.sh label
set:
renderHelmLabels: false
controller:
prometheus:
enabled: true
asserts:
- equal:
path: metadata.labels
value:
app.kubernetes.io/component: jenkins-controller
app.kubernetes.io/instance: my-release
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jenkins
- it: set relabling
set:
controller:
prometheus:
enabled: true
relabelings:
- sourceLabels: [metric]
regex: "(.*)"
action: drop
asserts:
- equal:
path: spec.endpoints[0].relabelings
value:
- sourceLabels: [metric]
regex: "(.*)"
action: drop
- it: set metricRelabelings
set:
controller:
prometheus:
enabled: true
metricRelabelings:
- sourceLabels: [__name__]
regex: "kubernetes_cloud_(.*)_provision_request_total"
action: drop
asserts:
- equal:
path: spec.endpoints[0].metricRelabelings
value:
- sourceLabels: [__name__]
regex: "kubernetes_cloud_(.*)_provision_request_total"
action: drop