Skip to content

Commit 1fcec33

Browse files
committed
remove crd name template
1 parent 31d4b55 commit 1fcec33

File tree

1 file changed

+12
-53
lines changed

1 file changed

+12
-53
lines changed

pkg/processor/crd/crd.go

Lines changed: 12 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,20 @@ import (
77
yamlformat "github.com/arttor/helmify/pkg/yaml"
88
"github.com/pkg/errors"
99
"io"
10-
extensionv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
1110
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
12-
"k8s.io/apimachinery/pkg/runtime"
1311
"k8s.io/apimachinery/pkg/runtime/schema"
1412
"sigs.k8s.io/yaml"
1513
)
1614

1715
const crdTeml = `apiVersion: apiextensions.k8s.io/v1
1816
kind: CustomResourceDefinition
1917
metadata:
20-
name: {{ .Values.crd.%[1]s.plural }}.{{ .Values.crd.%[1]s.group }}
18+
name: %[1]s
2119
annotations:
2220
controller-gen.kubebuilder.io/version: v0.4.1
2321
labels:
2422
{{- include "%[2]s.labels" . | nindent 4 }}
2523
spec:
26-
group: {{ .Values.crd.%[1]s.group }}
27-
names:
28-
kind: {{ .Values.crd.%[1]s.kind }}
29-
listKind: {{ .Values.crd.%[1]s.listKind }}
30-
plural: {{ .Values.crd.%[1]s.plural }}
31-
singular: {{ .Values.crd.%[1]s.singular }}
32-
scope: {{ .Values.crd.%[1]s.scope }}
33-
versions:
3424
%[3]s
3525
status:
3626
acceptedNames:
@@ -56,67 +46,36 @@ func (d deployment) Process(info helmify.ChartInfo, obj *unstructured.Unstructur
5646
if obj.GroupVersionKind() != crdGVC {
5747
return false, nil, nil
5848
}
59-
60-
crd := extensionv1beta1.CustomResourceDefinition{}
61-
err := runtime.DefaultUnstructuredConverter.FromUnstructured(obj.Object, &crd)
62-
if err != nil {
63-
return true, nil, errors.Wrap(err, "unable to cast unstructured to crd")
64-
}
65-
66-
versionsUnstr, ok, err := unstructured.NestedSlice(obj.Object, "spec", "versions")
49+
specUnstr, ok, err := unstructured.NestedMap(obj.Object, "spec")
6750
if err != nil || !ok {
6851
return true, nil, errors.Wrap(err, "unable to create crd template")
6952
}
70-
versions, _ := yaml.Marshal(versionsUnstr)
53+
versions, _ := yaml.Marshal(specUnstr)
7154
versions = yamlformat.Indent(versions, 2)
7255
versions = bytes.TrimRight(versions, "\n ")
7356

74-
res := fmt.Sprintf(crdTeml, crd.Spec.Names.Singular, info.ChartName, string(versions))
75-
76-
values := helmify.Values{}
77-
err = unstructured.SetNestedField(values, crd.Spec.Group, "crd", crd.Spec.Names.Singular, "group")
78-
if err != nil {
79-
return true, nil, errors.Wrap(err, "unable to set crd value field")
80-
}
81-
err = unstructured.SetNestedField(values, crd.Spec.Names.Kind, "crd", crd.Spec.Names.Singular, "kind")
82-
if err != nil {
83-
return true, nil, errors.Wrap(err, "unable to set crd value field")
84-
}
85-
err = unstructured.SetNestedField(values, crd.Spec.Names.ListKind, "crd", crd.Spec.Names.Singular, "listKind")
86-
if err != nil {
87-
return true, nil, errors.Wrap(err, "unable to set crd value field")
88-
}
89-
err = unstructured.SetNestedField(values, crd.Spec.Names.Singular, "crd", crd.Spec.Names.Singular, "singular")
90-
if err != nil {
91-
return true, nil, errors.Wrap(err, "unable to set crd value field")
92-
}
93-
err = unstructured.SetNestedField(values, crd.Spec.Names.Plural, "crd", crd.Spec.Names.Singular, "plural")
94-
if err != nil {
95-
return true, nil, errors.Wrap(err, "unable to set crd value field")
96-
}
97-
err = unstructured.SetNestedField(values, string(crd.Spec.Scope), "crd", crd.Spec.Names.Singular, "scope")
98-
if err != nil {
99-
return true, nil, errors.Wrap(err, "unable to set crd value field")
57+
res := fmt.Sprintf(crdTeml, obj.GetName(), info.ChartName, string(versions))
58+
name, _, err := unstructured.NestedString(obj.Object, "spec", "names", "singular")
59+
if err != nil || !ok {
60+
return true, nil, errors.Wrap(err, "unable to create crd template")
10061
}
10162
return true, &result{
102-
name: crd.Spec.Names.Singular + "-crd.yaml",
103-
values: values,
104-
data: []byte(res),
63+
name: name + "-crd.yaml",
64+
data: []byte(res),
10565
}, nil
10666
}
10767

10868
type result struct {
109-
name string
110-
data []byte
111-
values helmify.Values
69+
name string
70+
data []byte
11271
}
11372

11473
func (r *result) Filename() string {
11574
return r.name
11675
}
11776

11877
func (r *result) Values() helmify.Values {
119-
return r.values
78+
return helmify.Values{}
12079
}
12180

12281
func (r *result) Write(writer io.Writer) error {

0 commit comments

Comments
 (0)