Skip to content
This repository was archived by the owner on May 24, 2023. It is now read-only.

Commit 1e9920d

Browse files
authored
Fix enableCRDs default to be true
1 parent 460b2b2 commit 1e9920d

File tree

5 files changed

+22
-24
lines changed

5 files changed

+22
-24
lines changed

deploy/crds/k8s.nginx.org_nginxingresscontrollers_crd.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ spec:
6060
enableCRDs:
6161
description: Enables the use of NGINX Ingress Resource Definitions (VirtualServer
6262
and VirtualServerRoute). Default is true.
63+
nullable: true
6364
type: boolean
6465
enableLatencyMetrics:
6566
description: Bucketed response times from when NGINX establishes a connection

pkg/apis/k8s/v1alpha1/nginxingresscontroller_types.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ type NginxIngressControllerSpec struct {
3535
ServiceType string `json:"serviceType"`
3636
// Enables the use of NGINX Ingress Resource Definitions (VirtualServer and VirtualServerRoute). Default is true.
3737
// +kubebuilder:validation:Optional
38+
// +nullable
3839
// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
39-
EnableCRDs bool `json:"enableCRDs"`
40+
EnableCRDs *bool `json:"enableCRDs"`
4041
// Enable custom NGINX configuration snippets in VirtualServer and VirtualServerRoute resources.
4142
// Requires enableCRDs set to true.
4243
// +kubebuilder:validation:Optional

pkg/apis/k8s/v1alpha1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/controller/nginxingresscontroller/utils.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ func generatePodArgs(instance *k8sv1alpha1.NginxIngressController) []string {
4040
}
4141
}
4242

43-
if !instance.Spec.EnableCRDs {
44-
args = append(args, "-enable-custom-resources=false")
45-
}
46-
4743
if instance.Spec.IngressClass != "" {
4844
args = append(args, fmt.Sprintf("-ingress-class=%v", instance.Spec.IngressClass))
4945
}
@@ -115,7 +111,9 @@ func generatePodArgs(instance *k8sv1alpha1.NginxIngressController) []string {
115111
}
116112
}
117113

