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