Skip to content

Commit 9abbd42

Browse files
authored
Merge pull request #4536 from abhishekdwivedi3060/master
🐛 (kustomize/v2): fix ServiceMonitor with TLS kustomize scaffolding
2 parents 5845cb3 + 97071c1 commit 9abbd42

File tree

18 files changed

+329
-142
lines changed

18 files changed

+329
-142
lines changed

docs/book/src/cronjob-tutorial/testdata/project/config/default/kustomization.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,17 @@ replacements:
7575
delimiter: '.'
7676
index: 0
7777
create: true
78+
- select:
79+
kind: ServiceMonitor
80+
group: monitoring.coreos.com
81+
version: v1
82+
name: controller-manager-metrics-monitor
83+
fieldPaths:
84+
- spec.endpoints.0.tlsConfig.serverName
85+
options:
86+
delimiter: '.'
87+
index: 0
88+
create: true
7889

7990
- source:
8091
kind: Service
@@ -94,6 +105,17 @@ replacements:
94105
delimiter: '.'
95106
index: 1
96107
create: true
108+
- select:
109+
kind: ServiceMonitor
110+
group: monitoring.coreos.com
111+
version: v1
112+
name: controller-manager-metrics-monitor
113+
fieldPaths:
114+
- spec.endpoints.0.tlsConfig.serverName
115+
options:
116+
delimiter: '.'
117+
index: 1
118+
create: true
97119

98120
- source: # Uncomment the following block if you have any webhook
99121
kind: Service
Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
# Patch for Prometheus ServiceMonitor to enable secure TLS configuration
22
# using certificates managed by cert-manager
3-
apiVersion: monitoring.coreos.com/v1
4-
kind: ServiceMonitor
5-
metadata:
6-
name: controller-manager-metrics-monitor
7-
namespace: system
8-
spec:
9-
endpoints:
10-
- tlsConfig:
11-
insecureSkipVerify: false
12-
ca:
13-
secret:
14-
name: metrics-server-cert
15-
key: ca.crt
16-
cert:
17-
secret:
18-
name: metrics-server-cert
19-
key: tls.crt
20-
keySecret:
21-
name: metrics-server-cert
22-
key: tls.key
3+
- op: replace
4+
path: /spec/endpoints/0/tlsConfig
5+
value:
6+
# SERVICE_NAME and SERVICE_NAMESPACE will be substituted by kustomize
7+
serverName: SERVICE_NAME.SERVICE_NAMESPACE.svc
8+
insecureSkipVerify: false
9+
ca:
10+
secret:
11+
name: metrics-server-cert
12+
key: ca.crt
13+
cert:
14+
secret:
15+
name: metrics-server-cert
16+
key: tls.crt
17+
keySecret:
18+
name: metrics-server-cert
19+
key: tls.key

docs/book/src/cronjob-tutorial/testdata/project/dist/install.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4276,7 +4276,11 @@ metadata:
42764276
namespace: project-system
42774277
spec:
42784278
endpoints:
4279-
- tlsConfig:
4279+
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
4280+
path: /metrics
4281+
port: https
4282+
scheme: https
4283+
tlsConfig:
42804284
ca:
42814285
secret:
42824286
key: ca.crt
@@ -4289,6 +4293,7 @@ spec:
42894293
keySecret:
42904294
key: tls.key
42914295
name: metrics-server-cert
4296+
serverName: project-controller-manager-metrics-service.project-system.svc
42924297
selector:
42934298
matchLabels:
42944299
app.kubernetes.io/name: project

