From 1f67a85a587182a5f741cb3f846eeb6f2ec887ce Mon Sep 17 00:00:00 2001 From: Alan Tang Date: Tue, 27 Oct 2020 17:31:38 +0000 Subject: [PATCH] feat(argo-rollouts): Add service monitor (#474) Co-authored-by: Scott Cabrinha --- charts/argo-rollouts/Chart.yaml | 2 +- charts/argo-rollouts/README.md | 1 + .../argo-rollouts-service-monitor.yaml | 28 +++++++++++++++++++ charts/argo-rollouts/values.yaml | 6 ++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 charts/argo-rollouts/templates/argo-rollouts-service-monitor.yaml diff --git a/charts/argo-rollouts/Chart.yaml b/charts/argo-rollouts/Chart.yaml index 26d47ab3..dfc42e56 100644 --- a/charts/argo-rollouts/Chart.yaml +++ b/charts/argo-rollouts/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "0.9.1" description: A Helm chart for Argo Rollouts name: argo-rollouts -version: 0.3.7 +version: 0.3.8 icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo-rollouts/README.md b/charts/argo-rollouts/README.md index 3d484594..37ea661b 100644 --- a/charts/argo-rollouts/README.md +++ b/charts/argo-rollouts/README.md @@ -39,6 +39,7 @@ $ helm install --name my-release argo/argo-rollouts | controller.tolerations | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) | `[]` | | controller.affinity | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | `{}` | | controller.nodeSelector | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) | `{}` | +| controller.metrics.serviceMonitor.enabled | bool | `false` | | | imagePullSecrets | list | `[]` | | | installCRDs | bool | `true` | | | podAnnotations | object | `{}` | | diff --git a/charts/argo-rollouts/templates/argo-rollouts-service-monitor.yaml b/charts/argo-rollouts/templates/argo-rollouts-service-monitor.yaml new file mode 100644 index 00000000..ea67f356 --- /dev/null +++ b/charts/argo-rollouts/templates/argo-rollouts-service-monitor.yaml @@ -0,0 +1,28 @@ +{{- if .Values.controller.metrics.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ .Release.Name }} + labels: + app.kubernetes.io/component: server + app.kubernetes.io/name: {{ .Release.Name }}-metrics + app.kubernetes.io/part-of: {{ .Release.Name }} + {{- if .Values.controller.metrics.serviceMonitor.additionalLabels }} +{{ toYaml .Values.controller.metrics.serviceMonitor.additionalLabels | indent 4 }} + {{- end }} + {{- if .Values.controller.metrics.serviceMonitor.additionalAnnotations }} + annotations: +{{ toYaml .Values.controller.metrics.serviceMonitor.additionalAnnotations | indent 4 }} + {{- end }} +spec: + endpoints: + - port: metrics + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + app.kubernetes.io/component: server + app.kubernetes.io/name: {{ .Release.Name }}-metrics + app.kubernetes.io/part-of: {{ .Release.Name }} +{{- end }} diff --git a/charts/argo-rollouts/values.yaml b/charts/argo-rollouts/values.yaml index ed242ff1..a488e6ec 100644 --- a/charts/argo-rollouts/values.yaml +++ b/charts/argo-rollouts/values.yaml @@ -24,6 +24,12 @@ controller: # cpu: 50m # memory: 64Mi + metrics: + serviceMonitor: + enabled: false + additionalLabels: {} + additionalAnnotations: {} + serviceAccount: name: argo-rollouts