Compare commits

...

33 Commits

Author SHA1 Message Date
1edd96e3e1
chore(deps): update docker.io/library/node docker tag to v23.11.0 2025-04-01 19:51:43 +00:00
80819f16ef
chore(deps): update container images 2025-03-30 22:29:59 +00:00
3dcb8173e3
chore(renovate): use configuration preset 2025-03-30 22:53:14 +02:00
5c20ed5f31
chore(deps): lock file maintenance 2025-03-17 02:29:51 +00:00
39534a06dc
chore(deps): update docker.io/library/node docker tag to v23.10.0 2025-03-14 17:27:23 +00:00
34b5e27456
chore(deps): update dependency markdown-link-check to v3.13.7 2025-03-11 08:29:54 +00:00
74b6ddf46d
chore(deps): lock file maintenance 2025-03-10 02:27:48 +00:00
7323ba09bf
chore(deps): lock file maintenance 2025-03-03 02:28:16 +00:00
3f4c459d43
chore(deps): update dependency volker.raschek/prometheus-postgres-exporter to v0.4.2 2025-03-02 14:25:15 +00:00
304139cb6d Merge pull request 'chore(deps): update prometheuscommunity/postgres-exporter docker tag to v0.17.1' () from renovate/prometheuscommunity-postgres-exporter-0.x into master
Reviewed-on: 
2025-03-02 12:26:19 +00:00
08ca70c65c
chore(deps): update prometheuscommunity/postgres-exporter docker tag to v0.17.1 2025-02-27 02:28:17 +00:00
6f954dfdf6
chore(deps): update docker.io/library/node docker tag to v23.9.0 2025-02-26 23:27:28 +00:00
b88ae944e6
chore(deps): lock file maintenance 2025-02-24 02:30:49 +00:00
29b908f8da
chore(deps): update dependency volker.raschek/prometheus-postgres-exporter to v0.4.1 2025-02-22 23:26:34 +00:00
76134921b8 Merge pull request 'chore(deps): update prometheuscommunity/postgres-exporter docker tag to v0.17.0' () from renovate/prometheuscommunity-postgres-exporter-0.x into master
Reviewed-on: 
2025-02-22 21:49:33 +00:00
7ebfd12593
chore(deps): update prometheuscommunity/postgres-exporter docker tag to v0.17.0 2025-02-22 02:25:18 +00:00
74ef3835f4
docs(README): hint of CPU limit lower than 1000m 2025-02-15 18:06:36 +01:00
80c8ff0d3b
chore(deps): update docker.io/volkerraschek/helm docker tag to v3.17.1 2025-02-14 20:30:39 +00:00
de379ec1ef
chore(deps): update dependency volker.raschek/prometheus-postgres-exporter to v0.4.0 2025-02-14 17:42:10 +00:00
9275bca045
chore(renovate): automerge lockFileMaintenance 2025-02-14 18:27:22 +01:00
a33f92e63d
test(deployment): typo of RollingUpdate 2025-02-14 18:04:58 +01:00
db3fbb9497
doc(README): adapt description of network policy section 2025-02-14 17:55:34 +01:00
4d349c36ff
chore(deps): lock file maintenance 2025-02-14 17:52:58 +01:00
a3038a75c8
feat(networkPolicies): template custom network policies 2025-02-14 17:51:04 +01:00
c497a31ecc
chore(deps): update docker.io/library/node docker tag to v23.8.0 2025-02-13 23:34:28 +00:00
c7a07eb7d1
chore(renovate): update renovate configuration 2025-02-13 22:48:39 +01:00
4b19f57ac5
chore(deps): update docker.io/library/node docker tag to v23.7.0 2025-02-02 23:34:35 +00:00
310cdfaffe
chore(deps): update dependency @bitnami/readme-generator-for-helm to v2.7.0 2025-02-02 20:34:12 +00:00
8c2665fdc6
chore(renovate): add lockFileMaintenance 2025-02-02 18:51:25 +01:00
bb9d71d233
chore(deps): update dependency markdownlint-cli to ^0.44.0 2025-01-25 02:38:21 +00:00
ded6c55521
chore(deps): update docker.io/library/node docker tag to v23.6.1 2025-01-22 17:41:47 +00:00
b3a9ddd487
chore(deps): update dependency volker.raschek/prometheus-postgres-exporter to v0.3.2 2025-01-19 21:17:50 +00:00
f87d417e73
doc(README): typo 2025-01-19 22:06:27 +01:00
15 changed files with 1332 additions and 280 deletions

