mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 17:07:04 +02:00
feat(common): Release common library 3.7.1 (#383)
Co-authored-by: Aisling McGinn <me@aisling.dev>
This commit is contained in:
parent
c94a28baa3
commit
433f6d132b
146 changed files with 232 additions and 222 deletions
|
@ -0,0 +1,218 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
|
||||
suite: serviceMonitor values
|
||||
templates:
|
||||
- common.yaml
|
||||
values:
|
||||
- ../_values/controllers_main_default_container.yaml
|
||||
tests:
|
||||
- it: a serviceMonitor is not created by default
|
||||
asserts:
|
||||
- not: true
|
||||
containsDocument:
|
||||
kind: ServiceMonitor
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
name: RELEASE-NAME
|
||||
|
||||
- it: a serviceMonitor is not created when disabled
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
enabled: false
|
||||
serviceName: "{{ .Release.Name }}"
|
||||
asserts:
|
||||
- not: true
|
||||
containsDocument:
|
||||
kind: ServiceMonitor
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
name: RELEASE-NAME
|
||||
|
||||
- it: a serviceMonitor can be configured
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
labels:
|
||||
test.label: testvalue
|
||||
serviceName: "{{ .Release.Name }}"
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
documentSelector: &ServiceMonitorSelector
|
||||
path: $[?(@.kind == "ServiceMonitor")].metadata.name
|
||||
value: RELEASE-NAME
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.namespaceSelector
|
||||
value:
|
||||
matchNames:
|
||||
- NAMESPACE
|
||||
- equal:
|
||||
path: spec.jobLabel
|
||||
value: RELEASE-NAME
|
||||
- equal:
|
||||
path: spec.selector.matchLabels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
- equal:
|
||||
path: spec.endpoints
|
||||
value:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
- equal:
|
||||
path: metadata.labels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: common-test-1.0.0
|
||||
test.label: testvalue
|
||||
|
||||
- it: a serviceMonitor can be created with a nameOverride
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
nameOverride: test
|
||||
serviceName: "{{ .Release.Name }}"
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
documentSelector:
|
||||
path: $[?(@.kind == "ServiceMonitor")].metadata.name
|
||||
value: RELEASE-NAME-test
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.selector.matchLabels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
|
||||
- it: a templated service can be configured
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
serviceName: "{{ .Release.Name }}"
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
documentSelector: *ServiceMonitorSelector
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.selector.matchLabels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
|
||||
- it: a custom selector can be configured
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
selector:
|
||||
matchExpressions:
|
||||
- {key: k8s-app, operator: Exists}
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
documentSelector: *ServiceMonitorSelector
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.selector
|
||||
value:
|
||||
matchExpressions:
|
||||
- key: k8s-app
|
||||
operator: Exists
|
||||
|
||||
- it: targetLabels can be configured
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
enabled: true
|
||||
serviceName: "{{ .Release.Name }}"
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
targetLabels:
|
||||
- testlabel1
|
||||
- testlabel2
|
||||
documentSelector: *ServiceMonitorSelector
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.selector.matchLabels
|
||||
value:
|
||||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
- equal:
|
||||
path: spec.endpoints
|
||||
value:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
- equal:
|
||||
path: spec.targetLabels
|
||||
value:
|
||||
- testlabel1
|
||||
- testlabel2
|
||||
|
||||
- it: a serviceMonitor can be configured with templated endpoints
|
||||
set:
|
||||
serviceMonitor:
|
||||
main:
|
||||
labels:
|
||||
test.label: testvalue
|
||||
serviceName: "{{ .Release.Name }}"
|
||||
endpoints:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
basicAuth:
|
||||
username:
|
||||
name: "{{.Release.Name}}-secret"
|
||||
key: USERNAME
|
||||
password:
|
||||
name: "{{.Release.Name}}-secret"
|
||||
key: PASSWORD
|
||||
documentSelector: &ServiceMonitorSelector
|
||||
path: $[?(@.kind == "ServiceMonitor")].metadata.name
|
||||
value: RELEASE-NAME
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.endpoints
|
||||
value:
|
||||
- port: http
|
||||
scheme: http
|
||||
path: /metrics
|
||||
interval: 1m
|
||||
scrapeTimeout: 10s
|
||||
basicAuth:
|
||||
username:
|
||||
name: RELEASE-NAME-secret
|
||||
key: USERNAME
|
||||
password:
|
||||
name: RELEASE-NAME-secret
|
||||
key: PASSWORD
|
Loading…
Add table
Add a link
Reference in a new issue