You've already forked prometheus-postgres-exporter
							
							Compare commits
	
		
			49 Commits
		
	
	
		
			6a50c57853
			...
			0.5.5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| b07a2f79a4 | |||
| d77fe9866e | |||
| e4c065d7e0 | |||
| 395407a398 | |||
| 2a22faff0d | |||
| a93403c97f | |||
| 177307f228 | |||
| e70e7785a7 | |||
| 18ae53edef | |||
| a773bea18f | |||
| bf5ddf5404 | |||
| c30947c2e0 | |||
| 3e8e43562a | |||
| a21a4e1c88 | |||
| 3289aeba32 | |||
| c97b1d15f6 | |||
| 3af39e8ef5 | |||
| ac2dca69bf | |||
| 902be3a9aa | |||
| 7f7972d570 | |||
| c6b2748556 | |||
| 4f8ff6ee76 | |||
| 99e3a3053e | |||
| 670233397e | |||
| f8bf338d8b | |||
| ad18974807 | |||
| 1ade590485 | |||
| c6c0b7f92c | |||
| 30c1da211e | |||
| 674f8004d6 | |||
| 94c2e05d2a | |||
| de3562bb18 | |||
| ada81c050a | |||
| 0d82de2e3b | |||
| 54b64a7854 | |||
| 1254320443 | |||
| a5bc7a1287 | |||
| 95ef4db607 | |||
| 8ee8078a54 | |||
| 7d62a9cc15 | |||
| 5f2273bfd1 | |||
| a285c66ce9 | |||
| 699ff80a36 | |||
| e84a57456a | |||
| 3c8a92fb04 | |||
| c4b9990c2d | |||
| 4a03723386 | |||
| 62f0815a3b | |||
| c669330a80 | 
| @@ -15,7 +15,7 @@ on: | ||||
| jobs: | ||||
|   generate-parameters: | ||||
|     container: | ||||
|       image: docker.io/library/node:24.4.0-alpine | ||||
|       image: docker.io/library/node:24.9.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -23,7 +23,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - name: Generate parameter section in README | ||||
|       run: | | ||||
|         npm install | ||||
|   | ||||
| @@ -13,7 +13,7 @@ on: | ||||
| jobs: | ||||
|   helm-lint: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.18.4 | ||||
|       image: docker.io/volkerraschek/helm:3.19.0 | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -21,14 +21,14 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - name: Lint helm files | ||||
|       run: | | ||||
|         helm lint --values values.yaml . | ||||
|  | ||||
|   helm-unittest: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.18.4 | ||||
|       image: docker.io/volkerraschek/helm:3.19.0 | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -36,7 +36,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - name: Unittest | ||||
|       run: | | ||||
|         helm unittest --strict --file 'unittests/**/*.yaml' ./ | ||||
| @@ -15,7 +15,7 @@ on: | ||||
| jobs: | ||||
|   markdown-link-checker: | ||||
|     container: | ||||
|       image: docker.io/library/node:24.4.0-alpine | ||||
|       image: docker.io/library/node:24.9.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -23,7 +23,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - name: Verify links in markdown files | ||||
|       run: | | ||||
|         npm install | ||||
| @@ -31,7 +31,7 @@ jobs: | ||||
|  | ||||
|   markdown-lint: | ||||
|     container: | ||||
|       image: docker.io/library/node:24.4.0-alpine | ||||
|       image: docker.io/library/node:24.9.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -39,7 +39,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - name: Lint markdown files | ||||
|       run: | | ||||
|         npm install | ||||
|   | ||||
| @@ -8,7 +8,7 @@ on: | ||||
| jobs: | ||||
|   publish-chart: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.18.4 | ||||
|       image: docker.io/volkerraschek/helm:3.19.0 | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Install packages via apk | ||||
| @@ -16,7 +16,7 @@ jobs: | ||||
|           apk update | ||||
|           apk add git npm jq yq | ||||
|  | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5.0.0 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|  | ||||
|   | ||||
							
								
								
									
										8
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @@ -1,8 +0,0 @@ | ||||
| { | ||||
|   "yaml.schemas": { | ||||
|     "https://raw.githubusercontent.com/helm-unittest/helm-unittest/v0.5.2/schema/helm-testsuite.json": [ | ||||
|       "/unittests/**/*.yaml" | ||||
|     ] | ||||
|   }, | ||||
|   "yaml.schemaStore.enable": true | ||||
| } | ||||
| @@ -9,7 +9,7 @@ name: prometheus-postgres-exporter | ||||
| description: Prometheus metric exporter for PostgreSQL | ||||
| type: application | ||||
| version: "0.1.0" | ||||
| appVersion: "0.17.1" | ||||
| appVersion: "0.18.1" | ||||
|  | ||||
| # icon: https://annotations.example.com/icon.png | ||||
|  | ||||
|   | ||||
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| @@ -4,13 +4,13 @@ CONTAINER_RUNTIME?=$(shell which podman) | ||||
| # HELM_IMAGE | ||||
| HELM_IMAGE_REGISTRY_HOST?=docker.io | ||||
| HELM_IMAGE_REPOSITORY?=volkerraschek/helm | ||||
| HELM_IMAGE_VERSION?=3.18.4 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm | ||||
| HELM_IMAGE_VERSION?=3.19.0 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm | ||||
| HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION} | ||||
|  | ||||
| # NODE_IMAGE | ||||
| NODE_IMAGE_REGISTRY_HOST?=docker.io | ||||
| NODE_IMAGE_REPOSITORY?=library/node | ||||
| NODE_IMAGE_VERSION?=24.4.1-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node | ||||
| NODE_IMAGE_VERSION?=24.9.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node | ||||
| NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION} | ||||
|  | ||||
| # MISSING DOT | ||||
| @@ -88,4 +88,4 @@ container-run/helm-lint: | ||||
| # ============================================================================== | ||||
| # Declare the contents of the PHONY variable as phony. We keep that information | ||||
| # in a variable so we can use it in if_changed. | ||||
| .PHONY: ${PHONY} | ||||
| .PHONY: ${PHONY} | ||||
|   | ||||
							
								
								
									
										47
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								README.md
									
									
									
									
									
								
							| @@ -33,7 +33,8 @@ helm chart is tested for deployment scenarios with **ArgoCD**. | ||||