@ -15,7 +15,7 @@ on:
jobs: jobs:
generate-parameters: generate-parameters:
container: container:
image: docker.io/library/node:23.6.0-alpine image: docker.io/library/node:23.11.0-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

@ -13,7 +13,7 @@ on:
jobs: jobs:
helm-lint: helm-lint:
container: container:
image: docker.io/volkerraschek/helm:3.16.4 image: docker.io/volkerraschek/helm:3.17.1
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@ -28,7 +28,7 @@ jobs:
helm-unittest: helm-unittest:
container: container:
image: docker.io/volkerraschek/helm:3.16.4 image: docker.io/volkerraschek/helm:3.17.1
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

@ -15,7 +15,7 @@ on:
jobs: jobs:
markdown-link-checker: markdown-link-checker:
container: container:
image: docker.io/library/node:23.6.0-alpine image: docker.io/library/node:23.11.0-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:
@ -31,7 +31,7 @@ jobs:
markdown-lint: markdown-lint:
container: container:
image: docker.io/library/node:23.6.0-alpine image: docker.io/library/node:23.11.0-alpine
runs-on: runs-on:
- ubuntu-latest - ubuntu-latest
steps: steps:

@ -8,7 +8,7 @@ on:
jobs: jobs:
publish-chart: publish-chart:
container: container:
image: docker.io/volkerraschek/helm:3.16.4 image: docker.io/volkerraschek/helm:3.17.1
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Install tooling - name: Install tooling

@ -4,7 +4,7 @@ description: Prometheus metric exporter for PostgreSQL
type: application type: application
kubeVersion: ">=1.20.0" kubeVersion: ">=1.20.0"
version: "0.1.0" version: "0.1.0"
appVersion: "0.16.0" appVersion: "0.17.1"
# icon: https://annotations.example.com/icon.png # icon: https://annotations.example.com/icon.png

@ -4,13 +4,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.17.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}
# 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.14.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}
# MISSING DOT # MISSING DOT

