Skip to content
This repository was archived by the owner on Jun 12, 2023. It is now read-only.

Commit 0e130af

Browse files
ffromaniMarSik
authored andcommitted
operator: watch all the cluster namespaces
And not just the namespace the operator is running into. We alread y adding ClusterRole{,Binding}s, so permissions should be fine. Please note: the automation _dropped_ 'value: ""' from the new WATCH_NAMESPACE variable, had to reintroduce it manually Reference: https://github.com/operator-framework/operator-sdk/blob/master/doc/operator-scope.md Signed-off-by: Francesco Romani <[email protected]>
1 parent 2b23d27 commit 0e130af

10 files changed

+835
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
apiVersion: kubevirt.io/v1
3+
kind: KubevirtCommonTemplatesBundle
4+
metadata:
5+
name: kubevirt-common-template-bundle
6+
spec:
7+
version: v0.6.0
8+
---
9+
apiVersion: kubevirt.io/v1
10+
kind: KubevirtNodeLabellerBundle
11+
metadata:
12+
name: kubevirt-node-labeller-bundle
13+
spec:
14+
version: v0.0.5
15+
---
16+
apiVersion: kubevirt.io/v1
17+
kind: KubevirtTemplateValidator
18+
metadata:
19+
name: kubevirt-template-validator
20+
namespace: kubevirt
21+
spec:
22+
version: v0.4.8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1beta1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
name: kubevirtcommontemplatesbundles.kubevirt.io
6+
spec:
7+
group: kubevirt.io
8+
names:
9+
kind: KubevirtCommonTemplatesBundle
10+
listKind: KubevirtCommonTemplatesBundleList
11+
plural: kubevirtcommontemplatesbundles
12+
singular: kubevirtcommontemplatesbundle
13+
scope: Namespaced
14+
version: v1
15+
subresources:
16+
status: {}
17+
18+
---
19+
apiVersion: apiextensions.k8s.io/v1beta1
20+
kind: CustomResourceDefinition
21+
metadata:
22+
name: kubevirtnodelabellerbundles.kubevirt.io
23+
spec:
24+
group: kubevirt.io
25+
names:
26+
kind: KubevirtNodeLabellerBundle
27+
listKind: KubevirtNodeLabellerBundleList
28+
plural: kubevirtnodelabellerbundles
29+
singular: kubevirtnodelabellerbundle
30+
scope: Namespaced
31+
version: v1
32+
subresources:
33+
status: {}
34+
35+
---
36+
apiVersion: apiextensions.k8s.io/v1beta1
37+
kind: CustomResourceDefinition
38+
metadata:
39+
name: kubevirttemplatevalidators.kubevirt.io
40+
spec:
41+
group: kubevirt.io
42+
names:
43+
kind: KubevirtTemplateValidator
44+
listKind: KubevirtTemplateValidatorList
45+
plural: kubevirttemplatevalidators
46+
singular: kubevirttemplatevalidator
47+
scope: Namespaced
48+
version: v1
49+
subresources:
50+
status: {}
51+
+223
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: kubevirt-ssp-operator
6+
---
7+
apiVersion: rbac.authorization.k8s.io/v1
8+
kind: Role
9+
metadata:
10+
creationTimestamp: null
11+
name: kubevirt-ssp-operator
12+
rules:
13+
- apiGroups:
14+
- ""
15+
resources:
16+
- pods
17+
- services
18+
- endpoints
19+
- persistentvolumeclaims
20+
- events
21+
- configmaps
22+
- secrets
23+
- replicationcontrollers
24+
- serviceaccounts
25+
- templates
26+
verbs:
27+
- '*'
28+
- apiGroups:
29+
- extensions
30+
- apps
31+
resources:
32+
- deployments
33+
- replicasets
34+
verbs:
35+
- '*'
36+
- apiGroups:
37+
- ""
38+
resources:
39+
- namespaces
40+
verbs:
41+
- get
42+
- apiGroups:
43+
- apps
44+
resources:
45+
- deployments
46+
- daemonsets
47+
- replicasets
48+
- statefulsets
49+
verbs:
50+
- '*'
51+
- apiGroups:
52+
- monitoring.coreos.com
53+
resources:
54+
- servicemonitors
55+
verbs:
56+
- get
57+
- create
58+
- apiGroups:
59+
- kubevirt.io
60+
- template.openshift.io
61+
- route.openshift.io
62+
resources:
63+
- '*'
64+
verbs:
65+
- '*'
66+
67+
---
68+
apiVersion: rbac.authorization.k8s.io/v1
69+
kind: ClusterRole
70+
metadata:
71+
name: kubevirt-ssp-operator
72+
rules:
73+
- apiGroups:
74+
- oauth.openshift.io
75+
- template.openshift.io
76+
resources:
77+
- '*'
78+
verbs:
79+
- '*'
80+
- apiGroups:
81+
- rbac.authorization.k8s.io
82+
resources:
83+
- clusterroles
84+
verbs:
85+
- create
86+
- get
87+
- patch
88+
- list
89+
- apiGroups:
90+
- rbac.authorization.k8s.io
91+
resources:
92+
- clusterrolebindings
93+
verbs:
94+
- create
95+
- get
96+
- list
97+
- watch
98+
- patch
99+
- apiGroups:
100+
- extensions
101+
- apps
102+
resources:
103+
- deployments
104+
- replicasets
105+
verbs:
106+
- create
107+
- get
108+
- patch
109+
- list
110+
- apiGroups:
111+
- apps
112+
resources:
113+
- daemonsets
114+
verbs:
115+
- create
116+
- get
117+
- patch
118+
- apiGroups:
119+
- ""
120+
resources:
121+
- serviceaccounts
122+
verbs:
123+
- create
124+
- get
125+
- patch
126+
- apiGroups:
127+
- ""
128+
resources:
129+
- pods
130+
- configmaps
131+
- nodes
132+
verbs:
133+
- create
134+
- get
135+
- patch
136+
- update
137+
- apiGroups:
138+
- ""
139+
resources:
140+
- services
141+
verbs:
142+
- list
143+
- get
144+
- create
145+
- patch
146+
- apiGroups:
147+
- admissionregistration.k8s.io
148+
resources:
149+
- validatingwebhookconfigurations
150+
verbs:
151+
- create
152+
- get
153+
- list
154+
- patch
155+
- watch
156+
- apiGroups:
157+
- security.openshift.io
158+
resources:
159+
- securitycontextconstraints
160+
verbs:
161+
- '*'
162+
resourceNames:
163+
- privileged
164+
165+
---
166+
kind: RoleBinding
167+
apiVersion: rbac.authorization.k8s.io/v1
168+
metadata:
169+
name: kubevirt-ssp-operator
170+
subjects:
171+
- kind: ServiceAccount
172+
name: kubevirt-ssp-operator
173+
roleRef:
174+
kind: Role
175+
name: kubevirt-ssp-operator
176+
apiGroup: rbac.authorization.k8s.io
177+
178+
---
179+
kind: ClusterRoleBinding
180+
apiVersion: rbac.authorization.k8s.io/v1
181+
metadata:
182+
name: kubevirt-ssp-operator
183+
subjects:
184+
- kind: ServiceAccount
185+
name: kubevirt-ssp-operator
186+
namespace: default
187+
roleRef:
188+
kind: ClusterRole
189+
name: kubevirt-ssp-operator
190+
apiGroup: rbac.authorization.k8s.io
191+
---
192+
apiVersion: apps/v1
193+
kind: Deployment
194+
metadata:
195+
name: kubevirt-ssp-operator
196+
spec:
197+
replicas: 1
198+
selector:
199+
matchLabels:
200+
name: kubevirt-ssp-operator
201+
template:
202+
metadata:
203+
labels:
204+
name: kubevirt-ssp-operator
205+
spec:
206+
serviceAccountName: kubevirt-ssp-operator
207+
containers:
208+
- name: kubevirt-ssp-operator
209+
#FIXME Replace this with the built image name
210+
image: quay.io/fromani/kubevirt-ssp-operator-container:latest
211+
ports:
212+
- containerPort: 60000
213+
name: metrics
214+
imagePullPolicy: Always
215+
env:
216+
- name: POD_NAME
217+
valueFrom:
218+
fieldRef:
219+
fieldPath: metadata.name
220+
- name: WATCH_NAMESPACE
221+
value: ""
222+
- name: OPERATOR_NAME
223+
value: "kubevirt-ssp-operator"

0 commit comments

Comments
 (0)