38 Commits
0.5.0 ... 0.5.3

Author SHA1 Message Date
e84a57456a docs(README): add section rotation TLS certificates
All checks were successful
Helm / helm-lint (push) Successful in 14s
Generate README / generate-parameters (push) Successful in 29s
Helm / helm-unittest (push) Successful in 15s
Markdown linter / markdown-lint (push) Successful in 19s
Markdown linter / markdown-link-checker (push) Successful in 34s
Release / publish-chart (push) Successful in 21s
2025-07-23 21:27:53 +02:00
3c8a92fb04 refac(templates): remove parent dir 'prometheus-postgres-exporter'
All checks were successful
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 17s
2025-07-23 21:24:27 +02:00
c4b9990c2d docs(README): add CHART_VERSION
All checks were successful
Helm / helm-lint (push) Successful in 13s
Helm / helm-unittest (push) Successful in 16s
Generate README / generate-parameters (push) Successful in 41s
Markdown linter / markdown-link-checker (push) Successful in 26s
Markdown linter / markdown-lint (push) Successful in 30s
2025-07-23 21:20:56 +02:00
4a03723386 fix(vscode): remove settings.json 2025-07-23 21:20:56 +02:00
62f0815a3b chore(deps): update docker.io/library/node docker tag to v24.4.1
All checks were successful
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 17s
2025-07-16 22:13:42 +00:00
c669330a80 chore(deps): update docker.io/library/node docker tag to v24.4.1
All checks were successful
Helm / helm-lint (pull_request) Successful in 14s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 18s
2025-07-16 19:12:08 +00:00
f05dd2d8bf chore(deps): update dependency @bitnami/readme-generator-for-helm to v2.7.2
All checks were successful
Helm / helm-lint (pull_request) Successful in 14s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 15s
2025-07-14 10:12:23 +00:00
c8ee5ce6be chore(deps): update volkerraschek/helm docker tag to v3.18.4
All checks were successful
Helm / helm-lint (pull_request) Successful in 15s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 17s
Helm / helm-unittest (push) Successful in 15s
2025-07-13 01:12:06 +00:00
fc5f3c03da chore(deps): update docker.io/volkerraschek/helm docker tag to v3.18.4
All checks were successful
Helm / helm-lint (pull_request) Successful in 13s
Helm / helm-unittest (pull_request) Successful in 18s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 18s
2025-07-12 22:12:56 +00:00
add1ff75a7 chore(deps): update docker.io/library/node docker tag to v24.4.0
All checks were successful
Helm / helm-lint (pull_request) Successful in 12s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 16s
2025-07-09 22:12:30 +00:00
63f409ecdb chore(deps): update docker.io/library/node docker tag to v24.4.0
All checks were successful
Helm / helm-lint (pull_request) Successful in 14s
Helm / helm-unittest (pull_request) Successful in 18s
Helm / helm-lint (push) Successful in 16s
Helm / helm-unittest (push) Successful in 15s
2025-07-09 19:46:21 +00:00
07653e9933 chore(deps): update docker.io/library/node docker tag to v24.3.0
All checks were successful
Helm / helm-unittest (pull_request) Successful in 6s
Helm / helm-lint (pull_request) Successful in 16s
Helm / helm-lint (push) Successful in 6s
Helm / helm-unittest (push) Successful in 18s
2025-06-25 19:12:04 +00:00
60efba2603 chore(deps): update docker.io/library/node docker tag to v24.3.0
All checks were successful
Helm / helm-lint (pull_request) Successful in 6s
Helm / helm-unittest (pull_request) Successful in 6s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 17s
2025-06-25 16:12:18 +00:00
e9053be636 chore(deps): update dependency @bitnami/readme-generator-for-helm to v2.7.1
All checks were successful
Helm / helm-unittest (pull_request) Successful in 6s
Helm / helm-lint (pull_request) Successful in 15s
Helm / helm-unittest (push) Successful in 13s
Helm / helm-lint (push) Successful in 16s
2025-06-25 10:13:28 +00:00
0001791071 chore(deps): update volkerraschek/helm docker tag to v3.18.3
All checks were successful
Helm / helm-lint (push) Successful in 16s
Helm / helm-unittest (push) Successful in 15s
2025-06-18 06:33:19 +00:00
c1529d6833 chore(deps): update docker.io/volkerraschek/helm docker tag to v3.18.3
All checks were successful
Helm / helm-lint (pull_request) Successful in 15s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 17s
Helm / helm-unittest (push) Successful in 18s
2025-06-17 19:13:17 +00:00
b7c5764e1b chore(deps): update docker.io/library/node docker tag to v24.2.0
All checks were successful
Helm / helm-lint (pull_request) Successful in 21s
Helm / helm-unittest (pull_request) Successful in 17s
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 13s
2025-06-10 04:12:09 +00:00
e0dfced491 chore(deps): update docker.io/library/node docker tag to v24.2.0
All checks were successful
Helm / helm-lint (pull_request) Successful in 15s
Helm / helm-unittest (pull_request) Successful in 24s
Helm / helm-lint (push) Successful in 16s
Helm / helm-unittest (push) Successful in 29s
2025-06-10 01:11:00 +00:00
9c89db23f3 docs(linter): remove proper name ORBIS U
All checks were successful
Helm / helm-lint (push) Successful in 13s
Helm / helm-unittest (push) Successful in 19s
2025-06-08 20:37:18 +02:00
cf5e67b252 chore(deps): update dependency volker.raschek/prometheus-postgres-exporter to v0.5.2
All checks were successful
Helm / helm-lint (pull_request) Successful in 14s
Helm / helm-unittest (pull_request) Successful in 17s
Generate README / generate-parameters (pull_request) Successful in 56s
Markdown linter / markdown-link-checker (pull_request) Successful in 32s
Markdown linter / markdown-lint (pull_request) Successful in 33s
Helm / helm-lint (push) Successful in 16s
Generate README / generate-parameters (push) Successful in 32s
Helm / helm-unittest (push) Successful in 16s
Markdown linter / markdown-link-checker (push) Successful in 34s
Markdown linter / markdown-lint (push) Successful in 44s
2025-06-07 13:11:18 +00:00
70e0e5110f ci(add-annotations): set kind of Artifacthub annotation correctly
All checks were successful
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 18s
2025-06-07 12:17:02 +02:00
31931cc838 docs(README): set correct chart version
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 16s
Release / publish-chart (push) Successful in 19s
2025-06-07 11:52:17 +02:00
a49a432605 revert(README): set correct chart version
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 15s
This reverts commit 5bd349472c.
2025-06-06 23:19:08 +02:00
5bd349472c docs(README): set correct chart version
Some checks failed
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 13s
Release / publish-chart (push) Failing after 16s
2025-06-06 23:15:26 +02:00
21e608389f chore(ci): separate upload steps
All checks were successful
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 17s
Release / publish-chart (push) Successful in 25s
2025-06-06 22:50:13 +02:00
39c064c8b4 fix(Chart): escape changelog messages for artifacthub
All checks were successful
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 17s
2025-06-06 22:05:52 +02:00
975eaa0d5d chore(ci): update script to generate Artifacthub annotations
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 23s
2025-06-04 19:52:18 +02:00
dff777e6de feat: support Artifacthub annotations
All checks were successful
Helm / helm-lint (push) Successful in 15s
Helm / helm-unittest (push) Successful in 24s
2025-06-03 20:05:02 +02:00
6c683afcc6 chore(license): publish nder the MIT license
All checks were successful
Helm / helm-lint (push) Successful in 12s
Helm / helm-unittest (push) Successful in 17s
2025-06-03 20:00:14 +02:00
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
50 changed files with 366 additions and 172 deletions

