diff --git a/charts/kured/templates/service.yaml b/charts/kured/templates/service.yaml new file mode 100644 index 0000000..715bee9 --- /dev/null +++ b/charts/kured/templates/service.yaml @@ -0,0 +1,15 @@ +{{- if .Values.metrics.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kured.fullname" . }} + labels: + {{- include "kured.labels" . | nindent 4 }} +spec: + type: ClusterIP + ports: + - name: metrics + port: 8080 + selector: + {{- include "kured.labels" . | nindent 4 }} +{{- end }} \ No newline at end of file diff --git a/charts/kured/templates/servicemonitor.yaml b/charts/kured/templates/servicemonitor.yaml new file mode 100644 index 0000000..966beb0 --- /dev/null +++ b/charts/kured/templates/servicemonitor.yaml @@ -0,0 +1,31 @@ +{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kured.fullname" . }} + {{- if .Values.metrics.serviceMonitor.namespace }} + namespace: {{ .Values.metrics.serviceMonitor.namespace }} + {{- end }} + labels: + {{- include "kured.labels" . | nindent 4 }} + {{- if .Values.metrics.serviceMonitor.labels }} + {{- toYaml .Values.metrics.serviceMonitor.labels | nindent 4 }} + {{- end }} +spec: + endpoints: + - interval: {{ .Values.metrics.serviceMonitor.interval }} + {{- if .Values.metrics.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }} + {{- end }} + honorLabels: true + targetPort: 8080 + path: /metrics + scheme: http + jobLabel: "{{ .Release.Name }}" + selector: + matchLabels: + {{- include "kured.labels" . | nindent 4 }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} +{{- end }} diff --git a/charts/kured/values.yaml b/charts/kured/values.yaml index f1c9e04..bcb4d09 100644 --- a/charts/kured/values.yaml +++ b/charts/kured/values.yaml @@ -32,6 +32,15 @@ serviceAccount: create: true name: +metrics: + enabled: false + serviceMonitor: + enabled: true + namespace: "" + labels: {} + interval: 60s + scrapeTimeout: "" + updateStrategy: OnDelete priorityClassName: ""