118-
if instance.Spec.EnableCRDs {
114+
if instance.Spec.EnableCRDs != nil && !*instance.Spec.EnableCRDs {
115+
args = append(args, "-enable-custom-resources=false")
116+
} else {
119117
if instance.Spec.EnableTLSPassthrough {
120118
args = append(args, "-enable-tls-passthrough")
121119
}

pkg/controller/nginxingresscontroller/utils_test.go

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ func TestGeneratePodArgs(t *testing.T) {
1717
statusPort = 9090
1818
name := "my-nginx-ingress"
1919
namespace := "my-nginx-ingress"
20+
enableCRDs := true
21+
disableCRDs := false
2022
tests := []struct {
2123
instance *k8sv1alpha1.NginxIngressController
2224
expected []string
@@ -27,9 +29,7 @@ func TestGeneratePodArgs(t *testing.T) {
2729
Name: name,
2830
Namespace: namespace,
2931
},
30-
Spec: k8sv1alpha1.NginxIngressControllerSpec{
31-
EnableCRDs: true,
32-
},
32+
Spec: k8sv1alpha1.NginxIngressControllerSpec{},
3333
},
3434
expected: []string{
3535
"-nginx-configmaps=my-nginx-ingress/my-nginx-ingress",
@@ -44,7 +44,6 @@ func TestGeneratePodArgs(t *testing.T) {
4444
},
4545
Spec: k8sv1alpha1.NginxIngressControllerSpec{
4646
DefaultSecret: "my-nginx-ingress/my-secret",
47-
EnableCRDs: true,
4847
},
4948
},
5049
expected: []string{
@@ -59,8 +58,7 @@ func TestGeneratePodArgs(t *testing.T) {
5958
Namespace: namespace,
6059
},
6160
Spec: k8sv1alpha1.NginxIngressControllerSpec{
62-
NginxPlus: true,
63-
EnableCRDs: true,
61+
NginxPlus: true,
6462
},
6563
},
6664
expected: []string{
@@ -76,7 +74,7 @@ func TestGeneratePodArgs(t *testing.T) {
7674
Namespace: namespace,
7775
},
7876
Spec: k8sv1alpha1.NginxIngressControllerSpec{
79-
EnableCRDs: false,
77+
EnableCRDs: &disableCRDs,
8078
},
8179
},
8280
expected: []string{
@@ -93,7 +91,7 @@ func TestGeneratePodArgs(t *testing.T) {
9391
},
9492
Spec: k8sv1alpha1.NginxIngressControllerSpec{
9593
NginxPlus: true,
96-
EnableCRDs: false,
94+
EnableCRDs: &disableCRDs,
9795
DefaultSecret: "my-nginx-ingress/my-secret",
9896
},
9997
},
@@ -122,7 +120,6 @@ func TestGeneratePodArgs(t *testing.T) {
122120
expected: []string{
123121
"-nginx-configmaps=my-nginx-ingress/my-nginx-ingress",
124122
"-default-server-tls-secret=my-nginx-ingress/my-secret",
125-
"-enable-custom-resources=false",
126123
"-report-ingress-status",
127124
"-ingresslink=my-ingresslink",
128125
},
@@ -145,7 +142,6 @@ func TestGeneratePodArgs(t *testing.T) {
145142
expected: []string{
146143
"-nginx-configmaps=my-nginx-ingress/my-nginx-ingress",
147144
"-default-server-tls-secret=my-nginx-ingress/my-secret",
148-
"-enable-custom-resources=false",
149145
"-report-ingress-status",
150146
fmt.Sprintf("-external-service=%v", name),
151147
},
@@ -157,7 +153,7 @@ func TestGeneratePodArgs(t *testing.T) {
157153
Namespace: namespace,
158154
},
159155
Spec: k8sv1alpha1.NginxIngressControllerSpec{
160-
EnableCRDs: true,
156+
EnableCRDs: &enableCRDs,
161157
EnableSnippets: true,
162158
EnablePreviewPolicies: true,
163159
EnableTLSPassthrough: true,
@@ -214,7 +210,7 @@ func TestGeneratePodArgs(t *testing.T) {
214210
Enable: true,
215211
},
216212
NginxReloadTimeout: 5000,
217-
EnableCRDs: false,
213+
EnableCRDs: &disableCRDs,
218214
EnableSnippets: true,
219215
EnablePreviewPolicies: true,
220216
},
@@ -224,7 +220,6 @@ func TestGeneratePodArgs(t *testing.T) {
224220
"-default-server-tls-secret=my-nginx-ingress/my-secret",
225221
"-nginx-plus",
226222
"-enable-app-protect",
227-
"-enable-custom-resources=false",
228223
"-ingress-class=ingressClass",
229224
"-use-ingress-class-only",
230225
"-watch-namespace=default",
@@ -242,6 +237,7 @@ func TestGeneratePodArgs(t *testing.T) {
242237
"-enable-prometheus-metrics",
243238
"-prometheus-metrics-listen-port=9114",
244239
"-enable-latency-metrics",
240+
"-enable-custom-resources=false",
245241
"-nginx-reload-timeout=5000",
246242
},
247243
},
@@ -277,8 +273,7 @@ func TestHasDifferentArguments(t *testing.T) {
277273
Namespace: namespace,
278274
},
279275
Spec: k8sv1alpha1.NginxIngressControllerSpec{
280-
NginxPlus: true,
281-
EnableCRDs: true,
276+
NginxPlus: true,
282277
},
283278
},
284279
expected: false,
@@ -297,8 +292,7 @@ func TestHasDifferentArguments(t *testing.T) {
297292
Namespace: namespace,
298293
},
299294
Spec: k8sv1alpha1.NginxIngressControllerSpec{
300-
NginxPlus: true,
301-
EnableCRDs: true,
295+
NginxPlus: true,
302296
},
303297
},
304298
expected: true,
@@ -319,7 +313,6 @@ func TestHasDifferentArguments(t *testing.T) {
319313
Spec: k8sv1alpha1.NginxIngressControllerSpec{
320314
NginxPlus: true,
321315
DefaultSecret: "my-namespace/my-secret",
322-
EnableCRDs: true,
323316
},
324317
},
325318
expected: true,

0 commit comments

Comments
 (0)