114
.gitea/scripts/add-annotations.sh Executable file
View File

@ -0,0 +1,114 @@
#!/bin/bash
set -e
CHART_FILE="Chart.yaml"
if [ ! -f "${CHART_FILE}" ]; then
echo "ERROR: ${CHART_FILE} not found!" 1>&2
exit 1
fi
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | head -n 1)"
DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)"
if [ -z "${1}" ]; then
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG
if [ -z "${OLD_TAG}" ]; then
OLD_TAG="${DEFAULT_OLD_TAG}"
fi
while [ -z "$(git tag --list "${OLD_TAG}")" ]; do
echo "ERROR: Tag '${OLD_TAG}' not found!" 1>&2
read -p "Enter start tag [${DEFAULT_OLD_TAG}]: " OLD_TAG
if [ -z "${OLD_TAG}" ]; then
OLD_TAG="${DEFAULT_OLD_TAG}"
fi
done
else
OLD_TAG=${1}
if [ -z "$(git tag --list "${OLD_TAG}")" ]; then
echo "ERROR: Tag '${OLD_TAG}' not found!" 1>&2
exit 1
fi
fi
if [ -z "${2}" ]; then
read -p "Enter end tag [${DEFAULT_NEW_TAG}]: " NEW_TAG
if [ -z "${NEW_TAG}" ]; then
NEW_TAG="${DEFAULT_NEW_TAG}"
fi
while [ -z "$(git tag --list "${NEW_TAG}")" ]; do
echo "ERROR: Tag '${NEW_TAG}' not found!" 1>&2
read -p "Enter end tag [${DEFAULT_NEW_TAG}]: " NEW_TAG
if [ -z "${NEW_TAG}" ]; then
NEW_TAG="${DEFAULT_NEW_TAG}"
fi
done
else
NEW_TAG=${2}
if [ -z "$(git tag --list "${NEW_TAG}")" ]; then
echo "ERROR: Tag '${NEW_TAG}' not found!" 1>&2
exit 1
fi
fi
CHANGE_LOG_YAML=$(mktemp)
echo "[]" > "${CHANGE_LOG_YAML}"
function map_type_to_kind() {
case "${1}" in
feat)
echo "added"
;;
fix)
echo "fixed"
;;
chore|style|test|ci|docs|refac)
echo "changed"
;;
revert)
echo "removed"
;;
sec)
echo "security"
;;
*)
echo "skip"
;;
esac
}
COMMIT_TITLES="$(git log --pretty=format:"%s" "${OLD_TAG}..${NEW_TAG}")"
echo "INFO: Generate change log entries from ${OLD_TAG} until ${NEW_TAG}"
while IFS= read -r line; do
if [[ "${line}" =~ ^([a-zA-Z]+)(\([^\)]+\))?\:\ (.+)$ ]]; then
TYPE="${BASH_REMATCH[1]}"
KIND=$(map_type_to_kind "${TYPE}")
if [ "${KIND}" == "skip" ]; then
continue
fi
DESC="${BASH_REMATCH[3]}"
echo "- ${KIND}: ${DESC}"
jq --arg kind "${KIND}" --arg description "${DESC}" '. += [ $ARGS.named ]' < "${CHANGE_LOG_YAML}" > "${CHANGE_LOG_YAML}.new"
mv "${CHANGE_LOG_YAML}.new" "${CHANGE_LOG_YAML}"
fi
done <<< "${COMMIT_TITLES}"
if [ -s "${CHANGE_LOG_YAML}" ]; then
yq --inplace --input-format json --output-format yml "${CHANGE_LOG_YAML}"
yq --no-colors --inplace ".annotations.\"artifacthub.io/changes\" |= loadstr(\"${CHANGE_LOG_YAML}\") | sort_keys(.)" "${CHART_FILE}"
else
echo "ERROR: Changelog file is empty: ${CHANGE_LOG_YAML}" 1>&2
exit 1
fi
rm "${CHANGE_LOG_YAML}"

