171 lines
5.2 KiB
YAML
171 lines
5.2 KiB
YAML
chart:
|
|
appVersion: 0.1.0
|
|
version: 0.1.0
|
|
suite: Deployment template (basic)
|
|
release:
|
|
name: prometheus-postgres-exporter-unittest
|
|
namespace: testing
|
|
templates:
|
|
- templates/prometheus-postgres-exporter/deployment.yaml
|
|
tests:
|
|
- it: Rendering default
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 1
|
|
- containsDocument:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: prometheus-postgres-exporter-unittest
|
|
namespace: testing
|
|
- notExists:
|
|
path: metadata.annotations
|
|
- equal:
|
|
path: metadata.labels
|
|
value:
|
|
app.kubernetes.io/instance: prometheus-postgres-exporter-unittest
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: prometheus-postgres-exporter
|
|
app.kubernetes.io/version: 0.1.0
|
|
helm.sh/chart: prometheus-postgres-exporter-0.1.0
|
|
- contains:
|
|
path: spec.template.spec.containers[0].envFrom
|
|
content:
|
|
secretRef:
|
|
name: prometheus-postgres-exporter-unittest-database-env
|
|
- equal:
|
|
path: spec.template.spec.containers[0].args
|
|
value:
|
|
- --config.file=/etc/prometheus-postgres-exporter/config.d/exporterConfig.yaml
|
|
- --web.config.file=/etc/prometheus-postgres-exporter/config.d/web-config.yaml
|
|
- --web.listen-address=:9187
|
|
- equal:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
value:
|
|
- mountPath: /etc/prometheus-postgres-exporter/config.d
|
|
name: config.d
|
|
- equal:
|
|
path: spec.template.spec.volumes
|
|
value:
|
|
- name: config.d
|
|
projected:
|
|
defaultMode: "0444"
|
|
sources:
|
|
- secret:
|
|
name: prometheus-postgres-exporter-unittest-exporter-config
|
|
- secret:
|
|
name: prometheus-postgres-exporter-unittest-web-config
|
|
- equal:
|
|
path: spec.template.spec.containers[0].image
|
|
value: quay.io/prometheuscommunity/postgres-exporter:v0.1.0
|
|
- equal:
|
|
path: spec.template.spec.containers[0].imagePullPolicy
|
|
value: IfNotPresent
|
|
|
|
- it: Test additional arguments
|
|
set:
|
|
deployment.postgresExporter.args:
|
|
- "--foo=bar"
|
|
- "--bar=foo"
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].args
|
|
value:
|
|
- --config.file=/etc/prometheus-postgres-exporter/config.d/exporterConfig.yaml
|
|
- --web.config.file=/etc/prometheus-postgres-exporter/config.d/web-config.yaml
|
|
- --web.listen-address=:9187
|
|
- --foo=bar
|
|
- --bar=foo
|
|
|
|
- it: Test custom imageRegistry and imageRepository
|
|
set:
|
|
deployment.postgresExporter.image.registry: registry.example.local
|
|
deployment.postgresExporter.image.repository: path/special/prometheus-postgres-exporter
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].image
|
|
value: registry.example.local/path/special/prometheus-postgres-exporter:v0.1.0
|
|
|
|
- it: Test custom imagePullPolicy
|
|
set:
|
|
deployment.postgresExporter.image.pullPolicy: Always
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].imagePullPolicy
|
|
value: Always
|
|
|
|
- it: Test config.database.existingSecret
|
|
set:
|
|
config.database.existingSecret.enabled: true
|
|
config.database.existingSecret.secretName: custom-database-secret
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.containers[0].envFrom
|
|
content:
|
|
secretRef:
|
|
name: custom-database-secret
|
|
|
|
- it: Test config.exporterConfig.existingSecret
|
|
set:
|
|
config.exporterConfig.existingSecret.enabled: true
|
|
config.exporterConfig.existingSecret.secretName: exporter-config-secret
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
value:
|
|
- mountPath: /etc/prometheus-postgres-exporter/config.d
|
|
name: config.d
|
|
- equal:
|
|
path: spec.template.spec.volumes
|
|
value:
|
|
- name: config.d
|
|
projected:
|
|
defaultMode: "0444"
|
|
sources:
|
|
- secret:
|
|
name: exporter-config-secret
|
|
- secret:
|
|
name: prometheus-postgres-exporter-unittest-web-config
|
|
|
|
- it: Test config.webConfig.existingSecret
|
|
set:
|
|
config.webConfig.existingSecret.enabled: true
|
|
config.webConfig.existingSecret.secretName: web-config-secret
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
value:
|
|
- mountPath: /etc/prometheus-postgres-exporter/config.d
|
|
name: config.d
|
|
- equal:
|
|
path: spec.template.spec.volumes
|
|
value:
|
|
- name: config.d
|
|
projected:
|
|
defaultMode: "0444"
|
|
sources:
|
|
- secret:
|
|
name: prometheus-postgres-exporter-unittest-exporter-config
|
|
- secret:
|
|
name: web-config-secret
|
|
|
|
- it: Test additional volumeMounts and volumes
|
|
set:
|
|
deployment.postgresExporter.volumeMounts:
|
|
- name: data
|
|
mountPath: /usr/lib/prometheus-postgres-exporter/data
|
|
deployment.volumes:
|
|
- name: data
|
|
hostPath:
|
|
path: /usr/lib/prometheus-postgres-exporter/data
|
|
asserts:
|
|
- contains:
|
|
path: spec.template.spec.containers[0].volumeMounts
|
|
content:
|
|
name: data
|
|
mountPath: /usr/lib/prometheus-postgres-exporter/data
|
|
- contains:
|
|
path: spec.template.spec.volumes
|
|
content:
|
|
name: data
|
|
hostPath:
|
|
path: /usr/lib/prometheus-postgres-exporter/data |