File tree Expand file tree Collapse file tree 17 files changed +378
-53
lines changed
charts/nginx-gateway-fabric Expand file tree Collapse file tree 17 files changed +378
-53
lines changed Original file line number Diff line number Diff line change @@ -27,12 +27,31 @@ type NginxProxyList struct {
27
27
Items []NginxProxy `json:"items"`
28
28
}
29
29
30
+ // IPFamilyType specifies the IP family to be used by the server.
31
+ //
32
+ // +kubebuilder:validation:Enum=both;ipv4;ipv6
33
+ type IPFamilyType string
34
+
35
+ const (
36
+ // Dual specifies that the server will use both IPv4 and IPv6.
37
+ Dual IPFamilyType = "dual"
38
+ // IPv4 specifies that the server will use only IPv4.
39
+ IPv4 IPFamilyType = "ipv4"
40
+ // IPv6 specifies that the server will use only IPv6.
41
+ IPv6 IPFamilyType = "ipv6"
42
+ )
43
+
30
44
// NginxProxySpec defines the desired state of the NginxProxy.
31
45
type NginxProxySpec struct {
32
46
// Telemetry specifies the OpenTelemetry configuration.
33
47
//
34
48
// +optional
35
49
Telemetry * Telemetry `json:"telemetry,omitempty"`
50
+ // IPFamily specifies the IP family to be used by the server.
51
+ // Default is "both", meaning the server will use both IPv4 and IPv6.
52
+ //
53
+ // +optional
54
+ IPFamily IPFamilyType `json:"ipFamily,omitempty"`
36
55
// DisableHTTP2 defines if http2 should be disabled for all servers.
37
56
// Default is false, meaning http2 will be enabled for all servers.
38
57
//
Original file line number Diff line number Diff line change @@ -260,7 +260,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
260
260
| `metrics.enable` | Enable exposing metrics in the Prometheus format. | bool | `true` |
261
261
| `metrics.port` | Set the port where the Prometheus metrics are exposed. Format : [1024 - 65535] | int | `9113` |
262
262
| `metrics.secure` | Enable serving metrics via https. By default metrics are served via http. Please note that this endpoint will be secured with a self-signed certificate. | bool | `false` |
263
- | `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. | object | `{}` |
263
+ | `nginx.config` | The configuration for the data plane that is contained in the NginxProxy resource. | object | `{"ipFamily":"dual" }` |
264
264
| `nginx.extraVolumeMounts` | extraVolumeMounts are the additional volume mounts for the nginx container. | list | `[]` |
265
265
| `nginx.image.pullPolicy` | | string | `"Always"` |
266
266
| `nginx.image.repository` | The NGINX image to use. | string | `"ghcr.io/nginxinc/nginx-gateway-fabric/nginx"` |
Original file line number Diff line number Diff line change 84
84
85
85
# -- The configuration for the data plane that is contained in the NginxProxy resource.
86
86
config :
87
- {}
88
87
# disableHTTP2: false
88
+ ipFamily : dual
89
89
# telemetry:
90
90
# exporter:
91
91
# endpoint: otel-collector.default.svc:4317
Original file line number Diff line number Diff line change 52
52
DisableHTTP2 defines if http2 should be disabled for all servers.
53
53
Default is false, meaning http2 will be enabled for all servers.
54
54
type : boolean
55
+ ipFamily :
56
+ description : |-
57
+ IPFamily specifies the IP family to be used by the server.
58
+ Default is "both", meaning the server will use both IPv4 and IPv6.
59
+ enum :
60
+ - both
61
+ - ipv4
62
+ - ipv6
63
+ type : string
55
64
telemetry :
56
65
description : Telemetry specifies the OpenTelemetry configuration.
57
66
properties :
Original file line number Diff line number Diff line change @@ -697,6 +697,15 @@ spec:
697
697
DisableHTTP2 defines if http2 should be disabled for all servers.
698
698
Default is false, meaning http2 will be enabled for all servers.
699
699
type : boolean
700
+ ipFamily :
701
+ description : |-
702
+ IPFamily specifies the IP family to be used by the server.
703
+ Default is "both", meaning the server will use both IPv4 and IPv6.
704
+ enum :
705
+ - both
706
+ - ipv4
707
+ - ipv6
708
+ type : string
700
709
telemetry :
701
710
description : Telemetry specifies the OpenTelemetry configuration.
702
711
properties :
Original file line number Diff line number Diff line change @@ -295,6 +295,10 @@ metadata:
295
295
app.kubernetes.io/version : " edge"
296
296
spec :
297
297
controllerName : gateway.nginx.org/nginx-gateway-controller
298
+ parametersRef :
299
+ group : gateway.nginx.org
300
+ kind : NginxProxy
301
+ name : nginx-gateway-proxy-config
298
302
---
299
303
# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
300
304
apiVersion : gateway.nginx.org/v1alpha1
@@ -309,3 +313,15 @@ metadata:
309
313
spec :
310
314
logging :
311
315
level : info
316
+ ---
317
+ # Source: nginx-gateway-fabric/templates/nginxproxy.yaml
318
+ apiVersion : gateway.nginx.org/v1alpha1
319
+ kind : NginxProxy
320
+ metadata :
321
+ name : nginx-gateway-proxy-config
322
+ labels :
323
+ app.kubernetes.io/name : nginx-gateway
324
+ app.kubernetes.io/instance : nginx-gateway
325
+ app.kubernetes.io/version : " edge"
326
+ spec :
327
+ ipFamily : dual
Original file line number Diff line number Diff line change @@ -291,6 +291,10 @@ metadata:
291
291
app.kubernetes.io/version : " edge"
292
292
spec :
293
293
controllerName : gateway.nginx.org/nginx-gateway-controller
294
+ parametersRef :
295
+ group : gateway.nginx.org
296
+ kind : NginxProxy
297
+ name : nginx-gateway-proxy-config
294
298
---
295
299
# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
296
300
apiVersion : gateway.nginx.org/v1alpha1
@@ -305,3 +309,15 @@ metadata:
305
309
spec :
306
310
logging :
307
311
level : info
312
+ ---
313
+ # Source: nginx-gateway-fabric/templates/nginxproxy.yaml
314
+ apiVersion : gateway.nginx.org/v1alpha1
315
+ kind : NginxProxy
316
+ metadata :
317
+ name : nginx-gateway-proxy-config
318
+ labels :
319
+ app.kubernetes.io/name : nginx-gateway
320
+ app.kubernetes.io/instance : nginx-gateway
321
+ app.kubernetes.io/version : " edge"
322
+ spec :
323
+ ipFamily : dual
Original file line number Diff line number Diff line change @@ -302,6 +302,10 @@ metadata:
302
302
app.kubernetes.io/version : " edge"
303
303
spec :
304
304
controllerName : gateway.nginx.org/nginx-gateway-controller
305
+ parametersRef :
306
+ group : gateway.nginx.org
307
+ kind : NginxProxy
308
+ name : nginx-gateway-proxy-config
305
309
---
306
310
# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
307
311
apiVersion : gateway.nginx.org/v1alpha1
@@ -316,3 +320,15 @@ metadata:
316
320
spec :
317
321
logging :
318
322
level : info
323
+ ---
324
+ # Source: nginx-gateway-fabric/templates/nginxproxy.yaml
325
+ apiVersion : gateway.nginx.org/v1alpha1
326
+ kind : NginxProxy
327
+ metadata :
328
+ name : nginx-gateway-proxy-config
329
+ labels :
330
+ app.kubernetes.io/name : nginx-gateway
331
+ app.kubernetes.io/instance : nginx-gateway
332
+ app.kubernetes.io/version : " edge"
333
+ spec :
334
+ ipFamily : dual
Original file line number Diff line number Diff line change @@ -298,6 +298,10 @@ metadata:
298
298
app.kubernetes.io/version : " edge"
299
299
spec :
300
300
controllerName : gateway.nginx.org/nginx-gateway-controller
301
+ parametersRef :
302
+ group : gateway.nginx.org
303
+ kind : NginxProxy
304
+ name : nginx-gateway-proxy-config
301
305
---
302
306
# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
303
307
apiVersion : gateway.nginx.org/v1alpha1
@@ -312,3 +316,15 @@ metadata:
312
316
spec :
313
317
logging :
314
318
level : info
319
+ ---
320
+ # Source: nginx-gateway-fabric/templates/nginxproxy.yaml
321
+ apiVersion : gateway.nginx.org/v1alpha1
322
+ kind : NginxProxy
323
+ metadata :
324
+ name : nginx-gateway-proxy-config
325
+ labels :
326
+ app.kubernetes.io/name : nginx-gateway
327
+ app.kubernetes.io/instance : nginx-gateway
328
+ app.kubernetes.io/version : " edge"
329
+ spec :
330
+ ipFamily : dual
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ type Server struct {
10
10
IsDefaultHTTP bool
11
11
IsDefaultSSL bool
12
12
GRPC bool
13
+ IPv6Enabled bool
13
14
}
14
15
15
16
// Location holds all configuration for an HTTP location.
You can’t perform that action at this time.
0 commit comments