View File

@ -15,7 +15,7 @@ on:
jobs: jobs:
generate-parameters: generate-parameters:
container: container:
image: docker.io/library/node:24.1.0-alpine image: docker.io/library/node:24.4.1-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

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.4
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.4
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

View File

@ -15,7 +15,7 @@ on:
jobs: jobs:
markdown-link-checker: markdown-link-checker:
container: container:
image: docker.io/library/node:24.1.0-alpine image: docker.io/library/node:24.4.1-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@ -31,7 +31,7 @@ jobs:
markdown-lint: markdown-lint:
container: container:
image: docker.io/library/node:24.1.0-alpine image: docker.io/library/node:24.4.1-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

View File

@ -8,39 +8,54 @@ on:
jobs: jobs:
publish-chart: publish-chart:
container: container:
image: docker.io/volkerraschek/helm:3.18.0 image: docker.io/volkerraschek/helm:3.18.4
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install tooling - name: Install packages via apk
run: | run: |
apk update apk update
apk add git npm apk add git npm jq yq
- uses: actions/checkout@v4
- name: Package chart
env:
HELM_REPO_NAME: upload
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Add Artifacthub.io annotations
run: |
NEW_TAG="$(git tag --sort=-version:refname | head -n 1)"
OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)"
.gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}"
- name: Extract meta information
run: |
echo "PACKAGE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
echo "REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2 | sed --regexp-extended 's/-charts?//g')" >> $GITHUB_ENV
echo "REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1)" >> $GITHUB_ENV
- name: Update Helm Chart version in README.md
run: sed -i -E "s/^CHART_VERSION=.*/CHART_VERSION=${PACKAGE_VERSION}/g" README.md
- name: Package chart
run: |
helm dependency build
helm package --version "${PACKAGE_VERSION}" ./
- name: Upload Chart to ChartMuseum
env:
CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }} CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }}
CHARTMUSEUM_REPOSITORY: ${{ vars.CHARTMUSEUM_REPOSITORY }} CHARTMUSEUM_REPOSITORY: ${{ vars.CHARTMUSEUM_REPOSITORY }}
CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }} CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }}
CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }} CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }}
GITEA_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
GITEA_SERVER_URL: ${{ github.server_url }}
run: | run: |
PACKAGE_VERSION=${GITHUB_REF#refs/tags/}
REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2)
REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1)
helm dependency build
helm package --version "${PACKAGE_VERSION}" ./
# chart-museum
helm repo add --username ${CHARTMUSEUM_USERNAME} --password ${CHARTMUSEUM_PASSWORD} chartmuseum https://${CHARTMUSEUM_HOSTNAME}/${CHARTMUSEUM_REPOSITORY} helm repo add --username ${CHARTMUSEUM_USERNAME} --password ${CHARTMUSEUM_PASSWORD} chartmuseum https://${CHARTMUSEUM_HOSTNAME}/${CHARTMUSEUM_REPOSITORY}
helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz chartmuseum helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz chartmuseum
helm repo remove chartmuseum helm repo remove chartmuseum
# gitea - name: Upload Chart to Gitea
env:
GITEA_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
GITEA_SERVER_URL: ${{ github.server_url }}
run: |
helm repo add --username ${REPOSITORY_OWNER} --password ${GITEA_PACKAGE_REGISTRY_TOKEN} gitea ${GITEA_SERVER_URL}/api/packages/${REPOSITORY_OWNER}/helm helm repo add --username ${REPOSITORY_OWNER} --password ${GITEA_PACKAGE_REGISTRY_TOKEN} gitea ${GITEA_SERVER_URL}/api/packages/${REPOSITORY_OWNER}/helm
helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz gitea helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz gitea
helm repo remove gitea helm repo remove gitea

