9 Commits

Author SHA1 Message Date
113a4b76c9 chore(deps): update volkerraschek/helm docker tag to v3.18.2
All checks were successful
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 16s
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 18s
2025-06-02 22:11:56 +00:00
2821f844b0 chore(deps): update docker.io/volkerraschek/helm docker tag to v3.18.2
All checks were successful
Helm / helm-unittest (pull_request) Successful in 6s
Helm / helm-lint (pull_request) Successful in 23s
Helm / helm-unittest (push) Successful in 6s
Helm / helm-lint (push) Successful in 15s
2025-06-02 19:10:44 +00:00
c912bc729e chore(deps): update volkerraschek/helm docker tag to v3.18.1
All checks were successful
Helm / helm-unittest (pull_request) Successful in 5s
Helm / helm-lint (pull_request) Successful in 25s
Helm / helm-unittest (push) Successful in 6s
Helm / helm-lint (push) Successful in 22s
2025-05-29 16:11:44 +00:00
448ab03ab2 chore(deps): update docker.io/volkerraschek/helm docker tag to v3.18.1
All checks were successful
Generate README / generate-parameters (push) Successful in 9s
Markdown linter / markdown-lint (push) Successful in 8s
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 5s
Markdown linter / markdown-link-checker (push) Successful in 46s
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 6s
2025-05-29 13:16:41 +00:00
bb2da8f33f chore(deps): update dependency volker.raschek/prometheus-postgres-exporter to v0.5.1
All checks were successful
Generate README / generate-parameters (pull_request) Successful in 8s
Helm / helm-lint (pull_request) Successful in 5s
Helm / helm-unittest (pull_request) Successful in 6s
Markdown linter / markdown-lint (pull_request) Successful in 42s
Markdown linter / markdown-link-checker (pull_request) Successful in 51s
Helm / helm-lint (push) Successful in 5s
Helm / helm-unittest (push) Successful in 6s
Markdown linter / markdown-link-checker (push) Successful in 10s
Generate README / generate-parameters (push) Successful in 48s
Markdown linter / markdown-lint (push) Successful in 27s
2025-05-29 11:30:17 +00:00
cb548921a6 test(deployment): notExists annotations
All checks were successful
Helm / helm-unittest (push) Successful in 6s
Helm / helm-lint (push) Successful in 25s
2025-05-29 12:25:42 +02:00
46bceb7e4d fix(chart): remove kubernetes version limitation
All checks were successful
Helm / helm-unittest (push) Successful in 6s
Helm / helm-lint (push) Successful in 22s
The kubernetes version limitation is incompatible with the custom AWS EKS
version pattern. For this reason, some AWS EKS installation needs to adapt the
Chart manually to get it running. To avoid this circumstance, the kubernetes
version limitation has been removed.
2025-05-29 11:27:42 +02:00
3c8fb86231 fix(deployment): define annotations to automatically roll deployments
All checks were successful
Helm / helm-lint (push) Successful in 11s
Helm / helm-unittest (push) Successful in 27s
Release / publish-chart (push) Successful in 7s
The following patch extends the chart to automatically roll the deployment, when
one of the configurations, stored in a config map or secret, has been changed.

The implementation add annotations which triggers `helm update` or ArgoCD to
roll the deployment. Further information can be found on the official helm
website:

  https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
2025-05-29 11:22:05 +02:00
0cf63593e9 revert: automatically roll deployments
The annotations must be defined as part of the Pod and not the Deployment.
2025-05-29 11:13:46 +02:00
9 changed files with 58 additions and 45 deletions

View File

@ -13,7 +13,7 @@ on:
jobs: jobs:
helm-lint: helm-lint:
container: container:
image: docker.io/volkerraschek/helm:3.18.0 image: docker.io/volkerraschek/helm:3.18.2
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@ -28,7 +28,7 @@ jobs:
helm-unittest: helm-unittest:
container: container:
image: docker.io/volkerraschek/helm:3.18.0 image: docker.io/volkerraschek/helm:3.18.2
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

View File

@ -8,7 +8,7 @@ on:
jobs: jobs:
publish-chart: publish-chart:
container: container:
image: docker.io/volkerraschek/helm:3.18.0 image: docker.io/volkerraschek/helm:3.18.2
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install tooling - name: Install tooling

View File

@ -2,7 +2,6 @@ apiVersion: v2
name: prometheus-postgres-exporter name: prometheus-postgres-exporter
description: Prometheus metric exporter for PostgreSQL description: Prometheus metric exporter for PostgreSQL
type: application type: application
kubeVersion: ">=1.20.0"
version: "0.1.0" version: "0.1.0"
appVersion: "0.17.1" appVersion: "0.17.1"

View File

