Skip to content

Commit 90787b3

Browse files
committed
feat: ServiceMonitor Support for Promtheus-Operator :02
1 parent acafa01 commit 90787b3

File tree

3 files changed

+265
-7
lines changed

3 files changed

+265
-7
lines changed

charts/ext-postgres-operator/out

Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
---
2+
# Source: ext-postgres-operator/templates/serviceaccount.yaml
3+
apiVersion: v1
4+
kind: ServiceAccount
5+
metadata:
6+
name: ext-postgres-operator
7+
labels:
8+
helm.sh/chart: ext-postgres-operator-2.2.0
9+
app.kubernetes.io/name: ext-postgres-operator
10+
app.kubernetes.io/instance: ext-postgres-operator
11+
app.kubernetes.io/version: "2.0.0"
12+
app.kubernetes.io/managed-by: Helm
13+
namespace: ext-postgres-operator
14+
automountServiceAccountToken: true
15+
---
16+
# Source: ext-postgres-operator/templates/secret.yaml
17+
apiVersion: v1
18+
kind: Secret
19+
metadata:
20+
annotations:
21+
"helm.sh/resource-policy": keep
22+
name: ext-postgres-operator
23+
namespace: ext-postgres-operator
24+
labels:
25+
helm.sh/chart: ext-postgres-operator-2.2.0
26+
app.kubernetes.io/name: ext-postgres-operator
27+
app.kubernetes.io/instance: ext-postgres-operator
28+
app.kubernetes.io/version: "2.0.0"
29+
app.kubernetes.io/managed-by: Helm
30+
type: Opaque
31+
data:
32+
POSTGRES_HOST: "cHNvdGdyZXMtcG9zdGdyZXNxbC5kZXYuc3Zj"
33+
POSTGRES_USER: "cG9zdGdyZXM="
34+
POSTGRES_PASS: "Zm5wMjM5NDhyaDIzWzA4MjFHMTMxQCE="
35+
POSTGRES_URI_ARGS: "c3NsbW9kZT1kaXNhYmxl"
36+
POSTGRES_CLOUD_PROVIDER: ""
37+
POSTGRES_DEFAULT_DATABASE: "cG9zdGdyZXM="
38+
---
39+
# Source: ext-postgres-operator/templates/clusterrole.yaml
40+
apiVersion: rbac.authorization.k8s.io/v1
41+
kind: ClusterRole
42+
metadata:
43+
name: ext-postgres-operator
44+
labels:
45+
helm.sh/chart: ext-postgres-operator-2.2.0
46+
app.kubernetes.io/name: ext-postgres-operator
47+
app.kubernetes.io/instance: ext-postgres-operator
48+
app.kubernetes.io/version: "2.0.0"
49+
app.kubernetes.io/managed-by: Helm
50+
rules:
51+
- apiGroups:
52+
- ""
53+
resources:
54+
- secrets
55+
verbs:
56+
- "*"
57+
- apiGroups:
58+
- coordination.k8s.io
59+
resources:
60+
- leases
61+
verbs:
62+
- get
63+
- list
64+
- watch
65+
- create
66+
- update
67+
- patch
68+
- delete
69+
- apiGroups:
70+
- apps
71+
resourceNames:
72+
- ext-postgres-operator
73+
resources:
74+
- deployments/finalizers
75+
verbs:
76+
- update
77+
- apiGroups:
78+
- db.movetokube.com
79+
resources:
80+
- "*"
81+
verbs:
82+
- "*"
83+
- apiGroups:
84+
- monitoring.coreos.com
85+
resources:
86+
- servicemonitors
87+
verbs:
88+
- "*"
89+
---
90+
# Source: ext-postgres-operator/templates/clusterrole_binding.yaml
91+
kind: ClusterRoleBinding
92+
apiVersion: rbac.authorization.k8s.io/v1
93+
metadata:
94+
name: ext-postgres-operator
95+
labels:
96+
helm.sh/chart: ext-postgres-operator-2.2.0
97+
app.kubernetes.io/name: ext-postgres-operator
98+
app.kubernetes.io/instance: ext-postgres-operator
99+
app.kubernetes.io/version: "2.0.0"
100+
app.kubernetes.io/managed-by: Helm
101+
subjects:
102+
- kind: ServiceAccount
103+
name: ext-postgres-operator
104+
namespace: ext-postgres-operator
105+
roleRef:
106+
kind: ClusterRole
107+
name: ext-postgres-operator
108+
apiGroup: rbac.authorization.k8s.io
109+
---
110+
# Source: ext-postgres-operator/templates/role.yaml
111+
apiVersion: rbac.authorization.k8s.io/v1
112+
kind: Role
113+
metadata:
114+
name: ext-postgres-operator
115+
labels:
116+
helm.sh/chart: ext-postgres-operator-2.2.0
117+
app.kubernetes.io/name: ext-postgres-operator
118+
app.kubernetes.io/instance: ext-postgres-operator
119+
app.kubernetes.io/version: "2.0.0"
120+
app.kubernetes.io/managed-by: Helm
121+
rules:
122+
- apiGroups:
123+
- ""
124+
resources:
125+
- configmaps
126+
- secrets
127+
- services
128+
verbs:
129+
- "*"
130+
- apiGroups:
131+
- ""
132+
resources:
133+
- pods
134+
verbs:
135+
- "get"
136+
- apiGroups:
137+
- coordination.k8s.io
138+
resources:
139+
- leases
140+
verbs:
141+
- get
142+
- list
143+
- watch
144+
- create
145+
- update
146+
- patch
147+
- delete
148+
- apiGroups:
149+
- "apps"
150+
resources:
151+
- replicasets
152+
- deployments
153+
verbs:
154+
- "get"
155+
---
156+
# Source: ext-postgres-operator/templates/role_binding.yaml
157+
kind: RoleBinding
158+
apiVersion: rbac.authorization.k8s.io/v1
159+
metadata:
160+
name: ext-postgres-operator
161+
labels:
162+
helm.sh/chart: ext-postgres-operator-2.2.0
163+
app.kubernetes.io/name: ext-postgres-operator
164+
app.kubernetes.io/instance: ext-postgres-operator
165+
app.kubernetes.io/version: "2.0.0"
166+
app.kubernetes.io/managed-by: Helm
167+
subjects:
168+
- kind: ServiceAccount
169+
name: ext-postgres-operator
170+
namespace: ext-postgres-operator
171+
roleRef:
172+
kind: Role
173+
name: ext-postgres-operator
174+
apiGroup: rbac.authorization.k8s.io
175+
---
176+
# Source: ext-postgres-operator/templates/operator.yaml
177+
apiVersion: apps/v1
178+
kind: Deployment
179+
metadata:
180+
name: ext-postgres-operator
181+
labels:
182+
helm.sh/chart: ext-postgres-operator-2.2.0
183+
app.kubernetes.io/name: ext-postgres-operator
184+
app.kubernetes.io/instance: ext-postgres-operator
185+
app.kubernetes.io/version: "2.0.0"
186+
app.kubernetes.io/managed-by: Helm
187+
namespace: ext-postgres-operator
188+
annotations:
189+
checksum/secret: 33e44038e70343372f114503490b61378eba5a59ed22f93f508269be4f71e770
190+
spec:
191+
replicas: 2
192+
revisionHistoryLimit: 10
193+
selector:
194+
matchLabels:
195+
app.kubernetes.io/name: ext-postgres-operator
196+
app.kubernetes.io/instance: ext-postgres-operator
197+
template:
198+
metadata:
199+
labels:
200+
app.kubernetes.io/name: ext-postgres-operator
201+
app.kubernetes.io/instance: ext-postgres-operator
202+
spec:
203+
serviceAccountName: ext-postgres-operator
204+
securityContext:
205+
runAsNonRoot: true
206+
imagePullSecrets:
207+
[]
208+
containers:
209+
- name: ext-postgres-operator
210+
securityContext:
211+
allowPrivilegeEscalation: false
212+
capabilities:
213+
drop:
214+
- ALL
215+
image: "postgres-operator:3"
216+
imagePullPolicy: IfNotPresent
217+
ports:
218+
- name: metrics
219+
containerPort: 8080
220+
protocol: "TCP"
221+
envFrom:
222+
- secretRef:
223+
name: ext-postgres-operator
224+
env:
225+
- name: WATCH_NAMESPACE
226+
value:
227+
- name: POD_NAME
228+
valueFrom:
229+
fieldRef:
230+
fieldPath: metadata.name
231+
- name: POSTGRES_INSTANCE
232+
value: "postgres-kind"
233+
livenessProbe:
234+
httpGet:
235+
path: /healthz
236+
port: 8081
237+
initialDelaySeconds: 15
238+
periodSeconds: 20
239+
readinessProbe:
240+
httpGet:
241+
path: /readyz
242+
port: 8081
243+
initialDelaySeconds: 5
244+
periodSeconds: 10
245+
nodeSelector:
246+
{}
247+
tolerations:
248+
[]