View File

@ -136,7 +136,6 @@ MD044:
- kube-prometheus-stack - kube-prometheus-stack
- Memcached - Memcached
- Oracle - Oracle
- ORBIS U
- PostgreSQL - PostgreSQL
- Prometheus - Prometheus
- prometheus-exporter - prometheus-exporter

View File

@ -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
}

View File

@ -1,8 +1,13 @@
annotations:
artifacthub.io/links: |
- name: Prometheus PostgreSQL exporter (binary)
url: https://github.com/prometheus-community/postgres_exporter
- name: support
url: https://git.cryptic.systems/volker.raschek/prometheus-postgres-exporter/issues
apiVersion: v2 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"

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Markus Pesch
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -4,13 +4,13 @@ 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.4 # 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
NODE_IMAGE_REGISTRY_HOST?=docker.io NODE_IMAGE_REGISTRY_HOST?=docker.io
NODE_IMAGE_REPOSITORY?=library/node NODE_IMAGE_REPOSITORY?=library/node
NODE_IMAGE_VERSION?=24.1.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=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_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION} NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION}
# MISSING DOT # MISSING DOT

View File

@ -33,7 +33,8 @@ helm chart is tested for deployment scenarios with **ArgoCD**.
```bash ```bash
helm repo add prometheus-exporters https://charts.cryptic.systems/prometheus-exporters helm repo add prometheus-exporters https://charts.cryptic.systems/prometheus-exporters
helm repo update helm repo update
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ CHART_VERSION=0.5.2
helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
--set 'config.database.secret.databaseUsername=postgres' \ --set 'config.database.secret.databaseUsername=postgres' \
--set 'config.database.secret.databasePassword=postgres' \ --set 'config.database.secret.databasePassword=postgres' \
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ --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! versions can break something!
```bash ```bash
CHART_VERSION=0.4.2 CHART_VERSION=0.5.2
helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml 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: 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. > Please take care the a CPU limit < `1000m` can also lead to CPU throttling. Please read the linked documentation carefully.
```bash ```bash
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ CHART_VERSION=0.5.2
helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
--set 'config.database.secret.databaseUsername=postgres' \ --set 'config.database.secret.databaseUsername=postgres' \
--set 'config.database.secret.databasePassword=postgres' \ --set 'config.database.secret.databasePassword=postgres' \
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ --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. > `tls.key` and `tls.crt` of the secret can be mounted into the container filesystem for TLS authentication / encryption.
```bash ```bash
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ CHART_VERSION=0.5.2
helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
--set 'config.database.secret.databaseUsername=postgres' \ --set 'config.database.secret.databaseUsername=postgres' \
--set 'config.database.secret.databasePassword=postgres' \ --set 'config.database.secret.databasePassword=postgres' \
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ --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: replaced:
```diff ```diff
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ CHART_VERSION=0.5.2
helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
--set 'config.database.secret.databaseUsername=postgres' \ --set 'config.database.secret.databaseUsername=postgres' \
--set 'config.database.secret.databasePassword=postgres' \ --set 'config.database.secret.databasePassword=postgres' \
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ --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' + --set 'prometheus.metrics.serviceMonitor.tlsConfig.keyFile=/etc/prometheus/tls/tls.key'
``` ```
#### TLS certificate rotation
If Reposilite 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 Reposilite 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 #### Grafana dashboard
The helm chart includes Grafana dashboards. These can be deployed as a configMap by activating Grafana integration. It 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. makes this possible.
```bash ```bash
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ CHART_VERSION=0.5.2
helm install --version "${CHART_VERSION}" prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
--set 'config.database.secret.databaseUsername=postgres' \ --set 'config.database.secret.databaseUsername=postgres' \
--set 'config.database.secret.databasePassword=postgres' \ --set 'config.database.secret.databasePassword=postgres' \
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \ --set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \

