forked from argoproj/argo-helm
feat(argocd-applicationset): Add resources metrics-service and servicemonitor. (#1041)
* [argocd-applicationset]: Add metrics-service and servicemonitor to applicationset. Signed-off-by: fuyuan.chu <fuyuan.chu@airwallex.com> * [argocd-applicationset]: Add ci values for servicemonitor. Signed-off-by: fuyuan.chu <fuyuan.chu@airwallex.com> * format indent Signed-off-by: fuyuan.chu <fuyuan.chu@airwallex.com> * update helm docs Signed-off-by: fuyuan.chu <fuyuan.chu@airwallex.com> * update ci values Signed-off-by: fuyuan.chu <fuyuan.chu@airwallex.com> * update ci values Signed-off-by: fuyuan.chu <fuyuan.chu@airwallex.com> * chore: Use consistent indents and file ending Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> * Also disable mounts of ArgoCD during metrics test Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>main argocd-applicationset-1.7.0
parent
60693bb289
commit
817652a449
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||
name: argocd-applicationset
|
||||
description: A Helm chart for installing ArgoCD ApplicationSet
|
||||
type: application
|
||||
version: 1.6.0
|
||||
version: 1.7.0
|
||||
appVersion: "v0.2.0"
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
icon: https://argocd-applicationset.readthedocs.io/en/stable/assets/logo.png
|
||||
|
@ -14,5 +14,4 @@ maintainers:
|
|||
- name: maruina
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- "[Added]: Install the chart into a kind cluster during the chart testing process"
|
||||
- "[Changed]: Parameter 'args.namespace' now defaults to the namespace where you install the chart to"
|
||||
- "[Added]: Add resources metrics-service and servicemonitor, not enabled by default."
|
||||
|
|
|
@ -73,6 +73,17 @@ kubectl apply -k https://github.com/argoproj-labs/applicationset.git/manifests/c
|
|||
| image.repository | string | `"quay.io/argoproj/argocd-applicationset"` | The image repository |
|
||||
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
|
||||
| imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository. |
|
||||
| metrics.enabled | bool | `false` | Deploy metrics service |
|
||||
| metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||
| metrics.service.labels | object | `{}` | Metrics service labels |
|
||||
| metrics.service.servicePort | int | `8085` | Metrics service port |
|
||||
| metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||
| metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||
| metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
|
||||
| metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||
| metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||
| metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||
| metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||
| mountGPGKeyringVolume | bool | `true` | Mount an emptyDir volume for `gpg-keyring` |
|
||||
| mountGPGKeysVolume | bool | `false` | Mount the `argocd-gpg-keys-cm` volume |
|
||||
| mountSSHKnownHostsVolume | bool | `true` | Mount the `argocd-ssh-known-hosts-cm` volume |
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
metrics:
|
||||
enabled: true
|
||||
|
||||
# Disable mounts of ArgoCD related ConfigMaps as ArgoCD isn't installed during chart testing
|
||||
mountSSHKnownHostsVolume: false
|
||||
mountTLSCertsVolume: false
|
||||
mountGPGKeysVolume: false
|
|
@ -53,6 +53,9 @@ spec:
|
|||
- name: http
|
||||
containerPort: {{ (split ":" .Values.args.probeBindAddr)._1 }}
|
||||
protocol: TCP
|
||||
- name: metrics
|
||||
containerPort: {{ (split ":" .Values.args.metricsAddr)._1 }}
|
||||
protocol: TCP
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
volumeMounts:
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{{- if .Values.metrics.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
{{- if .Values.metrics.service.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := .Values.metrics.service.annotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "argo-applicationset.labels" . | nindent 4 }}
|
||||
{{- with .Values.metrics.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-applicationset.fullname" . }}-metrics
|
||||
spec:
|
||||
ports:
|
||||
- name: metrics
|
||||
protocol: TCP
|
||||
port: {{ .Values.metrics.service.servicePort }}
|
||||
targetPort: metrics
|
||||
selector:
|
||||
{{- include "argo-applicationset.selectorLabels" . | nindent 4 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,38 @@
|
|||
{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "argo-applicationset.fullname" . }}
|
||||
{{- if .Values.metrics.serviceMonitor.namespace }}
|
||||
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "argo-applicationset.labels" . | nindent 4 }}
|
||||
{{- with .Values.metrics.serviceMonitor.selector }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.serviceMonitor.additionalLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
endpoints:
|
||||
- port: metrics
|
||||
{{- with .Values.metrics.serviceMonitor.interval }}
|
||||
interval: {{ . }}
|
||||
{{- end }}
|
||||
path: /metrics
|
||||
{{- with .Values.metrics.serviceMonitor.relabelings }}
|
||||
relabelings:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "argo-applicationset.selectorLabels" . | nindent 6 }}
|
||||
{{- end }}
|
|
@ -31,6 +31,35 @@ args:
|
|||
# -- Enable dry run mode
|
||||
dryRun: false
|
||||
|
||||
## Metrics service configuration
|
||||
metrics:
|
||||
# -- Deploy metrics service
|
||||
enabled: false
|
||||
service:
|
||||
# -- Metrics service annotations
|
||||
annotations: {}
|
||||
# -- Metrics service labels
|
||||
labels: {}
|
||||
# -- Metrics service port
|
||||
servicePort: 8085
|
||||
serviceMonitor:
|
||||
# -- Enable a prometheus ServiceMonitor
|
||||
enabled: false
|
||||
# -- Prometheus ServiceMonitor interval
|
||||
interval: 30s
|
||||
# -- Prometheus [RelabelConfigs] to apply to samples before scraping
|
||||
relabelings: []
|
||||
# -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
|
||||
metricRelabelings: []
|
||||
# -- Prometheus ServiceMonitor selector
|
||||
selector: {}
|
||||
# prometheus: kube-prometheus
|
||||
|
||||
# -- Prometheus ServiceMonitor namespace
|
||||
namespace: "" # monitoring
|
||||
# -- Prometheus ServiceMonitor labels
|
||||
additionalLabels: {}
|
||||
|
||||
# -- If defined, uses a Secret to pull an image from a private Docker registry or repository.
|
||||
imagePullSecrets: []
|
||||
# -- Provide a name in place of `argocd-applicationset`
|
||||
|
|
Loading…
Reference in New Issue