You've already forked prometheus-fail2ban-exporter-charts
							
							Compare commits
	
		
			1 Commits
		
	
	
		
			master
			...
			12333a0fd8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 12333a0fd8 | 
| @@ -15,7 +15,7 @@ on: | ||||
| jobs: | ||||
|   generate-parameters: | ||||
|     container: | ||||
|       image: docker.io/library/node:25.1.0-alpine | ||||
|       image: docker.io/library/node:24.2.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -23,7 +23,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Generate parameter section in README | ||||
|       run: | | ||||
|         npm install | ||||
|   | ||||
| @@ -13,7 +13,7 @@ on: | ||||
| jobs: | ||||
|   helm-lint: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.19.0 | ||||
|       image: docker.io/volkerraschek/helm:3.18.3 | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -21,14 +21,14 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Lint helm files | ||||
|       run: | | ||||
|         helm lint --values values.yaml . | ||||
|  | ||||
|   helm-unittest: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.19.0 | ||||
|       image: docker.io/volkerraschek/helm:3.18.3 | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -36,7 +36,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Unittest | ||||
|       run: | | ||||
|         helm unittest --strict --file 'unittests/**/*.yaml' ./ | ||||
| @@ -15,7 +15,7 @@ on: | ||||
| jobs: | ||||
|   markdown-link-checker: | ||||
|     container: | ||||
|       image: docker.io/library/node:25.1.0-alpine | ||||
|       image: docker.io/library/node:24.2.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -23,7 +23,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Verify links in markdown files | ||||
|       run: | | ||||
|         npm install | ||||
| @@ -31,7 +31,7 @@ jobs: | ||||
|  | ||||
|   markdown-lint: | ||||
|     container: | ||||
|       image: docker.io/library/node:25.1.0-alpine | ||||
|       image: docker.io/library/node:24.2.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
| @@ -39,7 +39,7 @@ jobs: | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git | ||||
|     - uses: actions/checkout@v5.0.0 | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Lint markdown files | ||||
|       run: | | ||||
|         npm install | ||||
|   | ||||
| @@ -8,7 +8,7 @@ on: | ||||
| jobs: | ||||
|   publish-chart: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.19.0 | ||||
|       image: docker.io/volkerraschek/helm:3.18.3 | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Install packages via apk | ||||
| @@ -16,7 +16,7 @@ jobs: | ||||
|           apk update | ||||
|           apk add git npm jq yq | ||||
|  | ||||
|       - uses: actions/checkout@v5.0.0 | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "yaml.schemas": { | ||||
|     "https://raw.githubusercontent.com/helm-unittest/helm-unittest/v1.0.3/schema/helm-testsuite.json": [ | ||||
|     "https://raw.githubusercontent.com/helm-unittest/helm-unittest/v0.5.2/schema/helm-testsuite.json": [ | ||||
|       "/unittests/**/*.yaml" | ||||
|     ] | ||||
|   }, | ||||
|   | ||||
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| @@ -4,13 +4,13 @@ CONTAINER_RUNTIME?=$(shell which podman) | ||||
| # HELM_IMAGE | ||||
| HELM_IMAGE_REGISTRY_HOST?=docker.io | ||||
| HELM_IMAGE_REPOSITORY?=volkerraschek/helm | ||||
| HELM_IMAGE_VERSION?=3.19.0 # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/volkerraschek/helm | ||||
| HELM_IMAGE_VERSION?=3.18.3 # 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?=25.1.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node | ||||
| NODE_IMAGE_VERSION?=24.3.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=docker.io/library/node packageName=library/node | ||||
| NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION} | ||||
|  | ||||
| # MISSING DOT | ||||
| @@ -88,4 +88,4 @@ container-run/helm-lint: | ||||
| # ============================================================================== | ||||
| # Declare the contents of the PHONY variable as phony. We keep that information | ||||
| # in a variable so we can use it in if_changed. | ||||
| .PHONY: ${PHONY} | ||||
| .PHONY: ${PHONY} | ||||
							
								
								
									
										45
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								README.md
									
									
									
									
									
								
							| @@ -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. | ||||
