From 2bd2e473b9b11e6f86eaa49efd2b146170afcc26 Mon Sep 17 00:00:00 2001 From: Masterchen09 <13187726+Masterchen09@users.noreply.github.com> Date: Sun, 26 May 2024 15:20:07 +0200 Subject: [PATCH] feat: add monitoring configuration to acryl-datahub-actions subchart --- charts/datahub/Chart.yaml | 4 +-- .../acryl-datahub-actions/Chart.yaml | 4 +-- .../subcharts/acryl-datahub-actions/README.md | 1 + .../templates/deployment.yaml | 9 ++++++ .../templates/service.yaml | 6 ++++ .../templates/servicemonitor.yaml | 28 +++++++++++++++++++ .../acryl-datahub-actions/values.yaml | 9 +++++- charts/datahub/values.yaml | 2 +- 8 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 charts/datahub/subcharts/acryl-datahub-actions/templates/servicemonitor.yaml diff --git a/charts/datahub/Chart.yaml b/charts/datahub/Chart.yaml index 906e31e00..e8714d2b0 100644 --- a/charts/datahub/Chart.yaml +++ b/charts/datahub/Chart.yaml @@ -4,7 +4,7 @@ description: A Helm chart for LinkedIn DataHub type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 0.4.16 +version: 0.4.17 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. appVersion: 0.13.2 @@ -30,7 +30,7 @@ dependencies: repository: file://./subcharts/datahub-ingestion-cron condition: datahub-ingestion-cron.enabled - name: acryl-datahub-actions - version: 0.2.146 + version: 0.2.147 repository: file://./subcharts/acryl-datahub-actions condition: acryl-datahub-actions.enabled maintainers: diff --git a/charts/datahub/subcharts/acryl-datahub-actions/Chart.yaml b/charts/datahub/subcharts/acryl-datahub-actions/Chart.yaml index 8a892ea8c..3cd5d56e1 100644 --- a/charts/datahub/subcharts/acryl-datahub-actions/Chart.yaml +++ b/charts/datahub/subcharts/acryl-datahub-actions/Chart.yaml @@ -12,7 +12,7 @@ description: A Helm chart for Kubernetes type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 0.2.146 +version: 0.2.147 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 0.0.11 +appVersion: 0.0.17 diff --git a/charts/datahub/subcharts/acryl-datahub-actions/README.md b/charts/datahub/subcharts/acryl-datahub-actions/README.md index 603ad195f..d23d90cce 100644 --- a/charts/datahub/subcharts/acryl-datahub-actions/README.md +++ b/charts/datahub/subcharts/acryl-datahub-actions/README.md @@ -35,6 +35,7 @@ Current chart version is `0.0.3` | serviceAccount.annotations | object | `{}` | | | serviceAccount.create | bool | `false` | | | serviceAccount.name | string | `nil` | | +| serviceMonitor.create | bool | `false` | If set true and `global.datahub.monitoring.enablePrometheus` is set `true` it will create a ServiceMonitor resource | | tolerations | list | `[]` | | | global.kafka.bootstrap.server | string | `nil` | | | global.kafka.schemaregistry.url | string | `nil` | | diff --git a/charts/datahub/subcharts/acryl-datahub-actions/templates/deployment.yaml b/charts/datahub/subcharts/acryl-datahub-actions/templates/deployment.yaml index 8c25222bd..7428fd1a6 100644 --- a/charts/datahub/subcharts/acryl-datahub-actions/templates/deployment.yaml +++ b/charts/datahub/subcharts/acryl-datahub-actions/templates/deployment.yaml @@ -70,6 +70,11 @@ spec: - name: http containerPort: 9093 protocol: TCP + {{- if or .Values.global.datahub.monitoring.enablePrometheus }} + - name: {{ .Values.global.datahub.monitoring.portName }} + containerPort: 8000 + protocol: TCP + {{- end }} {{- if .Values.image.command }} command: {{ .Values.image.command | toRawJson }} {{- end }} @@ -151,6 +156,10 @@ spec: name: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretRef }} key: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretKey }} {{- end }} + {{- if or .Values.global.datahub.monitoring.enablePrometheus }} + - name: DATAHUB_ACTIONS_MONITORING_ENABLED + value: "true" + {{- end }} {{- if .Values.extraEnvs }} {{ toYaml .Values.extraEnvs | nindent 12 }} {{- end }} diff --git a/charts/datahub/subcharts/acryl-datahub-actions/templates/service.yaml b/charts/datahub/subcharts/acryl-datahub-actions/templates/service.yaml index 1a1f3b072..7d53bc3da 100644 --- a/charts/datahub/subcharts/acryl-datahub-actions/templates/service.yaml +++ b/charts/datahub/subcharts/acryl-datahub-actions/templates/service.yaml @@ -15,5 +15,11 @@ spec: targetPort: http protocol: TCP name: http + {{- if .Values.global.datahub.monitoring.enablePrometheus }} + - name: {{ .Values.global.datahub.monitoring.portName }} + port: 8000 + targetPort: {{ .Values.global.datahub.monitoring.portName }} + protocol: TCP + {{- end }} selector: {{- include "acryl-datahub-actions.selectorLabels" . | nindent 4 }} diff --git a/charts/datahub/subcharts/acryl-datahub-actions/templates/servicemonitor.yaml b/charts/datahub/subcharts/acryl-datahub-actions/templates/servicemonitor.yaml new file mode 100644 index 000000000..1e9cc31af --- /dev/null +++ b/charts/datahub/subcharts/acryl-datahub-actions/templates/servicemonitor.yaml @@ -0,0 +1,28 @@ +{{- if and .Values.serviceMonitor.create .Values.global.datahub.monitoring.enablePrometheus -}} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "acryl-datahub-actions.fullname" . }} + labels: + {{- include "acryl-datahub-actions.labels" . | nindent 4 }} + {{- range $key, $val := .Values.serviceMonitor.extraLabels }} + {{ $key }}: {{ $val | quote }} + {{- end }} + {{- with .Values.serviceMonitor.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + endpoints: + - port: {{ .Values.global.datahub.monitoring.portName }} + relabelings: + - separator: / + sourceLabels: + - namespace + - pod + targetLabel: instance + selector: + matchLabels: + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: acryl-datahub-actions +{{- end -}} \ No newline at end of file diff --git a/charts/datahub/subcharts/acryl-datahub-actions/values.yaml b/charts/datahub/subcharts/acryl-datahub-actions/values.yaml index c425ab41e..12257bbd9 100644 --- a/charts/datahub/subcharts/acryl-datahub-actions/values.yaml +++ b/charts/datahub/subcharts/acryl-datahub-actions/values.yaml @@ -5,7 +5,7 @@ replicaCount: 1 image: repository: acryldata/datahub-actions - tag: "v0.0.1" + tag: "v0.0.17" pullPolicy: IfNotPresent # Override the image's command & args with a new one. # This may be necessary for custom startup or shutdown behaviors @@ -27,6 +27,10 @@ serviceAccount: # If not set and create is true, a name is generated using the fullname template name: +serviceMonitor: + create: false + extraLabels: {} + podAnnotations: {} podSecurityContext: {} @@ -96,6 +100,9 @@ global: datahub: gms: port: "8080" + monitoring: + enablePrometheus: true + portName: "jmx" metadata_service_authentication: enabled: true systemClientId: "__datahub_system" diff --git a/charts/datahub/values.yaml b/charts/datahub/values.yaml index 760033491..803b52a43 100644 --- a/charts/datahub/values.yaml +++ b/charts/datahub/values.yaml @@ -68,7 +68,7 @@ acryl-datahub-actions: enabled: true image: repository: acryldata/datahub-actions - tag: "v0.0.15" + tag: "v0.0.17" # Add custom command / arguments to this job. Useful if you need a custom startup or shutdown script # to run # command: customCommand