Skip to content

Commit 4b831d4

Browse files
authoredFeb 15, 2024··
Add forked rollout transform to support kustomize v5 (#45)
1 parent 5addab7 commit 4b831d4

File tree

1 file changed

+275
-0
lines changed

1 file changed

+275
-0
lines changed
 

‎misc/rollout-transform.yaml

+275
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/namereference.go
2+
nameReference:
3+
- kind: ConfigMap
4+
version: v1
5+
fieldSpecs:
6+
- path: spec/template/spec/volumes/configMap/name
7+
kind: Rollout
8+
- path: spec/template/spec/containers/env/valueFrom/configMapKeyRef/name
9+
kind: Rollout
10+
- path: spec/template/spec/initContainers/env/valueFrom/configMapKeyRef/name
11+
kind: Rollout
12+
- path: spec/template/spec/containers/envFrom/configMapRef/name
13+
kind: Rollout
14+
- path: spec/template/spec/initContainers/envFrom/configMapRef/name
15+
kind: Rollout
16+
- path: spec/template/spec/volumes/projected/sources/configMap/name
17+
kind: Rollout
18+
- path: spec/templates/template/spec/volumes/configMap/name
19+
kind: Experiment
20+
- path: spec/templates/template/spec/containers/env/valueFrom/configMapKeyRef/name
21+
kind: Experiment
22+
- path: spec/templates/template/spec/initContainers/env/valueFrom/configMapKeyRef/name
23+
kind: Experiment
24+
- path: spec/templates/template/spec/containers/envFrom/configMapRef/name
25+
kind: Experiment
26+
- path: spec/templates/template/spec/initContainers/envFrom/configMapRef/name
27+
kind: Experiment
28+
- path: spec/templates/template/spec/volumes/projected/sources/configMap/name
29+
kind: Experiment
30+
- path: spec/metrics/provider/job/spec/template/spec/volumes/configMap/name
31+
kind: AnalysisTemplate
32+
- path: spec/metrics/provider/job/spec/template/spec/containers/env/valueFrom/configMapKeyRef/name
33+
kind: AnalysisTemplate
34+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/env/valueFrom/configMapKeyRef/name
35+
kind: AnalysisTemplate
36+
- path: spec/metrics/provider/job/spec/template/spec/containers/envFrom/configMapRef/name
37+
kind: AnalysisTemplate
38+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/envFrom/configMapRef/name
39+
kind: AnalysisTemplate
40+
- path: spec/metrics/provider/job/spec/template/spec/volumes/projected/sources/configMap/name
41+
kind: AnalysisTemplate
42+
- kind: Secret
43+
version: v1
44+
fieldSpecs:
45+
- path: spec/template/spec/volumes/secret/secretName
46+
kind: Rollout
47+
- path: spec/template/spec/containers/env/valueFrom/secretKeyRef/name
48+
kind: Rollout
49+
- path: spec/template/spec/initContainers/env/valueFrom/secretKeyRef/name
50+
kind: Rollout
51+
- path: spec/template/spec/containers/envFrom/secretRef/name
52+
kind: Rollout
53+
- path: spec/template/spec/initContainers/envFrom/secretRef/name
54+
kind: Rollout
55+
- path: spec/template/spec/imagePullSecrets/name
56+
kind: Rollout
57+
- path: spec/template/spec/volumes/projected/sources/secret/name
58+
kind: Rollout
59+
- path: spec/templates/template/spec/volumes/secret/secretName
60+
kind: Experiment
61+
- path: spec/templates/template/spec/containers/env/valueFrom/secretKeyRef/name
62+
kind: Experiment
63+
- path: spec/templates/template/spec/initContainers/env/valueFrom/secretKeyRef/name
64+
kind: Experiment
65+
- path: spec/templates/template/spec/containers/envFrom/secretRef/name
66+
kind: Experiment
67+
- path: spec/templates/template/spec/initContainers/envFrom/secretRef/name
68+
kind: Experiment
69+
- path: spec/templates/template/spec/imagePullSecrets/name
70+
kind: Experiment
71+
- path: spec/templates/template/spec/volumes/projected/sources/secret/name
72+
kind: Experiment
73+
- path: spec/metrics/provider/job/spec/template/spec/volumes/secret/secretName
74+
kind: AnalysisTemplate
75+
- path: spec/metrics/provider/job/spec/template/spec/containers/env/valueFrom/secretKeyRef/name
76+
kind: AnalysisTemplate
77+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/env/valueFrom/secretKeyRef/name
78+
kind: AnalysisTemplate
79+
- path: spec/metrics/provider/job/spec/template/spec/containers/envFrom/secretRef/name
80+
kind: AnalysisTemplate
81+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/envFrom/secretRef/name
82+
kind: AnalysisTemplate
83+
- path: spec/metrics/provider/job/spec/template/spec/imagePullSecrets/name
84+
kind: AnalysisTemplate
85+
- path: spec/metrics/provider/job/spec/template/spec/volumes/projected/sources/secret/name
86+
kind: AnalysisTemplate
87+
- kind: ServiceAccount
88+
version: v1
89+
fieldSpecs:
90+
- path: spec/template/spec/serviceAccountName
91+
kind: Rollout
92+
- path: spec/templates/template/spec/serviceAccountName
93+
kind: Experiment
94+
- path: spec/metrics/provider/job/spec/template/spec/serviceAccountName
95+
kind: AnalysisTemplate
96+
- kind: PersistentVolumeClaim
97+
version: v1
98+
fieldSpecs:
99+
- path: spec/template/spec/volumes/persistentVolumeClaim/claimName
100+
kind: Rollout
101+
- path: spec/templates/template/spec/volumes/persistentVolumeClaim/claimName
102+
kind: Experiment
103+
- path: spec/metrics/provider/job/spec/template/spec/volumes/persistentVolumeClaim/claimName
104+
kind: AnalysisTemplate
105+
- kind: PriorityClass
106+
version: v1
107+
group: scheduling.k8s.io
108+
fieldSpecs:
109+
- path: spec/template/spec/priorityClassName
110+
kind: Rollout
111+
- path: spec/templates/template/spec/priorityClassName
112+
kind: Experiment
113+
- path: spec/metrics/provider/job/spec/template/spec/priorityClassName
114+
kind: AnalysisTemplate
115+
116+
# The name references below are unique to Rollouts and not applicable to Deployment
117+
- kind: Service
118+
version: v1
119+
fieldSpecs:
120+
- path: spec/strategy/blueGreen/activeService
121+
kind: Rollout
122+
- path: spec/strategy/blueGreen/previewService
123+
kind: Rollout
124+
- path: spec/strategy/canary/canaryService
125+
kind: Rollout
126+
- path: spec/strategy/canary/stableService
127+
kind: Rollout
128+
- path: spec/strategy/canary/trafficRouting/alb/rootService
129+
kind: Rollout
130+
- kind: VirtualService
131+
group: networking.istio.io
132+
fieldSpecs:
133+
- path: spec/strategy/canary/trafficRouting/istio/virtualService/name
134+
kind: Rollout
135+
- kind: DestinationRule
136+
group: networking.istio.io
137+
fieldSpecs:
138+
- path: spec/strategy/canary/trafficRouting/istio/destinationRule/name
139+
kind: Rollout
140+
- kind: Ingress
141+
group: networking.k8s.io
142+
fieldSpecs:
143+
- path: spec/strategy/canary/trafficRouting/alb/ingress
144+
kind: Rollout
145+
- path: spec/strategy/canary/trafficRouting/nginx/stableIngress
146+
kind: Rollout
147+
- kind: Ingress
148+
group: extensions
149+
fieldSpecs:
150+
- path: spec/strategy/canary/trafficRouting/alb/ingress
151+
kind: Rollout
152+
- path: spec/strategy/canary/trafficRouting/nginx/stableIngress
153+
kind: Rollout
154+
- kind: AnalysisTemplate
155+
group: argoproj.io
156+
fieldSpecs:
157+
- path: spec/strategy/blueGreen/prePromotionAnalysis/templates/templateName
158+
kind: Rollout
159+
- path: spec/strategy/blueGreen/postPromotionAnalysis/templates/templateName
160+
kind: Rollout
161+
- path: spec/strategy/canary/analysis/templates/templateName
162+
kind: Rollout
163+
- path: spec/strategy/canary/steps/analysis/templates/templateName
164+
kind: Rollout
165+
- path: spec/strategy/canary/steps/experiment/analyses/templateName
166+
kind: Rollout
167+
- path: spec/analyses/templateName
168+
kind: Experiment
169+
- kind: Rollout
170+
fieldSpecs:
171+
- path: spec/scaleTargetRef/name
172+
kind: HorizontalPodAutoscaler
173+
- kind: Deployment
174+
version: v1
175+
group: apps
176+
fieldSpecs:
177+
- path: spec/workloadRef/name
178+
kind: Rollout
179+
- kind: Mapping
180+
group: getambassador.io
181+
fieldSpecs:
182+
- path: spec/strategy/canary/trafficRouting/ambassador/mappings
183+
kind: Rollout
184+
185+
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/commonlabels.go
186+
commonLabels:
187+
- path: spec/selector/matchLabels
188+
create: true
189+
kind: Rollout
190+
- path: spec/template/metadata/labels
191+
create: true
192+
kind: Rollout
193+
- path: spec/template/spec/affinity/podAffinity/preferredDuringSchedulingIgnoredDuringExecution/podAffinityTerm/labelSelector/matchLabels
194+
create: false
195+
kind: Rollout
196+
- path: spec/template/spec/affinity/podAffinity/requiredDuringSchedulingIgnoredDuringExecution/labelSelector/matchLabels
197+
create: false
198+
kind: Rollout
199+
- path: spec/template/spec/affinity/podAntiAffinity/preferredDuringSchedulingIgnoredDuringExecution/podAffinityTerm/labelSelector/matchLabels
200+
create: false
201+
kind: Rollout
202+
- path: spec/template/spec/affinity/podAntiAffinity/requiredDuringSchedulingIgnoredDuringExecution/labelSelector/matchLabels
203+
create: false
204+
kind: Rollout
205+
206+
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/commonannotations.go
207+
commonAnnotations:
208+
- path: spec/template/metadata/annotations
209+
create: true
210+
kind: Rollout
211+
212+
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/varreference.go
213+
varReference:
214+
- path: spec/template/spec/containers/args
215+
kind: Rollout
216+
- path: spec/template/spec/containers/command
217+
kind: Rollout
218+
- path: spec/template/spec/containers/env/value
219+
kind: Rollout
220+
- path: spec/template/spec/containers/volumeMounts/mountPath
221+
kind: Rollout
222+
- path: spec/template/spec/initContainers/args
223+
kind: Rollout
224+
- path: spec/template/spec/initContainers/command
225+
kind: Rollout
226+
- path: spec/template/spec/initContainers/env/value
227+
kind: Rollout
228+
- path: spec/template/spec/initContainers/volumeMounts/mountPath
229+
kind: Rollout
230+
- path: spec/templates/template/spec/containers/args
231+
kind: Experiment
232+
- path: spec/templates/template/spec/containers/command
233+
kind: Experiment
234+
- path: spec/templates/template/spec/containers/env/value
235+
kind: Experiment
236+
- path: spec/templates/template/spec/containers/volumeMounts/mountPath
237+
kind: Experiment
238+
- path: spec/templates/template/spec/initContainers/args
239+
kind: Experiment
240+
- path: spec/templates/template/spec/initContainers/command
241+
kind: Experiment
242+
- path: spec/templates/template/spec/initContainers/env/value
243+
kind: Experiment
244+
- path: spec/templates/template/spec/initContainers/volumeMounts/mountPath
245+
kind: Experiment
246+
- path: spec/metrics/provider/job/spec/template/spec/containers/args
247+
kind: AnalysisTemplate
248+
- path: spec/metrics/provider/job/spec/template/spec/containers/command
249+
kind: AnalysisTemplate
250+
- path: spec/metrics/provider/job/spec/template/spec/containers/env/value
251+
kind: AnalysisTemplate
252+
- path: spec/metrics/provider/job/spec/template/spec/containers/volumeMounts/mountPath
253+
kind: AnalysisTemplate
254+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/args
255+
kind: AnalysisTemplate
256+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/command
257+
kind: AnalysisTemplate
258+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/env/value
259+
kind: AnalysisTemplate
260+
- path: spec/metrics/provider/job/spec/template/spec/initContainers/volumeMounts/mountPath
261+
kind: AnalysisTemplate
262+
- path: spec/metrics/provider/job/spec/template/spec/volumes/nfs/server
263+
kind: AnalysisTemplate
264+
265+
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/replicas.go
266+
replicas:
267+
- path: spec/replicas
268+
create: true
269+
kind: Rollout
270+
271+
# BEGIN PATCH
272+
templateLabels:
273+
- path: spec/template/metadata/labels
274+
create: true
275+
kind: Rollout

0 commit comments

Comments
 (0)
Please sign in to comment.