charts/ext-postgres-operator/templates/service-monitor.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,14 @@ metadata:
55
annotations:
66
meta.helm.sh/release-name: {{ .Release.Name }}
77
meta.helm.sh/release-namespace: {{ .Release.Namespace }}
8+
{{- with .Values.serviceMonitor.additionalAnnotations }}
9+
{{- toYaml . | nindent 4 }}
10+
{{- end }}
811
labels:
912
{{- include "chart.labels" . | nindent 4 }}
13+
{{- with .Values.serviceMonitor.additonalLabels }}
14+
{{- toYaml . | nindent 4 }}
15+
{{- end }}
1016
name: {{ include "chart.fullname" . }}
1117
namespace: {{ .Release.Namespace }}
1218
spec:
@@ -26,5 +32,4 @@ spec:
2632
selector:
2733
matchLabels:
2834
{{- include "chart.selectorLabels" . | nindent 6 }}
29-
3035
{{- end -}}

charts/ext-postgres-operator/values.yaml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,17 @@ env: {}
115115
# POSTGRES_CLOUD_PROVIDER: "AWS"
116116

117117
# ServiceMonitor is a custom resource defined by the Prometheus Operator
118-
serviceMonitor: {}
119-
# interval: 30s
120-
# scrapeTimeout: 10s
121-
# relabeling: []
122-
# # - targetLabel: app
123-
# # replacement: '{{ include "chart.name" . }}'
118+
serviceMonitor:
119+
interval: 30s
120+
scrapeTimeout: 10s
121+
relabeling: []
122+
# - targetLabel: app
123+
# replacement: '{{ include "chart.name" . }}'
124+
additonalLabels: {}
125+
# e.g. release label of the prometheus operator
126+
# release: prometheus-operator
127+
additionalAnnotations: {}
128+
# e.g. {}
124129

125130
nodeSelector: {}
126131

0 commit comments

Comments
 (0)