...
1
16
17 package v1beta1
18
19 import (
20 "strings"
21
22 "k8s.io/apimachinery/pkg/runtime"
23 utilpointer "k8s.io/utils/pointer"
24 )
25
26 func addDefaultingFuncs(scheme *runtime.Scheme) error {
27 return RegisterDefaults(scheme)
28 }
29
30 func SetDefaults_CustomResourceDefinition(obj *CustomResourceDefinition) {
31 SetDefaults_CustomResourceDefinitionSpec(&obj.Spec)
32 if len(obj.Status.StoredVersions) == 0 {
33 for _, v := range obj.Spec.Versions {
34 if v.Storage {
35 obj.Status.StoredVersions = append(obj.Status.StoredVersions, v.Name)
36 break
37 }
38 }
39 }
40 }
41
42 func SetDefaults_CustomResourceDefinitionSpec(obj *CustomResourceDefinitionSpec) {
43 if len(obj.Scope) == 0 {
44 obj.Scope = NamespaceScoped
45 }
46 if len(obj.Names.Singular) == 0 {
47 obj.Names.Singular = strings.ToLower(obj.Names.Kind)
48 }
49 if len(obj.Names.ListKind) == 0 && len(obj.Names.Kind) > 0 {
50 obj.Names.ListKind = obj.Names.Kind + "List"
51 }
52
53 if len(obj.Versions) == 0 && len(obj.Version) != 0 {
54 obj.Versions = []CustomResourceDefinitionVersion{{
55 Name: obj.Version,
56 Storage: true,
57 Served: true,
58 }}
59 }
60
61 if len(obj.Version) == 0 && len(obj.Versions) != 0 {
62 obj.Version = obj.Versions[0].Name
63 }
64 if obj.Conversion == nil {
65 obj.Conversion = &CustomResourceConversion{
66 Strategy: NoneConverter,
67 }
68 }
69 if obj.Conversion.Strategy == WebhookConverter && len(obj.Conversion.ConversionReviewVersions) == 0 {
70 obj.Conversion.ConversionReviewVersions = []string{SchemeGroupVersion.Version}
71 }
72 if obj.PreserveUnknownFields == nil {
73 obj.PreserveUnknownFields = utilpointer.BoolPtr(true)
74 }
75 }
76
77
78 func SetDefaults_ServiceReference(obj *ServiceReference) {
79 if obj.Port == nil {
80 obj.Port = utilpointer.Int32Ptr(443)
81 }
82 }
83
View as plain text