diff --git a/charts/zot/Chart.yaml b/charts/zot/Chart.yaml index 81c0d7f..9c0bb63 100644 --- a/charts/zot/Chart.yaml +++ b/charts/zot/Chart.yaml @@ -3,4 +3,4 @@ appVersion: v2.1.0 description: A Helm chart for Kubernetes name: zot type: application -version: 0.1.58 +version: 0.1.59 diff --git a/charts/zot/templates/servicemonitor.yaml b/charts/zot/templates/servicemonitor.yaml new file mode 100644 index 0000000..335f244 --- /dev/null +++ b/charts/zot/templates/servicemonitor.yaml @@ -0,0 +1,38 @@ +{{- if .Values.metrics }} +{{- if .Values.metrics.enabled }} +{{- if .Values.metrics.serviceMonitor }} +{{- if .Values.metrics.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "zot.fullname" . }} + labels: + app.kubernetes.io/component: metrics +spec: + {{- if .Values.metrics.serviceMonitor.jobLabel }} + jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel }} + {{- end }} + selector: + matchLabels: + {{- include "zot.selectorLabels" . | nindent 6 }} + endpoints: + - port: zot + {{- if .Values.metrics.serviceMonitor.interval }} + interval: {{ .Values.metrics.serviceMonitor.interval }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.path }} + path: {{ .Values.metrics.serviceMonitor.path }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.scheme }} + scheme: {{ .Values.metrics.serviceMonitor.scheme }} + {{- end }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} +{{- end }} +{{- end }} +{{- end }} +{{- end }} diff --git a/charts/zot/values.yaml b/charts/zot/values.yaml index bfc41ca..d193fdf 100644 --- a/charts/zot/values.yaml +++ b/charts/zot/values.yaml @@ -177,3 +177,18 @@ strategy: # maxUnavailable: 25% podAnnotations: {} + +# Metrics configuration +# NOTE: need enable metric extension in config.json +metrics: + # Start a prometheus exporter + enabled: false + + # Prometheus Operator ServiceMonitor configuration + serviceMonitor: + # Start a ServiceMonitor for Prometheus Operator + enabled: false + # Specify the interval at which metrics should be scraped + interval: "30s" + # Specify the path to scrape metrics from + path: "/metrics"