You've already forked prometheus-postgres-exporter
							
							Compare commits
	
		
			20 Commits
		
	
	
		
			0.2.3
			...
			286d7808e3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 286d7808e3 | |||
| 90d48f8450 | |||
| ad69f02f8f | |||
| 3ea3f94429 | |||
| 11c58d99fa | |||
| 2958540cf7 | |||
| b0a16dc214 | |||
| 2a04fb1966 | |||
| fcf64a215d | |||
| 2b6f0dbda4 | |||
| 93884a4f51 | |||
| 42ca0a7370 | |||
| a4875f9488 | |||
| a976273cbc | |||
| 5646ebfa8c | |||
| 4a4650cdc2 | |||
| b73455b657 | |||
| 79062bc1c3 | |||
| 3b0a815203 | |||
| ffa8271684 | 
							
								
								
									
										200
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										200
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -1,200 +0,0 @@ | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: Linters | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone repository | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.4.0 | ||||
|  | ||||
| - name: helm lint | ||||
|   commands: | ||||
|   - helm lint | ||||
|   image: git.cryptic.systems/volker.raschek/helm:3.16.3 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|  | ||||
| - name: email-notification | ||||
|   environment: | ||||
|     SMTP_FROM_ADDRESS: | ||||
|       from_secret: smtp_from_address | ||||
|     SMTP_FROM_NAME: | ||||
|       from_secret: smtp_from_name | ||||
|     SMTP_HOST: | ||||
|       from_secret: smtp_host | ||||
|     SMTP_USERNAME: | ||||
|       from_secret: smtp_username | ||||
|     SMTP_PASSWORD: | ||||
|       from_secret: smtp_password | ||||
|   image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|     exclude: | ||||
|     - tag | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: Unit tests | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone repository | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.4.0 | ||||
|  | ||||
| - name: helm unittest | ||||
|   commands: | ||||
|   - helm unittest --strict --file 'unittests/**/*.yaml' ./ | ||||
|   image: git.cryptic.systems/volker.raschek/helm:3.16.3 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|  | ||||
| - name: email-notification | ||||
|   environment: | ||||
|     SMTP_FROM_ADDRESS: | ||||
|       from_secret: smtp_from_address | ||||
|     SMTP_FROM_NAME: | ||||
|       from_secret: smtp_from_name | ||||
|     SMTP_HOST: | ||||
|       from_secret: smtp_host | ||||
|     SMTP_USERNAME: | ||||
|       from_secret: smtp_username | ||||
|     SMTP_PASSWORD: | ||||
|       from_secret: smtp_password | ||||
|   image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|     exclude: | ||||
|     - tag | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: Generate, compare and lint README.md | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone repository | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.4.0 | ||||
|  | ||||
| - name: execute NPM modules | ||||
|   commands: | ||||
|   - npm install | ||||
|   - npm run readme:link | ||||
|   - npm run readme:lint | ||||
|   - npm run readme:parameters | ||||
|   image: docker.io/library/node:23.3.0-alpine | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|  | ||||
| - name: detect diff | ||||
|   commands: | ||||
|   - git diff --exit-code --name-only README.md | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.4.0 | ||||
|  | ||||
| - name: email-notification | ||||
|   environment: | ||||
|     SMTP_FROM_ADDRESS: | ||||
|       from_secret: smtp_from_address | ||||
|     SMTP_FROM_NAME: | ||||
|       from_secret: smtp_from_name | ||||
|     SMTP_HOST: | ||||
|       from_secret: smtp_host | ||||
|     SMTP_USERNAME: | ||||
|       from_secret: smtp_username | ||||
|     SMTP_PASSWORD: | ||||
|       from_secret: smtp_password | ||||
|   image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|     exclude: | ||||
|     - tag | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: Release | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|  | ||||
| steps: | ||||
| - name: clone repository | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.4.0 | ||||
|  | ||||
| - name: release-helm-chart | ||||
|   commands: | ||||
|   - helm repo add prometheus-exporters https://charts.cryptic.systems/prometheus-exporters | ||||
|   - helm package --version ${DRONE_TAG} . | ||||
|   - helm cm-push ${DRONE_REPO_NAME}-${DRONE_TAG}.tgz prometheus-exporters | ||||
|   environment: | ||||
|     HELM_REPO_PASSWORD: | ||||
|       from_secret: helm_repo_password | ||||
|     HELM_REPO_USERNAME: | ||||
|       from_secret: helm_repo_username | ||||
|   image: git.cryptic.systems/volker.raschek/helm:3.16.3 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/prometheus-postgres-exporter | ||||
							
								
								
									
										30
									
								
								.gitea/workflows/generate-readme.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.gitea/workflows/generate-readme.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| name: Generate README | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|     paths: [ "README.md", "values.yaml" ] | ||||
