Skip to content

Commit 0511f88

Browse files
committed
charts: add ServiceMonitor and metrics token for aws/gcp credential managers
Signed-off-by: Tamal Saha <tamal@appscode.com>
1 parent 74e22a3 commit 0511f88

File tree

6 files changed

+112
-0
lines changed

6 files changed

+112
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{{- if eq .Values.monitoring.agent "prometheus.io/operator" }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: {{ include "aws-credential-manager.fullname" . }}-metrics-token
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "aws-credential-manager.labels" . | nindent 4 }}
9+
annotations:
10+
kubernetes.io/service-account.name: {{ include "aws-credential-manager.serviceAccountName" . }}
11+
type: kubernetes.io/service-account-token
12+
{{- end }}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{{- if eq .Values.monitoring.agent "prometheus.io/operator" }}
2+
apiVersion: monitoring.coreos.com/v1
3+
kind: ServiceMonitor
4+
metadata:
5+
name: {{ include "aws-credential-manager.fullname" . }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- if .Values.monitoring.serviceMonitor.labels }}
9+
{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }}
10+
{{ $key }}: {{ $val }}
11+
{{- end }}
12+
{{- else }}
13+
{{- include "aws-credential-manager.selectorLabels" . | nindent 4 }}
14+
{{- end }}
15+
spec:
16+
namespaceSelector:
17+
matchNames:
18+
- {{ .Release.Namespace }}
19+
selector:
20+
matchLabels:
21+
{{- include "aws-credential-manager.selectorLabels" . | nindent 6 }}
22+
endpoints:
23+
- targetPort: 9443
24+
bearerTokenSecret:
25+
key: token
26+
name: {{ include "aws-credential-manager.fullname" . }}-metrics-token
27+
path: /metrics
28+
scheme: https
29+
tlsConfig:
30+
ca:
31+
secret:
32+
name: {{ include "aws-credential-manager.fullname" . }}-apiserver-cert
33+
key: ca.crt
34+
serverName: "{{ include "aws-credential-manager.webhookServiceName" . }}.{{ .Release.Namespace }}.svc"
35+
{{- end }}

charts/aws-credential-manager/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,12 @@ apiserver:
126126
serverCrt: ""
127127
# Private key for the serving certificate used by webhook server.
128128
serverKey: ""
129+
130+
monitoring:
131+
# Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin")
132+
agent: ""
133+
serviceMonitor:
134+
# Specify the labels for ServiceMonitor.
135+
# Prometheus crd will select ServiceMonitor using these labels.
136+
# Only usable when monitoring agent is `prometheus.io/operator`.
137+
labels: {}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{{- if eq .Values.monitoring.agent "prometheus.io/operator" }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: {{ include "gcp-credential-manager.fullname" . }}-metrics-token
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "gcp-credential-manager.labels" . | nindent 4 }}
9+
annotations:
10+
kubernetes.io/service-account.name: {{ include "gcp-credential-manager.serviceAccountName" . }}
11+
type: kubernetes.io/service-account-token
12+
{{- end }}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{{- if eq .Values.monitoring.agent "prometheus.io/operator" }}
2+
apiVersion: monitoring.coreos.com/v1
3+
kind: ServiceMonitor
4+
metadata:
5+
name: {{ include "gcp-credential-manager.fullname" . }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- if .Values.monitoring.serviceMonitor.labels }}
9+
{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }}
10+
{{ $key }}: {{ $val }}
11+
{{- end }}
12+
{{- else }}
13+
{{- include "gcp-credential-manager.selectorLabels" . | nindent 4 }}
14+
{{- end }}
15+
spec:
16+
namespaceSelector:
17+
matchNames:
18+
- {{ .Release.Namespace }}
19+
selector:
20+
matchLabels:
21+
{{- include "gcp-credential-manager.selectorLabels" . | nindent 6 }}
22+
endpoints:
23+
- targetPort: 9443
24+
bearerTokenSecret:
25+
key: token
26+
name: {{ include "gcp-credential-manager.fullname" . }}-metrics-token
27+
path: /metrics
28+
scheme: https
29+
tlsConfig:
30+
ca:
31+
secret:
32+
name: {{ include "gcp-credential-manager.fullname" . }}-apiserver-cert
33+
key: ca.crt
34+
serverName: "{{ include "gcp-credential-manager.webhookServiceName" . }}.{{ .Release.Namespace }}.svc"
35+
{{- end }}

charts/gcp-credential-manager/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,12 @@ apiserver:
105105
serverCrt: ""
106106
# Private key for the serving certificate used by webhook server.
107107
serverKey: ""
108+
109+
monitoring:
110+
# Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin")
111+
agent: ""
112+
serviceMonitor:
113+
# Specify the labels for ServiceMonitor.
114+
# Prometheus crd will select ServiceMonitor using these labels.
115+
# Only usable when monitoring agent is `prometheus.io/operator`.
116+
labels: {}

0 commit comments

Comments
 (0)