mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-08 00:11:38 +01:00
feat(monitoring): Add opendesk-exporter
The opendesk-exporter provides a builtin way for openDesk to expose prometheus metrics to an operator. See the applications repository for detailed information: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-exporter
This commit is contained in:
@@ -43,6 +43,16 @@ prometheus:
|
|||||||
enabled: true
|
enabled: true
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For many applications, an external prometheus exporter must be deployed as well.
|
||||||
|
These are often integrated into openDesk and can be enabled via the following snippet:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
monitoring:
|
||||||
|
prometheus:
|
||||||
|
exporter:
|
||||||
|
global: true
|
||||||
|
```
|
||||||
|
|
||||||
# Alerts
|
# Alerts
|
||||||
|
|
||||||
openDesk ships with a set of Prometheus alerting rules that are specific to the operation of openDesk.
|
openDesk ships with a set of Prometheus alerting rules that are specific to the operation of openDesk.
|
||||||
|
|||||||
@@ -52,6 +52,14 @@ repositories:
|
|||||||
oci: true
|
oci: true
|
||||||
url: "{{ coalesce .Values.repositories.helm.registryOpencodeDe .Values.global.helmRegistry | default .Values.charts.opendeskDashboards.registry }}/{{ .Values.charts.opendeskDashboards.repository }}"
|
url: "{{ coalesce .Values.repositories.helm.registryOpencodeDe .Values.global.helmRegistry | default .Values.charts.opendeskDashboards.registry }}/{{ .Values.charts.opendeskDashboards.repository }}"
|
||||||
|
|
||||||
|
- name: "opendesk-exporter-repo"
|
||||||
|
keyring: "../../files/gpg-subkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.prometheusOpendeskExporter.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ coalesce .Values.repositories.helm.registryOpencodeDe .Values.global.helmRegistry | default .Values.charts.prometheusOpendeskExporter.registry }}/{{ .Values.charts.prometheusOpendeskExporter.repository }}"
|
||||||
|
|
||||||
# openDesk Static Files
|
# openDesk Static Files
|
||||||
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-static-files
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-static-files
|
||||||
- name: "opendesk-static-files-repo"
|
- name: "opendesk-static-files-repo"
|
||||||
@@ -117,6 +125,18 @@ releases:
|
|||||||
installed: {{ .Values.monitoring.grafana.dashboards.enabled }}
|
installed: {{ .Values.monitoring.grafana.dashboards.enabled }}
|
||||||
timeout: 900
|
timeout: 900
|
||||||
|
|
||||||
|
# opendesk-exporter
|
||||||
|
- name: "opendesk-exporter"
|
||||||
|
chart: "opendesk-exporter/{{ .Values.charts.prometheusOpendeskExporter.name }}"
|
||||||
|
version: "{{ .Values.charts.prometheusOpendeskExporter.version }}"
|
||||||
|
values:
|
||||||
|
- "values-opendesk-exporter.yaml.gotmpl"
|
||||||
|
{{- range .Values.customization.release.prometheusOpendeskExporter }}
|
||||||
|
- {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
installed: {{ eq .Values.monitoring.prometheus.exporters.overrides.opendeskExporter nil | ternary .Values.monitoring.prometheus.exporters.global .Values.monitoring.prometheus.exporters.overrides.opendeskExporter }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
- name: "opendesk-static-files"
|
- name: "opendesk-static-files"
|
||||||
chart: "opendesk-static-files-repo/{{ .Values.charts.opendeskStaticFiles.name }}"
|
chart: "opendesk-static-files-repo/{{ .Values.charts.opendeskStaticFiles.name }}"
|
||||||
version: "{{ .Values.charts.opendeskStaticFiles.version }}"
|
version: "{{ .Values.charts.opendeskStaticFiles.version }}"
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
---
|
||||||
|
global:
|
||||||
|
registry: "{{ coalesce .Values.repositories.image.registryOpencodeDeEnterprise .Values.global.imageRegistry .Values.images.prometheusOpendeskExporter.registry }}"
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
image:
|
||||||
|
registry: "{{ coalesce .Values.repositories.image.registryOpencodeDeEnterprise .Values.global.imageRegistry .Values.images.prometheusOpendeskExporter.registry }}"
|
||||||
|
repository: "{{ .Values.images.prometheusOpendeskExporter.repository }}"
|
||||||
|
tag: "{{ .Values.images.prometheusOpendeskExporter.tag }}"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.prometheusOpendeskExporter | toYaml | nindent 2 }}
|
||||||
|
|
||||||
|
serviceMonitor:
|
||||||
|
create: "{{ .Values.monitoring.prometheus.serviceMonitors.enabled }}"
|
||||||
|
|
||||||
|
opendeskExporter:
|
||||||
|
config:
|
||||||
|
opendesk_exporter:
|
||||||
|
collectors:
|
||||||
|
enabled: [ "opendesk_users", "opendesk_version_info" ]
|
||||||
|
opendesk_version_info:
|
||||||
|
version: "{{ .Values.global.systemInformation.releaseVersion }}"
|
||||||
|
git_commit: "{{ exec "git" (list "rev-parse" "HEAD") | trim }}"
|
||||||
|
git_tree_state: "{{ exec "sh" (list "-c" "git diff --quiet && echo 'clean' || echo 'dirty'") | trim }}"
|
||||||
|
|
||||||
|
# opendesk_users configures itself automatically based on ConfigMaps used by the primary opendesk resources
|
||||||
|
# if desired, it can be overridden via a customization
|
||||||
|
|
||||||
@@ -449,6 +449,16 @@ charts:
|
|||||||
name: "postgresql"
|
name: "postgresql"
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
verify: true
|
verify: true
|
||||||
|
prometheusOpendeskExporter:
|
||||||
|
# providerCategory: "Platform"
|
||||||
|
# providerResponsible: "openDesk"
|
||||||
|
# upstreamRegistry: "https://registry.opencode.de"
|
||||||
|
# upstreamRepository: "bmi/opendesk/components/platform-development/charts/opendesk-exporter"
|
||||||
|
registry: "registry.opencode.de"
|
||||||
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-exporter"
|
||||||
|
name: "opendesk-exporter"
|
||||||
|
version: "1.5.1"
|
||||||
|
verify: true
|
||||||
redis:
|
redis:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ customization:
|
|||||||
redis: {}
|
redis: {}
|
||||||
memcached: {}
|
memcached: {}
|
||||||
postgresql: {}
|
postgresql: {}
|
||||||
|
prometheusOpendeskExporter: {}
|
||||||
mariadb: {}
|
mariadb: {}
|
||||||
postfix: {}
|
postfix: {}
|
||||||
opendeskDkimpyMilter: {}
|
opendeskDkimpyMilter: {}
|
||||||
|
|||||||
@@ -931,6 +931,14 @@ images:
|
|||||||
registry: "registry-1.docker.io"
|
registry: "registry-1.docker.io"
|
||||||
repository: "library/postgres"
|
repository: "library/postgres"
|
||||||
tag: "15.13-alpine3.20@sha256:f7de0e2497b9a3b027d41377606f94bb0140a034ed303f6de690aa77637bfbc9"
|
tag: "15.13-alpine3.20@sha256:f7de0e2497b9a3b027d41377606f94bb0140a034ed303f6de690aa77637bfbc9"
|
||||||
|
prometheusOpendeskExporter:
|
||||||
|
# providerCategory: "Platform"
|
||||||
|
# providerResponsible: "openDesk
|
||||||
|
# upstreamRegistry: "https://registry.opencode.de"
|
||||||
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-exporter"
|
||||||
|
registry: "registry.opencode.de"
|
||||||
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-exporter"
|
||||||
|
tag: "1.3.3@sha256:744c13b7882e066bf3213de70c3513020800657b0ebee3c3b2b26bebe3ea3244"
|
||||||
prosody:
|
prosody:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Nordeck"
|
# providerResponsible: "Nordeck"
|
||||||
|
|||||||
@@ -17,6 +17,15 @@ monitoring:
|
|||||||
labels:
|
labels:
|
||||||
release: "kube-prometheus-stack"
|
release: "kube-prometheus-stack"
|
||||||
|
|
||||||
|
# Prometheus exporter deployment toggles for openDesk
|
||||||
|
exporters:
|
||||||
|
# Global switch for all optional exporters
|
||||||
|
global: false
|
||||||
|
# Per-exporter overrides (take precedence over "global")
|
||||||
|
overrides:
|
||||||
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-exporter
|
||||||
|
opendeskExporter: ~
|
||||||
|
|
||||||
grafana:
|
grafana:
|
||||||
dashboards:
|
dashboards:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -437,6 +437,13 @@ resources:
|
|||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
memory: "256Mi"
|
memory: "256Mi"
|
||||||
|
prometheusOpendeskExporter:
|
||||||
|
limits:
|
||||||
|
cpu: 1
|
||||||
|
memory: "512Mi"
|
||||||
|
requests:
|
||||||
|
cpu: 0.1
|
||||||
|
memory: "256Mi"
|
||||||
prosody:
|
prosody:
|
||||||
limits:
|
limits:
|
||||||
cpu: 99
|
cpu: 99
|
||||||
|
|||||||
Reference in New Issue
Block a user