You've already forked prometheus-postgres-exporter
							
							Compare commits
	
		
			18 Commits
		
	
	
		
			0.2.3
			...
			2e155fde66
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2e155fde66 | |||
| 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 | ||||||
| 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.16.1 # renovate: datasource=docker registryUrl=https://docker.io depName=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} | 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 | ||||||
| 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?=22.9.0-alpine # renovate: datasource=docker registryUrl=https://docker.io depName=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} | 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} \ | 		${HELM_IMAGE_FULLY_QUALIFIED} \ | ||||||
| 			lint --values values.yaml . | 			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 | # PHONY | ||||||
| # ============================================================================== | # ============================================================================== | ||||||
| # 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 | ||||||
|   | |||||||
							
								
								
									
										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. | 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 | #### TLS authentication and encryption | ||||||
|  |  | ||||||
| The first example shows how to deploy the metric exporter with TLS encryption. The verification of the custom TLS | The first example shows how to deploy the metric exporter with TLS encryption. The verification of the custom TLS | ||||||
|   | |||||||
| @@ -17,32 +17,50 @@ | |||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       "description": "Detect helm chart version in README", |       "description": "Detect helm chart version in README", | ||||||
|       "fileMatch": [ |       "fileMatch": ["^README\\.md$"], | ||||||
|         "^README\\.md$" |  | ||||||
|       ], |  | ||||||
|       "matchStrings": [ |       "matchStrings": [ | ||||||
|         "^CHART_VERSION=(?<currentValue>.*)$" |         "^CHART_VERSION=(?<currentValue>.*)$" | ||||||
|       ], |       ], | ||||||
|       "datasourceTemplate": "git-tags", |       "datasourceTemplate": "git-tags", | ||||||
|       "depNameTemplate": "volker.raschek/prometheus-postgres-exporter", |       "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", | ||||||
|       "versioningTemplate": "semver" |       "versioningTemplate": "semver" | ||||||
|     } |     } | ||||||
|   ], |   ], | ||||||
|   "labels": [ "renovate" ], |   "labels": [ "renovate" ], | ||||||
|   "packageRules": [ |   "packageRules": [ | ||||||
|     { |  | ||||||
|       "addLabels": [ "renovate/automerge", "renovate/droneci" ], |  | ||||||
|       "automerge": true, |  | ||||||
|       "matchManagers": "droneci", |  | ||||||
|       "matchUpdateTypes": [ "minor", "patch"] |  | ||||||
|     }, |  | ||||||
|     { |     { | ||||||
|       "addLabels": [ "renovate/automerge", "renovate/npm" ], |       "addLabels": [ "renovate/automerge", "renovate/npm" ], | ||||||
|       "automerge": true, |       "automerge": true, | ||||||
|       "matchPackageNames": [ "markdownlint-cli", "@bitnami/readme-generator-for-helm" ], |       "matchPackageNames": [ "markdownlint-cli", "@bitnami/readme-generator-for-helm" ], | ||||||
|       "matchManagers": [ "npm" ], |       "matchManagers": [ "npm" ], | ||||||
|       "matchUpdateTypes": [ "minor", "patch"] |       "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", |   "rebaseLabel": "renovate/rebase", | ||||||
|   | |||||||
| @@ -9,6 +9,17 @@ | |||||||
| {{- end }} | {{- end }} | ||||||
| {{- 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 "resource" "limits.cpu"))))) }} | ||||||
|  | {{- end }} | ||||||
|  | {{ toYaml $env }} | ||||||
|  | {{- end -}} | ||||||
|  |  | ||||||
|  |  | ||||||
| {{/* envFrom */}} | {{/* envFrom */}} | ||||||
|  |  | ||||||
| {{- define "prometheus-postgres-exporter.deployment.envFrom" -}} | {{- define "prometheus-postgres-exporter.deployment.envFrom" -}} | ||||||
|   | |||||||
| @@ -34,9 +34,10 @@ spec: | |||||||
|         {{- range .Values.deployment.postgresExporter.args }} |         {{- range .Values.deployment.postgresExporter.args }} | ||||||
|         - {{ . | quote }} |         - {{ . | quote }} | ||||||
|         {{- end }} |         {{- 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: |         env: | ||||||
|         {{- toYaml . | nindent 8 }} |         {{- toYaml $env.env | nindent 8 }} | ||||||
|         {{- end }} |         {{- end }} | ||||||
|         {{- $envFrom := (include "prometheus-postgres-exporter.deployment.envFrom" . | fromYaml) }} |         {{- $envFrom := (include "prometheus-postgres-exporter.deployment.envFrom" . | fromYaml) }} | ||||||
|         {{- if hasKey $envFrom "envFrom" }} |         {{- if hasKey $envFrom "envFrom" }} | ||||||
|   | |||||||
| @@ -227,6 +227,13 @@ tests: | |||||||
|         cpu: 25m |         cpu: 25m | ||||||
|         memory: 100MB |         memory: 100MB | ||||||
|   asserts: |   asserts: | ||||||
|  |   - equal: | ||||||
|  |       path: spec.template.spec.containers[0].env | ||||||
|  |       value: | ||||||
|  |       - name: GOMAXPROCS | ||||||
|  |         valueFrom: | ||||||
|  |           resourceFieldRef: | ||||||
|  |             resource: limits.cpu | ||||||
|   - equal: |   - equal: | ||||||
|       path: spec.template.spec.containers[0].resources |       path: spec.template.spec.containers[0].resources | ||||||
|       value: |       value: | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								values.yaml
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								values.yaml
									
									
									
									
									
								
							| @@ -93,6 +93,22 @@ deployment: | |||||||
|  |  | ||||||
|   ## @param deployment.affinity Affinity for the postgres-exporter deployment. |   ## @param deployment.affinity Affinity for the postgres-exporter deployment. | ||||||
|   affinity: {} |   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. |   ## @param deployment.initContainers List of additional init containers. | ||||||
|   initContainers: [] |   initContainers: [] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user