Skip to content

Commit ea4743a

Browse files
authored
Merge pull request #801 from joelanford/rm-creation-timesstamp-0.11
🐛 release-0.11: remove metadata.creationTimestamp when generating CRDs, RBAC, and webhooks
2 parents b6b2235 + c2674ee commit ea4743a

17 files changed

+10
-23
lines changed

pkg/crd/gen.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func (g Generator) Generate(ctx *genall.GenerationContext) error {
153153
} else {
154154
fileName = fmt.Sprintf("%s_%s.%s.yaml", crdRaw.Spec.Group, crdRaw.Spec.Names.Plural, crdVersions[i])
155155
}
156-
if err := ctx.WriteYAML(fileName, []interface{}{crd}, genall.WithTransform(transformRemoveCRDStatus)); err != nil {
156+
if err := ctx.WriteYAML(fileName, []interface{}{crd}, genall.WithTransform(transformRemoveCRDStatus), genall.WithTransform(genall.TransformRemoveCreationTimestamp)); err != nil {
157157
return err
158158
}
159159
}

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

-1
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

-1
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

-1
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

-1
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

-1
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

-1
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

-1
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

+7
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

+1-1
Original file line numberDiff line numberDiff line change
@@ -263,5 +263,5 @@ func (g Generator) Generate(ctx *genall.GenerationContext) error {
263263
return nil
264264
}
265265

266-
return ctx.WriteYAML("role.yaml", objs)
266+
return ctx.WriteYAML("role.yaml", objs, genall.WithTransform(genall.TransformRemoveCreationTimestamp))
267267
}

pkg/rbac/testdata/role.yaml

-3
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

+1-1
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ func (Generator) Generate(ctx *genall.GenerationContext) error {
412412
} else {
413413
fileName = fmt.Sprintf("manifests.%s.yaml", k)
414414
}
415-
if err := ctx.WriteYAML(fileName, v); err != nil {
415+
if err := ctx.WriteYAML(fileName, v, genall.WithTransform(genall.TransformRemoveCreationTimestamp)); err != nil {
416416
return err
417417
}
418418
}

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

-2
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

-2
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

-2
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

-2
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/manifests.yaml

-2
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)