Skip to content

Commit a97ab20

Browse files
committed
Fix ServiceMonitor RBAC for authenticated metrics endpoints
Add /metrics nonResourceURL permission to allow Prometheus to access authenticated metrics without HTTP 500 errors.
1 parent 53c4564 commit a97ab20

File tree

3 files changed

+89
-0
lines changed

3 files changed

+89
-0
lines changed

manifests/0000_90_olm_00-service-monitor.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,37 @@
11
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
name: operator-lifecycle-manager-metrics-reader
5+
annotations:
6+
include.release.openshift.io/ibm-cloud-managed: "true"
7+
include.release.openshift.io/self-managed-high-availability: "true"
8+
capability.openshift.io/name: "OperatorLifecycleManager"
9+
include.release.openshift.io/hypershift: "true"
10+
rules:
11+
- nonResourceURLs:
12+
- "/metrics"
13+
verbs:
14+
- get
15+
---
16+
apiVersion: rbac.authorization.k8s.io/v1
17+
kind: ClusterRoleBinding
18+
metadata:
19+
name: operator-lifecycle-manager-metrics-reader
20+
annotations:
21+
include.release.openshift.io/ibm-cloud-managed: "true"
22+
include.release.openshift.io/self-managed-high-availability: "true"
23+
capability.openshift.io/name: "OperatorLifecycleManager"
24+
include.release.openshift.io/hypershift: "true"
25+
roleRef:
26+
apiGroup: rbac.authorization.k8s.io
27+
kind: ClusterRole
28+
name: operator-lifecycle-manager-metrics-reader
29+
subjects:
30+
- kind: ServiceAccount
31+
name: prometheus-k8s
32+
namespace: openshift-monitoring
33+
---
34+
apiVersion: rbac.authorization.k8s.io/v1
235
kind: Role
336
metadata:
437
name: operator-lifecycle-manager-metrics

microshift-manifests/0000_90_olm_00-service-monitor.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,37 @@
11
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
name: operator-lifecycle-manager-metrics-reader
5+
annotations:
6+
include.release.openshift.io/ibm-cloud-managed: "true"
7+
include.release.openshift.io/self-managed-high-availability: "true"
8+
capability.openshift.io/name: "OperatorLifecycleManager"
9+
include.release.openshift.io/hypershift: "true"
10+
rules:
11+
- nonResourceURLs:
12+
- "/metrics"
13+
verbs:
14+
- get
15+
---
16+
apiVersion: rbac.authorization.k8s.io/v1
17+
kind: ClusterRoleBinding
18+
metadata:
19+
name: operator-lifecycle-manager-metrics-reader
20+
annotations:
21+
include.release.openshift.io/ibm-cloud-managed: "true"
22+
include.release.openshift.io/self-managed-high-availability: "true"
23+
capability.openshift.io/name: "OperatorLifecycleManager"
24+
include.release.openshift.io/hypershift: "true"
25+
roleRef:
26+
apiGroup: rbac.authorization.k8s.io
27+
kind: ClusterRole
28+
name: operator-lifecycle-manager-metrics-reader
29+
subjects:
30+
- kind: ServiceAccount
31+
name: prometheus-k8s
32+
namespace: openshift-monitoring
33+
---
34+
apiVersion: rbac.authorization.k8s.io/v1
235
kind: Role
336
metadata:
437
name: operator-lifecycle-manager-metrics

staging/operator-lifecycle-manager/deploy/chart/templates/0000_90_olm_00-service-monitor.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,27 @@ rules:
8787
- get
8888
- list
8989
- watch
90+
---
91+
apiVersion: rbac.authorization.k8s.io/v1
92+
kind: ClusterRole
93+
metadata:
94+
name: operator-lifecycle-manager-metrics-reader
95+
rules:
96+
- nonResourceURLs:
97+
- "/metrics"
98+
verbs:
99+
- get
100+
---
101+
apiVersion: rbac.authorization.k8s.io/v1
102+
kind: ClusterRoleBinding
103+
metadata:
104+
name: operator-lifecycle-manager-metrics-reader
105+
roleRef:
106+
apiGroup: rbac.authorization.k8s.io
107+
kind: ClusterRole
108+
name: operator-lifecycle-manager-metrics-reader
109+
subjects:
110+
- kind: ServiceAccount
111+
name: prometheus-k8s
112+
namespace: {{ .Values.monitoring.namespace }}
90113
{{ end }}

0 commit comments

Comments
 (0)