@ -20,7 +20,7 @@ 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.
2. All available parameters are [here](#parameters) in detail document. The parameters can be defined via the helm 2. All available parameters are [here](#parameters) in detail documented. The parameters can be defined via the helm
`--set` flag or directly as part of a `values.yaml` file. The following example defines the `prometheus-exporter` `--set` flag or directly as part of a `values.yaml` file. The following example defines the `prometheus-exporter`
repository and use the `--set` flag for a basic deployment. repository and use the `--set` flag for a basic deployment.
@ -46,7 +46,7 @@ version of the chart must be in sync with the `values.yaml`. Newer *minor* versi
versions can break something! versions can break something!
```bash ```bash
CHART_VERSION=0.3.1 CHART_VERSION=0.4.2
helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml helm show values prometheus-exporters/prometheus-postgres-exporter --version "${CHART_VERSION}" > values.yaml
``` ```
@ -71,7 +71,7 @@ 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 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 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 of defining `GOMAXPROCS` automatically based on the defined CPU limit like `1000m`. Please keep in mind, that the CFS
rate of `100ms` - default on each kubernetes node, is also very important to avoid CPU throttling. 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/). Further information about this topic can be found [here](https://kanishk.io/posts/cpu-throttling-in-containerized-go-apps/).
@ -79,6 +79,8 @@ Further information about this topic can be found [here](https://kanishk.io/post
> [!NOTE] > [!NOTE]
> The environment variable `GOMAXPROCS` is set automatically, when a CPU limit is defined. An explicit configuration is > The environment variable `GOMAXPROCS` is set automatically, when a CPU limit is defined. An explicit configuration is
> not anymore required. > not anymore required.
>
> Please take care the a CPU limit < `1000m` can also lead to CPU throttling. Please read the linked documentation carefully.
```bash ```bash
helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \ helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgres-exporter \
@ -89,7 +91,7 @@ helm install prometheus-postgres-exporter prometheus-exporters/prometheus-postgr
--set 'prometheus.metrics.serviceMonitor.enabled=true' \ --set 'prometheus.metrics.serviceMonitor.enabled=true' \
--set 'deployment.postgresExporter.env.name=GOMAXPROCS' \ --set 'deployment.postgresExporter.env.name=GOMAXPROCS' \
--set 'deployment.postgresExporter.env.valueFrom.resourceFieldRef.resource=limits.cpu' \ --set 'deployment.postgresExporter.env.valueFrom.resourceFieldRef.resource=limits.cpu' \
--set 'deployment.postgresExporter.resources.limits.cpu=100m' --set 'deployment.postgresExporter.resources.limits.cpu=1000m'
``` ```
#### TLS authentication and encryption #### TLS authentication and encryption
@ -187,6 +189,75 @@ deployment:
- postgres - postgres
``` ```
### Network policies
Network policies can only take effect, when the used CNI plugin support network policies. The chart supports no custom
network policy implementation of CNI plugins. It's support only the official API resource of `networking.k8s.io/v1`.
The object networkPolicies can contains multiple networkPolicy definitions. There is currently only one example
predefined - it's named `default`. Further networkPolicy rules can easy be added by defining additional objects. For example:
> [!NOTE]
> The structure of each custom network policy must be equal like that of default. For this reason don't forget to define
> `annotations`, `labels` and the other properties as well.
```yaml
networkPolicies:
enabled: false
default: {}
my-custom-network-policy: {}
```
The example below is an excerpt of the `values.yaml` file. The network policy `default` contains ingress rules to allow
incoming traffic from Prometheus. Additionally two egress rules are defined, to allow the application outgoing access to
the internal running DNS server `core-dns` and the external running postgres database listen on `10.14.243.12`.
> [!IMPORTANT]
> Please keep in mind, that the namespace and pod selector labels can be different from environment to environment. For
> this reason, there is are not default network policy rules defined.
```yaml
networkPolicies:
enabled: true
default:
enabled: true
annotations: {}
labels: {}
policyTypes:
- Egress
- Ingress
egress:
- to:
- ipBlock:
cidr: 10.14.243.12/32
ports:
- port: 5432
protocol: TCP
- to:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: kube-system
podSelector:
matchLabels:
k8s-app: kube-dns
ports:
- port: 53
protocol: TCP
- port: 53
protocol: UDP
ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: monitoring
podSelector:
matchLabels:
app.kubernetes.io/name: prometheus
ports:
- port: http
protocol: TCP
```
## Parameters ## Parameters
### Global ### Global
@ -248,7 +319,7 @@ deployment:
| `deployment.replicas` | Number of replicas for the postgres-exporter deployment. | `1` | | `deployment.replicas` | Number of replicas for the postgres-exporter deployment. | `1` |
| `deployment.restartPolicy` | Restart policy of the postgres-exporter deployment. | `""` | | `deployment.restartPolicy` | Restart policy of the postgres-exporter deployment. | `""` |
| `deployment.securityContext` | Security context of the postgres-exporter deployment. | `{}` | | `deployment.securityContext` | Security context of the postgres-exporter deployment. | `{}` |
| `deployment.strategy.type` | Strategy type - `Recreate` or `Rollingupdate`. | `Rollingupdate` | | `deployment.strategy.type` | Strategy type - `Recreate` or `RollingUpdate`. | `RollingUpdate` |
| `deployment.strategy.rollingUpdate.maxSurge` | The maximum number of pods that can be scheduled above the desired number of pods during a rolling update. | `1` | | `deployment.strategy.rollingUpdate.maxSurge` | The maximum number of pods that can be scheduled above the desired number of pods during a rolling update. | `1` |
| `deployment.strategy.rollingUpdate.maxUnavailable` | The maximum number of pods that can be unavailable during a rolling update. | `1` | | `deployment.strategy.rollingUpdate.maxUnavailable` | The maximum number of pods that can be unavailable during a rolling update. | `1` |
| `deployment.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod. | `60` | | `deployment.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod. | `60` |
@ -283,11 +354,17 @@ deployment:
| --------------------- | ---------------------- | ----- | | --------------------- | ---------------------- | ----- |
| `podDisruptionBudget` | Pod disruption budget. | `{}` | | `podDisruptionBudget` | Pod disruption budget. | `{}` |
### Network ### NetworkPolicies
| Name | Description | Value | | Name | Description | Value |
| ----------------- | ------------------------------------------------------------------------------------------------------------------ | ----- | | ------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------- |
| `networkPolicies` | Deploy network policies based on the used container network interface (CNI) implementation - like calico or weave. | `{}` | | `networkPolicies.enabled` | Enable network policies in general. | `false` |
| `networkPolicies.default.enabled` | Enable the network policy for accessing the application by default. For example to scape the metrics. | `false` |
| `networkPolicies.default.annotations` | Additional network policy annotations. | `{}` |
| `networkPolicies.default.labels` | Additional network policy labels. | `{}` |
| `networkPolicies.default.policyTypes` | List of policy types. Supported is ingress, egress or ingress and egress. | `[]` |
| `networkPolicies.default.egress` | Concrete egress network policy implementation. | `[]` |
| `networkPolicies.default.ingress` | Concrete ingress network policy implementation. | `[]` |
### Prometheus ### Prometheus

1214
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -16,6 +16,6 @@
"devDependencies": { "devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.5.0", "@bitnami/readme-generator-for-helm": "^2.5.0",
"markdown-link-check": "^3.13.6", "markdown-link-check": "^3.13.6",
"markdownlint-cli": "^0.43.0" "markdownlint-cli": "^0.44.0"
} }
} }

