You've already forked prometheus-postgres-exporter
Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
1e9aeb802d
|
|||
2e9eae9888
|
|||
0dcea5cfc4
|
|||
e38c4fbdfe
|
|||
0a4d677938
|
|||
171d9a695e
|
|||
853c65a8ef | |||
c93c4dd4eb
|
|||
4105bb9e0f
|
|||
7ea826a2a1
|
|||
aa8c279fe0
|
|||
dfd4c1f991
|
|||
d6c2e4f992
|
|||
ae7652a335
|
@ -132,7 +132,7 @@ steps:
|
|||||||
- npm install
|
- npm install
|
||||||
- npm run readme:parameters
|
- npm run readme:parameters
|
||||||
- npm run readme:lint
|
- npm run readme:lint
|
||||||
image: docker.io/library/node:22.11.0-alpine
|
image: docker.io/library/node:23.3.0-alpine
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 150
|
cpu: 150
|
||||||
|
21
.helmignore
21
.helmignore
@ -26,7 +26,7 @@
|
|||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
# drone
|
# drone
|
||||||
.drone.ya?ml
|
.drone.yml
|
||||||
|
|
||||||
# editorconfig
|
# editorconfig
|
||||||
.editorconfig
|
.editorconfig
|
||||||
@ -37,13 +37,24 @@ values2.yaml
|
|||||||
|
|
||||||
# helm packages
|
# helm packages
|
||||||
*.tgz
|
*.tgz
|
||||||
|
.helmignore
|
||||||
|
unittests
|
||||||
|
|
||||||
# markdownlint
|
# markdownlint
|
||||||
.markdownlint.yml
|
.markdownlint.yml
|
||||||
.markdownlint.yaml
|
.markdownlint.yaml
|
||||||
|
.markdownlintignore
|
||||||
|
|
||||||
# maven
|
# npm
|
||||||
target
|
.prettierignore
|
||||||
|
.npmrc
|
||||||
|
package*
|
||||||
|
|
||||||
# serviceDescriptor (uctl-cluster)
|
# yamllint
|
||||||
serviceDescriptor.yaml
|
.yamllint.yaml
|
||||||
|
|
||||||
|
# Others
|
||||||
|
CONTRIBUTING.md
|
||||||
|
CODEOWNERS
|
||||||
|
Makefile
|
||||||
|
renovate.json
|
||||||
|
@ -1 +1,82 @@
|
|||||||
# Contribution Guidelines
|
# Contributing
|
||||||
|
|
||||||
|
I am very happy if you would like to provide a pull request 👍
|
||||||
|
|
||||||
|
The content of this file describes which requirements contributors should fulfill before submitting a pull request (PR).
|
||||||
|
|
||||||
|
1. [Valid Git commits](#valid-git-commits)
|
||||||
|
|
||||||
|
## Valid Git commits
|
||||||
|
|
||||||
|
### Commit message
|
||||||
|
|
||||||
|
The repository is subject to a strict commit message template. This states that there are several types of commits. For
|
||||||
|
example, `fix`, `chore`, `refac`, `test` or `doc`. All types are described in more detail below.
|
||||||
|
|
||||||
|
| type | description |
|
||||||
|
| ------------------- | ----------------------------------------------------------------- |
|
||||||
|
| `feat` | New feature. |
|
||||||
|
| `fix` | Fixes a bug. |
|
||||||
|
| `refac` | Refactoring production code. |
|
||||||
|
| `style` | Fixes formatting issues. No production code change. |
|
||||||
|
| `docs` | Adapt documentation. No production code change. |
|
||||||
|
| `test` | Adds new or modifies existing tests. No production code change. |
|
||||||
|
| `chore` | Updating grunt tasks. Is everything which the user does not see. |
|
||||||
|
|
||||||
|
Based on these types, commit messaged can then be created. Here are a few examples:
|
||||||
|
|
||||||
|
```text
|
||||||
|
style(README): Wrong indentation
|
||||||
|
feat(deployment): support restartPolicy
|
||||||
|
fix(my-app): Add missing volume
|
||||||
|
docs(CONTRIBUTING): Describe how to commit correctly
|
||||||
|
```
|
||||||
|
|
||||||
|
This type of commit message makes it easier for me as maintainer to keep an overview and does not cause the commits of a
|
||||||
|
pull request PR to be combined into one commit (squashing).
|
||||||
|
|
||||||
|
### Smart commits
|
||||||
|
|
||||||
|
Smart commits are excellent when it comes to tracking bugs or issues. In this repository, however, the rebasing of
|
||||||
|
commits is prohibited, which means that only merge commits are possible. This means that a smart commit message only
|
||||||
|
needs to be added to the merge commit.
|
||||||
|
|
||||||
|
This has the advantage that the maintainer can use the smart commit to find the merge commit and undo the entire history
|
||||||
|
of a merge without having to select individual commits. The following history illustrates the correct use of smart commits.
|
||||||
|
|
||||||
|
```text
|
||||||
|
* 823edbc7 Volker Raschek (G) | [Close #2] feat(deployment): support additional containers
|
||||||
|
|\
|
||||||
|
| * 321aebc3 Volker Raschek (G) | doc(README): generate README with new deployment attributes
|
||||||
|
| * 8d101dd3 Volker Raschek (G) | test(deployment): Extend unittest of additional containers
|
||||||
|
| * 6f2abd93 Volker Raschek (G) | fix(deployment): Extend deployment of additional containers
|
||||||
|
|/
|
||||||
|
* aa5ebda bob (N) | [Close #1] feat(deployment): support initContainers
|
||||||
|
```
|
||||||
|
|
||||||
|
### Commit signing
|
||||||
|
|
||||||
|
Another problem with Git is the chain of trust. Git allows the configuration of any name and e-mail address. An attacker
|
||||||
|
can impersonate any person and submit pull requests under a false identity. For as Linux Torvalds, the maintainer of the
|
||||||
|
Linux kernel.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git config --global user.name 'Linux Torvalds'
|
||||||
|
git config --global user.email 'torvalds@linux-foundation.org'
|
||||||
|
```
|
||||||
|
|
||||||
|
To avoid this, some Git repositories expect signed commits. In particular, repositories that are subject to direct
|
||||||
|
delivery to customers. For this reason, the repository is subject to a branch protection rule that only allows signed
|
||||||
|
commits. *Until* there is *no verified* and *no signed* commit, the pull request is blocked.
|
||||||
|
|
||||||
|
The following articles describes how Git can be configured to sign commits. Please keep in mind, that the e-mail
|
||||||
|
address, which is used as UID of the GPG keyring must also be defined in the profile settings of your GitHub account.
|
||||||
|
Otherwise will be marked the Git commit as *Unverified*.
|
||||||
|
|
||||||
|
1. [Signing Commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits)
|
||||||
|
2. [Tell Git about your signing key](https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)
|
||||||
|
|
||||||
|
Inspect your Git commit via `git log`. There should be mentioned, that your commit is signed.
|
||||||
|
|
||||||
|
Furthermore, the GPG key is unique. **Don't loose your private GPG key**. Backup your private key on a safe device. For
|
||||||
|
example an external USB drive.
|
||||||
|
19
Makefile
19
Makefile
@ -19,12 +19,6 @@ 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}
|
||||||
|
|
||||||
# CHART_SERVER
|
|
||||||
CHART_SERVER_HOST?=charts.u.orbis-healthcare.com
|
|
||||||
CHART_SERVER_NAMESPACE?=orbis-u
|
|
||||||
CHART_SERVER_REPOSITORY?=qu-seed
|
|
||||||
CHART_VERSION?=0.1.0
|
|
||||||
|
|
||||||
# MISSING DOT
|
# MISSING DOT
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
missing-dot:
|
missing-dot:
|
||||||
@ -67,19 +61,6 @@ container-run/helm-update-dependencies:
|
|||||||
${HELM_IMAGE_FULLY_QUALIFIED} \
|
${HELM_IMAGE_FULLY_QUALIFIED} \
|
||||||
dependency update
|
dependency update
|
||||||
|
|
||||||
# CONTAINER RUN - DEPLOY2CHART-REPO
|
|
||||||
# ==============================================================================
|
|
||||||
container-run/deploy2chart-repo:
|
|
||||||
${CONTAINER_RUNTIME} run \
|
|
||||||
--env HELM_REPO_PASSWORD=${CHART_SERVER_PASSWORD} \
|
|
||||||
--env HELM_REPO_USERNAME=${CHART_SERVER_USERNAME} \
|
|
||||||
--entrypoint /bin/bash \
|
|
||||||
--rm \
|
|
||||||
--volume $(shell pwd):$(shell pwd) \
|
|
||||||
--workdir $(shell pwd) \
|
|
||||||
${HELM_IMAGE_FULLY_QUALIFIED} \
|
|
||||||
-c "helm repo add ${CHART_SERVER_NAMESPACE} http://${CHART_SERVER_HOST}/${CHART_SERVER_NAMESPACE} && helm package --version ${CHART_VERSION} . && helm cm-push ./${CHART_SERVER_REPOSITORY}-${CHART_VERSION}.tgz ${CHART_SERVER_NAMESPACE}"
|
|
||||||
|
|
||||||
# CONTAINER RUN - MARKDOWN-LINT
|
# CONTAINER RUN - MARKDOWN-LINT
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
PHONY+=container-run/helm-lint
|
PHONY+=container-run/helm-lint
|
||||||
|
81
README.md
81
README.md
@ -1,21 +1,22 @@
|
|||||||
# Prometheus PostgreSQL exporter
|
# Prometheus PostgreSQL exporter
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/prometheus-postgres-exporter)
|
[](https://drone.cryptic.systems/volker.raschek/prometheus-postgres-exporter)
|
||||||
|
[](https://artifacthub.io/packages/search?repo=prometheus-exporters)
|
||||||
This helm chart enables the deployment of a Prometheus metrics exporter for PostgreSQL databases and allows the
|
|
||||||
individual configuration of additional containers/initContainers, mounting of volumes, defining additional environment
|
|
||||||
variables, apply a user-defined web-config.yaml and much more.
|
|
||||||
|
|
||||||
Chapter [configuration and installation](#helm-configuration-and-installation) describes the basics how to configure helm
|
|
||||||
and use it to deploy the exporter. It also contains further configuration examples.
|
|
||||||
|
|
||||||
Furthermore, this helm chart unit tests to detect regressions and stabilize the deployment. Additionally, this helm
|
|
||||||
chart is tested for deployment scenarios with ArgoCD.
|
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> This is not the official *community* helm chart of the Prometheus metric exporter for PostgreSQL databases. You can
|
> This is not the official *community* helm chart of the Prometheus metric exporter for PostgreSQL databases. You can
|
||||||
> find the official community chart [here](https://github.com/prometheus-community/helm-charts).
|
> find the official community chart [here](https://github.com/prometheus-community/helm-charts).
|
||||||
|
|
||||||
|
This helm chart enables the deployment of a Prometheus metrics exporter for PostgreSQL databases and allows the
|
||||||
|
individual configuration of additional containers/initContainers, mounting of volumes, defining additional environment
|
||||||
|
variables, apply a user-defined `webConfig.yaml` and much more.
|
||||||
|
|
||||||
|
Chapter [configuration and installation](#helm-configuration-and-installation) describes the basics how to configure helm
|
||||||
|
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**.
|
||||||
|
|
||||||
## Helm: configuration and installation
|
## Helm: configuration and installation
|
||||||
|
|
||||||
1. A helm chart repository must be configured, to pull the helm charts from.
|
1. A helm chart repository must be configured, to pull the helm charts from.
|
||||||
@ -31,7 +32,7 @@ chart is tested for deployment scenarios with 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
|
||||||
helm install prometheus-exporters/prometheus-postgres-exporter prometheus-postgres-exporter \
|
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
|
||||||
--set 'config.database.secret.databaseUsername=postgres' \
|
--set 'config.database.secret.databaseUsername=postgres' \
|
||||||
--set 'config.database.secret.databasePassword=postgres' \
|
--set 'config.database.secret.databasePassword=postgres' \
|
||||||
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
|
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
|
||||||
@ -71,7 +72,7 @@ certification will be skipped by Prometheus.
|
|||||||
> `tls.key` and `tls.crt` of the secret can be mounted into the container filesystem for TLS authentication / encryption.
|
> `tls.key` and `tls.crt` of the secret can be mounted into the container filesystem for TLS authentication / encryption.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
helm install prometheus-exporters/prometheus-postgres-exporter prometheus-postgres-exporter \
|
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
|
||||||
--set 'config.database.secret.databaseUsername=postgres' \
|
--set 'config.database.secret.databaseUsername=postgres' \
|
||||||
--set 'config.database.secret.databasePassword=postgres' \
|
--set 'config.database.secret.databasePassword=postgres' \
|
||||||
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
|
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
|
||||||
@ -94,7 +95,7 @@ certificate for the metrics exporter - TLS certificate verification can be enabl
|
|||||||
replaced:
|
replaced:
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
helm install prometheus-exporters/prometheus-postgres-exporter prometheus-postgres-exporter \
|
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
|
||||||
--set 'config.database.secret.databaseUsername=postgres' \
|
--set 'config.database.secret.databaseUsername=postgres' \
|
||||||
--set 'config.database.secret.databasePassword=postgres' \
|
--set 'config.database.secret.databasePassword=postgres' \
|
||||||
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
|
--set 'config.database.secret.databaseConnectionUrl="postgres.example.local:5432/postgres?ssl=disable"' \
|
||||||
@ -126,25 +127,25 @@ replaced:
|
|||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
|
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
|
||||||
| `config.database.existingSecret.enabled` | Mount an existing secret containing the application specific `DATA_SOURCE_` prefixed environment variables. | `false` |
|
| `config.database.existingSecret.enabled` | Mount an existing secret containing the application specific `DATA_SOURCE_` prefixed environment variables. | `false` |
|
||||||
| `config.database.existingSecret.secretName` | Name of the existing secret containing the application specific `DATA_SOURCE_` prefixed environment variables. | `""` |
|
| `config.database.existingSecret.secretName` | Name of the existing secret containing the application specific `DATA_SOURCE_` prefixed environment variables. | `""` |
|
||||||
| `config.database.secret.annotations` | Additional annotations of the secret containing the database credentials. | `{}` |
|
| `config.database.secret.annotations` | Additional annotations of the secret containing the database credentials. | `{}` |
|
||||||
| `config.database.secret.labels` | Additional labels of the secret containing the database credentials. | `{}` |
|
| `config.database.secret.labels` | Additional labels of the secret containing the database credentials. | `{}` |
|
||||||
| `config.database.secret.databaseUsername` | Database username. Will be defined as env `DATA_SOURCE_USER` as part of a secret. | `""` |
|
| `config.database.secret.databaseUsername` | Database username. Will be defined as env `DATA_SOURCE_USER` as part of a secret. | `""` |
|
||||||
| `config.database.secret.databasePassword` | Database password. Will be defined as env `DATA_SOURCE_PASS` as part of a secret. | `""` |
|
| `config.database.secret.databasePassword` | Database password. Will be defined as env `DATA_SOURCE_PASS` as part of a secret. | `""` |
|
||||||
| `config.database.secret.databaseConnectionUrl` | Complex database connection URL. Will be defined as env `DATA_SOURCE_URI` as part of a secret. | `""` |
|
| `config.database.secret.databaseConnectionUrl` | Complex database connection URL. Will be defined as env `DATA_SOURCE_URI` as part of a secret. | `""` |
|
||||||
| `config.exporterConfig.existingSecret.enabled` | Mount an existing secret containing the key `exporterConfig.yaml`. | `false` |
|
| `config.exporterConfig.existingSecret.enabled` | Mount an existing secret containing the key `exporterConfig.yaml`. | `false` |
|
||||||
| `config.exporterConfig.existingSecret.secretName` | Name of the existing secret containing the key `exporterConfig.yaml`. | `""` |
|
| `config.exporterConfig.existingSecret.secretName` | Name of the existing secret containing the key `exporterConfig.yaml`. | `""` |
|
||||||
| `config.exporterConfig.secret.annotations` | Additional annotations of the secret containing the `exporterConfig.yaml`. | `{}` |
|
| `config.exporterConfig.secret.annotations` | Additional annotations of the secret containing the `exporterConfig.yaml`. | `{}` |
|
||||||
| `config.exporterConfig.secret.labels` | Additional labels of the secret containing the `exporterConfig.yaml`. | `{}` |
|
| `config.exporterConfig.secret.labels` | Additional labels of the secret containing the `exporterConfig.yaml`. | `{}` |
|
||||||
| `config.exporterConfig.secret.exporterConfig` | Content of the `exporterConfig.yaml`. Further information can be found [here](https://prometheus.io/docs/prometheus/latest/configuration/https/). | `{}` |
|
| `config.exporterConfig.secret.exporterConfig` | Content of the `exporterConfig.yaml`. Further information can be found [here](https://github.com/prometheus-community/postgres_exporter?tab=readme-ov-file#multi-target-support-beta). | `{}` |
|
||||||
| `config.webConfig.existingSecret.enabled` | Mount an existing secret containing the key `webConfig.yaml`. | `false` |
|
| `config.webConfig.existingSecret.enabled` | Mount an existing secret containing the key `webConfig.yaml`. | `false` |
|
||||||
| `config.webConfig.existingSecret.secretName` | Name of the existing secret containing the key `webConfig.yaml`. | `""` |
|
| `config.webConfig.existingSecret.secretName` | Name of the existing secret containing the key `webConfig.yaml`. | `""` |
|
||||||
| `config.webConfig.secret.annotations` | Additional annotations of the secret containing the `webConfig.yaml`. | `{}` |
|
| `config.webConfig.secret.annotations` | Additional annotations of the secret containing the `webConfig.yaml`. | `{}` |
|
||||||
| `config.webConfig.secret.labels` | Additional labels of the secret containing the `webConfig.yaml`. | `{}` |
|
| `config.webConfig.secret.labels` | Additional labels of the secret containing the `webConfig.yaml`. | `{}` |
|
||||||
| `config.webConfig.secret.webConfig` | Content of the `webConfig.yaml`. Further information can be found [here](https://prometheus.io/docs/prometheus/latest/configuration/https/). | `{}` |
|
| `config.webConfig.secret.webConfig` | Content of the `webConfig.yaml`. Further information can be found [here](https://prometheus.io/docs/prometheus/latest/configuration/https/). | `{}` |
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
|
|
||||||
@ -186,10 +187,13 @@ replaced:
|
|||||||
|
|
||||||
### Grafana
|
### Grafana
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ------------------------------------ | --------------------------------------------------------- | ------- |
|
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------- |
|
||||||
| `grafana.enabled` | Enable integration into Grafana. | `false` |
|
| `grafana.enabled` | Enable integration into Grafana. Require the Prometheus operator deployment. | `false` |
|
||||||
| `grafana.dashboards.businessMetrics` | Enable deployment of Grafana dashboard `businessMetrics`. | `true` |
|
| `grafana.dashboardDiscoveryLabels` | Labels that Grafana uses to discover resources. The labels may vary depending on the Grafana deployment. | `undefined` |
|
||||||
|
| `grafana.dashboards.postgresExporter.enabled` | Enable deployment of Grafana dashboard `postgresExporter`. | `true` |
|
||||||
|
| `grafana.dashboards.postgresExporter.annotations` | Additional configmap annotations. | `{}` |
|
||||||
|
| `grafana.dashboards.postgresExporter.labels` | Additional configmap labels. | `{}` |
|
||||||
|
|
||||||
### Ingress
|
### Ingress
|
||||||
|
|
||||||
@ -221,7 +225,7 @@ replaced:
|
|||||||
| `prometheus.metrics.enabled` | Enable of scraping metrics by Prometheus. | `true` |
|
| `prometheus.metrics.enabled` | Enable of scraping metrics by Prometheus. | `true` |
|
||||||
| `prometheus.metrics.podMonitor.enabled` | Enable creation of a podMonitor. Excludes the existence of a serviceMonitor resource. | `false` |
|
| `prometheus.metrics.podMonitor.enabled` | Enable creation of a podMonitor. Excludes the existence of a serviceMonitor resource. | `false` |
|
||||||
| `prometheus.metrics.podMonitor.annotations` | Additional podMonitor annotations. | `{}` |
|
| `prometheus.metrics.podMonitor.annotations` | Additional podMonitor annotations. | `{}` |
|
||||||
| `prometheus.metrics.podMonitor.enableHttp2` | Enable HTTP2. | `false` |
|
| `prometheus.metrics.podMonitor.enableHttp2` | Enable HTTP2. | `true` |
|
||||||
| `prometheus.metrics.podMonitor.followRedirects` | FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. | `false` |
|
| `prometheus.metrics.podMonitor.followRedirects` | FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. | `false` |
|
||||||
| `prometheus.metrics.podMonitor.honorLabels` | Honor labels. | `false` |
|
| `prometheus.metrics.podMonitor.honorLabels` | Honor labels. | `false` |
|
||||||
| `prometheus.metrics.podMonitor.labels` | Additional podMonitor labels. | `{}` |
|
| `prometheus.metrics.podMonitor.labels` | Additional podMonitor labels. | `{}` |
|
||||||
@ -234,12 +238,11 @@ replaced:
|
|||||||
| `prometheus.metrics.serviceMonitor.enabled` | Enable creation of a serviceMonitor. Excludes the existence of a podMonitor resource. | `false` |
|
| `prometheus.metrics.serviceMonitor.enabled` | Enable creation of a serviceMonitor. Excludes the existence of a podMonitor resource. | `false` |
|
||||||
| `prometheus.metrics.serviceMonitor.annotations` | Additional serviceMonitor annotations. | `{}` |
|
| `prometheus.metrics.serviceMonitor.annotations` | Additional serviceMonitor annotations. | `{}` |
|
||||||
| `prometheus.metrics.serviceMonitor.labels` | Additional serviceMonitor labels. | `{}` |
|
| `prometheus.metrics.serviceMonitor.labels` | Additional serviceMonitor labels. | `{}` |
|
||||||
| `prometheus.metrics.serviceMonitor.enableHttp2` | Enable HTTP2. | `false` |
|
| `prometheus.metrics.serviceMonitor.enableHttp2` | Enable HTTP2. | `true` |
|
||||||
| `prometheus.metrics.serviceMonitor.followRedirects` | FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. | `false` |
|
| `prometheus.metrics.serviceMonitor.followRedirects` | FollowRedirects configures whether scrape requests follow HTTP 3xx redirects. | `false` |
|
||||||
| `prometheus.metrics.serviceMonitor.honorLabels` | Honor labels. | `false` |
|
| `prometheus.metrics.serviceMonitor.honorLabels` | Honor labels. | `false` |
|
||||||
| `prometheus.metrics.serviceMonitor.interval` | Interval at which metrics should be scraped. If not specified Prometheus' global scrape interval is used. | `60s` |
|
| `prometheus.metrics.serviceMonitor.interval` | Interval at which metrics should be scraped. If not specified Prometheus' global scrape interval is used. | `60s` |
|
||||||
| `prometheus.metrics.serviceMonitor.path` | HTTP path for scraping Prometheus metrics. | `/metrics` |
|
| `prometheus.metrics.serviceMonitor.path` | HTTP path for scraping Prometheus metrics. | `/metrics` |
|
||||||
| `prometheus.metrics.serviceMonitor.port` | HTTP port for scraping Prometheus metrics. | `9187` |
|
|
||||||
| `prometheus.metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. | `[]` |
|
| `prometheus.metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. | `[]` |
|
||||||
| `prometheus.metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended. If not specified, global Prometheus scrape timeout is used. | `30s` |
|
| `prometheus.metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended. If not specified, global Prometheus scrape timeout is used. | `30s` |
|
||||||
| `prometheus.metrics.serviceMonitor.scheme` | HTTP scheme to use for scraping. For example `http` or `https`. | `http` |
|
| `prometheus.metrics.serviceMonitor.scheme` | HTTP scheme to use for scraping. For example `http` or `https`. | `http` |
|
||||||
|
149
package-lock.json
generated
149
package-lock.json
generated
@ -8,7 +8,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@bitnami/readme-generator-for-helm": "^2.5.0",
|
"@bitnami/readme-generator-for-helm": "^2.5.0",
|
||||||
"markdownlint-cli": "^0.41.0"
|
"markdownlint-cli": "^0.43.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16.0.0",
|
"node": ">=16.0.0",
|
||||||
@ -48,16 +48,6 @@
|
|||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@pkgjs/parseargs": {
|
|
||||||
"version": "0.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
|
||||||
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ansi-regex": {
|
"node_modules/ansi-regex": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
||||||
@ -228,18 +218,6 @@
|
|||||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/get-stdin": {
|
|
||||||
"version": "9.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
|
|
||||||
"integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/glob": {
|
"node_modules/glob": {
|
||||||
"version": "7.2.3",
|
"version": "7.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||||
@ -261,10 +239,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ignore": {
|
"node_modules/ignore": {
|
||||||
"version": "5.3.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz",
|
||||||
"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
|
"integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 4"
|
"node": ">= 4"
|
||||||
}
|
}
|
||||||
@ -310,22 +289,19 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/jackspeak": {
|
"node_modules/jackspeak": {
|
||||||
"version": "3.1.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz",
|
||||||
"integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==",
|
"integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BlueOak-1.0.0",
|
"license": "BlueOak-1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@isaacs/cliui": "^8.0.2"
|
"@isaacs/cliui": "^8.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": "20 || >=22"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"@pkgjs/parseargs": "^0.11.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
@ -341,10 +317,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jsonc-parser": {
|
"node_modules/jsonc-parser": {
|
||||||
"version": "3.2.1",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
|
||||||
"integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
|
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/jsonpointer": {
|
"node_modules/jsonpointer": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
@ -371,12 +348,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/lru-cache": {
|
"node_modules/lru-cache": {
|
||||||
"version": "10.2.2",
|
"version": "11.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
|
||||||
"integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
|
"integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "14 || >=16.14"
|
"node": "20 || >=22"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/markdown-it": {
|
"node_modules/markdown-it": {
|
||||||
@ -410,13 +388,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/markdownlint": {
|
"node_modules/markdownlint": {
|
||||||
"version": "0.34.0",
|
"version": "0.36.1",
|
||||||
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.34.0.tgz",
|
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.36.1.tgz",
|
||||||
"integrity": "sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw==",
|
"integrity": "sha512-s73fU2CQN7WCgjhaQUQ8wYESQNzGRNOKDd+3xgVqu8kuTEhmwepd/mxOv1LR2oV046ONrTLBFsM7IoKWNvmy5g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"markdown-it": "14.1.0",
|
"markdown-it": "14.1.0",
|
||||||
"markdownlint-micromark": "0.1.9"
|
"markdownlint-micromark": "0.1.12"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
@ -426,23 +405,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/markdownlint-cli": {
|
"node_modules/markdownlint-cli": {
|
||||||
"version": "0.41.0",
|
"version": "0.43.0",
|
||||||
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.41.0.tgz",
|
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.43.0.tgz",
|
||||||
"integrity": "sha512-kp29tKrMKdn+xonfefjp3a/MsNzAd9c5ke0ydMEI9PR98bOjzglYN4nfMSaIs69msUf1DNkgevAIAPtK2SeX0Q==",
|
"integrity": "sha512-6vwurKK4B21eyYzwgX6ph13cZS7hE6LZfcS8QyD722CyxVD2RtAvbZK2p7k+FZbbKORulEuwl+hJaEq1l6/hoQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": "~12.1.0",
|
"commander": "~12.1.0",
|
||||||
"get-stdin": "~9.0.0",
|
"glob": "~11.0.0",
|
||||||
"glob": "~10.4.1",
|
"ignore": "~6.0.2",
|
||||||
"ignore": "~5.3.1",
|
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
"jsonc-parser": "~3.2.1",
|
"jsonc-parser": "~3.3.1",
|
||||||
"jsonpointer": "5.0.1",
|
"jsonpointer": "5.0.1",
|
||||||
"markdownlint": "~0.34.0",
|
"markdownlint": "~0.36.1",
|
||||||
"minimatch": "~9.0.4",
|
"minimatch": "~10.0.1",
|
||||||
"run-con": "~1.3.2",
|
"run-con": "~1.3.2",
|
||||||
"smol-toml": "~1.2.0"
|
"smol-toml": "~1.3.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"markdownlint": "markdownlint.js"
|
"markdownlint": "markdownlint.js"
|
||||||
@ -472,49 +450,51 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/markdownlint-cli/node_modules/glob": {
|
"node_modules/markdownlint-cli/node_modules/glob": {
|
||||||
"version": "10.4.1",
|
"version": "11.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz",
|
||||||
"integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
|
"integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"foreground-child": "^3.1.0",
|
"foreground-child": "^3.1.0",
|
||||||
"jackspeak": "^3.1.2",
|
"jackspeak": "^4.0.1",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^10.0.0",
|
||||||
"minipass": "^7.1.2",
|
"minipass": "^7.1.2",
|
||||||
"path-scurry": "^1.11.1"
|
"package-json-from-dist": "^1.0.0",
|
||||||
|
"path-scurry": "^2.0.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"glob": "dist/esm/bin.mjs"
|
"glob": "dist/esm/bin.mjs"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16 || 14 >=14.18"
|
"node": "20 || >=22"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/markdownlint-cli/node_modules/minimatch": {
|
"node_modules/markdownlint-cli/node_modules/minimatch": {
|
||||||
"version": "9.0.4",
|
"version": "10.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
|
||||||
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
|
"integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^2.0.1"
|
"brace-expansion": "^2.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16 || 14 >=14.17"
|
"node": "20 || >=22"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/markdownlint-micromark": {
|
"node_modules/markdownlint-micromark": {
|
||||||
"version": "0.1.9",
|
"version": "0.1.12",
|
||||||
"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.12.tgz",
|
||||||
"integrity": "sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA==",
|
"integrity": "sha512-RlB6EwMGgc0sxcIhOQ2+aq7Zw1V2fBnzbXKGgYK/mVWdT7cz34fteKSwfYeo4rL6+L/q2tyC9QtD/PgZbkdyJQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
},
|
},
|
||||||
@ -568,6 +548,13 @@
|
|||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/package-json-from-dist": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0"
|
||||||
|
},
|
||||||
"node_modules/path-is-absolute": {
|
"node_modules/path-is-absolute": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
@ -587,17 +574,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/path-scurry": {
|
"node_modules/path-scurry": {
|
||||||
"version": "1.11.1",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
|
||||||
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
"integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BlueOak-1.0.0",
|
"license": "BlueOak-1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lru-cache": "^10.2.0",
|
"lru-cache": "^11.0.0",
|
||||||
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
|
"minipass": "^7.1.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16 || 14 >=14.18"
|
"node": "20 || >=22"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
@ -670,14 +657,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/smol-toml": {
|
"node_modules/smol-toml": {
|
||||||
"version": "1.2.0",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.1.tgz",
|
||||||
"integrity": "sha512-KObxdQANC/xje3OoatMbSwQf2XAvJ0RbK+4nmQRszFNZptbNRnMWqbLF/zb4sMi9xJ6HNyhWXeuZ9zC/I/XY7w==",
|
"integrity": "sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 18",
|
"node": ">= 18"
|
||||||
"pnpm": ">= 9"
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/cyyynthia"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/string-width": {
|
"node_modules/string-width": {
|
||||||
|
@ -14,6 +14,6 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@bitnami/readme-generator-for-helm": "^2.5.0",
|
"@bitnami/readme-generator-for-helm": "^2.5.0",
|
||||||
"markdownlint-cli": "^0.41.0"
|
"markdownlint-cli": "^0.43.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
templates/prometheus-postgres-exporter/_configMap.tpl
Normal file
20
templates/prometheus-postgres-exporter/_configMap.tpl
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
|
||||||
|
{{/* annotations */}}
|
||||||
|
|
||||||
|
{{- define "prometheus-postgres-exporter.configMap.grafanaDashboards.postgresExporter.annotations" -}}
|
||||||
|
{{ include "prometheus-postgres-exporter.annotations" . }}
|
||||||
|
{{- if .Values.grafana.dashboards.postgresExporter.annotations }}
|
||||||
|
{{ toYaml .Values.grafana.dashboards.postgresExporter.annotations }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/* labels */}}
|
||||||
|
|
||||||
|
{{- define "prometheus-postgres-exporter.configMap.grafanaDashboards.postgresExporter.labels" -}}
|
||||||
|
{{ include "prometheus-postgres-exporter.labels" . }}
|
||||||
|
{{- if .Values.grafana.dashboards.postgresExporter.labels }}
|
||||||
|
{{ toYaml .Values.grafana.dashboards.postgresExporter.labels }}
|
||||||
|
{{- end }}
|
||||||
|
{{ toYaml .Values.grafana.dashboardDiscoveryLabels }}
|
||||||
|
{{- end }}
|
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
{{- with .Values.prometheus.rules }}
|
{{- with .Values.prometheus.rules }}
|
||||||
groups:
|
groups:
|
||||||
- name: {{ template "prometheus-postgres-exporter.name" $ }}
|
- name: {{ template "prometheus-postgres-exporter.fullname" $ }}
|
||||||
rules:
|
rules:
|
||||||
{{ toYaml . | nindent 4 }}
|
{{ toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
79
unittests/configMaps/grafanaDashboardPostgresExporter.yaml
Normal file
79
unittests/configMaps/grafanaDashboardPostgresExporter.yaml
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
chart:
|
||||||
|
appVersion: 0.1.0
|
||||||
|
version: 0.1.0
|
||||||
|
suite: ConfigMap template (Grafana Dashboard PostgresExporter)
|
||||||
|
release:
|
||||||
|
name: prometheus-postgres-exporter-unittest
|
||||||
|
namespace: testing
|
||||||
|
templates:
|
||||||
|
- templates/prometheus-postgres-exporter/configMapGrafanaDashboardPostgresExporter.yaml
|
||||||
|
tests:
|
||||||
|
- it: Rendering postgresExporter
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 0
|
||||||
|
|
||||||
|
- it: Rendering
|
||||||
|
set:
|
||||||
|
grafana.enabled: true
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- containsDocument:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
name: prometheus-postgres-exporter-unittest-grafana-dashboard-postgres-exporter
|
||||||
|
namespace: testing
|
||||||
|
- notExists:
|
||||||
|
path: metadata.annotations
|
||||||
|
- equal:
|
||||||
|
path: metadata.labels
|
||||||
|
value:
|
||||||
|
app.kubernetes.io/instance: prometheus-postgres-exporter-unittest
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: prometheus-postgres-exporter
|
||||||
|
app.kubernetes.io/version: 0.1.0
|
||||||
|
grafana_dashboard: "1"
|
||||||
|
helm.sh/chart: prometheus-postgres-exporter-0.1.0
|
||||||
|
- exists:
|
||||||
|
path: data["postgresExporter.yaml"]
|
||||||
|
|
||||||
|
- it: Test custom annotations and labels
|
||||||
|
set:
|
||||||
|
grafana.enabled: true
|
||||||
|
grafana.dashboards.postgresExporter.annotations:
|
||||||
|
foo: bar
|
||||||
|
grafana.dashboards.postgresExporter.labels:
|
||||||
|
bar: foo
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: metadata.annotations
|
||||||
|
value:
|
||||||
|
foo: bar
|
||||||
|
- equal:
|
||||||
|
path: metadata.labels
|
||||||
|
value:
|
||||||
|
app.kubernetes.io/instance: prometheus-postgres-exporter-unittest
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: prometheus-postgres-exporter
|
||||||
|
app.kubernetes.io/version: 0.1.0
|
||||||
|
grafana_dashboard: "1"
|
||||||
|
helm.sh/chart: prometheus-postgres-exporter-0.1.0
|
||||||
|
bar: foo
|
||||||
|
|
||||||
|
- it: Test custom grafana discovery labels
|
||||||
|
set:
|
||||||
|
grafana.enabled: true
|
||||||
|
grafana.dashboardDiscoveryLabels:
|
||||||
|
grafana_dashboard: null
|
||||||
|
my-custom-discovery-label: my-value
|
||||||
|
asserts:
|
||||||
|
- equal:
|
||||||
|
path: metadata.labels
|
||||||
|
value:
|
||||||
|
app.kubernetes.io/instance: prometheus-postgres-exporter-unittest
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: prometheus-postgres-exporter
|
||||||
|
app.kubernetes.io/version: 0.1.0
|
||||||
|
my-custom-discovery-label: my-value
|
||||||
|
helm.sh/chart: prometheus-postgres-exporter-0.1.0
|
700
values.schema.json
Normal file
700
values.schema.json
Normal file
@ -0,0 +1,700 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"nameOverride": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"fullnameOverride": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"database": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"existingSecret": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"secretName": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"secretName"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"databaseUsername": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"databasePassword": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"databaseConnectionUrl": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"databaseUsername",
|
||||||
|
"databasePassword",
|
||||||
|
"databaseConnectionUrl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"existingSecret",
|
||||||
|
"secret"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"exporterConfig": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"existingSecret": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"secretName": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"secretName"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"exporterConfig": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"exporterConfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"existingSecret",
|
||||||
|
"secret"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"webConfig": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"existingSecret": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"secretName": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"secretName"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"webConfig": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"webConfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"existingSecret",
|
||||||
|
"secret"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"database",
|
||||||
|
"exporterConfig",
|
||||||
|
"webConfig"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"deployment": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"additionalContainers": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"affinity": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"initContainers": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"dnsConfig": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"dnsPolicy": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"hostname": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"subdomain": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"hostNetwork": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"imagePullSecrets": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"postgresExporter": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"args": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"env": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"envFrom": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"image": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"registry": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tag": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"pullPolicy": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"registry",
|
||||||
|
"repository",
|
||||||
|
"tag",
|
||||||
|
"pullPolicy"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"resources": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"securityContext": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"volumeMounts": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"args",
|
||||||
|
"env",
|
||||||
|
"envFrom",
|
||||||
|
"image",
|
||||||
|
"resources",
|
||||||
|
"securityContext",
|
||||||
|
"volumeMounts"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"nodeSelector": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"priorityClassName": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"replicaCount": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"restartPolicy": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"securityContext": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"strategy": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"type": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"rollingUpdate": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"maxSurge": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"maxUnavailable": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"maxSurge",
|
||||||
|
"maxUnavailable"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"type",
|
||||||
|
"rollingUpdate"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"terminationGracePeriodSeconds": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"tolerations": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"topologySpreadConstraints": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"volumes": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"additionalContainers",
|
||||||
|
"affinity",
|
||||||
|
"initContainers",
|
||||||
|
"dnsConfig",
|
||||||
|
"dnsPolicy",
|
||||||
|
"hostname",
|
||||||
|
"subdomain",
|
||||||
|
"hostNetwork",
|
||||||
|
"imagePullSecrets",
|
||||||
|
"postgresExporter",
|
||||||
|
"nodeSelector",
|
||||||
|
"priorityClassName",
|
||||||
|
"replicaCount",
|
||||||
|
"restartPolicy",
|
||||||
|
"securityContext",
|
||||||
|
"strategy",
|
||||||
|
"terminationGracePeriodSeconds",
|
||||||
|
"tolerations",
|
||||||
|
"topologySpreadConstraints",
|
||||||
|
"volumes"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"grafana": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"dashboardDiscoveryLabels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"dashboards": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"postgresExporter": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"annotations",
|
||||||
|
"labels"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"postgresExporter"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"dashboardDiscoveryLabels",
|
||||||
|
"dashboards"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ingress": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"className": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"hosts": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"tls": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"className",
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"hosts",
|
||||||
|
"tls"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"podDisruptionBudget": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"networkPolicies": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"prometheus": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"metrics": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"podMonitor": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"enableHttp2": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"followRedirects": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"honorLabels": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"interval": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"relabelings": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"scrapeTimeout": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"scheme": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tlsConfig": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"annotations",
|
||||||
|
"enableHttp2",
|
||||||
|
"followRedirects",
|
||||||
|
"honorLabels",
|
||||||
|
"labels",
|
||||||
|
"interval",
|
||||||
|
"path",
|
||||||
|
"relabelings",
|
||||||
|
"scrapeTimeout",
|
||||||
|
"scheme",
|
||||||
|
"tlsConfig"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"serviceMonitor": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"enableHttp2": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"followRedirects": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"honorLabels": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"interval": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"path": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"relabelings": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"scrapeTimeout": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"scheme": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tlsConfig": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"enableHttp2",
|
||||||
|
"followRedirects",
|
||||||
|
"honorLabels",
|
||||||
|
"interval",
|
||||||
|
"path",
|
||||||
|
"relabelings",
|
||||||
|
"scrapeTimeout",
|
||||||
|
"scheme",
|
||||||
|
"tlsConfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"podMonitor",
|
||||||
|
"serviceMonitor"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"metrics",
|
||||||
|
"rules"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"services": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"http": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"externalIPs": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"externalTrafficPolicy": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"internalTrafficPolicy": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"ipFamilies": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"loadBalancerClass": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"loadBalancerIP": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"loadBalancerSourceRanges": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"sessionAffinity": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"sessionAffinityConfig": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"annotations",
|
||||||
|
"externalIPs",
|
||||||
|
"externalTrafficPolicy",
|
||||||
|
"internalTrafficPolicy",
|
||||||
|
"ipFamilies",
|
||||||
|
"labels",
|
||||||
|
"loadBalancerClass",
|
||||||
|
"loadBalancerIP",
|
||||||
|
"loadBalancerSourceRanges",
|
||||||
|
"port",
|
||||||
|
"sessionAffinity",
|
||||||
|
"sessionAffinityConfig",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"http"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"serviceAccount": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"existing": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"enabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"serviceAccountName": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"enabled",
|
||||||
|
"serviceAccountName"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"new": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"annotations": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"automountServiceAccountToken": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"imagePullSecrets": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
},
|
||||||
|
"secrets": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"annotations",
|
||||||
|
"labels",
|
||||||
|
"automountServiceAccountToken",
|
||||||
|
"imagePullSecrets",
|
||||||
|
"secrets"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"existing",
|
||||||
|
"new"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"nameOverride",
|
||||||
|
"fullnameOverride",
|
||||||
|
"config",
|
||||||
|
"deployment",
|
||||||
|
"grafana",
|
||||||
|
"ingress",
|
||||||
|
"podDisruptionBudget",
|
||||||
|
"networkPolicies",
|
||||||
|
"prometheus",
|
||||||
|
"services",
|
||||||
|
"serviceAccount"
|
||||||
|
]
|
||||||
|
}
|
19
values.yaml
19
values.yaml
@ -38,7 +38,7 @@ config:
|
|||||||
|
|
||||||
## @param config.exporterConfig.secret.annotations Additional annotations of the secret containing the `exporterConfig.yaml`.
|
## @param config.exporterConfig.secret.annotations Additional annotations of the secret containing the `exporterConfig.yaml`.
|
||||||
## @param config.exporterConfig.secret.labels Additional labels of the secret containing the `exporterConfig.yaml`.
|
## @param config.exporterConfig.secret.labels Additional labels of the secret containing the `exporterConfig.yaml`.
|
||||||
## @param config.exporterConfig.secret.exporterConfig Content of the `exporterConfig.yaml`. Further information can be found [here](https://prometheus.io/docs/prometheus/latest/configuration/https/).
|
## @param config.exporterConfig.secret.exporterConfig Content of the `exporterConfig.yaml`. Further information can be found [here](https://github.com/prometheus-community/postgres_exporter?tab=readme-ov-file#multi-target-support-beta).
|
||||||
## @skip config.exporterConfig.secret.exporterConfig Skip individual postgres exporter configuration.
|
## @skip config.exporterConfig.secret.exporterConfig Skip individual postgres exporter configuration.
|
||||||
secret:
|
secret:
|
||||||
annotations: {}
|
annotations: {}
|
||||||
@ -248,12 +248,23 @@ deployment:
|
|||||||
# secretName: my-secret
|
# secretName: my-secret
|
||||||
|
|
||||||
## @section Grafana
|
## @section Grafana
|
||||||
## @param grafana.enabled Enable integration into Grafana.
|
## @param grafana.enabled Enable integration into Grafana. Require the prometheus operator deployment.
|
||||||
## @param grafana.dashboards.businessMetrics Enable deployment of Grafana dashboard `businessMetrics`.
|
|
||||||
grafana:
|
grafana:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
## @param grafana.dashboardDiscoveryLabels Labels that Grafana uses to discover resources. The labels may vary depending on the Grafana deployment.
|
||||||
|
## @skip grafana.dashboardDiscoveryLabels
|
||||||
|
dashboardDiscoveryLabels:
|
||||||
|
grafana_dashboard: "1"
|
||||||
|
|
||||||
dashboards:
|
dashboards:
|
||||||
businessMetrics: true
|
## @param grafana.dashboards.postgresExporter.enabled Enable deployment of Grafana dashboard `postgresExporter`.
|
||||||
|
## @param grafana.dashboards.postgresExporter.annotations Additional configmap annotations.
|
||||||
|
## @param grafana.dashboards.postgresExporter.labels Additional configmap labels.
|
||||||
|
postgresExporter:
|
||||||
|
enabled: true
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
|
||||||
## @section Ingress
|
## @section Ingress
|
||||||
ingress:
|
ingress:
|
||||||
|
Reference in New Issue
Block a user