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:
generate-parameters:
container:
image: docker.io/library/node:24.1.0-alpine
image: docker.io/library/node:24.4.1-alpine
runs-on:
- ubuntu-latest
steps:

View File

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

View File

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

View File

@ -8,39 +8,54 @@ on:
jobs:
publish-chart:
container:
image: docker.io/volkerraschek/helm:3.18.0
image: docker.io/volkerraschek/helm:3.18.4
runs-on: ubuntu-latest
steps:
- name: Install tooling
- name: Install packages via apk
run: |
apk update
apk add git npm
- uses: actions/checkout@v4
- name: Package chart
env:
HELM_REPO_NAME: upload
apk add git npm jq yq
- 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_REPOSITORY: ${{ vars.CHARTMUSEUM_REPOSITORY }}
CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }}
CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }}
GITEA_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
GITEA_SERVER_URL: ${{ github.server_url }}
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 cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz 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 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
- Memcached
- Oracle
- ORBIS U
- PostgreSQL
- Prometheus
- 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
name: prometheus-postgres-exporter
description: Prometheus metric exporter for PostgreSQL
type: application
kubeVersion: ">=1.20.0"
version: "0.1.0"
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_REGISTRY_HOST?=docker.io
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}
# NODE_IMAGE
NODE_IMAGE_REGISTRY_HOST?=docker.io
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}
# MISSING DOT

View File

@ -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.2
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.4.2
helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml
CHART_VERSION=0.5.2
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.2
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.2
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.2
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 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
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.2
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"' \

6
package-lock.json generated
View File

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

View File

@ -23,7 +23,7 @@
{
"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",

View File

@ -7,37 +7,6 @@
{{- if .Values.deployment.annotations }}
{{ toYaml .Values.deployment.annotations }}
{{- 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 }}
{{/* 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 }}
template:
metadata:
annotations:
{{- include "prometheus-postgres-exporter.pod.annotations" . | nindent 8 }}
labels:
{{- include "prometheus-postgres-exporter.pod.labels" . | nindent 8 }}
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
namespace: testing
templates:
- templates/prometheus-postgres-exporter/configMapGrafanaDashboardPostgresExporter.yaml
- templates/configMapGrafanaDashboardPostgresExporter.yaml
tests:
- it: Rendering postgresExporter
asserts:

View File

@ -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,22 +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
- exists:
path: metadata.annotations.checksum/secret-database
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/deployment.yaml
- notExists:
path: metadata.annotations
template: templates/deployment.yaml
- equal:
path: metadata.labels
value:
@ -44,33 +38,51 @@ 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/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:
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:
@ -82,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:
@ -142,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:
@ -157,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:
@ -190,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:
@ -212,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:
@ -228,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:
@ -243,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:
@ -256,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:
@ -274,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:
@ -286,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:
@ -304,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:
@ -316,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:
@ -342,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:
@ -352,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:
@ -385,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:
@ -406,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:
@ -421,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:
@ -438,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:
@ -465,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:
@ -482,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:
@ -497,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:
@ -512,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:
@ -527,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:
@ -550,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:
@ -575,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:
@ -600,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:
@ -615,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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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