Skip to content

Commit 3634ef5

Browse files
sf1tzparttor
authored andcommitted
Add labels from CRD source
1 parent 07372d3 commit 3634ef5

File tree

5 files changed

+20
-10
lines changed

5 files changed

+20
-10
lines changed

examples/operator/templates/cephvolume-crd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ metadata:
44
name: cephvolumes.test.example.com
55
annotations:
66
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "operator.fullname" . }}-serving-cert
7-
controller-gen.kubebuilder.io/version: v0.7.0
87
labels:
8+
example-label: my-app
99
{{- include "operator.labels" . | nindent 4 }}
1010
spec:
1111
group: test.example.com

examples/operator/templates/manifestcephvolume-crd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ metadata:
44
name: manifestcephvolumes.test.example.com
55
annotations:
66
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "operator.fullname" . }}-serving-cert
7-
controller-gen.kubebuilder.io/version: v0.7.0
87
labels:
8+
99
{{- include "operator.labels" . | nindent 4 }}
1010
spec:
1111
conversion:

pkg/processor/crd/crd.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ metadata:
2323
name: %[1]s
2424
annotations:
2525
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "%[2]s.fullname" . }}-%[4]s
26-
controller-gen.kubebuilder.io/version: v0.7.0
2726
labels:
27+
%[5]s
2828
{{- include "%[2]s.labels" . | nindent 4 }}
2929
spec:
3030
%[3]s
@@ -82,11 +82,20 @@ func (c crd) Process(appMeta helmify.AppMetadata, obj *unstructured.Unstructured
8282
}
8383
}
8484

85-
versions, _ := yaml.Marshal(spec)
86-
versions = yamlformat.Indent(versions, 2)
87-
versions = bytes.TrimRight(versions, "\n ")
85+
specYaml, _ := yaml.Marshal(spec)
86+
specYaml = yamlformat.Indent(specYaml, 2)
87+
specYaml = bytes.TrimRight(specYaml, "\n ")
8888

89-
res := fmt.Sprintf(crdTeml, obj.GetName(), appMeta.ChartName(), string(versions), certName)
89+
labels := obj.GetLabels()
90+
var labelsYaml []byte
91+
92+
if len(labels) > 0 {
93+
labelsYaml, _ = yaml.Marshal(labels)
94+
labelsYaml = yamlformat.Indent(labelsYaml, 4)
95+
labelsYaml = bytes.TrimRight(labelsYaml, "\n ")
96+
}
97+
98+
res := fmt.Sprintf(crdTeml, obj.GetName(), appMeta.ChartName(), string(specYaml), certName, string(labelsYaml))
9099
name, _, err := unstructured.NestedString(obj.Object, "spec", "names", "singular")
91100
if err != nil || !ok {
92101
return true, nil, errors.Wrap(err, "unable to create crd template")

pkg/processor/crd/crd_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ kind: CustomResourceDefinition
1515
metadata:
1616
annotations:
1717
cert-manager.io/inject-ca-from: my-operator-system/my-operator-serving-cert
18-
controller-gen.kubebuilder.io/version: v0.7.0
1918
creationTimestamp: null
2019
name: cephvolumes.test.example.com
20+
labels:
21+
example: true
2122
spec:
2223
group: test.example.com
2324
names:

test_data/k8s-operator-kustomize.output

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ kind: CustomResourceDefinition
1010
metadata:
1111
annotations:
1212
cert-manager.io/inject-ca-from: my-operator-system/operator-serving-cert
13-
controller-gen.kubebuilder.io/version: v0.7.0
1413
creationTimestamp: null
1514
name: cephvolumes.test.example.com
15+
labels:
16+
example-label: my-app
1617
spec:
1718
group: test.example.com
1819
names:
@@ -230,7 +231,6 @@ kind: CustomResourceDefinition
230231
metadata:
231232
annotations:
232233
cert-manager.io/inject-ca-from: my-operator-system/operator-serving-cert
233-
controller-gen.kubebuilder.io/version: v0.7.0
234234
creationTimestamp: null
235235
name: manifestcephvolumes.test.example.com
236236
spec:

0 commit comments

Comments
 (0)