|     types: [ "opened", "reopened", "synchronize" ] | ||||
|   push: | ||||
|     paths: [ "README.md", "values.yaml" ] | ||||
|     tags-ignore: | ||||
|     - '**' | ||||
|   workflow_dispatch: {} | ||||
|  | ||||
| jobs: | ||||
|   generate-parameters: | ||||
|     container: | ||||
|       image: docker.io/library/node:23.6.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
|     - name: Install tooling | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Generate parameter section in README | ||||
|       run: | | ||||
|         npm install | ||||
|         npm run readme:parameters | ||||
|     - name: Compare diff | ||||
|       run: git diff --exit-code --name-only README.md | ||||
							
								
								
									
										40
									
								
								.gitea/workflows/helm.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								.gitea/workflows/helm.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| name: Helm | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|     types: [ "opened", "reopened", "synchronize" ] | ||||
|   push: | ||||
|     tags-ignore: | ||||
|     - '**' | ||||
|   workflow_dispatch: {} | ||||
|  | ||||
| jobs: | ||||
|   helm-lint: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.16.4 | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
|     - name: Install tooling | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - 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.16.4 | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
|     - name: Install tooling | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Unittest | ||||
|       run: | | ||||
|         helm unittest --strict --file 'unittests/**/*.yaml' ./ | ||||
							
								
								
									
										44
									
								
								.gitea/workflows/markdown-linters.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.gitea/workflows/markdown-linters.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| name: Markdown linter | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|     paths: [ "**/*.md" ] | ||||
|     types: [ "opened", "reopened", "synchronize" ] | ||||
|   push: | ||||
|     paths: [ "**/*.md" ] | ||||
|     tags-ignore: | ||||
|     - '**' | ||||
|   workflow_dispatch: {} | ||||
|  | ||||
| jobs: | ||||
|   markdown-link-checker: | ||||
|     container: | ||||
|       image: docker.io/library/node:23.6.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
|     - name: Install tooling | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git npm | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Verify links in markdown files | ||||
|       run: | | ||||
|         npm install | ||||
|         npm run readme:link | ||||
|  | ||||
|   markdown-lint: | ||||
|     container: | ||||
|       image: docker.io/library/node:23.6.0-alpine | ||||
|     runs-on: | ||||
|     - ubuntu-latest | ||||
|     steps: | ||||
|     - name: Install tooling | ||||
|       run: | | ||||
|         apk update | ||||
|         apk add git | ||||
|     - uses: actions/checkout@v4.2.2 | ||||
|     - name: Lint markdown files | ||||
|       run: | | ||||
|         npm install | ||||
|         npm run readme:lint | ||||
							
								
								
									
										46
									
								
								.gitea/workflows/release.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.gitea/workflows/release.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| name: Release | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
|     - "**" | ||||
|  | ||||
| jobs: | ||||
|   publish-chart: | ||||
|     container: | ||||
|       image: docker.io/volkerraschek/helm:3.16.4 | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Install tooling | ||||
|         run: | | ||||
|           apk update | ||||
|           apk add git npm | ||||
|       - uses: actions/checkout@v4 | ||||
|       - name: Package chart | ||||
|         env: | ||||
|           HELM_REPO_NAME: upload | ||||
|  | ||||
|           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 | ||||
|           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 | ||||
							
								
								
									
										20
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								Makefile
									
									
									
									
									
								
							| @@ -3,19 +3,13 @@ CONTAINER_RUNTIME?=$(shell which podman) | ||||
