1 Commits

Author SHA1 Message Date
42a0807255 chore(deps): update docker.io/library/node docker tag to v24.2.0
All checks were successful
Helm / helm-lint (push) Successful in 14s
Helm / helm-unittest (push) Successful in 15s
Helm / helm-unittest (pull_request) Successful in 16s
Helm / helm-lint (pull_request) Successful in 23s
2025-06-10 01:10:33 +00:00
40 changed files with 102 additions and 155 deletions

View File

@@ -15,7 +15,7 @@ on:
jobs: jobs:
generate-parameters: generate-parameters:
container: container:
image: docker.io/library/node:24.10.0-alpine image: docker.io/library/node:24.1.0-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@@ -23,7 +23,7 @@ jobs:
run: | run: |
apk update apk update
apk add git npm apk add git npm
- uses: actions/checkout@v5.0.0 - uses: actions/checkout@v4.2.2
- name: Generate parameter section in README - name: Generate parameter section in README
run: | run: |
npm install npm install

View File

@@ -13,7 +13,7 @@ on:
jobs: jobs:
helm-lint: helm-lint:
container: container:
image: docker.io/volkerraschek/helm:3.19.0 image: docker.io/volkerraschek/helm:3.18.2
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@@ -21,14 +21,14 @@ jobs:
run: | run: |
apk update apk update
apk add git npm apk add git npm
- uses: actions/checkout@v5.0.0 - uses: actions/checkout@v4.2.2
- name: Lint helm files - name: Lint helm files
run: | run: |
helm lint --values values.yaml . helm lint --values values.yaml .
helm-unittest: helm-unittest:
container: container:
image: docker.io/volkerraschek/helm:3.19.0 image: docker.io/volkerraschek/helm:3.18.2
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@@ -36,7 +36,7 @@ jobs:
run: | run: |
apk update apk update
apk add git npm apk add git npm
- uses: actions/checkout@v5.0.0 - uses: actions/checkout@v4.2.2
- name: Unittest - name: Unittest
run: | run: |
helm unittest --strict --file 'unittests/**/*.yaml' ./ helm unittest --strict --file 'unittests/**/*.yaml' ./

View File

@@ -15,7 +15,7 @@ on:
jobs: jobs:
markdown-link-checker: markdown-link-checker:
container: container:
image: docker.io/library/node:24.10.0-alpine image: docker.io/library/node:24.1.0-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@@ -23,7 +23,7 @@ jobs:
run: | run: |
apk update apk update
apk add git npm apk add git npm
- uses: actions/checkout@v5.0.0 - uses: actions/checkout@v4.2.2
- name: Verify links in markdown files - name: Verify links in markdown files
run: | run: |
npm install npm install
@@ -31,7 +31,7 @@ jobs:
markdown-lint: markdown-lint:
container: container:
image: docker.io/library/node:24.10.0-alpine image: docker.io/library/node:24.1.0-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@@ -39,7 +39,7 @@ jobs:
run: | run: |
apk update apk update
apk add git apk add git
- uses: actions/checkout@v5.0.0 - uses: actions/checkout@v4.2.2
- name: Lint markdown files - name: Lint markdown files
run: | run: |
npm install npm install

View File

@@ -8,7 +8,7 @@ on:
jobs: jobs:
publish-chart: publish-chart:
container: container:
image: docker.io/volkerraschek/helm:3.19.0 image: docker.io/volkerraschek/helm:3.18.2
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install packages via apk - name: Install packages via apk
@@ -16,7 +16,7 @@ jobs:
apk update apk update
apk add git npm jq yq apk add git npm jq yq
- uses: actions/checkout@v5.0.0 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0

8
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"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

@@ -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.19.0 # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/volkerraschek/helm HELM_IMAGE_VERSION?=3.18.2 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm
HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION} HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION}
# NODE_IMAGE # NODE_IMAGE
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.10.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node NODE_IMAGE_VERSION?=24.2.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node
NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION} NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION}
# MISSING DOT # MISSING DOT
@@ -88,4 +88,4 @@ container-run/helm-lint:
# ============================================================================== # ==============================================================================
# Declare the contents of the PHONY variable as phony. We keep that information # Declare the contents of the PHONY variable as phony. We keep that information
# in a variable so we can use it in if_changed. # in a variable so we can use it in if_changed.
.PHONY: ${PHONY} .PHONY: ${PHONY}