@ -4,7 +4,7 @@ CONTAINER_RUNTIME?=$(shell which podman)
# HELM_IMAGE # HELM_IMAGE
HELM_IMAGE_REGISTRY_HOST?=docker.io HELM_IMAGE_REGISTRY_HOST?=docker.io
HELM_IMAGE_REPOSITORY?=volkerraschek/helm HELM_IMAGE_REPOSITORY?=volkerraschek/helm
HELM_IMAGE_VERSION?=3.18.0 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm HELM_IMAGE_VERSION?=3.18.2 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm
HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION} HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION}
# NODE_IMAGE # NODE_IMAGE

View File

@ -47,7 +47,7 @@ version of the chart must be in sync with the `values.yaml`. Newer *minor* versi
versions can break something! versions can break something!
```bash ```bash
CHART_VERSION=0.4.2 CHART_VERSION=0.5.1
helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml
``` ```

View File

@ -7,37 +7,6 @@
{{- if .Values.deployment.annotations }} {{- if .Values.deployment.annotations }}
{{ toYaml .Values.deployment.annotations }} {{ toYaml .Values.deployment.annotations }}
{{- end }} {{- end }}
# The following annotations are required to trigger a rolling update. Further information can be found in the official
# documentation of helm:
#
# https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
#
{{/* database */}}
{{- if and .Values.config.database.existingSecret.enabled .Values.config.database.existingSecret.secretName }}
{{- $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 }}
{{- end }}
{{/* exporter config */}}
{{- if and .Values.config.exporterConfig.existingSecret.enabled .Values.config.exporterConfig.existingSecret.secretName }}
{{- $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 }}
{{- end }}
{{/* web config */}}
{{- if and .Values.config.webConfig.existingSecret.enabled .Values.config.webConfig.existingSecret.secretName }}
{{- $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 }}
{{- end }}
{{- end }} {{- end }}
{{/* env */}} {{/* env */}}

View File

@ -4,6 +4,37 @@
{{- define "prometheus-postgres-exporter.pod.annotations" -}} {{- define "prometheus-postgres-exporter.pod.annotations" -}}
{{ include "prometheus-postgres-exporter.annotations" . }} {{ include "prometheus-postgres-exporter.annotations" . }}
# The following annotations are required to trigger a rolling update. Further information can be found in the official
# documentation of helm:
#
# https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
#
{{/* database */}}
{{- if and .Values.config.database.existingSecret.enabled .Values.config.database.existingSecret.secretName }}
{{- $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 }}
{{- end }}
{{/* exporter config */}}
{{- if and .Values.config.exporterConfig.existingSecret.enabled .Values.config.exporterConfig.existingSecret.secretName }}
{{- $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 }}
{{- end }}
{{/* web config */}}
{{- if and .Values.config.webConfig.existingSecret.enabled .Values.config.webConfig.existingSecret.secretName }}
{{- $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 }}
{{- end }}
{{- end }} {{- end }}
{{/* labels */}} {{/* labels */}}

View File

@ -18,6 +18,8 @@ spec:
{{- include "prometheus-postgres-exporter.pod.selectorLabels" . | nindent 6 }} {{- include "prometheus-postgres-exporter.pod.selectorLabels" . | nindent 6 }}
template: template:
metadata: metadata:
annotations:
{{- include "prometheus-postgres-exporter.pod.annotations" . | nindent 8 }}
labels: labels:
{{- include "prometheus-postgres-exporter.pod.labels" . | nindent 8 }} {{- include "prometheus-postgres-exporter.pod.labels" . | nindent 8 }}
spec: spec:

View File

@ -27,14 +27,8 @@ tests:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/prometheus-postgres-exporter/deployment.yaml
- exists: - notExists:
path: metadata.annotations.checksum/secret-database path: metadata.annotations
template: templates/prometheus-postgres-exporter/deployment.yaml
- exists:
path: metadata.annotations.checksum/secret-exporter-config
template: templates/prometheus-postgres-exporter/deployment.yaml
- exists:
path: metadata.annotations.checksum/secret-web-config
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/prometheus-postgres-exporter/deployment.yaml
- equal: - equal:
path: metadata.labels path: metadata.labels
@ -49,6 +43,24 @@ tests:
path: spec.replicas path: spec.replicas
value: 1 value: 1
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/prometheus-postgres-exporter/deployment.yaml
- exists:
path: spec.template.metadata.annotations.checksum/secret-database
template: templates/prometheus-postgres-exporter/deployment.yaml
- exists:
path: spec.template.metadata.annotations.checksum/secret-exporter-config
template: templates/prometheus-postgres-exporter/deployment.yaml
- exists:
path: spec.template.metadata.annotations.checksum/secret-web-config
template: templates/prometheus-postgres-exporter/deployment.yaml
- equal:
path: spec.template.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
template: templates/prometheus-postgres-exporter/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.affinity path: spec.template.spec.affinity
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/prometheus-postgres-exporter/deployment.yaml