|  | ||||
| # HELM_IMAGE | ||||
| HELM_IMAGE_REGISTRY_HOST?=docker.io | ||||
| HELM_IMAGE_REPOSITORY=volkerraschek/helm | ||||
| HELM_IMAGE_REPOSITORY?=volkerraschek/helm | ||||
| HELM_IMAGE_VERSION?=3.16.1 # renovate: datasource=docker registryUrl=https://docker.io depName=volkerraschek/helm | ||||
| HELM_IMAGE_FULLY_QUALIFIED=${HELM_IMAGE_REGISTRY_HOST}/${HELM_IMAGE_REPOSITORY}:${HELM_IMAGE_VERSION} | ||||
|  | ||||
| # MARKDOWNLINKCHECKER_IMAGE | ||||
| MARKDOWNLINKCHECK_IMAGE_REGISTRY_HOST?=ghcr.io | ||||
| MARKDOWNLINKCHECK_IMAGE_REPOSITORY=tcort/markdown-link-check | ||||
| MARKDOWNLINKCHECK_IMAGE_VERSION?=3.12.2 # renovate: datasource=docker registryUrl=https://ghcr.io depName=tcort/markdown-link-check | ||||
| MARKDOWNLINKCHECK_IMAGE_FULLY_QUALIFIED=${MARKDOWNLINKCHECK_IMAGE_REGISTRY_HOST}/${MARKDOWNLINKCHECK_IMAGE_REPOSITORY}:${MARKDOWNLINKCHECK_IMAGE_VERSION} | ||||
|  | ||||
| # NODE_IMAGE | ||||
| NODE_IMAGE_REGISTRY_HOST?=docker.io | ||||
| NODE_IMAGE_REPOSITORY=library/node | ||||
| NODE_IMAGE_REPOSITORY?=library/node | ||||
| NODE_IMAGE_VERSION?=22.9.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=library/node | ||||
| NODE_IMAGE_FULLY_QUALIFIED=${NODE_IMAGE_REGISTRY_HOST}/${NODE_IMAGE_REPOSITORY}:${NODE_IMAGE_VERSION} | ||||
|  | ||||
| @@ -90,16 +84,6 @@ container-run/helm-lint: | ||||
| 		${HELM_IMAGE_FULLY_QUALIFIED} \ | ||||
| 			lint --values values.yaml . | ||||
|  | ||||
| # CONTAINER RUN - MARKDOWN-LINK-CHECK | ||||
| # ============================================================================== | ||||
| PHONY+=container-run/markdown-link-check | ||||
| container-run/markdown-link-check: | ||||
| 	${CONTAINER_RUNTIME} run \ | ||||
| 		--rm \ | ||||
| 		--volume $(shell pwd):/work \ | ||||
| 		${MARKDOWNLINKCHECK_IMAGE_FULLY_QUALIFIED} \ | ||||
| 			*.md | ||||
|  | ||||
| # PHONY | ||||
| # ============================================================================== | ||||
| # Declare the contents of the PHONY variable as phony. We keep that information | ||||
|   | ||||
							
								
								
									
										29
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								README.md
									
									
									
									
									
								
							| @@ -63,6 +63,35 @@ for customizations. These can be configured in more detail via `values.yaml`. | ||||
