You've already forked prometheus-postgres-exporter
Compare commits
5 Commits
0a4d677938
...
0.2.1
Author | SHA1 | Date | |
---|---|---|---|
3434c5a737
|
|||
1e9aeb802d
|
|||
2e9eae9888
|
|||
0dcea5cfc4
|
|||
e38c4fbdfe
|
@ -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_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:
|
||||
@ -67,19 +61,6 @@ container-run/helm-update-dependencies:
|
||||
${HELM_IMAGE_FULLY_QUALIFIED} \
|
||||
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
|
||||
# ==============================================================================
|
||||
PHONY+=container-run/helm-lint
|
||||
|
@ -188,9 +188,12 @@ replaced:
|
||||
### Grafana
|
||||
|
||||
| Name | Description | Value |
|
||||
| ------------------------------------ | --------------------------------------------------------- | ------- |
|
||||
| `grafana.enabled` | Enable integration into Grafana. | `false` |
|
||||
| `grafana.dashboards.businessMetrics` | Enable deployment of Grafana dashboard `businessMetrics`. | `true` |
|
||||
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------- |
|
||||
| `grafana.enabled` | Enable integration into Grafana. Require the Prometheus operator deployment. | `false` |
|
||||
| `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
|
||||
|
||||
|
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
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.json"]
|
||||
|
||||
- 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"
|
||||
]
|
||||
}
|
17
values.yaml
17
values.yaml
@ -248,12 +248,23 @@ deployment:
|
||||
# secretName: my-secret
|
||||
|
||||
## @section Grafana
|
||||
## @param grafana.enabled Enable integration into Grafana.
|
||||
## @param grafana.dashboards.businessMetrics Enable deployment of Grafana dashboard `businessMetrics`.
|
||||
## @param grafana.enabled Enable integration into Grafana. Require the prometheus operator deployment.
|
||||
grafana:
|
||||
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:
|
||||
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
|
||||
ingress:
|
||||
|
Reference in New Issue
Block a user