docs/book/src/getting-started/testdata/project/config/default/kustomization.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,17 @@ patches:
7575
# delimiter: '.'
7676
# index: 0
7777
# create: true
78+
# - select:
79+
# kind: ServiceMonitor
80+
# group: monitoring.coreos.com
81+
# version: v1
82+
# name: controller-manager-metrics-monitor
83+
# fieldPaths:
84+
# - spec.endpoints.0.tlsConfig.serverName
85+
# options:
86+
# delimiter: '.'
87+
# index: 0
88+
# create: true
7889
#
7990
# - source:
8091
# kind: Service
@@ -94,6 +105,17 @@ patches:
94105
# delimiter: '.'
95106
# index: 1
96107
# create: true
108+
# - select:
109+
# kind: ServiceMonitor
110+
# group: monitoring.coreos.com
111+
# version: v1
112+
# name: controller-manager-metrics-monitor
113+
# fieldPaths:
114+
# - spec.endpoints.0.tlsConfig.serverName
115+
# options:
116+
# delimiter: '.'
117+
# index: 1
118+
# create: true
97119
#
98120
# - source: # Uncomment the following block if you have any webhook
99121
# kind: Service
Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
# Patch for Prometheus ServiceMonitor to enable secure TLS configuration
22
# using certificates managed by cert-manager
3-
apiVersion: monitoring.coreos.com/v1
4-
kind: ServiceMonitor
5-
metadata:
6-
name: controller-manager-metrics-monitor
7-
namespace: system
8-
spec:
9-
endpoints:
10-
- tlsConfig:
11-
insecureSkipVerify: false
12-
ca:
13-
secret:
14-
name: metrics-server-cert
15-
key: ca.crt
16-
cert:
17-
secret:
18-
name: metrics-server-cert
19-
key: tls.crt
20-
keySecret:
21-
name: metrics-server-cert
22-
key: tls.key
3+
- op: replace
4+
path: /spec/endpoints/0/tlsConfig
5+
value:
6+
# SERVICE_NAME and SERVICE_NAMESPACE will be substituted by kustomize
7+
serverName: SERVICE_NAME.SERVICE_NAMESPACE.svc
8+
insecureSkipVerify: false
9+
ca:
10+
secret:
11+
name: metrics-server-cert
12+
key: ca.crt
13+
cert:
14+
secret:
15+
name: metrics-server-cert
16+
key: tls.crt
17+
keySecret:
18+
name: metrics-server-cert
19+
key: tls.key

docs/book/src/multiversion-tutorial/testdata/project/config/default/kustomization.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,17 @@ replacements:
7575
delimiter: '.'
7676
index: 0
7777
create: true
78+
- select:
79+
kind: ServiceMonitor
80+
group: monitoring.coreos.com
81+
version: v1
82+
name: controller-manager-metrics-monitor
83+
fieldPaths:
84+
- spec.endpoints.0.tlsConfig.serverName
85+
options:
86+
delimiter: '.'
87+
index: 0
88+
create: true
7889

7990
- source:
8091
kind: Service
@@ -94,6 +105,17 @@ replacements:
94105
delimiter: '.'
95106
index: 1
96107
create: true
108+
- select:
109+
kind: ServiceMonitor
110+
group: monitoring.coreos.com
111+
version: v1
112+
name: controller-manager-metrics-monitor
113+
fieldPaths:
114+
- spec.endpoints.0.tlsConfig.serverName
115+
options:
116+
delimiter: '.'
117+
index: 1
118+
create: true
97119

98120
- source: # Uncomment the following block if you have any webhook
99121
kind: Service
Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
# Patch for Prometheus ServiceMonitor to enable secure TLS configuration
22
# using certificates managed by cert-manager
3-
apiVersion: monitoring.coreos.com/v1
4-
kind: ServiceMonitor
5-
metadata:
6-
name: controller-manager-metrics-monitor
7-
namespace: system
8-
spec:
9-
endpoints:
10-
- tlsConfig:
11-
insecureSkipVerify: false
12-
ca:
13-
secret:
14-
name: metrics-server-cert
15-
key: ca.crt
16-
cert:
17-
secret:
18-
name: metrics-server-cert
19-
key: tls.crt
20-
keySecret:
21-
name: metrics-server-cert
22-
key: tls.key
3+
- op: replace
4+
path: /spec/endpoints/0/tlsConfig
5+
value:
6+
# SERVICE_NAME and SERVICE_NAMESPACE will be substituted by kustomize
7+
serverName: SERVICE_NAME.SERVICE_NAMESPACE.svc
8+
insecureSkipVerify: false
9+
ca:
10+
secret:
11+
name: metrics-server-cert
12+
key: ca.crt
13+
cert:
14+
secret:
15+
name: metrics-server-cert
16+
key: tls.crt
17+
keySecret:
18+
name: metrics-server-cert
19+
key: tls.key