@ -1,6 +1,12 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"assignees": [ "volker.raschek" ], "extends": [
"local>volker.raschek/renovate-config:default#master",
"local>volker.raschek/renovate-config:container#master",
"local>volker.raschek/renovate-config:actions#master",
"local>volker.raschek/renovate-config:npm#master",
"local>volker.raschek/renovate-config:regexp#master"
],
"customManagers": [ "customManagers": [
{ {
"fileMatch": [ "fileMatch": [
@ -25,17 +31,12 @@
"versioningTemplate": "semver" "versioningTemplate": "semver"
} }
], ],
"labels": [ "renovate" ],
"packageRules": [ "packageRules": [
{ {
"addLabels": [ "renovate/automerge", "renovate/npm" ], "addLabels": [
"automerge": true, "renovate/automerge",
"matchPackageNames": [ "markdownlint-cli", "@bitnami/readme-generator-for-helm" ], "renovate/container"
"matchManagers": [ "npm" ], ],
"matchUpdateTypes": [ "minor", "patch"]
},
{
"addLabels": [ "renovate/automerge", "renovate/container" ],
"automerge": true, "automerge": true,
"excludePackagePatterns": [ "excludePackagePatterns": [
"prometheuscommunity/postgres-exporter" "prometheuscommunity/postgres-exporter"
@ -49,7 +50,10 @@
] ]
}, },
{ {
"addLabels": [ "renovate/automerge", "renovate/documentation" ], "addLabels": [
"renovate/automerge",
"renovate/documentation"
],
"automerge": true, "automerge": true,
"matchDepNames": [ "matchDepNames": [
"volker.raschek/prometheus-postgres-exporter" "volker.raschek/prometheus-postgres-exporter"
@ -60,7 +64,5 @@
"patch" "patch"
] ]
} }
], ]
"rebaseLabel": "renovate/rebase",
"rebaseWhen": "behind-base-branch"
} }

