Skip to content

Commit f0ba62a

Browse files
authored
Merge pull request #800 from joelanford/rm-creation-timestamp
🐛 remove metadata.creationTimestamp when generating CRDs, RBAC, and webhooks
2 parents fe40c43 + ca3d4f7 commit f0ba62a

File tree

18 files changed

+10
-24
lines changed

18 files changed

+10
-24
lines changed

pkg/crd/gen.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ func (g Generator) Generate(ctx *genall.GenerationContext) error {
171171
} else {
172172
fileName = fmt.Sprintf("%s_%s.%s.yaml", crdRaw.Spec.Group, crdRaw.Spec.Names.Plural, crdVersions[i])
173173
}
174-
if err := ctx.WriteYAML(fileName, headerText, []interface{}{crd}, genall.WithTransform(transformRemoveCRDStatus)); err != nil {
174+
if err := ctx.WriteYAML(fileName, headerText, []interface{}{crd}, genall.WithTransform(transformRemoveCRDStatus), genall.WithTransform(genall.TransformRemoveCreationTimestamp)); err != nil {
175175
return err
176176
}
177177
}

pkg/crd/testdata/gen/bar.example.com_foos.v1beta1.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: (devel)
7-
creationTimestamp: null
87
name: foos.bar.example.com
98
spec:
109
group: bar.example.com

pkg/crd/testdata/gen/bar.example.com_foos.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: (devel)
7-
creationTimestamp: null
87
name: foos.bar.example.com
98
spec:
109
group: bar.example.com

pkg/crd/testdata/gen/zoo/bar.example.com_zooes.v1beta1.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: (devel)
7-
creationTimestamp: null
87
name: zoos.bar.example.com
98
spec:
109
group: bar.example.com

pkg/crd/testdata/gen/zoo/bar.example.com_zooes.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: (devel)
7-
creationTimestamp: null
87
name: zooes.bar.example.com
98
spec:
109
group: bar.example.com

pkg/crd/testdata/plural/plural.example.com_testquotas.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ kind: CustomResourceDefinition
55
metadata:
66
annotations:
77
controller-gen.kubebuilder.io/version: (devel)
8-
creationTimestamp: null
98
name: testquotas.plural.example.com
109
spec:
1110
group: plural.example.com

pkg/crd/testdata/testdata.kubebuilder.io_cronjobs.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ metadata:
66
controller-gen.kubebuilder.io/version: (devel)
77
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/controller-tools
88
cert-manager.io/inject-ca-from-secret: cert-manager/cert-manager-webhook-ca
9-
creationTimestamp: null
109
name: cronjobs.testdata.kubebuilder.io
1110
spec:
1211
group: testdata.kubebuilder.io

pkg/crd/testdata/testdata.kubebuilder.io_jobs.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: (devel)
7-
creationTimestamp: null
87
name: jobs.testdata.kubebuilder.io
98
spec:
109
group: testdata.kubebuilder.io

pkg/genall/genall.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,13 @@ func WithTransform(transform func(obj map[string]interface{}) error) *WriteYAMLO
133133
}
134134
}
135135

136+
// TransformRemoveCreationTimestamp ensures we do not write the metadata.creationTimestamp field.
137+
func TransformRemoveCreationTimestamp(obj map[string]interface{}) error {
138+
metadata := obj["metadata"].(map[interface{}]interface{})
139+
delete(metadata, "creationTimestamp")
140+
return nil
141+
}
142+
136143
// WriteYAML writes the given objects out, serialized as YAML, using the
137144
// context's OutputRule. Objects are written as separate documents, separated
138145
// from each other by `---` (as per the YAML spec).

pkg/rbac/parser.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,5 +279,5 @@ func (g Generator) Generate(ctx *genall.GenerationContext) error {
279279
}
280280
headerText = strings.ReplaceAll(headerText, " YEAR", " "+g.Year)
281281

282-
return ctx.WriteYAML("role.yaml", headerText, objs)
282+
return ctx.WriteYAML("role.yaml", headerText, objs, genall.WithTransform(genall.TransformRemoveCreationTimestamp))
283283
}