| ```bash | ||||
| helm repo add prometheus-exporters https://charts.cryptic.systems/prometheus-exporters | ||||
| helm repo update | ||||
| helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
| CHART_VERSION=0.5.4 | ||||
| helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
|   --set 'config.database.secret.databaseUsername=postgres' \ | ||||
|   --set 'config.database.secret.databasePassword=postgres' \ | ||||
|   --set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ | ||||
| @@ -47,8 +48,8 @@ version of the chart must be in sync with the `values.yaml`. Newer *minor* versi | ||||
| versions can break something! | ||||
|  | ||||
| ```bash | ||||
| CHART_VERSION=0.5.2 | ||||
| helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml | ||||
| CHART_VERSION=0.5.4 | ||||
| helm show values --version "${CHART_VERSION}" prometheus-exporters/prometheus-postgres-exporter > values.yaml | ||||
| ``` | ||||
|  | ||||
| A complete list of available helm chart versions can be displayed via the following command: | ||||
| @@ -85,7 +86,8 @@ Further information about this topic can be found in one of Kanishk's blog | ||||
| > Please take care the a CPU limit < `1000m` can also lead to CPU throttling. Please read the linked documentation carefully. | ||||
|  | ||||
| ```bash | ||||
| helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
| CHART_VERSION=0.5.4 | ||||
| helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
|   --set 'config.database.secret.databaseUsername=postgres' \ | ||||
|   --set 'config.database.secret.databasePassword=postgres' \ | ||||
|   --set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ | ||||
| @@ -106,7 +108,8 @@ certification will be skipped by Prometheus. | ||||
| > `tls.key` and `tls.crt` of the secret can be mounted into the container filesystem for TLS authentication / encryption. | ||||
|  | ||||
| ```bash | ||||
| helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
| CHART_VERSION=0.5.4 | ||||
| helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
|   --set 'config.database.secret.databaseUsername=postgres' \ | ||||
|   --set 'config.database.secret.databasePassword=postgres' \ | ||||
|   --set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ | ||||
| @@ -129,7 +132,8 @@ certificate for the metrics exporter - TLS certificate verification can be enabl | ||||
| replaced: | ||||
|  | ||||
| ```diff | ||||
|   helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
|   CHART_VERSION=0.5.4 | ||||
|   helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
|     --set 'config.database.secret.databaseUsername=postgres' \ | ||||
|     --set 'config.database.secret.databasePassword=postgres' \ | ||||
|     --set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ | ||||
| @@ -150,6 +154,34 @@ replaced: | ||||
| +   --set 'prometheus.metrics.serviceMonitor.tlsConfig.keyFile=/etc/prometheus/tls/tls.key' | ||||
| ``` | ||||
|  | ||||
| #### TLS certificate rotation | ||||
|  | ||||
| If the exporter uses TLS certificates that are mounted as a secret in the container file system like the example | ||||
| [above](#tls-authentication-and-encryption), the exporter will not automatically apply them when the TLS certificates | ||||
| are rotated. Such a rotation can be for example triggered, when the [cert-manager](https://cert-manager.io/) issues new | ||||
| TLS certificates before expiring. | ||||
|  | ||||
| Until the exporter does not support rotating TLS certificate a workaround can be applied. For example stakater's | ||||
| [reloader](https://github.com/stakater/Reloader) controller can be used to trigger a rolling update. The following | ||||
| annotation must be added to instruct the reloader controller to trigger a rolling update, when the mounted configMaps | ||||
| and secrets have been changed. | ||||
|  | ||||
| ```yaml | ||||
| deployment: | ||||
|   annotations: | ||||
|     reloader.stakater.com/auto: "true" | ||||
| ``` | ||||
|  | ||||
| Instead of triggering a rolling update for configMap and secret resources, this action can also be defined for | ||||
| individual items. For example, when the secret named `prometheus-postgresql-exporter-http` is mounted and the reloader | ||||
| controller should only listen for changes of this secret: | ||||
|  | ||||
| ```yaml | ||||
| deployment: | ||||
|   annotations: | ||||
|     secret.reloader.stakater.com/reload: "prometheus-postgresql-exporter-http" | ||||
| ``` | ||||
|  | ||||
| #### Grafana dashboard | ||||
|  | ||||
| The helm chart includes Grafana dashboards. These can be deployed as a configMap by activating Grafana integration. It | ||||
| @@ -159,7 +191,8 @@ the Grafana container file system so that it is subsequently available to the us | ||||
| makes this possible. | ||||
|  | ||||
| ```bash | ||||
| helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
| CHART_VERSION=0.5.4 | ||||
| helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ | ||||
|   --set 'config.database.secret.databaseUsername=postgres' \ | ||||
|   --set 'config.database.secret.databasePassword=postgres' \ | ||||
|   --set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ | ||||
|   | ||||
| @@ -9,6 +9,7 @@ | ||||
|   ], | ||||
|   "customManagers": [ | ||||
|     { | ||||
|       "customType": "regex", | ||||
|       "fileMatch": [ | ||||
|         "^Chart\\.yaml$" | ||||
|       ], | ||||
| @@ -21,9 +22,10 @@ | ||||
|       "versioningTemplate": "semver" | ||||
|     }, | ||||
|     { | ||||
|       "customType": "regex", | ||||
|       "fileMatch": ["^README\\.md$"], | ||||
|       "matchStrings": [ | ||||
|         "VERSION=(?<currentValue>.*)" | ||||
|         "CHART_VERSION=(?<currentValue>.*)" | ||||
|       ], | ||||
|       "depNameTemplate": "volker.raschek/prometheus-postgres-exporter", | ||||
|       "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-postgres-exporter", | ||||
| @@ -32,6 +34,13 @@ | ||||
|     } | ||||
|   ], | ||||
|   "packageRules": [ | ||||
|     { | ||||
|       "groupName": "Update Node.JS", | ||||
|       "matchDepNames": [ | ||||
|         "docker.io/library/node", | ||||
|         "library/node" | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "addLabels": [ | ||||
|         "renovate/automerge", | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
| {{- $secret := default (dict "data" (dict)) (lookup "v1" "Secret" .Release.Namespace .Values.config.database.existingSecret.secretName ) }} | ||||
| checksum/secret-database: {{ print $secret.spec | sha256sum }} | ||||
| {{- else }} | ||||
| checksum/secret-database: {{ include (print $.Template.BasePath "/prometheus-postgres-exporter/secretDatabase.yaml") . | sha256sum }} | ||||
| checksum/secret-database: {{ include (print $.Template.BasePath "/secretDatabase.yaml") . | sha256sum }} | ||||
| {{- end }} | ||||
| 
 | ||||
| {{/* exporter config */}} | ||||
| @@ -24,7 +24,7 @@ checksum/secret-database: {{ include (print $.Template.BasePath "/prometheus-pos | ||||
| {{- $secret := default (dict "data" (dict)) (lookup "v1" "Secret" .Release.Namespace .Values.config.exporterConfig.existingSecret.secretName ) }} | ||||
| checksum/secret-exporter-config: {{ print $secret.spec | sha256sum }} | ||||
| {{- else }} | ||||
| checksum/secret-exporter-config: {{ include (print $.Template.BasePath "/prometheus-postgres-exporter/secretExporterConfig.yaml") . | sha256sum }} | ||||
| checksum/secret-exporter-config: {{ include (print $.Template.BasePath "/secretExporterConfig.yaml") . | sha256sum }} | ||||
| {{- end }} | ||||
| 
 | ||||
| {{/* web config */}} | ||||
| @@ -32,7 +32,7 @@ checksum/secret-exporter-config: {{ include (print $.Template.BasePath "/prometh | ||||
| {{- $secret := default (dict "data" (dict)) (lookup "v1" "Secret" .Release.Namespace .Values.config.webConfig.existingSecret.secretName ) }} | ||||
| checksum/secret-web-config: {{ print $secret.spec | sha256sum }} | ||||
| {{- else }} | ||||
| checksum/secret-web-config: {{ include (print $.Template.BasePath "/prometheus-postgres-exporter/secretWebConfig.yaml") . | sha256sum }} | ||||
| checksum/secret-web-config: {{ include (print $.Template.BasePath "/secretWebConfig.yaml") . | sha256sum }} | ||||
| {{- end }} | ||||
| 
 | ||||
| {{- end }} | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/configMapGrafanaDashboardPostgresExporter.yaml | ||||
| - templates/configMapGrafanaDashboardPostgresExporter.yaml | ||||
| tests: | ||||
| - it: Rendering postgresExporter | ||||
|   asserts: | ||||
|   | ||||
| @@ -6,10 +6,10 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/deployment.yaml | ||||
| - templates/prometheus-postgres-exporter/secretDatabase.yaml | ||||
| - templates/prometheus-postgres-exporter/secretExporterConfig.yaml | ||||
| - templates/prometheus-postgres-exporter/secretWebConfig.yaml | ||||
| - templates/deployment.yaml | ||||
| - templates/secretDatabase.yaml | ||||
| - templates/secretExporterConfig.yaml | ||||
| - templates/secretWebConfig.yaml | ||||
| tests: | ||||
| - it: Rendering default | ||||
|   set: | ||||
| @@ -20,16 +20,16 @@ tests: | ||||
|   asserts: | ||||
|   - hasDocuments: | ||||
|       count: 1 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - containsDocument: | ||||
|       apiVersion: apps/v1 | ||||
|       kind: Deployment | ||||
|       name: prometheus-postgres-exporter-unittest | ||||
|       namespace: testing | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: metadata.annotations | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: metadata.labels | ||||
|       value: | ||||
| @@ -38,20 +38,20 @@ tests: | ||||
|         app.kubernetes.io/name: prometheus-postgres-exporter | ||||
|         app.kubernetes.io/version: 0.1.0 | ||||
|         helm.sh/chart: prometheus-postgres-exporter-0.1.0 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.replicas | ||||
|       value: 1 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - exists: | ||||
|       path: spec.template.metadata.annotations.checksum/secret-database | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - exists: | ||||
|       path: spec.template.metadata.annotations.checksum/secret-exporter-config | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - exists: | ||||
|       path: spec.template.metadata.annotations.checksum/secret-web-config | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.metadata.labels | ||||
|       value: | ||||
| @@ -60,29 +60,29 @@ tests: | ||||
|         app.kubernetes.io/name: prometheus-postgres-exporter | ||||
|         app.kubernetes.io/version: 0.1.0 | ||||
|         helm.sh/chart: prometheus-postgres-exporter-0.1.0 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.affinity | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - contains: | ||||
|       path: spec.template.spec.containers[0].envFrom | ||||
|       content: | ||||
|         secretRef: | ||||
|           name: prometheus-postgres-exporter-unittest-database-env | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - 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/webConfig.yaml | ||||
|       - --web.listen-address=:9187 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].volumeMounts | ||||
|       value: | ||||
|       - mountPath: /etc/prometheus-postgres-exporter/config.d | ||||
|         name: config-d | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -94,59 +94,59 @@ tests: | ||||
|               name: prometheus-postgres-exporter-unittest-exporter-config | ||||
|           - secret: | ||||
|               name: prometheus-postgres-exporter-unittest-web-config | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].image | ||||
|       value: quay.io/prometheuscommunity/postgres-exporter:v0.1.0 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].imagePullPolicy | ||||
|       value: IfNotPresent | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.containers[0].resources | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.containers[0].securityContext | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.dnsConfig | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.dnsPolicy | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.hostname | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.hostNetwork | ||||
|       value: false | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.imagePullSecrets | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.nodeSelector | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.priorityClassName | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.restartPolicy | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.subdomain | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.terminationGracePeriodSeconds | ||||
|       value: 60 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.tolerations | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.topologySpreadConstraints | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.strategy | ||||
|       value: | ||||
| @@ -154,7 +154,7 @@ tests: | ||||
|         rollingUpdate: | ||||
|           maxSurge: 1 | ||||
|           maxUnavailable: 1 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test custom replicas | ||||
|   set: | ||||
| @@ -169,7 +169,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.replicas | ||||
|       value: 3 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test custom affinity | ||||
|   set: | ||||
| @@ -202,7 +202,7 @@ tests: | ||||
|                 values: | ||||
|                 - antarctica-east1 | ||||
|                 - antarctica-west1 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test additional arguments | ||||
|   set: | ||||
| @@ -224,7 +224,7 @@ tests: | ||||
|       - --web.listen-address=:9187 | ||||
|       - --foo=bar | ||||
|       - --bar=foo | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test custom imageRegistry and imageRepository | ||||
|   set: | ||||
| @@ -240,7 +240,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].image | ||||
|       value: registry.example.local/path/special/prometheus-postgres-exporter:v0.1.0 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test custom imagePullPolicy | ||||
|   set: | ||||
| @@ -255,7 +255,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].imagePullPolicy | ||||
|       value: Always | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test config.database.existingSecret | ||||
|   set: | ||||
| @@ -268,7 +268,7 @@ tests: | ||||
|       content: | ||||
|         secretRef: | ||||
|           name: custom-database-secret | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test config.exporterConfig.existingSecret | ||||
|   set: | ||||
| @@ -286,7 +286,7 @@ tests: | ||||
|       value: | ||||
|       - mountPath: /etc/prometheus-postgres-exporter/config.d | ||||
|         name: config-d | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -298,7 +298,7 @@ tests: | ||||
|               name: exporter-config-secret | ||||
|           - secret: | ||||
|               name: prometheus-postgres-exporter-unittest-web-config | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test config.webConfig.existingSecret | ||||
|   set: | ||||
| @@ -316,7 +316,7 @@ tests: | ||||
|       value: | ||||
|       - mountPath: /etc/prometheus-postgres-exporter/config.d | ||||
|         name: config-d | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -328,7 +328,7 @@ tests: | ||||
|               name: prometheus-postgres-exporter-unittest-exporter-config | ||||
|           - secret: | ||||
|               name: web-config-secret | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test custom resource limits and requests | ||||
|   set: | ||||
| @@ -354,7 +354,7 @@ tests: | ||||
|           resourceFieldRef: | ||||
|             divisor: "1" | ||||
|             resource: limits.cpu | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].resources | ||||
|       value: | ||||
| @@ -364,7 +364,7 @@ tests: | ||||
|         requests: | ||||
|           cpu: 25m | ||||
|           memory: 100MB | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test custom securityContext | ||||
|   set: | ||||
| @@ -397,7 +397,7 @@ tests: | ||||
|         readOnlyRootFilesystem: true | ||||
|         runAsNonRoot: true | ||||
|         runAsUser: 1000 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test dnsConfig | ||||
|   set: | ||||
| @@ -418,7 +418,7 @@ tests: | ||||
|         nameservers: | ||||
|         - "8.8.8.8" | ||||
|         - "8.8.4.4" | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test dnsPolicy | ||||
|   set: | ||||
| @@ -433,7 +433,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.dnsPolicy | ||||
|       value: ClusterFirst | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test hostNetwork, hostname, subdomain | ||||
|   set: | ||||
| @@ -450,15 +450,15 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.hostNetwork | ||||
|       value: true | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.hostname | ||||
|       value: pg-exporter | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.subdomain | ||||
|       value: exporters.internal | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test imagePullSecrets | ||||
|   set: | ||||
| @@ -477,7 +477,7 @@ tests: | ||||
|       value: | ||||
|       - name: my-pull-secret | ||||
|       - name: my-special-secret | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test nodeSelector | ||||
|   set: | ||||
| @@ -494,7 +494,7 @@ tests: | ||||
|       path: spec.template.spec.nodeSelector | ||||
|       value: | ||||
|         foo: bar | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test priorityClassName | ||||
|   set: | ||||
| @@ -509,7 +509,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.priorityClassName | ||||
|       value: my-priority | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test restartPolicy | ||||
|   set: | ||||
| @@ -524,7 +524,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.restartPolicy | ||||
|       value: Always | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test terminationGracePeriodSeconds | ||||
|   set: | ||||
| @@ -539,7 +539,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.terminationGracePeriodSeconds | ||||
|       value: 120 | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test tolerations | ||||
|   set: | ||||
| @@ -562,7 +562,7 @@ tests: | ||||
|         operator: Equal | ||||
|         value: postgres | ||||
|         effect: NoSchedule | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test topologySpreadConstraints | ||||
|   set: | ||||
| @@ -587,7 +587,7 @@ tests: | ||||
|         labelSelector: | ||||
|           matchLabels: | ||||
|             app.kubernetes.io/instance: prometheus-postgres-exporter | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|  | ||||
| - it: Test additional volumeMounts and volumes | ||||
|   set: | ||||
| @@ -612,7 +612,7 @@ tests: | ||||
|         mountPath: /usr/lib/prometheus-postgres-exporter/data | ||||
|       - name: config-d | ||||
|         mountPath: /etc/prometheus-postgres-exporter/config.d | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -627,4 +627,4 @@ tests: | ||||
|               name: prometheus-postgres-exporter-unittest-exporter-config | ||||
|           - secret: | ||||
|               name: prometheus-postgres-exporter-unittest-web-config | ||||
|     template: templates/prometheus-postgres-exporter/deployment.yaml | ||||
|     template: templates/deployment.yaml | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/ingress.yaml | ||||
| - templates/ingress.yaml | ||||
| tests: | ||||
| - it: Skip ingress by default. | ||||
|   asserts: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/networkPolicies.yaml | ||||
| - templates/networkPolicies.yaml | ||||
| tests: | ||||
| - it: Skip networkPolicies in general disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/podMonitor.yaml | ||||
| - templates/podMonitor.yaml | ||||
| tests: | ||||
| - it: Skip podMonitor when metrics are disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/secretDatabase.yaml | ||||
| - templates/secretDatabase.yaml | ||||
| tests: | ||||
| - it: Skip rendering by using existing secret. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/secretExporterConfig.yaml | ||||
| - templates/secretExporterConfig.yaml | ||||
| tests: | ||||
| - it: Skip rendering by using existing secret. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/secretWebConfig.yaml | ||||
| - templates/secretWebConfig.yaml | ||||
| tests: | ||||
| - it: Rendering default secret. | ||||
|   asserts: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/serviceAccount.yaml | ||||
| - templates/serviceAccount.yaml | ||||
| tests: | ||||
| - it: Skip rendering. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/serviceMonitorHTTP.yaml | ||||
| - templates/serviceMonitorHTTP.yaml | ||||
| tests: | ||||
| - it: Skip serviceMonitor when service is disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-postgres-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/prometheus-postgres-exporter/serviceHTTP.yaml | ||||
| - templates/serviceHTTP.yaml | ||||
| tests: | ||||
| - it: Skip service when disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| # Declare variables to be passed into your templates. | ||||
|  | ||||
| ## @section Global | ||||
| ## @param nameOverride Individual release name suffix. | ||||
| ## @param fullnameOverride Override the complete release name logic. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user