@ -0,0 +1,19 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "prometheus-postgres-exporter.networkPolicies.annotations" -}}
{{ include "prometheus-postgres-exporter.annotations" .context }}
{{- if .networkPolicy.annotations }}
{{ toYaml .networkPolicy.annotations }}
{{- end }}
{{- end }}
{{/* labels */}}
{{- define "prometheus-postgres-exporter.networkPolicies.labels" -}}
{{ include "prometheus-postgres-exporter.labels" .context }}
{{- if .networkPolicy.labels }}
{{ toYaml .networkPolicy.labels }}
{{- end }}
{{- end }}

@ -0,0 +1,36 @@
{{- if .Values.networkPolicies.enabled }}
{{- range $key, $value := .Values.networkPolicies -}}
{{- if and (not (eq $key "enabled")) $value.enabled }}
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
{{- with (include "prometheus-postgres-exporter.networkPolicies.annotations" (dict "networkPolicy" $value "context" $) | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "prometheus-postgres-exporter.networkPolicies.labels" (dict "networkPolicy" $value "context" $) | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ printf "%s-%s" (include "prometheus-postgres-exporter.fullname" $ ) $key }}
namespace: {{ $.Release.Namespace }}
spec:
podSelector:
matchLabels:
{{- include "prometheus-postgres-exporter.pod.selectorLabels" $ | nindent 6 }}
{{- with $value.policyTypes }}
policyTypes:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with $value.egress }}
egress:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with $value.ingress }}
ingress:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

@ -98,7 +98,7 @@ tests:
- equal: - equal:
path: spec.strategy path: spec.strategy
value: value:
type: "Rollingupdate" type: "RollingUpdate"
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: 1
maxUnavailable: 1 maxUnavailable: 1

@ -0,0 +1,118 @@
chart:
appVersion: 0.1.0
version: 0.1.0
suite: NetworkPolicies template (basic)
release:
name: prometheus-postgres-exporter-unittest
namespace: testing
templates:
- templates/prometheus-postgres-exporter/networkPolicies.yaml
tests:
- it: Skip networkPolicies in general disabled.
set:
networkPolicies.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip networkPolicy 'default' when disabled.
set:
networkPolicies.enabled: true
networkPolicies.default.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Loop over networkPolicies
set:
networkPolicies.enabled: true
networkPolicies.default.enabled: false
networkPolicies.nginx.enabled: true
networkPolicies.prometheus.enabled: true
asserts:
- hasDocuments:
count: 2
- it: Template networkPolicy 'default' without policyTypes, egress and ingress configuration
set:
networkPolicies.enabled: true
networkPolicies.default.enabled: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
name: prometheus-postgres-exporter-unittest-default
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
helm.sh/chart: prometheus-postgres-exporter-0.1.0
- equal:
path: spec.podSelector.matchLabels
value:
app.kubernetes.io/instance: prometheus-postgres-exporter-unittest
app.kubernetes.io/name: prometheus-postgres-exporter
- notExists:
path: spec.policyTypes
- notExists:
path: spec.egress
- notExists:
path: spec.ingress
- it: Template networkPolicy 'default' with policyTypes, egress and ingress configuration
set:
networkPolicies.enabled: true
networkPolicies.default.enabled: true
networkPolicies.default.policyTypes:
- Egress
- Ingress
networkPolicies.default.ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: khv-production
podSelector:
matchLabels:
app.kubernetes.io/name: prometheus
networkPolicies.default.egress:
- to:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: database
podSelector:
matchLabels:
app.kubernetes.io/name: oracle
asserts:
- equal:
path: spec.policyTypes
value:
- Egress
- Ingress
- equal:
path: spec.egress
value:
- to:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: database
podSelector:
matchLabels:
app.kubernetes.io/name: oracle
- equal:
path: spec.ingress
value:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: khv-production
podSelector:
matchLabels:
app.kubernetes.io/name: prometheus