View File

@@ -14,10 +14,7 @@ Chapter [configuration and installation](#helm-configuration-and-installation) d
and use it to deploy the exporter. It also contains further configuration examples. and use it to deploy the exporter. It also contains further configuration examples.
Furthermore, this helm chart contains unit tests to detect regressions and stabilize the deployment. Additionally, this Furthermore, this helm chart contains unit tests to detect regressions and stabilize the deployment. Additionally, this
helm chart is tested for deployment scenarios with **ArgoCD**, but please keep in mind, that this chart supports the helm chart is tested for deployment scenarios with **ArgoCD**.
*[Automatically Roll Deployment](https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments)*
concept of Helm, which can trigger unexpected rolling releases. Further configuration instructions are described in a
separate [chapter](#argocd).
## Helm: configuration and installation ## Helm: configuration and installation
@@ -34,8 +31,7 @@ separate [chapter](#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
CHART_VERSION=0.4.21 helm install prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
--set 'prometheus.metrics.enabled=true' \ --set 'prometheus.metrics.enabled=true' \
--set 'prometheus.metrics.serviceMonitor.enabled=true' --set 'prometheus.metrics.serviceMonitor.enabled=true'
``` ```
@@ -47,7 +43,7 @@ versions can break something!
```bash ```bash
CHART_VERSION=0.4.21 CHART_VERSION=0.4.21
helm show values --version "${CHART_VERSION}" prometheus-exporters/prometheus-fail2ban-exporter > values.yaml helm show values prometheus-exporters/prometheus-fail2ban-exporter --version "${CHART_VERSION}" > 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:
@@ -84,8 +80,7 @@ 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
CHART_VERSION=0.4.21 helm install prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
--set 'prometheus.metrics.enabled=true' \ --set 'prometheus.metrics.enabled=true' \
--set 'prometheus.metrics.serviceMonitor.enabled=true' \ --set 'prometheus.metrics.serviceMonitor.enabled=true' \
--set 'daemonSet.fail2banExporter.env.name=GOMAXPROCS' \ --set 'daemonSet.fail2banExporter.env.name=GOMAXPROCS' \
@@ -149,8 +144,7 @@ the Grafana container file system so that it is subsequently available to the us
makes this possible. makes this possible.
```bash ```bash
CHART_VERSION=0.4.21 helm install prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \
--set 'grafana.enabled=true' --set 'grafana.enabled=true'
``` ```
@@ -204,35 +198,6 @@ networkPolicies:
protocol: TCP protocol: TCP
``` ```
## ArgoCD
### Daily execution of rolling updates
The behavior whereby ArgoCD triggers a rolling update even though nothing appears to have changed often occurs in
connection with the helm concept `checksum/secret`, `checksum/configmap` or more generally, [Automatically Roll
Deployments](https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments).
The problem with combining this concept with ArgoCD is that ArgoCD re-renders the Helm chart every time. Even if the
content of the config map or secret has not changed, there may be minimal differences (e.g., whitespace, chart version,
Helm render order, different timestamps).
This changes the SHA256 hash, Argo sees a drift and trigger a rolling update of the deployment. Among other things, this
can lead to unnecessary notifications from ArgoCD.
To avoid this, the annotation with the shasum must be ignored. Below is a diff that adds the `Application` to ignore all
annotations with the prefix `checksum`.
```diff
apiVersion: argoproj.io/v1alpha1
kind: Application
spec:
+ ignoreDifferences:
+ - group: apps/v1
+ kind: Deployment
+ jqPathExpressions:
+ - '.spec.template.metadata.annotations | with_entries(select(.key | startswith("checksum")))'
```
## Parameters ## Parameters
### Global ### Global

32
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.2", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/@bitnami/readme-generator-for-helm/-/readme-generator-for-helm-2.7.2.tgz", "resolved": "https://registry.npmjs.org/@bitnami/readme-generator-for-helm/-/readme-generator-for-helm-2.7.0.tgz",
"integrity": "sha512-7eXyJzxQTQj2ajpHlIhadciCCYWOqN8ieaweU25bStHOZowQ2c2CQyjO/bX4gxIf73LoRKxHhEYgLTllJY9SIw==", "integrity": "sha512-fVxExmcuJ9NZb9ZE9OW3+lG8pUlXJAJdaO8UukV3A7WzYu4qOTr03MXPH9Gt5e/6mo3x4WYI/cXBksKfS0qn3w==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -1042,9 +1042,9 @@
} }
}, },
"node_modules/link-check": { "node_modules/link-check": {
"version": "5.5.0", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/link-check/-/link-check-5.5.0.tgz", "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.4.0.tgz",
"integrity": "sha512-CpMk2zMfyEMdDvFG92wO5pU/2I/wbw72/9pvUFhU9cDKkwhmVlPuvxQJzd/jXA2iVOgNgPLnS5zyOLW7OzNpdA==", "integrity": "sha512-0Pf4xBVUnwJdbDgpBlhHNmWDtbVjHTpIFs+JaBuIsC9PKRxjv4KMGCO2Gc8lkVnqMf9B/yaNY+9zmMlO5MyToQ==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
@@ -1101,16 +1101,16 @@
} }
}, },
"node_modules/markdown-link-check": { "node_modules/markdown-link-check": {
"version": "3.14.0", "version": "3.13.7",
"resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.14.0.tgz", "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.13.7.tgz",
"integrity": "sha512-JmzUyLS1XUlLO3NyT7lSXgkrjB3Q7hUhQxQOs64AU/bQzTTPINhBHstAAwV5QQbvb5aKLeQ0IecLn6eozae4Sw==", "integrity": "sha512-Btn3HU8s2Uyh1ZfzmyZEkp64zp2+RAjwfQt1u4swq2Xa6w37OW0T2inQZrkSNVxDSa2jSN2YYhw/JkAp5jF1PQ==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"async": "^3.2.6", "async": "^3.2.6",
"chalk": "^5.3.0", "chalk": "^5.3.0",
"commander": "^14.0.0", "commander": "^13.1.0",
"link-check": "^5.5.0", "link-check": "^5.4.0",
"markdown-link-extractor": "^4.0.2", "markdown-link-extractor": "^4.0.2",
"needle": "^3.3.1", "needle": "^3.3.1",
"progress": "^2.0.3", "progress": "^2.0.3",
@@ -1121,16 +1121,6 @@
"markdown-link-check": "markdown-link-check" "markdown-link-check": "markdown-link-check"
} }
}, },
"node_modules/markdown-link-check/node_modules/commander": {
"version": "14.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.1.tgz",
"integrity": "sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=20"
}
},
"node_modules/markdown-link-extractor": { "node_modules/markdown-link-extractor": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz", "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz",

View File

@@ -9,7 +9,6 @@
], ],
"customManagers": [ "customManagers": [
{ {
"customType": "regex",
"fileMatch": [ "fileMatch": [
"^Chart\\.yaml$" "^Chart\\.yaml$"
], ],
@@ -22,10 +21,9 @@
"versioningTemplate": "semver" "versioningTemplate": "semver"
}, },
{ {
"customType": "regex",
"fileMatch": ["^README\\.md$"], "fileMatch": ["^README\\.md$"],
"matchStrings": [ "matchStrings": [
"CHART_VERSION=(?<currentValue>.*)" "VERSION=(?<currentValue>.*)"
], ],
"depNameTemplate": "volker.raschek/prometheus-fail2ban-exporter-charts", "depNameTemplate": "volker.raschek/prometheus-fail2ban-exporter-charts",
"packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts", "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts",
@@ -34,20 +32,6 @@
} }
], ],
"packageRules": [ "packageRules": [
{
"groupName": "Update docker.io/volkerraschek/helm",
"matchDepNames": [
"docker.io/volkerraschek/helm",
"volkerraschek/helm"
]
},
{
"groupName": "Update docker.io/library/node",
"matchDepNames": [
"docker.io/library/node",
"library/node"
]
},
{ {
"addLabels": [ "addLabels": [
"renovate/automerge", "renovate/automerge",

View File

@@ -16,7 +16,7 @@
{{- $secret := default (dict "data" (dict)) (lookup "v1" "Secret" .Release.Namespace .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 }} checksum/secret-web-config: {{ print $secret.spec | sha256sum }}
{{- else }} {{- else }}
checksum/secret-web-config: {{ include (print $.Template.BasePath "/secretWebConfig.yaml") . | sha256sum }} checksum/secret-web-config: {{ include (print $.Template.BasePath "/prometheus-fail2ban-exporter/secretWebConfig.yaml") . | sha256sum }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@@ -6,7 +6,7 @@ release:
name: prometheus-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/configMapGrafanaDashboardFail2BanExporter.yaml - templates/prometheus-fail2ban-exporter/configMapGrafanaDashboardFail2BanExporter.yaml
tests: tests:
- it: Rendering fail2banExporter - it: Rendering fail2banExporter
asserts: asserts:

View File

@@ -6,23 +6,23 @@ release:
name: prometheus-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/daemonSet.yaml - templates/prometheus-fail2ban-exporter/daemonSet.yaml
- templates/secretWebConfig.yaml - templates/prometheus-fail2ban-exporter/secretWebConfig.yaml
tests: tests:
- it: Rendering default - it: Rendering default
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- containsDocument: - containsDocument:
apiVersion: apps/v1 apiVersion: apps/v1
kind: DaemonSet kind: DaemonSet
name: prometheus-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: metadata.annotations path: metadata.annotations
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: metadata.labels path: metadata.labels
value: value:
@@ -31,10 +31,10 @@ tests:
app.kubernetes.io/name: prometheus-fail2ban-exporter app.kubernetes.io/name: prometheus-fail2ban-exporter
app.kubernetes.io/version: 0.1.0 app.kubernetes.io/version: 0.1.0
helm.sh/chart: prometheus-fail2ban-exporter-0.1.0 helm.sh/chart: prometheus-fail2ban-exporter-0.1.0
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- exists: - exists:
path: spec.template.metadata.annotations.checksum/secret-web-config path: spec.template.metadata.annotations.checksum/secret-web-config
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.metadata.labels path: spec.template.metadata.labels
value: value:
@@ -43,19 +43,19 @@ tests:
app.kubernetes.io/name: prometheus-fail2ban-exporter app.kubernetes.io/name: prometheus-fail2ban-exporter
app.kubernetes.io/version: 0.1.0 app.kubernetes.io/version: 0.1.0
helm.sh/chart: prometheus-fail2ban-exporter-0.1.0 helm.sh/chart: prometheus-fail2ban-exporter-0.1.0
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.affinity path: spec.template.spec.affinity
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.containers[0].envFrom path: spec.template.spec.containers[0].envFrom
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.containers[0].args path: spec.template.spec.containers[0].args
value: value:
# - --web.config.file=/etc/prometheus-fail2ban-exporter/config.d/webConfig.yaml # - --web.config.file=/etc/prometheus-fail2ban-exporter/config.d/webConfig.yaml
- --web.listen-address=:9191 - --web.listen-address=:9191
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.containers[0].volumeMounts path: spec.template.spec.containers[0].volumeMounts
value: value:
@@ -63,7 +63,7 @@ tests:
name: socket name: socket
- mountPath: /etc/prometheus-fail2ban-exporter/config.d - mountPath: /etc/prometheus-fail2ban-exporter/config.d
name: config-d name: config-d
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@@ -74,59 +74,59 @@ tests:
- name: config-d - name: config-d
secret: secret:
secretName: prometheus-fail2ban-exporter-unittest-web-config secretName: prometheus-fail2ban-exporter-unittest-web-config
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter:0.1.0 value: git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter:0.1.0
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.containers[0].imagePullPolicy path: spec.template.spec.containers[0].imagePullPolicy
value: IfNotPresent value: IfNotPresent
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.containers[0].resources path: spec.template.spec.containers[0].resources
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.containers[0].securityContext path: spec.template.spec.containers[0].securityContext
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.dnsConfig path: spec.template.spec.dnsConfig
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.dnsPolicy path: spec.template.spec.dnsPolicy
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.hostname path: spec.template.spec.hostname
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.hostNetwork path: spec.template.spec.hostNetwork
value: false value: false
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.imagePullSecrets path: spec.template.spec.imagePullSecrets
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.nodeSelector path: spec.template.spec.nodeSelector
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.priorityClassName path: spec.template.spec.priorityClassName
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.restartPolicy path: spec.template.spec.restartPolicy
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.subdomain path: spec.template.spec.subdomain
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.terminationGracePeriodSeconds path: spec.template.spec.terminationGracePeriodSeconds
value: 60 value: 60
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.tolerations path: spec.template.spec.tolerations
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- notExists: - notExists:
path: spec.template.spec.topologySpreadConstraints path: spec.template.spec.topologySpreadConstraints
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.updateStrategy path: spec.updateStrategy
value: value:
@@ -134,7 +134,7 @@ tests:
maxSurge: 1 maxSurge: 1
maxUnavailable: 0 maxUnavailable: 0
type: "RollingUpdate" type: "RollingUpdate"
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test custom affinity - it: Test custom affinity
set: set:
@@ -161,7 +161,7 @@ tests:
values: values:
- antarctica-east1 - antarctica-east1
- antarctica-west1 - antarctica-west1
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test additional arguments - it: Test additional arguments
set: set:
@@ -176,7 +176,7 @@ tests:
- --web.listen-address=:9191 - --web.listen-address=:9191
- --foo=bar - --foo=bar
- --bar=foo - --bar=foo
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test custom imageRegistry and imageRepository - it: Test custom imageRegistry and imageRepository
set: set:
@@ -186,7 +186,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-fail2ban-exporter:0.1.0 value: registry.example.local/path/special/prometheus-fail2ban-exporter:0.1.0
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test custom imagePullPolicy - it: Test custom imagePullPolicy
set: set:
@@ -195,7 +195,7 @@ tests:
- equal: - equal:
path: spec.template.spec.containers[0].imagePullPolicy path: spec.template.spec.containers[0].imagePullPolicy
value: Always value: Always
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test config.webConfig.existingSecret - it: Test config.webConfig.existingSecret
set: set:
@@ -209,7 +209,7 @@ tests:
name: socket name: socket
- mountPath: /etc/prometheus-fail2ban-exporter/config.d - mountPath: /etc/prometheus-fail2ban-exporter/config.d
name: config-d name: config-d
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@@ -220,7 +220,7 @@ tests:
- name: config-d - name: config-d
secret: secret:
secretName: web-config-secret secretName: web-config-secret
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test custom resource limits and requests - it: Test custom resource limits and requests
set: set:
@@ -240,7 +240,7 @@ tests:
resourceFieldRef: resourceFieldRef:
divisor: "1" divisor: "1"
resource: limits.cpu resource: limits.cpu
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.containers[0].resources path: spec.template.spec.containers[0].resources
value: value:
@@ -250,7 +250,7 @@ tests:
requests: requests:
cpu: 25m cpu: 25m
memory: 100MB memory: 100MB
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test custom securityContext - it: Test custom securityContext
set: set:
@@ -277,7 +277,7 @@ tests:
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: true runAsNonRoot: true
runAsUser: 1000 runAsUser: 1000
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test dnsConfig - it: Test dnsConfig
set: set:
@@ -292,7 +292,7 @@ tests:
nameservers: nameservers:
- "8.8.8.8" - "8.8.8.8"
- "8.8.4.4" - "8.8.4.4"
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test dnsPolicy - it: Test dnsPolicy
set: set:
@@ -301,7 +301,7 @@ tests:
- equal: - equal:
path: spec.template.spec.dnsPolicy path: spec.template.spec.dnsPolicy
value: ClusterFirst value: ClusterFirst
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test hostNetwork, hostname, subdomain - it: Test hostNetwork, hostname, subdomain
set: set:
@@ -312,15 +312,15 @@ tests:
- equal: - equal:
path: spec.template.spec.hostNetwork path: spec.template.spec.hostNetwork
value: true value: true
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.hostname path: spec.template.spec.hostname
value: pg-exporter value: pg-exporter
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.subdomain path: spec.template.spec.subdomain
value: exporters.internal value: exporters.internal
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test imagePullSecrets - it: Test imagePullSecrets
set: set:
@@ -333,7 +333,7 @@ tests:
value: value:
- name: my-pull-secret - name: my-pull-secret
- name: my-special-secret - name: my-special-secret
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test nodeSelector - it: Test nodeSelector
set: set:
@@ -344,7 +344,7 @@ tests:
path: spec.template.spec.nodeSelector path: spec.template.spec.nodeSelector
value: value:
foo: bar foo: bar
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test priorityClassName - it: Test priorityClassName
set: set:
@@ -353,7 +353,7 @@ tests:
- equal: - equal:
path: spec.template.spec.priorityClassName path: spec.template.spec.priorityClassName
value: my-priority value: my-priority
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test restartPolicy - it: Test restartPolicy
set: set:
@@ -362,7 +362,7 @@ tests:
- equal: - equal:
path: spec.template.spec.restartPolicy path: spec.template.spec.restartPolicy
value: Always value: Always
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test terminationGracePeriodSeconds - it: Test terminationGracePeriodSeconds
set: set:
@@ -371,7 +371,7 @@ tests:
- equal: - equal:
path: spec.template.spec.terminationGracePeriodSeconds path: spec.template.spec.terminationGracePeriodSeconds
value: 120 value: 120
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test tolerations - it: Test tolerations
set: set:
@@ -388,7 +388,7 @@ tests:
operator: Equal operator: Equal
value: fail2ban value: fail2ban
effect: NoSchedule effect: NoSchedule
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test topologySpreadConstraints - it: Test topologySpreadConstraints
set: set:
@@ -407,7 +407,7 @@ tests:
labelSelector: labelSelector:
matchLabels: matchLabels:
app.kubernetes.io/instance: prometheus-fail2ban-exporter app.kubernetes.io/instance: prometheus-fail2ban-exporter
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- it: Test additional volumeMounts and volumes - it: Test additional volumeMounts and volumes
set: set:
@@ -426,7 +426,7 @@ tests:
mountPath: /usr/lib/prometheus-fail2ban-exporter/data mountPath: /usr/lib/prometheus-fail2ban-exporter/data
- name: config-d - name: config-d
mountPath: /etc/prometheus-fail2ban-exporter/config.d mountPath: /etc/prometheus-fail2ban-exporter/config.d
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml
- equal: - equal:
path: spec.template.spec.volumes path: spec.template.spec.volumes
value: value:
@@ -436,4 +436,4 @@ tests:
- name: config-d - name: config-d
secret: secret:
secretName: prometheus-fail2ban-exporter-unittest-web-config secretName: prometheus-fail2ban-exporter-unittest-web-config
template: templates/daemonSet.yaml template: templates/prometheus-fail2ban-exporter/daemonSet.yaml

View File

@@ -6,7 +6,7 @@ release:
name: prometheus-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/ingress.yaml - templates/prometheus-fail2ban-exporter/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-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/networkPolicies.yaml - templates/prometheus-fail2ban-exporter/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-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/podMonitor.yaml - templates/prometheus-fail2ban-exporter/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-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/secretWebConfig.yaml - templates/prometheus-fail2ban-exporter/secretWebConfig.yaml
tests: tests:
- it: Rendering default secret. - it: Rendering default secret.
asserts: asserts:

View File

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

View File

@@ -6,7 +6,7 @@ release:
name: prometheus-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/serviceMonitorHTTP.yaml - templates/prometheus-fail2ban-exporter/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-fail2ban-exporter-unittest name: prometheus-fail2ban-exporter-unittest
namespace: testing namespace: testing
templates: templates:
- templates/serviceHTTP.yaml - templates/prometheus-fail2ban-exporter/serviceHTTP.yaml
tests: tests:
- it: Skip service when disabled. - it: Skip service when disabled.
set: set: