Skip to content

Commit a516104

Browse files
authored
Merge pull request #557 from application-stacks/auto-generate-kustomize-artifacts
Added auto generation for kustomize artifacts
2 parents e860e77 + 7d0fdc0 commit a516104

File tree

8 files changed

+223
-58
lines changed

8 files changed

+223
-58
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,9 @@ bundle: manifests setup kustomize ## Generate bundle manifests and metadata, the
209209
$(KUSTOMIZE) build config/kubectl/rbac-watch-all -o internal/deploy/kubectl/runtime-component-rbac-watch-all.yaml
210210
$(KUSTOMIZE) build config/kubectl/rbac-watch-another -o internal/deploy/kubectl/runtime-component-rbac-watch-another.yaml
211211

212+
$(KUSTOMIZE) build config/kustomize/watch-all -o internal/deploy/kustomize/daily/overlays/watch-all-namespaces/cluster-roles.yaml
213+
$(KUSTOMIZE) build config/kustomize/watch-another -o internal/deploy/kustomize/daily/overlays/watch-another-namespace/rco-watched-ns/watched-roles.yaml
214+
212215
operator-sdk bundle validate ./bundle
213216

214217
.PHONY: fmt
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
resources:
4+
- ../../rbac
5+
6+
# Labels to add to all resources and selectors.
7+
commonLabels:
8+
app.kubernetes.io/instance: runtime-component-operator
9+
app.kubernetes.io/name: runtime-component-operator
10+
11+
patches:
12+
- path: patches/delete-service-account.yaml
13+
target:
14+
kind: ServiceAccount
15+
16+
patchesJson6902:
17+
- target:
18+
namespace: runtime-component-operator
19+
name: .*
20+
patch: |-
21+
- op: remove
22+
path: /metadata/namespace
23+
- target:
24+
kind: Role
25+
name: .*
26+
patch: |-
27+
- op: replace
28+
path: /kind
29+
value: ClusterRole
30+
- target:
31+
kind: RoleBinding
32+
name: .*
33+
patch: |-
34+
- op: replace
35+
path: /kind
36+
value: ClusterRoleBinding
37+
- target:
38+
kind: ClusterRoleBinding
39+
name: .*
40+
patch: |-
41+
- op: replace
42+
path: /subjects/0/name
43+
value: rco-controller-manager
44+
- op: replace
45+
path: /subjects/0/namespace
46+
value: RUNTIME_COMPONENT_OPERATOR_NAMESPACE
47+
- op: replace
48+
path: /roleRef/kind
49+
value: ClusterRole
50+
- target:
51+
kind: ClusterRoleBinding
52+
name: leader-election-rolebinding
53+
patch: |-
54+
- op: replace
55+
path: /roleRef/name
56+
value: rco-leader-election-cluster-role
57+
- op: replace
58+
path: /metadata/name
59+
value: rco-leader-election-cluster-rolebinding
60+
- target:
61+
kind: ClusterRoleBinding
62+
name: manager-rolebinding
63+
patch: |-
64+
- op: replace
65+
path: /metadata/name
66+
value: rco-manager-cluster-rolebinding
67+
- op: replace
68+
path: /roleRef/name
69+
value: rco-manager-cluster-role
70+
- target:
71+
kind: ClusterRole
72+
name: manager-role
73+
patch: |-
74+
- op: replace
75+
path: /metadata/name
76+
value: rco-manager-cluster-role
77+
- op: add
78+
path: /rules/-
79+
value: {"apiGroups":[""],"resources":["namespaces"],"verbs":["get","list","watch"]}
80+
- target:
81+
kind: ClusterRoleBinding
82+
name: .*
83+
patch: |-
84+
- op: replace
85+
path: /subjects/0/namespace
86+
value: runtime-component
87+
- target:
88+
kind: ClusterRole
89+
name: leader-election-role
90+
patch: |-
91+
- op: replace
92+
path: /metadata/name
93+
value: rco-leader-election-cluster-role
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
$patch: delete
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: wlo-controller-manager
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
resources:
4+
- ../../rbac
5+
6+
namespace: rco-watched-ns
7+
8+
# Labels to add to all resources and selectors.
9+
commonLabels:
10+
app.kubernetes.io/instance: runtime-component-operator
11+
app.kubernetes.io/name: runtime-component-operator
12+
13+
patches:
14+
- path: patches/delete-service-account.yaml
15+
target:
16+
kind: ServiceAccount
17+
18+
patchesJson6902:
19+
- target:
20+
kind: RoleBinding
21+
name: manager-rolebinding
22+
patch: |-
23+
- op: replace
24+
path: /metadata/name
25+
value: rco-watched-rolebinding
26+
- op: replace
27+
path: /roleRef/name
28+
value: rco-watched-role
29+
- target:
30+
kind: RoleBinding
31+
name: leader-election-rolebinding
32+
patch: |-
33+
- op: replace
34+
path: /metadata/name
35+
value: rco-leader-election-watched-rolebinding
36+
- op: replace
37+
path: /roleRef/name
38+
value: rco-leader-election-watched-role
39+
- target:
40+
kind: RoleBinding
41+
name: .*
42+
patch: |-
43+
- op: replace
44+
path: /subjects/0/namespace
45+
value: rco-ns
46+
- op: replace
47+
path: /subjects/0/name
48+
value: rco-controller-manager
49+
- target:
50+
kind: Role
51+
name: leader-election-role
52+
patch: |-
53+
- op: replace
54+
path: /metadata/name
55+
value: rco-leader-election-watched-role
56+
- target:
57+
kind: Role
58+
name: manager-role
59+
patch: |-
60+
- op: replace
61+
path: /metadata/name
62+
value: rco-watched-role
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
$patch: delete
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: wlo-controller-manager

internal/deploy/kustomize/daily/base/runtime-component-operator.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ spec:
5151
fieldPath: metadata.namespace
5252
- name: RELATED_IMAGE_LIBERTY_SAMPLE_APP
5353
value: icr.io/appcafe/open-liberty/samples/getting-started@sha256:d3c67c4a15c97b0fb82f9ef4a2ccf474232b878787e9eea39af75a3ac78469e3
54-
image: icr.io/appcafe/runtime-component-operator:daily
54+
image: icr.io/appcafe/runtime-component-operator:1.2.1
5555
livenessProbe:
5656
failureThreshold: 3
5757
httpGet:

internal/deploy/kustomize/daily/overlays/watch-all-namespaces/cluster-roles.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ rules:
220220
resources:
221221
- namespaces
222222
verbs:
223-
- list
224223
- get
224+
- list
225225
- watch
226226
---
227227
apiVersion: rbac.authorization.k8s.io/v1
@@ -255,4 +255,3 @@ subjects:
255255
- kind: ServiceAccount
256256
name: rco-controller-manager
257257
namespace: runtime-component
258-
---

internal/deploy/kustomize/daily/overlays/watch-another-namespace/rco-watched-ns/watched-roles.yaml

Lines changed: 53 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,54 @@
11
apiVersion: rbac.authorization.k8s.io/v1
22
kind: Role
3+
metadata:
4+
labels:
5+
app.kubernetes.io/instance: runtime-component-operator
6+
app.kubernetes.io/name: runtime-component-operator
7+
name: rco-leader-election-watched-role
8+
namespace: rco-watched-ns
9+
rules:
10+
- apiGroups:
11+
- ""
12+
resources:
13+
- configmaps
14+
verbs:
15+
- get
16+
- list
17+
- watch
18+
- create
19+
- update
20+
- patch
21+
- delete
22+
- apiGroups:
23+
- ""
24+
resources:
25+
- configmaps/status
26+
verbs:
27+
- get
28+
- update
29+
- patch
30+
- apiGroups:
31+
- ""
32+
resources:
33+
- events
34+
verbs:
35+
- create
36+
- patch
37+
- apiGroups:
38+
- coordination.k8s.io
39+
resources:
40+
- leases
41+
verbs:
42+
- get
43+
- list
44+
- watch
45+
- create
46+
- update
47+
- patch
48+
- delete
49+
---
50+
apiVersion: rbac.authorization.k8s.io/v1
51+
kind: Role
352
metadata:
453
creationTimestamp: null
554
labels:
@@ -175,81 +224,30 @@ metadata:
175224
labels:
176225
app.kubernetes.io/instance: runtime-component-operator
177226
app.kubernetes.io/name: runtime-component-operator
178-
name: rco-watched-rolebinding
227+
name: rco-leader-election-watched-rolebinding
179228
namespace: rco-watched-ns
180229
roleRef:
181230
apiGroup: rbac.authorization.k8s.io
182231
kind: Role
183-
name: rco-watched-role
232+
name: rco-leader-election-watched-role
184233
subjects:
185234
- kind: ServiceAccount
186235
name: rco-controller-manager
187236
namespace: rco-ns
188237
---
189238
apiVersion: rbac.authorization.k8s.io/v1
190-
kind: Role
191-
metadata:
192-
labels:
193-
app.kubernetes.io/instance: runtime-component-operator
194-
app.kubernetes.io/name: runtime-component-operator
195-
name: rco-leader-election-watched-role
196-
namespace: rco-watched-ns
197-
rules:
198-
- apiGroups:
199-
- ""
200-
resources:
201-
- configmaps
202-
verbs:
203-
- get
204-
- list
205-
- watch
206-
- create
207-
- update
208-
- patch
209-
- delete
210-
- apiGroups:
211-
- ""
212-
resources:
213-
- configmaps/status
214-
verbs:
215-
- get
216-
- update
217-
- patch
218-
- apiGroups:
219-
- ""
220-
resources:
221-
- events
222-
verbs:
223-
- create
224-
- patch
225-
- apiGroups:
226-
- coordination.k8s.io
227-
resources:
228-
- leases
229-
verbs:
230-
- get
231-
- list
232-
- watch
233-
- create
234-
- update
235-
- patch
236-
- delete
237-
---
238-
apiVersion: rbac.authorization.k8s.io/v1
239239
kind: RoleBinding
240240
metadata:
241241
labels:
242242
app.kubernetes.io/instance: runtime-component-operator
243243
app.kubernetes.io/name: runtime-component-operator
244-
name: rco-leader-election-watched-rolebinding
244+
name: rco-watched-rolebinding
245245
namespace: rco-watched-ns
246246
roleRef:
247247
apiGroup: rbac.authorization.k8s.io
248248
kind: Role
249-
name: rco-leader-election-watched-role
249+
name: rco-watched-role
250250
subjects:
251251
- kind: ServiceAccount
252252
name: rco-controller-manager
253253
namespace: rco-ns
254-
---
255-

0 commit comments

Comments
 (0)