@ -224,11 +224,11 @@ deployment:
securityContext: {} securityContext: {}
# fsGroup: 2000 # fsGroup: 2000
## @param deployment.strategy.type Strategy type - `Recreate` or `Rollingupdate`. ## @param deployment.strategy.type Strategy type - `Recreate` or `RollingUpdate`.
## @param deployment.strategy.rollingUpdate.maxSurge The maximum number of pods that can be scheduled above the desired number of pods during a rolling update. ## @param deployment.strategy.rollingUpdate.maxSurge The maximum number of pods that can be scheduled above the desired number of pods during a rolling update.
## @param deployment.strategy.rollingUpdate.maxUnavailable The maximum number of pods that can be unavailable during a rolling update. ## @param deployment.strategy.rollingUpdate.maxUnavailable The maximum number of pods that can be unavailable during a rolling update.
strategy: strategy:
type: "Rollingupdate" type: "RollingUpdate"
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: 1
maxUnavailable: 1 maxUnavailable: 1
@ -311,9 +311,77 @@ podDisruptionBudget: {}
# maxUnavailable: 1 # maxUnavailable: 1
# minAvailable: 1 # minAvailable: 1
## @section Network ## @section NetworkPolicies
## @param networkPolicies Deploy network policies based on the used container network interface (CNI) implementation - like calico or weave. ## @param networkPolicies.enabled Enable network policies in general.
networkPolicies: {} networkPolicies:
enabled: false
## @param networkPolicies.default.enabled Enable the network policy for accessing the application by default. For example to scape the metrics.
## @param networkPolicies.default.annotations Additional network policy annotations.
## @param networkPolicies.default.labels Additional network policy labels.
## @param networkPolicies.default.policyTypes List of policy types. Supported is ingress, egress or ingress and egress.
## @param networkPolicies.default.egress Concrete egress network policy implementation.
## @skip networkPolicies.default.egress Skip individual egress configuration.
## @param networkPolicies.default.ingress Concrete ingress network policy implementation.
## @skip networkPolicies.default.ingress Skip individual ingress configuration.
default:
enabled: false
annotations: {}
labels: {}
policyTypes: []
# - Egress
# - Ingress
egress: []
# Allow outgoing traffic to database host
#
# - to:
# - ipBlock:
# cidr: 192.168.179.1/32
# ports:
# - port: 5432
# protocol: TCP
# Allow outgoing DNS traffic to the internal running DNS-Server. For example core-dns.
#
# - to:
# - namespaceSelector:
# matchLabels:
# kubernetes.io/metadata.name: kube-system
# podSelector:
# matchLabels:
# k8s-app: kube-dns
# ports:
# - port: 53
# protocol: TCP
# - port: 53
# protocol: UDP
ingress: []
# Allow incoming HTTP traffic from prometheus.
#
# - from:
# - namespaceSelector:
# matchLabels:
# kubernetes.io/metadata.name: monitoring
# podSelector:
# matchLabels:
# app.kubernetes.io/name: prometheus
# ports:
# - port: http
# protocol: TCP
# Allow incoming HTTP traffic from ingress-nginx.
#
# - from:
# - namespaceSelector:
# matchLabels:
# kubernetes.io/metadata.name: ingress-nginx
# podSelector:
# matchLabels:
# app.kubernetes.io/name: ingress-nginx
# ports:
# - port: http
# protocol: TCP
## @section Prometheus ## @section Prometheus
prometheus: prometheus: