{{- if and (.Values.kubeStateMetrics) (.Values.kubeStateMetrics.enable) -}} apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: kube-state-metrics namespace: {{ .Values.argoNamespace | default "argocd" }} finalizers: - resources-finalizer.argocd.argoproj.io spec: project: {{ .Values.argoProject | default "default" }} source: repoURL: {{ .Values.repoUrl }} path: add-ons/kube-state-metrics targetRevision: {{ .Values.targetRevision }} helm: values: | kube-state-metrics: {{- toYaml .Values.kubeStateMetrics | nindent 10 }} parameters: - name: kube-state-metrics.serviceAccount.name value: {{ .Values.kubeStateMetrics.serviceAccountName }} destination: server: {{ .Values.destinationServer | default "https://kubernetes.default.svc" }} namespace: kube-state-metrics syncPolicy: automated: prune: true syncOptions: - CreateNamespace={{ .Values.kubeStateMetrics.createNamespace }} retry: limit: 1 backoff: duration: 5s factor: 2 maxDuration: 1m {{- end -}}