docs/book/src/multiversion-tutorial/testdata/project/dist/install.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8122,7 +8122,11 @@ metadata:
81228122
namespace: project-system
81238123
spec:
81248124
endpoints:
8125-
- tlsConfig:
8125+
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
8126+
path: /metrics
8127+
port: https
8128+
scheme: https
8129+
tlsConfig:
81268130
ca:
81278131
secret:
81288132
key: ca.crt
@@ -8135,6 +8139,7 @@ spec:
81358139
keySecret:
81368140
key: tls.key
81378141
name: metrics-server-cert
8142+
serverName: project-controller-manager-metrics-service.project-system.svc
81388143
selector:
81398144
matchLabels:
81408145
app.kubernetes.io/name: project

hack/docs/internal/cronjob-tutorial/sample.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,17 @@ const certManagerForMetricsAndWebhooks = `#replacements:
5252
# delimiter: '.'
5353
# index: 0
5454
# create: true
55+
# - select:
56+
# kind: ServiceMonitor
57+
# group: monitoring.coreos.com
58+
# version: v1
59+
# name: controller-manager-metrics-monitor
60+
# fieldPaths:
61+
# - spec.endpoints.0.tlsConfig.serverName
62+
# options:
63+
# delimiter: '.'
64+
# index: 0
65+
# create: true
5566
#
5667
# - source:
5768
# kind: Service
@@ -71,6 +82,17 @@ const certManagerForMetricsAndWebhooks = `#replacements:
7182
# delimiter: '.'
7283
# index: 1
7384
# create: true
85+
# - select:
86+
# kind: ServiceMonitor
87+
# group: monitoring.coreos.com
88+
# version: v1
89+
# name: controller-manager-metrics-monitor
90+
# fieldPaths:
91+
# - spec.endpoints.0.tlsConfig.serverName
92+
# options:
93+
# delimiter: '.'
94+
# index: 1
95+
# create: true
7496
#
7597
# - source: # Uncomment the following block if you have any webhook
7698
# kind: Service

pkg/plugins/common/kustomize/v2/scaffolds/internal/templates/config/kdefault/kustomization.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,17 @@ patches:
120120
# delimiter: '.'
121121
# index: 0
122122
# create: true
123+
# - select:
124+
# kind: ServiceMonitor
125+
# group: monitoring.coreos.com
126+
# version: v1
127+
# name: controller-manager-metrics-monitor
128+
# fieldPaths:
129+
# - spec.endpoints.0.tlsConfig.serverName
130+
# options:
131+
# delimiter: '.'
132+
# index: 0
133+
# create: true
123134
#
124135
# - source:
125136
# kind: Service
@@ -139,6 +150,17 @@ patches:
139150
# delimiter: '.'
140151
# index: 1
141152
# create: true
153+
# - select:
154+
# kind: ServiceMonitor
155+
# group: monitoring.coreos.com
156+
# version: v1
157+
# name: controller-manager-metrics-monitor
158+
# fieldPaths:
159+
# - spec.endpoints.0.tlsConfig.serverName
160+
# options:
161+
# delimiter: '.'
162+
# index: 1
163+
# create: true
142164
#
143165
# - source: # Uncomment the following block if you have any webhook
144166
# kind: Service

0 commit comments

Comments
 (0)