2323{%- set prometheus_oidc_enabled = prometheus.spec.config.get(' enable_oidc_authentication' , False ) %}
2424{%- set alertmanager_oidc_enabled = alertmanager.spec.get(' config' , {}).get(' enable_oidc_authentication' , False ) %}
2525
26- {%- set oidc_enabled = prometheus_oidc_enabled or alertmanager_oidc_enabled %}
26+ {%- set prometheus_ca_namespace = prometheus.spec.config.get(' oidc' , {}).get(' caSecret' , {}).get(' namespace' , ' ' ) %}
27+ {%- set alertmanager_ca_namespace = alertmanager.spec.get(' config' , {}).get(' oidc' , {}).get(' caSecret' , {}).get(' namespace' , ' ' ) %}
28+
29+ {%- if prometheus_oidc_enabled %}
30+
31+ Create oidc-proxy-prometheus ServiceAccount :
32+ metalk8s_kubernetes.object_present :
33+ - manifest:
34+ apiVersion: v1
35+ kind: ServiceAccount
36+ metadata:
37+ name: oidc-proxy-prometheus
38+ namespace: metalk8s-monitoring
39+
40+ {%- if prometheus_ca_namespace %}
41+
42+ Create oidc-proxy-secret-reader Role in {{ prometheus_ca_namespace }} for Prometheus :
43+ metalk8s_kubernetes.object_present :
44+ - manifest:
45+ apiVersion: rbac.authorization.k8s.io/v1
46+ kind: Role
47+ metadata:
48+ name: oidc-proxy-secret-reader
49+ namespace: {{ prometheus_ca_namespace }}
50+ rules:
51+ - apiGroups: [" " ]
52+ resources: [" secrets" ]
53+ verbs: [" get" , " list" , " watch" ]
54+
55+ Create oidc-proxy-secret-reader-binding RoleBinding in {{ prometheus_ca_namespace }} for Prometheus :
56+ metalk8s_kubernetes.object_present :
57+ - manifest:
58+ apiVersion: rbac.authorization.k8s.io/v1
59+ kind: RoleBinding
60+ metadata:
61+ name: oidc-proxy-secret-reader-binding
62+ namespace: {{ prometheus_ca_namespace }}
63+ subjects:
64+ - kind: ServiceAccount
65+ name: oidc-proxy-prometheus
66+ namespace: metalk8s-monitoring
67+ roleRef:
68+ kind: Role
69+ name: oidc-proxy-secret-reader
70+ apiGroup: rbac.authorization.k8s.io
71+
72+ {%- endif %}
73+
74+ {%- else %}
75+
76+ Ensure oidc-proxy-prometheus ServiceAccount does not exist :
77+ metalk8s_kubernetes.object_absent :
78+ - name: oidc-proxy-prometheus
79+ - namespace: metalk8s-monitoring
80+ - kind: ServiceAccount
81+ - apiVersion: v1
82+
83+ {%- if prometheus_ca_namespace %}
84+
85+ Ensure oidc-proxy-secret-reader Role does not exist in {{ prometheus_ca_namespace }} :
86+ metalk8s_kubernetes.object_absent :
87+ - name: oidc-proxy-secret-reader
88+ - namespace: {{ prometheus_ca_namespace }}
89+ - kind: Role
90+ - apiVersion: rbac.authorization.k8s.io/v1
91+
92+ Ensure oidc-proxy-secret-reader-binding RoleBinding does not exist in {{ prometheus_ca_namespace }} :
93+ metalk8s_kubernetes.object_absent :
94+ - name: oidc-proxy-secret-reader-binding
95+ - namespace: {{ prometheus_ca_namespace }}
96+ - kind: RoleBinding
97+ - apiVersion: rbac.authorization.k8s.io/v1
98+
99+ {%- endif %}
27100
28- {%- set oidc_ca_namespace = prometheus.spec.config.get(' oidc' , {}).get(' caSecret' , {}).get(' namespace' , ' ' ) %}
29- {%- if not oidc_ca_namespace %}
30- {%- set oidc_ca_namespace = alertmanager.spec.get(' config' , {}).get(' oidc' , {}).get(' caSecret' , {}).get(' namespace' , ' ' ) %}
31101{%- endif %}
32102
33- {%- if oidc_enabled %}
103+ {%- if alertmanager_oidc_enabled %}
34104
35- Create oidc-proxy ServiceAccount :
105+ Create oidc-proxy-alertmanager ServiceAccount :
36106 metalk8s_kubernetes.object_present :
37107 - manifest:
38108 apiVersion: v1
39109 kind: ServiceAccount
40110 metadata:
41- name: oidc-proxy
111+ name: oidc-proxy-alertmanager
42112 namespace: metalk8s-monitoring
43113
44- {%- if oidc_ca_namespace %}
114+ {%- if alertmanager_ca_namespace %}
45115
46- Create oidc-proxy-secret-reader Role in {{ oidc_ca_namespace }} :
116+ Create oidc-proxy-secret-reader Role in {{ alertmanager_ca_namespace }} for Alertmanager :
47117 metalk8s_kubernetes.object_present :
48118 - manifest:
49119 apiVersion: rbac.authorization.k8s.io/v1
50120 kind: Role
51121 metadata:
52122 name: oidc-proxy-secret-reader
53- namespace: {{ oidc_ca_namespace }}
123+ namespace: {{ alertmanager_ca_namespace }}
54124 rules:
55125 - apiGroups: [" " ]
56126 resources: [" secrets" ]
57127 verbs: [" get" , " list" , " watch" ]
58128
59- Create oidc-proxy-secret-reader-binding RoleBinding in {{ oidc_ca_namespace }} :
129+ Create oidc-proxy-secret-reader-binding RoleBinding in {{ alertmanager_ca_namespace }} for Alertmanager :
60130 metalk8s_kubernetes.object_present :
61131 - manifest:
62132 apiVersion: rbac.authorization.k8s.io/v1
63133 kind: RoleBinding
64134 metadata:
65135 name: oidc-proxy-secret-reader-binding
66- namespace: {{ oidc_ca_namespace }}
136+ namespace: {{ alertmanager_ca_namespace }}
67137 subjects:
68138 - kind: ServiceAccount
69- name: oidc-proxy
139+ name: oidc-proxy-alertmanager
70140 namespace: metalk8s-monitoring
71141 roleRef:
72142 kind: Role
@@ -77,26 +147,26 @@ Create oidc-proxy-secret-reader-binding RoleBinding in {{ oidc_ca_namespace }}:
77147
78148{%- else %}
79149
80- Ensure oidc-proxy ServiceAccount does not exist :
150+ Ensure oidc-proxy-alertmanager ServiceAccount does not exist :
81151 metalk8s_kubernetes.object_absent :
82- - name: oidc-proxy
152+ - name: oidc-proxy-alertmanager
83153 - namespace: metalk8s-monitoring
84154 - kind: ServiceAccount
85155 - apiVersion: v1
86156
87- {%- if oidc_ca_namespace %}
157+ {%- if alertmanager_ca_namespace %}
88158
89- Ensure oidc-proxy-secret-reader Role does not exist :
159+ Ensure oidc-proxy-secret-reader Role does not exist in {{ alertmanager_ca_namespace }} :
90160 metalk8s_kubernetes.object_absent :
91161 - name: oidc-proxy-secret-reader
92- - namespace: {{ oidc_ca_namespace }}
162+ - namespace: {{ alertmanager_ca_namespace }}
93163 - kind: Role
94164 - apiVersion: rbac.authorization.k8s.io/v1
95165
96- Ensure oidc-proxy-secret-reader-binding RoleBinding does not exist :
166+ Ensure oidc-proxy-secret-reader-binding RoleBinding does not exist in {{ alertmanager_ca_namespace }} :
97167 metalk8s_kubernetes.object_absent :
98168 - name: oidc-proxy-secret-reader-binding
99- - namespace: {{ oidc_ca_namespace }}
169+ - namespace: {{ alertmanager_ca_namespace }}
100170 - kind: RoleBinding
101171 - apiVersion: rbac.authorization.k8s.io/v1
102172
0 commit comments