6
package-lock.json generated
View File

@ -17,9 +17,9 @@
} }
}, },
"node_modules/@bitnami/readme-generator-for-helm": { "node_modules/@bitnami/readme-generator-for-helm": {
"version": "2.7.0", "version": "2.7.2",
"resolved": "https://registry.npmjs.org/@bitnami/readme-generator-for-helm/-/readme-generator-for-helm-2.7.0.tgz", "resolved": "https://registry.npmjs.org/@bitnami/readme-generator-for-helm/-/readme-generator-for-helm-2.7.2.tgz",
"integrity": "sha512-fVxExmcuJ9NZb9ZE9OW3+lG8pUlXJAJdaO8UukV3A7WzYu4qOTr03MXPH9Gt5e/6mo3x4WYI/cXBksKfS0qn3w==", "integrity": "sha512-7eXyJzxQTQj2ajpHlIhadciCCYWOqN8ieaweU25bStHOZowQ2c2CQyjO/bX4gxIf73LoRKxHhEYgLTllJY9SIw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {

View File

@ -23,7 +23,7 @@
{ {
"fileMatch": ["^README\\.md$"], "fileMatch": ["^README\\.md$"],
"matchStrings": [ "matchStrings": [
"VERSION=(?<currentValue>.*)" "CHART_VERSION=(?<currentValue>.*)"
], ],
"depNameTemplate": "volker.raschek/prometheus-postgres-exporter", "depNameTemplate": "volker.raschek/prometheus-postgres-exporter",
"packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-postgres-exporter", "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-postgres-exporter",

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 */}}

48
templates/_pod.tpl Normal file
View File

@ -0,0 +1,48 @@
---
{{/* annotations */}}
{{- define "prometheus-postgres-exporter.pod.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 "/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 "/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 "/secretWebConfig.yaml") . | sha256sum }}
{{- end }}
{{- end }}
{{/* labels */}}
{{- define "prometheus-postgres-exporter.pod.labels" -}}
{{ include "prometheus-postgres-exporter.labels" . }}
{{- end }}
{{- define "prometheus-postgres-exporter.pod.selectorLabels" -}}
{{ include "prometheus-postgres-exporter.selectorLabels" . }}
{{- end }}

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

@ -1,17 +0,0 @@
---
{{/* annotations */}}
{{- define "prometheus-postgres-exporter.pod.annotations" -}}
{{ include "prometheus-postgres-exporter.annotations" . }}
{{- end }}
{{/* labels */}}
{{- define "prometheus-postgres-exporter.pod.labels" -}}
{{ include "prometheus-postgres-exporter.labels" . }}
{{- end }}
{{- define "prometheus-postgres-exporter.pod.selectorLabels" -}}
{{ include "prometheus-postgres-exporter.selectorLabels" . }}
{{- end }}

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/configMapGrafanaDashboardPostgresExporter.yaml - templates/configMapGrafanaDashboardPostgresExporter.yaml
tests: tests:
- it: Rendering postgresExporter - it: Rendering postgresExporter
asserts: asserts:

View File

@ -6,10 +6,10 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/deployment.yaml - templates/deployment.yaml
- templates/prometheus-postgres-exporter/secretDatabase.yaml - templates/secretDatabase.yaml
- templates/prometheus-postgres-exporter/secretExporterConfig.yaml - templates/secretExporterConfig.yaml
- templates/prometheus-postgres-exporter/secretWebConfig.yaml - templates/secretWebConfig.yaml
tests: tests:
- it: Rendering default - it: Rendering default
set: set:
@ -20,22 +20,16 @@ tests:
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- containsDocument: - containsDocument:
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- exists: - notExists:
path: metadata.annotations.checksum/secret-database path: metadata.annotations
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/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
- equal: - equal:
path: metadata.labels path: metadata.labels
value: value:
@ -44,33 +38,51 @@ tests:
app.kubernetes.io/name: prometheus-postgres-exporter app.kubernetes.io/name: prometheus-postgres-exporter
app.kubernetes.io/version: 0.1.0 app.kubernetes.io/version: 0.1.0
helm.sh/chart: prometheus-postgres-exporter-0.1.0 helm.sh/chart: prometheus-postgres-exporter-0.1.0
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.replicas path: spec.replicas
value: 1 value: 1
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- exists:
path: spec.template.metadata.annotations.checksum/secret-database
template: templates/deployment.yaml
- exists:
path: spec.template.metadata.annotations.checksum/secret-exporter-config
template: templates/deployment.yaml
- exists:
path: spec.template.metadata.annotations.checksum/secret-web-config
template: templates/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/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.affinity path: spec.template.spec.affinity
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- contains: - contains:
path: spec.template.spec.containers[0].envFrom path: spec.template.spec.containers[0].envFrom
content: content:
secretRef: secretRef:
name: prometheus-postgres-exporter-unittest-database-env name: prometheus-postgres-exporter-unittest-database-env
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.containers[0].args path: spec.template.spec.containers[0].args
value: value:
- --config.file=/etc/prometheus-postgres-exporter/config.d/exporterConfig.yaml - --config.file=/etc/prometheus-postgres-exporter/config.d/exporterConfig.yaml
- --web.config.file=/etc/prometheus-postgres-exporter/config.d/webConfig.yaml - --web.config.file=/etc/prometheus-postgres-exporter/config.d/webConfig.yaml
- --web.listen-address=:9187 - --web.listen-address=:9187
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.containers[0].volumeMounts path: spec.template.spec.containers[0].volumeMounts
value: value:
- mountPath: /etc/prometheus-postgres-exporter/config.d - mountPath: /etc/prometheus-postgres-exporter/config.d
name: config-d name: config-d
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@ -82,59 +94,59 @@ tests:
name: prometheus-postgres-exporter-unittest-exporter-config name: prometheus-postgres-exporter-unittest-exporter-config
- secret: - secret:
name: prometheus-postgres-exporter-unittest-web-config name: prometheus-postgres-exporter-unittest-web-config
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: quay.io/prometheuscommunity/postgres-exporter:v0.1.0 value: quay.io/prometheuscommunity/postgres-exporter:v0.1.0
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.containers[0].imagePullPolicy path: spec.template.spec.containers[0].imagePullPolicy
value: IfNotPresent value: IfNotPresent
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.containers[0].resources path: spec.template.spec.containers[0].resources
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.containers[0].securityContext path: spec.template.spec.containers[0].securityContext
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.dnsConfig path: spec.template.spec.dnsConfig
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.dnsPolicy path: spec.template.spec.dnsPolicy
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.hostname path: spec.template.spec.hostname
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.hostNetwork path: spec.template.spec.hostNetwork
value: false value: false
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.imagePullSecrets path: spec.template.spec.imagePullSecrets
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.nodeSelector path: spec.template.spec.nodeSelector
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.priorityClassName path: spec.template.spec.priorityClassName
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.restartPolicy path: spec.template.spec.restartPolicy
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.subdomain path: spec.template.spec.subdomain
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.terminationGracePeriodSeconds path: spec.template.spec.terminationGracePeriodSeconds
value: 60 value: 60
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.tolerations path: spec.template.spec.tolerations
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- notExists: - notExists:
path: spec.template.spec.topologySpreadConstraints path: spec.template.spec.topologySpreadConstraints
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.strategy path: spec.strategy
value: value:
@ -142,7 +154,7 @@ tests:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: 1
maxUnavailable: 1 maxUnavailable: 1
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test custom replicas - it: Test custom replicas
set: set:
@ -157,7 +169,7 @@ tests:
- equal: - equal:
path: spec.replicas path: spec.replicas
value: 3 value: 3
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test custom affinity - it: Test custom affinity
set: set:
@ -190,7 +202,7 @@ tests:
values: values:
- antarctica-east1 - antarctica-east1
- antarctica-west1 - antarctica-west1
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test additional arguments - it: Test additional arguments
set: set:
@ -212,7 +224,7 @@ tests:
- --web.listen-address=:9187 - --web.listen-address=:9187
- --foo=bar - --foo=bar
- --bar=foo - --bar=foo
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test custom imageRegistry and imageRepository - it: Test custom imageRegistry and imageRepository
set: set:
@ -228,7 +240,7 @@ tests:
- equal: - equal:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: registry.example.local/path/special/prometheus-postgres-exporter:v0.1.0 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 - it: Test custom imagePullPolicy
set: set:
@ -243,7 +255,7 @@ tests:
- equal: - equal:
path: spec.template.spec.containers[0].imagePullPolicy path: spec.template.spec.containers[0].imagePullPolicy
value: Always value: Always
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test config.database.existingSecret - it: Test config.database.existingSecret
set: set:
@ -256,7 +268,7 @@ tests:
content: content:
secretRef: secretRef:
name: custom-database-secret name: custom-database-secret
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test config.exporterConfig.existingSecret - it: Test config.exporterConfig.existingSecret
set: set:
@ -274,7 +286,7 @@ tests:
value: value:
- mountPath: /etc/prometheus-postgres-exporter/config.d - mountPath: /etc/prometheus-postgres-exporter/config.d
name: config-d name: config-d
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@ -286,7 +298,7 @@ tests:
name: exporter-config-secret name: exporter-config-secret
- secret: - secret:
name: prometheus-postgres-exporter-unittest-web-config name: prometheus-postgres-exporter-unittest-web-config
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test config.webConfig.existingSecret - it: Test config.webConfig.existingSecret
set: set:
@ -304,7 +316,7 @@ tests:
value: value:
- mountPath: /etc/prometheus-postgres-exporter/config.d - mountPath: /etc/prometheus-postgres-exporter/config.d
name: config-d name: config-d
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@ -316,7 +328,7 @@ tests:
name: prometheus-postgres-exporter-unittest-exporter-config name: prometheus-postgres-exporter-unittest-exporter-config
- secret: - secret:
name: web-config-secret name: web-config-secret
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test custom resource limits and requests - it: Test custom resource limits and requests
set: set:
@ -342,7 +354,7 @@ tests:
resourceFieldRef: resourceFieldRef:
divisor: "1" divisor: "1"
resource: limits.cpu resource: limits.cpu
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.containers[0].resources path: spec.template.spec.containers[0].resources
value: value:
@ -352,7 +364,7 @@ tests:
requests: requests:
cpu: 25m cpu: 25m
memory: 100MB memory: 100MB
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test custom securityContext - it: Test custom securityContext
set: set:
@ -385,7 +397,7 @@ tests:
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
runAsUser: 1000 runAsUser: 1000
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test dnsConfig - it: Test dnsConfig
set: set:
@ -406,7 +418,7 @@ tests:
nameservers: nameservers:
- "8.8.8.8" - "8.8.8.8"
- "8.8.4.4" - "8.8.4.4"
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test dnsPolicy - it: Test dnsPolicy
set: set:
@ -421,7 +433,7 @@ tests:
- equal: - equal:
path: spec.template.spec.dnsPolicy path: spec.template.spec.dnsPolicy
value: ClusterFirst value: ClusterFirst
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test hostNetwork, hostname, subdomain - it: Test hostNetwork, hostname, subdomain
set: set:
@ -438,15 +450,15 @@ tests:
- equal: - equal:
path: spec.template.spec.hostNetwork path: spec.template.spec.hostNetwork
value: true value: true
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.hostname path: spec.template.spec.hostname
value: pg-exporter value: pg-exporter
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.subdomain path: spec.template.spec.subdomain
value: exporters.internal value: exporters.internal
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test imagePullSecrets - it: Test imagePullSecrets
set: set:
@ -465,7 +477,7 @@ tests:
value: value:
- name: my-pull-secret - name: my-pull-secret
- name: my-special-secret - name: my-special-secret
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test nodeSelector - it: Test nodeSelector
set: set:
@ -482,7 +494,7 @@ tests:
path: spec.template.spec.nodeSelector path: spec.template.spec.nodeSelector
value: value:
foo: bar foo: bar
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test priorityClassName - it: Test priorityClassName
set: set:
@ -497,7 +509,7 @@ tests:
- equal: - equal:
path: spec.template.spec.priorityClassName path: spec.template.spec.priorityClassName
value: my-priority value: my-priority
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test restartPolicy - it: Test restartPolicy
set: set:
@ -512,7 +524,7 @@ tests:
- equal: - equal:
path: spec.template.spec.restartPolicy path: spec.template.spec.restartPolicy
value: Always value: Always
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test terminationGracePeriodSeconds - it: Test terminationGracePeriodSeconds
set: set:
@ -527,7 +539,7 @@ tests:
- equal: - equal:
path: spec.template.spec.terminationGracePeriodSeconds path: spec.template.spec.terminationGracePeriodSeconds
value: 120 value: 120
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test tolerations - it: Test tolerations
set: set:
@ -550,7 +562,7 @@ tests:
operator: Equal operator: Equal
value: postgres value: postgres
effect: NoSchedule effect: NoSchedule
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test topologySpreadConstraints - it: Test topologySpreadConstraints
set: set:
@ -575,7 +587,7 @@ tests:
labelSelector: labelSelector:
matchLabels: matchLabels:
app.kubernetes.io/instance: prometheus-postgres-exporter app.kubernetes.io/instance: prometheus-postgres-exporter
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- it: Test additional volumeMounts and volumes - it: Test additional volumeMounts and volumes
set: set:
@ -600,7 +612,7 @@ tests:
mountPath: /usr/lib/prometheus-postgres-exporter/data mountPath: /usr/lib/prometheus-postgres-exporter/data
- name: config-d - name: config-d
mountPath: /etc/prometheus-postgres-exporter/config.d mountPath: /etc/prometheus-postgres-exporter/config.d
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@ -615,4 +627,4 @@ tests:
name: prometheus-postgres-exporter-unittest-exporter-config name: prometheus-postgres-exporter-unittest-exporter-config
- secret: - secret:
name: prometheus-postgres-exporter-unittest-web-config name: prometheus-postgres-exporter-unittest-web-config
template: templates/prometheus-postgres-exporter/deployment.yaml template: templates/deployment.yaml

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/ingress.yaml - templates/ingress.yaml
tests: tests:
- it: Skip ingress by default. - it: Skip ingress by default.
asserts: asserts:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/networkPolicies.yaml - templates/networkPolicies.yaml
tests: tests:
- it: Skip networkPolicies in general disabled. - it: Skip networkPolicies in general disabled.
set: set:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/podMonitor.yaml - templates/podMonitor.yaml
tests: tests:
- it: Skip podMonitor when metrics are disabled. - it: Skip podMonitor when metrics are disabled.
set: set:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/secretDatabase.yaml - templates/secretDatabase.yaml
tests: tests:
- it: Skip rendering by using existing secret. - it: Skip rendering by using existing secret.
set: set:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/secretExporterConfig.yaml - templates/secretExporterConfig.yaml
tests: tests:
- it: Skip rendering by using existing secret. - it: Skip rendering by using existing secret.
set: set:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/secretWebConfig.yaml - templates/secretWebConfig.yaml
tests: tests:
- it: Rendering default secret. - it: Rendering default secret.
asserts: asserts:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/serviceAccount.yaml - templates/serviceAccount.yaml
tests: tests:
- it: Skip rendering. - it: Skip rendering.
set: set:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/serviceMonitorHTTP.yaml - templates/serviceMonitorHTTP.yaml
tests: tests:
- it: Skip serviceMonitor when service is disabled. - it: Skip serviceMonitor when service is disabled.
set: set:

View File

@ -6,7 +6,7 @@ release:
name: prometheus-postgres-exporter-unittest name: prometheus-postgres-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/prometheus-postgres-exporter/serviceHTTP.yaml - templates/serviceHTTP.yaml
tests: tests:
- it: Skip service when disabled. - it: Skip service when disabled.
set: set:

View File

@ -1,4 +1,5 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
## @section Global ## @section Global
## @param nameOverride Individual release name suffix. ## @param nameOverride Individual release name suffix.
## @param fullnameOverride Override the complete release name logic. ## @param fullnameOverride Override the complete release name logic.