From 2235e5dbcf0afc4310b1eb3af3850fea4fcdb720 Mon Sep 17 00:00:00 2001 From: Chuyen Pham Date: Mon, 26 Sep 2022 02:08:47 -0700 Subject: [PATCH] [bitnami/external-dns] add PodMonitor to support Google Managed Prometheus (#12638) Signed-off-by: Chuyen Pham Signed-off-by: Chuyen Pham --- bitnami/external-dns/Chart.yaml | 2 +- bitnami/external-dns/README.md | 4 ++++ .../external-dns/templates/podmonitor.yaml | 22 +++++++++++++++++++ bitnami/external-dns/values.yaml | 15 +++++++++++++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 bitnami/external-dns/templates/podmonitor.yaml diff --git a/bitnami/external-dns/Chart.yaml b/bitnami/external-dns/Chart.yaml index d36dabfd79..b412b16fae 100644 --- a/bitnami/external-dns/Chart.yaml +++ b/bitnami/external-dns/Chart.yaml @@ -24,4 +24,4 @@ sources: - https://github.com/kubernetes-sigs/external-dns - https://github.com/bitnami/containers/tree/main/bitnami/external-dns - https://github.com/kubernetes-sigs/external-dns -version: 6.9.0 +version: 6.10.0 diff --git a/bitnami/external-dns/README.md b/bitnami/external-dns/README.md index 4612ef497b..d18cfa3b57 100755 --- a/bitnami/external-dns/README.md +++ b/bitnami/external-dns/README.md @@ -329,6 +329,10 @@ The command removes all the Kubernetes components associated with the chart and | `metrics.serviceMonitor.honorLabels` | Specify honorLabels parameter to add the scrape endpoint | `false` | | `metrics.serviceMonitor.labels` | Used to pass Labels that are required by the installed Prometheus Operator | `{}` | | `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` | +| `metrics.googlePodMonitor.enabled` | Create Google Managed Prometheus PodMonitoring object | `false` | +| `metrics.googlePodMonitor.namespace` | Namespace in which PodMonitoring created | `""` | +| `metrics.googlePodMonitor.interval` | Interval at which metrics should be scraped by Google Managed Prometheus | `60s` | +| `metrics.googlePodMonitor.endpoint` | The endpoint for Google Managed Prometheus scraping the metrics | `/metrics` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/bitnami/external-dns/templates/podmonitor.yaml b/bitnami/external-dns/templates/podmonitor.yaml new file mode 100644 index 0000000000..8144a8d7b1 --- /dev/null +++ b/bitnami/external-dns/templates/podmonitor.yaml @@ -0,0 +1,22 @@ +{{- if and .Values.metrics.enabled .Values.metrics.googlePodMonitor.enabled }} +apiVersion: monitoring.googleapis.com/v1 +kind: PodMonitoring +metadata: + name: {{ template "external-dns.fullname" . }} + namespace: {{ default .Release.Namespace .Values.metrics.googlePodMonitor.namespace | quote }} + labels: {{ include "external-dns.labels" . | nindent 4 }} + {{- if .Values.commonLabels }} + {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} + {{- end }} +spec: + endpoints: + - port: http + {{- with .Values.metrics.googlePodMonitor.endpoint }} + path: {{ . }} + {{- end }} + {{- with .Values.metrics.googlePodMonitor.interval }} + interval: {{ . }} + {{- end }} + selector: + matchLabels: {{ include "external-dns.matchLabels" . | nindent 6 }} +{{- end }} diff --git a/bitnami/external-dns/values.yaml b/bitnami/external-dns/values.yaml index 1b24651d7e..ab4153b4ab 100644 --- a/bitnami/external-dns/values.yaml +++ b/bitnami/external-dns/values.yaml @@ -1029,3 +1029,18 @@ metrics: ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus. ## jobLabel: "" + ## Google Managed Prometheus PodMonitor configuration + ## + googlePodMonitor: + ## @param metrics.googlePodMonitor.enabled Create Google Managed Prometheus PodMonitoring object + ## + enabled: false + ## @param metrics.googlePodMonitor.namespace Namespace in which PodMonitoring created + ## + namespace: "" + ## @param metrics.googlePodMonitor.interval Interval at which metrics should be scraped by Google Managed Prometheus + ## + interval: "60s" + ## @param metrics.googlePodMonitor.endpoint The endpoint for Google Managed Prometheus scraping the metrics + ## + endpoint: /metrics