|  | ||||
| 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 | ||||
| *[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 chart is tested for deployment scenarios with **ArgoCD**. | ||||
|  | ||||
| ## Helm: configuration and installation | ||||
|  | ||||
| @@ -34,8 +31,7 @@ separate [chapter](#argocd). | ||||
| ```bash | ||||
| helm repo add prometheus-exporters https://charts.cryptic.systems/prometheus-exporters | ||||
| helm repo update | ||||
| CHART_VERSION=0.4.21 | ||||
| helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ | ||||
| helm install prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ | ||||
|   --set 'prometheus.metrics.enabled=true' \ | ||||
|   --set 'prometheus.metrics.serviceMonitor.enabled=true' | ||||
| ``` | ||||
| @@ -47,7 +43,7 @@ versions can break something! | ||||
|  | ||||
| ```bash | ||||
| 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: | ||||
| @@ -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. | ||||
|  | ||||
| ```bash | ||||
| CHART_VERSION=0.4.21 | ||||
| helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ | ||||
| helm install prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ | ||||
|   --set 'prometheus.metrics.enabled=true' \ | ||||
|   --set 'prometheus.metrics.serviceMonitor.enabled=true' \ | ||||
|   --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. | ||||
|  | ||||
| ```bash | ||||
| CHART_VERSION=0.4.21 | ||||
| helm install --version "${CHART_VERSION}" prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ | ||||
| helm install prometheus-fail2ban-exporter prometheus-exporters/prometheus-fail2ban-exporter \ | ||||
|   --set 'grafana.enabled=true' | ||||
| ``` | ||||
|  | ||||
| @@ -204,35 +198,6 @@ networkPolicies: | ||||
|         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 | ||||
|  | ||||
| ### Global | ||||
|   | ||||
							
								
								
									
										32
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -17,9 +17,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@bitnami/readme-generator-for-helm": { | ||||
|       "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==", | ||||
|       "version": "2.7.1", | ||||
|       "resolved": "https://registry.npmjs.org/@bitnami/readme-generator-for-helm/-/readme-generator-for-helm-2.7.1.tgz", | ||||
|       "integrity": "sha512-HCt4wdEVYfPPVX8P6be8LgejVPEHJvnXXJBErdcSWmNgbbXowJhFwnB1uTdzkT00kqSBd8KQMdzjoQFGgv2/Ww==", | ||||
|       "dev": true, | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
| @@ -1042,9 +1042,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/link-check": { | ||||
|       "version": "5.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.5.0.tgz", | ||||
|       "integrity": "sha512-CpMk2zMfyEMdDvFG92wO5pU/2I/wbw72/9pvUFhU9cDKkwhmVlPuvxQJzd/jXA2iVOgNgPLnS5zyOLW7OzNpdA==", | ||||
|       "version": "5.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.4.0.tgz", | ||||
|       "integrity": "sha512-0Pf4xBVUnwJdbDgpBlhHNmWDtbVjHTpIFs+JaBuIsC9PKRxjv4KMGCO2Gc8lkVnqMf9B/yaNY+9zmMlO5MyToQ==", | ||||
|       "dev": true, | ||||
|       "license": "ISC", | ||||
|       "dependencies": { | ||||
| @@ -1101,16 +1101,16 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/markdown-link-check": { | ||||
|       "version": "3.14.1", | ||||
|       "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.14.1.tgz", | ||||
|       "integrity": "sha512-h1tihNL3kmOS3N7H4FyF4xKDxiHnNBNSgs/LWlDiRHlC8O0vfRX0LhDDvesRSs4HM7nS0F658glLxonaXBmuWw==", | ||||
|       "version": "3.13.7", | ||||
|       "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.13.7.tgz", | ||||
|       "integrity": "sha512-Btn3HU8s2Uyh1ZfzmyZEkp64zp2+RAjwfQt1u4swq2Xa6w37OW0T2inQZrkSNVxDSa2jSN2YYhw/JkAp5jF1PQ==", | ||||
|       "dev": true, | ||||
|       "license": "ISC", | ||||
|       "dependencies": { | ||||
|         "async": "^3.2.6", | ||||
|         "chalk": "^5.3.0", | ||||
|         "commander": "^14.0.0", | ||||
|         "link-check": "^5.5.0", | ||||
|         "commander": "^13.1.0", | ||||
|         "link-check": "^5.4.0", | ||||
|         "markdown-link-extractor": "^4.0.2", | ||||
|         "needle": "^3.3.1", | ||||
|         "progress": "^2.0.3", | ||||
| @@ -1121,16 +1121,6 @@ | ||||
|         "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": { | ||||
|       "version": "4.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz", | ||||
|   | ||||
| @@ -9,7 +9,6 @@ | ||||
|   ], | ||||
|   "customManagers": [ | ||||
|     { | ||||
|       "customType": "regex", | ||||
|       "fileMatch": [ | ||||
|         "^Chart\\.yaml$" | ||||
|       ], | ||||
| @@ -22,56 +21,17 @@ | ||||
|       "versioningTemplate": "semver" | ||||
|     }, | ||||
|     { | ||||
|       "customType": "regex", | ||||
|       "fileMatch": ["^README\\.md$"], | ||||
|       "matchStrings": [ | ||||
|         "CHART_VERSION=(?<currentValue>.*)" | ||||
|         "VERSION=(?<currentValue>.*)" | ||||
|       ], | ||||
|       "depNameTemplate": "volker.raschek/prometheus-fail2ban-exporter-charts", | ||||
|       "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter-charts", | ||||
|       "datasourceTemplate": "git-tags", | ||||
|       "versioningTemplate": "semver" | ||||
|     }, | ||||
|     { | ||||
|       "customType": "regex", | ||||
|       "datasourceTemplate": "github-releases", | ||||
|       "fileMatch": [ | ||||
|         ".vscode/settings\\.json$" | ||||
|       ], | ||||
|       "matchStrings": [ | ||||
|         "https:\\/\\/raw\\.githubusercontent\\.com\\/(?<depName>[^\\s]+?)\\/(?<currentValue>v[0-9.]+?)\\/schema\\/helm-testsuite\\.json" | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "packageRules": [ | ||||
|     { | ||||
|       "groupName": "Update docker.io/volkerraschek/helm", | ||||
|       "matchDepNames": [ | ||||
|         "docker.io/volkerraschek/helm", | ||||
|         "volkerraschek/helm" | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "automerge": true, | ||||
|       "groupName": "Update helm plugin 'unittest'", | ||||
|       "matchDepNames": [ | ||||
|         "helm-unittest/helm-unittest" | ||||
|       ], | ||||
|       "matchDatasources": [ | ||||
|         "github-releases" | ||||
|       ], | ||||
|       "matchUpdateTypes": [ | ||||
|         "minor", | ||||
|         "patch" | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "groupName": "Update docker.io/library/node", | ||||
|       "matchDepNames": [ | ||||
|         "docker.io/library/node", | ||||
|         "library/node" | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "addLabels": [ | ||||
|         "renovate/automerge", | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
| {{- $secret := default (dict "data" (dict)) (lookup "v1" "Secret" .Release.Namespace .Values.config.webConfig.existingSecret.secretName ) }} | ||||
| checksum/secret-web-config: {{ print $secret.spec | sha256sum }} | ||||
| {{- 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 }} | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/configMapGrafanaDashboardFail2BanExporter.yaml | ||||
| - templates/prometheus-fail2ban-exporter/configMapGrafanaDashboardFail2BanExporter.yaml | ||||
| tests: | ||||
| - it: Rendering fail2banExporter | ||||
|   asserts: | ||||
|   | ||||
| @@ -6,23 +6,23 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/daemonSet.yaml | ||||
| - templates/secretWebConfig.yaml | ||||
| - templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
| - templates/prometheus-fail2ban-exporter/secretWebConfig.yaml | ||||
| tests: | ||||
| - it: Rendering default | ||||
|   asserts: | ||||
|   - hasDocuments: | ||||
|       count: 1 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - containsDocument: | ||||
|       apiVersion: apps/v1 | ||||
|       kind: DaemonSet | ||||
|       name: prometheus-fail2ban-exporter-unittest | ||||
|       namespace: testing | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: metadata.annotations | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: metadata.labels | ||||
|       value: | ||||
| @@ -31,10 +31,10 @@ tests: | ||||
|         app.kubernetes.io/name: prometheus-fail2ban-exporter | ||||
|         app.kubernetes.io/version: 0.1.0 | ||||
|         helm.sh/chart: prometheus-fail2ban-exporter-0.1.0 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - exists: | ||||
|       path: spec.template.metadata.annotations.checksum/secret-web-config | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.metadata.labels | ||||
|       value: | ||||
| @@ -43,19 +43,19 @@ tests: | ||||
|         app.kubernetes.io/name: prometheus-fail2ban-exporter | ||||
|         app.kubernetes.io/version: 0.1.0 | ||||
|         helm.sh/chart: prometheus-fail2ban-exporter-0.1.0 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.affinity | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.containers[0].envFrom | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].args | ||||
|       value: | ||||
|       # - --web.config.file=/etc/prometheus-fail2ban-exporter/config.d/webConfig.yaml | ||||
|       - --web.listen-address=:9191 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].volumeMounts | ||||
|       value: | ||||
| @@ -63,7 +63,7 @@ tests: | ||||
|         name: socket | ||||
|       - mountPath: /etc/prometheus-fail2ban-exporter/config.d | ||||
|         name: config-d | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -74,59 +74,59 @@ tests: | ||||
|       - name: config-d | ||||
|         secret: | ||||
|           secretName: prometheus-fail2ban-exporter-unittest-web-config | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].image | ||||
|       value: git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter:0.1.0 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].imagePullPolicy | ||||
|       value: IfNotPresent | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.containers[0].resources | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.containers[0].securityContext | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.dnsConfig | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.dnsPolicy | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.hostname | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.hostNetwork | ||||
|       value: false | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.imagePullSecrets | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.nodeSelector | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.priorityClassName | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.restartPolicy | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.subdomain | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.terminationGracePeriodSeconds | ||||
|       value: 60 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.tolerations | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - notExists: | ||||
|       path: spec.template.spec.topologySpreadConstraints | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.updateStrategy | ||||
|       value: | ||||
| @@ -134,7 +134,7 @@ tests: | ||||
|           maxSurge: 1 | ||||
|           maxUnavailable: 0 | ||||
|         type: "RollingUpdate" | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test custom affinity | ||||
|   set: | ||||
| @@ -161,7 +161,7 @@ tests: | ||||
|                 values: | ||||
|                 - antarctica-east1 | ||||
|                 - antarctica-west1 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test additional arguments | ||||
|   set: | ||||
| @@ -176,7 +176,7 @@ tests: | ||||
|       - --web.listen-address=:9191 | ||||
|       - --foo=bar | ||||
|       - --bar=foo | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test custom imageRegistry and imageRepository | ||||
|   set: | ||||
| @@ -186,7 +186,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].image | ||||
|       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 | ||||
|   set: | ||||
| @@ -195,7 +195,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].imagePullPolicy | ||||
|       value: Always | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test config.webConfig.existingSecret | ||||
|   set: | ||||
| @@ -209,7 +209,7 @@ tests: | ||||
|         name: socket | ||||
|       - mountPath: /etc/prometheus-fail2ban-exporter/config.d | ||||
|         name: config-d | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -220,7 +220,7 @@ tests: | ||||
|       - name: config-d | ||||
|         secret: | ||||
|           secretName: web-config-secret | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test custom resource limits and requests | ||||
|   set: | ||||
| @@ -240,7 +240,7 @@ tests: | ||||
|           resourceFieldRef: | ||||
|             divisor: "1" | ||||
|             resource: limits.cpu | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].resources | ||||
|       value: | ||||
| @@ -250,7 +250,7 @@ tests: | ||||
|         requests: | ||||
|           cpu: 25m | ||||
|           memory: 100MB | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test custom securityContext | ||||
|   set: | ||||
| @@ -277,7 +277,7 @@ tests: | ||||
|         readOnlyRootFilesystem: true | ||||
|         runAsNonRoot: true | ||||
|         runAsUser: 1000 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test dnsConfig | ||||
|   set: | ||||
| @@ -292,7 +292,7 @@ tests: | ||||
|         nameservers: | ||||
|         - "8.8.8.8" | ||||
|         - "8.8.4.4" | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test dnsPolicy | ||||
|   set: | ||||
| @@ -301,7 +301,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.dnsPolicy | ||||
|       value: ClusterFirst | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test hostNetwork, hostname, subdomain | ||||
|   set: | ||||
| @@ -312,15 +312,15 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.hostNetwork | ||||
|       value: true | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.hostname | ||||
|       value: pg-exporter | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.subdomain | ||||
|       value: exporters.internal | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test imagePullSecrets | ||||
|   set: | ||||
| @@ -333,7 +333,7 @@ tests: | ||||
|       value: | ||||
|       - name: my-pull-secret | ||||
|       - name: my-special-secret | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test nodeSelector | ||||
|   set: | ||||
| @@ -344,7 +344,7 @@ tests: | ||||
|       path: spec.template.spec.nodeSelector | ||||
|       value: | ||||
|         foo: bar | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test priorityClassName | ||||
|   set: | ||||
| @@ -353,7 +353,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.priorityClassName | ||||
|       value: my-priority | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test restartPolicy | ||||
|   set: | ||||
| @@ -362,7 +362,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.restartPolicy | ||||
|       value: Always | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test terminationGracePeriodSeconds | ||||
|   set: | ||||
| @@ -371,7 +371,7 @@ tests: | ||||
|   - equal: | ||||
|       path: spec.template.spec.terminationGracePeriodSeconds | ||||
|       value: 120 | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test tolerations | ||||
|   set: | ||||
| @@ -388,7 +388,7 @@ tests: | ||||
|         operator: Equal | ||||
|         value: fail2ban | ||||
|         effect: NoSchedule | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test topologySpreadConstraints | ||||
|   set: | ||||
| @@ -407,7 +407,7 @@ tests: | ||||
|         labelSelector: | ||||
|           matchLabels: | ||||
|             app.kubernetes.io/instance: prometheus-fail2ban-exporter | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|  | ||||
| - it: Test additional volumeMounts and volumes | ||||
|   set: | ||||
| @@ -426,7 +426,7 @@ tests: | ||||
|         mountPath: /usr/lib/prometheus-fail2ban-exporter/data | ||||
|       - name: config-d | ||||
|         mountPath: /etc/prometheus-fail2ban-exporter/config.d | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
|   - equal: | ||||
|       path: spec.template.spec.volumes | ||||
|       value: | ||||
| @@ -436,4 +436,4 @@ tests: | ||||
|       - name: config-d | ||||
|         secret: | ||||
|           secretName: prometheus-fail2ban-exporter-unittest-web-config | ||||
|     template: templates/daemonSet.yaml | ||||
|     template: templates/prometheus-fail2ban-exporter/daemonSet.yaml | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/ingress.yaml | ||||
| - templates/prometheus-fail2ban-exporter/ingress.yaml | ||||
| tests: | ||||
| - it: Skip ingress by default. | ||||
|   asserts: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/networkPolicies.yaml | ||||
| - templates/prometheus-fail2ban-exporter/networkPolicies.yaml | ||||
| tests: | ||||
| - it: Skip networkPolicies in general disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/podMonitor.yaml | ||||
| - templates/prometheus-fail2ban-exporter/podMonitor.yaml | ||||
| tests: | ||||
| - it: Skip podMonitor when metrics are disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/secretWebConfig.yaml | ||||
| - templates/prometheus-fail2ban-exporter/secretWebConfig.yaml | ||||
| tests: | ||||
| - it: Rendering default secret. | ||||
|   asserts: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/serviceAccount.yaml | ||||
| - templates/prometheus-fail2ban-exporter/serviceAccount.yaml | ||||
| tests: | ||||
| - it: Skip rendering. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/serviceMonitorHTTP.yaml | ||||
| - templates/prometheus-fail2ban-exporter/serviceMonitorHTTP.yaml | ||||
| tests: | ||||
| - it: Skip serviceMonitor when service is disabled. | ||||
|   set: | ||||
|   | ||||
| @@ -6,7 +6,7 @@ release: | ||||
|   name: prometheus-fail2ban-exporter-unittest | ||||
|   namespace: testing | ||||
| templates: | ||||
| - templates/serviceHTTP.yaml | ||||
| - templates/prometheus-fail2ban-exporter/serviceHTTP.yaml | ||||
| tests: | ||||
| - it: Skip service when disabled. | ||||
|   set: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user