|  | ||||
| The following examples serve as individual configurations and as inspiration for how deployment problems can be solved. | ||||
|  | ||||
| #### Avoid CPU throttling by defining a CPU limit | ||||
|  | ||||
| If the application is deployed with a CPU resource limit, Prometheus may throw a CPU throttling warning for the | ||||
| application. This has more or less to do with the fact that the application finds the number of CPUs of the host, but | ||||
| cannot use the available CPU time to perform computing operations. | ||||
|  | ||||
| The application must be informed that despite several CPUs only a part (limit) of the available computing time is | ||||
| available. As this is a Golang application, this can be implemented using `GOMAXPROCS`. The following example is one way | ||||
| of defining `GOMAXPROCS` automatically based on the defined CPU limit like `100m`. Please keep in mind, that the CFS | ||||
| rate of `100ms` - default on each kubernetes node, is also very important to avoid CPU throttling. | ||||
|  | ||||
| Further information about this topic can be found [here](https://kanishk.io/posts/cpu-throttling-in-containerized-go-apps/). | ||||
|  | ||||
| > [!NOTE] | ||||
| > The environment variable `GOMAXPROCS` is set automatically, when a CPU limit is defined. An explicit configuration is | ||||
| > not anymore required. | ||||
|  | ||||
| ```bash | ||||
| helm install 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"' \ | ||||
|   --set 'prometheus.metrics.enabled=true' \ | ||||
|   --set 'prometheus.metrics.serviceMonitor.enabled=true' \ | ||||
|   --set 'deployment.postgresExporter.env.name=GOMAXPROCS' \ | ||||
|   --set 'deployment.postgresExporter.env.valueFrom.resourceFieldRef.resource=limits.cpu' \ | ||||
|   --set 'deployment.postgresExporter.resources.limits.cpu=100m' | ||||
| ``` | ||||
|  | ||||
| #### TLS authentication and encryption | ||||
|  | ||||
| The first example shows how to deploy the metric exporter with TLS encryption. The verification of the custom TLS | ||||
|   | ||||
| @@ -3,7 +3,6 @@ | ||||
|   "assignees": [ "volker.raschek" ], | ||||
|   "customManagers": [ | ||||
|     { | ||||
|       "description": "Update container image reference", | ||||
|       "fileMatch": [ | ||||
|         "^Chart\\.yaml$" | ||||
|       ], | ||||
| @@ -16,33 +15,50 @@ | ||||
|       "versioningTemplate": "semver" | ||||
|     }, | ||||
|     { | ||||
|       "description": "Detect helm chart version in README", | ||||
|       "fileMatch": [ | ||||
|         "^README\\.md$" | ||||
|       ], | ||||
|       "fileMatch": ["^README\\.md$"], | ||||
|       "matchStrings": [ | ||||
|         "^CHART_VERSION=(?<currentValue>.*)$" | ||||
|         "VERSION=(?<currentValue>.*)" | ||||
|       ], | ||||
|       "datasourceTemplate": "git-tags", | ||||
|       "depNameTemplate": "volker.raschek/prometheus-postgres-exporter", | ||||
|       "packageNameTemplate": "git.cryptic.systems/volker.raschek/prometheus-postgres-exporter", | ||||
|       "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/prometheus-postgres-exporter", | ||||
|       "datasourceTemplate": "git-tags", | ||||
|       "versioningTemplate": "semver" | ||||
|     } | ||||
|   ], | ||||
|   "labels": [ "renovate" ], | ||||
|   "packageRules": [ | ||||
|     { | ||||
|       "addLabels": [ "renovate/automerge", "renovate/droneci" ], | ||||
|       "automerge": true, | ||||
|       "matchManagers": "droneci", | ||||
|       "matchUpdateTypes": [ "minor", "patch"] | ||||
|     }, | ||||
|     { | ||||
|       "addLabels": [ "renovate/automerge", "renovate/npm" ], | ||||
|       "automerge": true, | ||||
|       "matchPackageNames": [ "markdownlint-cli", "@bitnami/readme-generator-for-helm" ], | ||||
|       "matchManagers": [ "npm" ], | ||||
|       "matchUpdateTypes": [ "minor", "patch"] | ||||
|     }, | ||||
|     { | ||||
|       "addLabels": [ "renovate/automerge", "renovate/container" ], | ||||
|       "automerge": true, | ||||
|       "excludePackagePatterns": [ | ||||
|         "prometheuscommunity/postgres-exporter" | ||||
|       ], | ||||
|       "matchDatasources": [ | ||||
|         "docker" | ||||
|       ], | ||||
|       "matchUpdateTypes": [ | ||||
|         "minor", | ||||
|         "patch" | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "addLabels": [ "renovate/automerge", "renovate/documentation" ], | ||||
|       "automerge": true, | ||||
|       "matchDepNames": [ | ||||
|         "volker.raschek/prometheus-postgres-exporter" | ||||
|       ], | ||||
|       "matchUpdateTypes": [ | ||||
|         "major", | ||||
|         "minor", | ||||
|         "patch" | ||||
|       ] | ||||
|     } | ||||
|   ], | ||||
|   "rebaseLabel": "renovate/rebase", | ||||
|   | ||||
| @@ -9,6 +9,17 @@ | ||||
| {{- end }} | ||||
| {{- end }} | ||||
|  | ||||
| {{/* env */}} | ||||
|  | ||||
| {{- define "prometheus-postgres-exporter.deployment.env" -}} | ||||
| {{- $env := dict "env" (.Values.deployment.postgresExporter.env | default (list) ) }} | ||||
| {{- if and (hasKey .Values.deployment.postgresExporter.resources "limits") (hasKey .Values.deployment.postgresExporter.resources.limits "cpu") }} | ||||
| {{- $env = merge $env (dict "env" (list (dict "name" "GOMAXPROCS" "valueFrom" (dict "resourceFieldRef" (dict "divisor" "1" "resource" "limits.cpu"))))) }} | ||||
| {{- end }} | ||||
| {{ toYaml $env }} | ||||
| {{- end -}} | ||||
|  | ||||
|  | ||||
| {{/* envFrom */}} | ||||
|  | ||||
| {{- define "prometheus-postgres-exporter.deployment.envFrom" -}} | ||||
|   | ||||
| @@ -34,9 +34,10 @@ spec: | ||||
|         {{- range .Values.deployment.postgresExporter.args }} | ||||
|         - {{ . | quote }} | ||||
|         {{- end }} | ||||
|         {{- with .Values.deployment.postgresExporter.env }} | ||||
|         {{- $env := (include "prometheus-postgres-exporter.deployment.env" . | fromYaml) }} | ||||
|         {{- if and (hasKey $env "env") (gt (len $env.env) 0) }} | ||||
|         env: | ||||
|         {{- toYaml . | nindent 8 }} | ||||
|         {{- toYaml $env.env | nindent 8 }} | ||||
|         {{- end }} | ||||
|         {{- $envFrom := (include "prometheus-postgres-exporter.deployment.envFrom" . | fromYaml) }} | ||||
|         {{- if hasKey $envFrom "envFrom" }} | ||||
|   | ||||
| @@ -227,6 +227,14 @@ tests: | ||||
|         cpu: 25m | ||||
|         memory: 100MB | ||||
|   asserts: | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].env | ||||
|       value: | ||||
|       - name: GOMAXPROCS | ||||
|         valueFrom: | ||||
|           resourceFieldRef: | ||||
|             divisor: "1" | ||||
|             resource: limits.cpu | ||||
|   - equal: | ||||
|       path: spec.template.spec.containers[0].resources | ||||
|       value: | ||||
|   | ||||
							
								
								
									
										16
									
								
								values.yaml
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								values.yaml
									
									
									
									
									
								
							| @@ -93,6 +93,22 @@ deployment: | ||||
|  | ||||
|   ## @param deployment.affinity Affinity for the postgres-exporter deployment. | ||||
|   affinity: {} | ||||
|     # nodeAffinity: | ||||
|     #   requiredDuringSchedulingIgnoredDuringExecution: | ||||
|     #     nodeSelectorTerms: | ||||
|     #     - matchExpressions: | ||||
|     #       - key: kubernetes.io/os | ||||
|     #         operator: In | ||||
|     #         values: | ||||
|     #         - linux | ||||
|     #   preferredDuringSchedulingIgnoredDuringExecution: | ||||
|     #   - weight: 20 | ||||
|     #     preference: | ||||
|     #       matchExpressions: | ||||
|     #       - key: kubernetes.io/arch | ||||
|     #         operator: In | ||||
|     #         values: | ||||
|     #         - amd64 | ||||
|  | ||||
|   ## @param deployment.initContainers List of additional init containers. | ||||
|   initContainers: [] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user