diff --git a/stable/kube-state-metrics/Chart.yaml b/stable/kube-state-metrics/Chart.yaml index 2f0f39d96b..32d2f07e07 100644 --- a/stable/kube-state-metrics/Chart.yaml +++ b/stable/kube-state-metrics/Chart.yaml @@ -5,7 +5,7 @@ keywords: - metric - monitoring - prometheus -version: 0.16.0 +version: 1.0.0 appVersion: 1.5.0 home: https://github.com/kubernetes/kube-state-metrics/ sources: diff --git a/stable/kube-state-metrics/README.md b/stable/kube-state-metrics/README.md index 94ad04990f..266b6f02ab 100644 --- a/stable/kube-state-metrics/README.md +++ b/stable/kube-state-metrics/README.md @@ -54,3 +54,6 @@ $ helm install stable/kube-state-metrics | `collectors.secrets` | Enable the secrets collector. | true | | `collectors.services` | Enable the services collector. | true | | `collectors.statefulsets` | Enable the statefulsets collector. | true | +| `prometheus.monitor.enabled` | Set this to `true` to create ServiceMonitor for Prometheus operator | `false` | +| `prometheus.monitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}` | +| `prometheus.monitor.namespace` | namespace where servicemonitor resource should be created | `the same namespace as kube-state-metrics` | diff --git a/stable/kube-state-metrics/templates/monitor.yaml b/stable/kube-state-metrics/templates/monitor.yaml new file mode 100644 index 0000000000..2aaf35b804 --- /dev/null +++ b/stable/kube-state-metrics/templates/monitor.yaml @@ -0,0 +1,23 @@ +{{- if .Values.prometheus.monitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-state-metrics.fullname" . }} + labels: + name: {{ template "kube-state-metrics.fullname" . }} + labels: + app: {{ template "kube-state-metrics.name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + {{- if .Values.prometheus.monitor.additionalLabels }} +{{ toYaml .Values.prometheus.monitor.additionalLabels | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: + app: {{ template "kube-state-metrics.name" . }} + release: {{ .Release.Name }} + endpoints: + - port: http +{{- end }} diff --git a/stable/kube-state-metrics/values.yaml b/stable/kube-state-metrics/values.yaml index 86aab9bf0a..bc2861935c 100644 --- a/stable/kube-state-metrics/values.yaml +++ b/stable/kube-state-metrics/values.yaml @@ -28,6 +28,12 @@ serviceAccount: # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ imagePullSecrets: [] +prometheus: + monitor: + enabled: false + additionalLabels: {} + namespace: "" + ## Specify if a Pod Security Policy for kube-state-metrics must be created ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/ ##