pkg/rbac/testdata/role.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
apiVersion: rbac.authorization.k8s.io/v1
44
kind: ClusterRole
55
metadata:
6-
creationTimestamp: null
76
name: manager-role
87
rules:
98
- apiGroups:
@@ -58,7 +57,6 @@ rules:
5857
apiVersion: rbac.authorization.k8s.io/v1
5958
kind: Role
6059
metadata:
61-
creationTimestamp: null
6260
name: manager-role
6361
namespace: park
6462
rules:
@@ -73,7 +71,6 @@ rules:
7371
apiVersion: rbac.authorization.k8s.io/v1
7472
kind: Role
7573
metadata:
76-
creationTimestamp: null
7774
name: manager-role
7875
namespace: zoo
7976
rules:

pkg/webhook/parser.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ func (g Generator) Generate(ctx *genall.GenerationContext) error {
434434
} else {
435435
fileName = fmt.Sprintf("manifests.%s.yaml", k)
436436
}
437-
if err := ctx.WriteYAML(fileName, headerText, v); err != nil {
437+
if err := ctx.WriteYAML(fileName, headerText, v, genall.WithTransform(genall.TransformRemoveCreationTimestamp)); err != nil {
438438
return err
439439
}
440440
}

pkg/webhook/testdata/invalid-admissionReviewVersionsRequired/manifests.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: admissionregistration.k8s.io/v1
33
kind: MutatingWebhookConfiguration
44
metadata:
5-
creationTimestamp: null
65
name: mutating-webhook-configuration
76
webhooks:
87
- admissionReviewVersions:
@@ -31,7 +30,6 @@ webhooks:
3130
apiVersion: admissionregistration.k8s.io/v1
3231
kind: ValidatingWebhookConfiguration
3332
metadata:
34-
creationTimestamp: null
3533
name: validating-webhook-configuration
3634
webhooks:
3735
- admissionReviewVersions:

pkg/webhook/testdata/invalid-sideEffects/manifests.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: admissionregistration.k8s.io/v1
33
kind: MutatingWebhookConfiguration
44
metadata:
5-
creationTimestamp: null
65
name: mutating-webhook-configuration
76
webhooks:
87
- admissionReviewVersions:
@@ -31,7 +30,6 @@ webhooks:
3130
apiVersion: admissionregistration.k8s.io/v1
3231
kind: ValidatingWebhookConfiguration
3332
metadata:
34-
creationTimestamp: null
3533
name: validating-webhook-configuration
3634
webhooks:
3735
- admissionReviewVersions:

pkg/webhook/testdata/invalid-v1beta1NotSupported/manifests.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: admissionregistration.k8s.io/v1
33
kind: MutatingWebhookConfiguration
44
metadata:
5-
creationTimestamp: null
65
name: mutating-webhook-configuration
76
webhooks:
87
- admissionReviewVersions:
@@ -31,7 +30,6 @@ webhooks:
3130
apiVersion: admissionregistration.k8s.io/v1
3231
kind: ValidatingWebhookConfiguration
3332
metadata:
34-
creationTimestamp: null
3533
name: validating-webhook-configuration
3634
webhooks:
3735
- admissionReviewVersions:

pkg/webhook/testdata/manifests.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: admissionregistration.k8s.io/v1
33
kind: MutatingWebhookConfiguration
44
metadata:
5-
creationTimestamp: null
65
name: mutating-webhook-configuration
76
webhooks:
87
- admissionReviewVersions:
@@ -32,7 +31,6 @@ webhooks:
3231
apiVersion: admissionregistration.k8s.io/v1
3332
kind: ValidatingWebhookConfiguration
3433
metadata:
35-
creationTimestamp: null
3634
name: validating-webhook-configuration
3735
webhooks:
3836
- admissionReviewVersions:

pkg/webhook/testdata/valid-ordered/manifests.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: admissionregistration.k8s.io/v1
33
kind: ValidatingWebhookConfiguration
44
metadata:
5-
creationTimestamp: null
65
name: validating-webhook-configuration
76
webhooks:
87
- admissionReviewVersions:

pkg/webhook/testdata/valid/manifests.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
apiVersion: admissionregistration.k8s.io/v1
33
kind: MutatingWebhookConfiguration
44
metadata:
5-
creationTimestamp: null
65
name: mutating-webhook-configuration
76
webhooks:
87
- admissionReviewVersions:
@@ -32,7 +31,6 @@ webhooks:
3231
apiVersion: admissionregistration.k8s.io/v1
3332
kind: ValidatingWebhookConfiguration
3433
metadata:
35-
creationTimestamp: null
3634
name: validating-webhook-configuration
3735
webhooks:
3836
- admissionReviewVersions:

0 commit comments

Comments
 (0)