From c09e471474c3b2f3a0f5b44151572e045d017956 Mon Sep 17 00:00:00 2001 From: Stefan Reimer Date: Sun, 16 Aug 2020 15:49:57 +0100 Subject: [PATCH] Wire up prometheus metrics for argo-cd --- charts/kubezero-argo-cd/Chart.yaml | 2 +- charts/kubezero-argo-cd/README.md | 14 +++++++++++++- charts/kubezero-argo-cd/values.yaml | 26 +++++++++++++++++++++++++- deploy/templates/values.yaml | 9 +++++++-- 4 files changed, 46 insertions(+), 5 deletions(-) diff --git a/charts/kubezero-argo-cd/Chart.yaml b/charts/kubezero-argo-cd/Chart.yaml index 820dd55f..618d4b00 100644 --- a/charts/kubezero-argo-cd/Chart.yaml +++ b/charts/kubezero-argo-cd/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 description: KubeZero ArgoCD Helm chart to install ArgoCD itself and the KubeZero ArgoCD Application name: kubezero-argo-cd -version: 0.3.13 +version: 0.4.0 home: https://kubezero.com icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png keywords: diff --git a/charts/kubezero-argo-cd/README.md b/charts/kubezero-argo-cd/README.md index b15d5b04..0ba38ee9 100644 --- a/charts/kubezero-argo-cd/README.md +++ b/charts/kubezero-argo-cd/README.md @@ -2,7 +2,7 @@ kubezero-argo-cd ================ KubeZero ArgoCD Helm chart to install ArgoCD itself and the KubeZero ArgoCD Application -Current chart version is `0.3.13` +Current chart version is `0.4.0` Source code can be found [here](https://kubezero.com) @@ -20,6 +20,10 @@ Source code can be found [here](https://kubezero.com) | argo-cd.controller.args.appResyncPeriod | string | `"300"` | | | argo-cd.controller.args.operationProcessors | string | `"1"` | | | argo-cd.controller.args.statusProcessors | string | `"2"` | | +| argo-cd.controller.metrics.enabled | bool | `false` | | +| argo-cd.controller.metrics.serviceMonitor.additionalLabels.release | string | `"metrics"` | | +| argo-cd.controller.metrics.serviceMonitor.enabled | bool | `true` | | +| argo-cd.controller.metrics.serviceMonitor.namespace | string | `"monitoring"` | | | argo-cd.controller.nodeSelector."node-role.kubernetes.io/master" | string | `""` | | | argo-cd.controller.tolerations[0].effect | string | `"NoSchedule"` | | | argo-cd.controller.tolerations[0].key | string | `"node-role.kubernetes.io/master"` | | @@ -31,12 +35,20 @@ Source code can be found [here](https://kubezero.com) | argo-cd.redis.nodeSelector."node-role.kubernetes.io/master" | string | `""` | | | argo-cd.redis.tolerations[0].effect | string | `"NoSchedule"` | | | argo-cd.redis.tolerations[0].key | string | `"node-role.kubernetes.io/master"` | | +| argo-cd.repoServer.metrics.enabled | bool | `false` | | +| argo-cd.repoServer.metrics.serviceMonitor.additionalLabels.release | string | `"metrics"` | | +| argo-cd.repoServer.metrics.serviceMonitor.enabled | bool | `true` | | +| argo-cd.repoServer.metrics.serviceMonitor.namespace | string | `"monitoring"` | | | argo-cd.repoServer.nodeSelector."node-role.kubernetes.io/master" | string | `""` | | | argo-cd.repoServer.tolerations[0].effect | string | `"NoSchedule"` | | | argo-cd.repoServer.tolerations[0].key | string | `"node-role.kubernetes.io/master"` | | | argo-cd.server.config."resource.customizations" | string | `"cert-manager.io/Certificate:\n # Lua script for customizing the health status assessment\n health.lua: |\n hs = {}\n if obj.status ~= nil then\n if obj.status.conditions ~= nil then\n for i, condition in ipairs(obj.status.conditions) do\n if condition.type == \"Ready\" and condition.status == \"False\" then\n hs.status = \"Degraded\"\n hs.message = condition.message\n return hs\n end\n if condition.type == \"Ready\" and condition.status == \"True\" then\n hs.status = \"Healthy\"\n hs.message = condition.message\n return hs\n end\n end\n end\n end\n hs.status = \"Progressing\"\n hs.message = \"Waiting for certificate\"\n return hs\n"` | | | argo-cd.server.config.url | string | `"argocd.example.com"` | ArgoCD hostname to be exposed via Istio | | argo-cd.server.extraArgs[0] | string | `"--insecure"` | | +| argo-cd.server.metrics.enabled | bool | `false` | | +| argo-cd.server.metrics.serviceMonitor.additionalLabels.release | string | `"metrics"` | | +| argo-cd.server.metrics.serviceMonitor.enabled | bool | `true` | | +| argo-cd.server.metrics.serviceMonitor.namespace | string | `"monitoring"` | | | argo-cd.server.nodeSelector."node-role.kubernetes.io/master" | string | `""` | | | argo-cd.server.service.servicePortHttpsName | string | `"grpc"` | | | argo-cd.server.tolerations[0].effect | string | `"NoSchedule"` | | diff --git a/charts/kubezero-argo-cd/values.yaml b/charts/kubezero-argo-cd/values.yaml index e24d20bd..c36fc9df 100644 --- a/charts/kubezero-argo-cd/values.yaml +++ b/charts/kubezero-argo-cd/values.yaml @@ -24,13 +24,21 @@ argo-cd: # argocdServerAdminPassword: "$2a$10$ivKzaXVxMqdeDSfS3nqi1Od3iDbnL7oXrixzDfZFRHlXHnAG6LydG" # argocdServerAdminPasswordMtime: "2020-04-24T15:33:09BST" - # Run Argo on the controllers controller: args: statusProcessors: "2" operationProcessors: "1" appResyncPeriod: "300" + metrics: + enabled: false + serviceMonitor: + enabled: true + namespace: monitoring + additionalLabels: + release: metrics + + # controller to masters nodeSelector: node-role.kubernetes.io/master: "" tolerations: @@ -38,6 +46,14 @@ argo-cd: effect: NoSchedule repoServer: + metrics: + enabled: false + serviceMonitor: + enabled: true + namespace: monitoring + additionalLabels: + release: metrics + nodeSelector: node-role.kubernetes.io/master: "" tolerations: @@ -78,6 +94,14 @@ argo-cd: service: servicePortHttpsName: grpc + metrics: + enabled: false + serviceMonitor: + enabled: true + namespace: monitoring + additionalLabels: + release: metrics + extraArgs: - --insecure nodeSelector: diff --git a/deploy/templates/values.yaml b/deploy/templates/values.yaml index 9bb2f9f1..15b9dac1 100644 --- a/deploy/templates/values.yaml +++ b/deploy/templates/values.yaml @@ -163,10 +163,15 @@ kubezero: {{- end }} argo-cd: - {{- with index .Values "argo-cd" "server" }} + controller: + metrics: {{ .Values.metrics.enabled }} + repoServer: + metrics: {{ .Values.metrics.enabled }} server: + metrics: {{ .Values.metrics.enabled }} + {{- with index .Values "argo-cd" "server" }} {{- toYaml . | nindent 4 }} - {{- end }} + {{- end }} {{- with index .Values "argo-cd" "configs" }} configs: {{- toYaml . | nindent 4 }}