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 {
2727 Items []NginxProxy `json:"items"`
2828}
2929
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+
3044// NginxProxySpec defines the desired state of the NginxProxy.
3145type NginxProxySpec struct {
3246 // Telemetry specifies the OpenTelemetry configuration.
3347 //
3448 // +optional
3549 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"`
3655 // DisableHTTP2 defines if http2 should be disabled for all servers.
3756 // Default is false, meaning http2 will be enabled for all servers.
3857 //
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
260260| `metrics.enable` | Enable exposing metrics in the Prometheus format. | bool | `true` |
261261| `metrics.port` | Set the port where the Prometheus metrics are exposed. Format : [1024 - 65535] | int | `9113` |
262262| `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" }` |
264264| `nginx.extraVolumeMounts` | extraVolumeMounts are the additional volume mounts for the nginx container. | list | `[]` |
265265| `nginx.image.pullPolicy` | | string | `"Always"` |
266266| `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 8484
8585 # -- The configuration for the data plane that is contained in the NginxProxy resource.
8686 config :
87- {}
8887 # disableHTTP2: false
88+ ipFamily : dual
8989 # telemetry:
9090 # exporter:
9191 # endpoint: otel-collector.default.svc:4317
Original file line number Diff line number Diff line change 5252 DisableHTTP2 defines if http2 should be disabled for all servers.
5353 Default is false, meaning http2 will be enabled for all servers.
5454 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
5564 telemetry :
5665 description : Telemetry specifies the OpenTelemetry configuration.
5766 properties :
Original file line number Diff line number Diff line change @@ -697,6 +697,15 @@ spec:
697697 DisableHTTP2 defines if http2 should be disabled for all servers.
698698 Default is false, meaning http2 will be enabled for all servers.
699699 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
700709 telemetry :
701710 description : Telemetry specifies the OpenTelemetry configuration.
702711 properties :
Original file line number Diff line number Diff line change @@ -295,6 +295,10 @@ metadata:
295295 app.kubernetes.io/version : " edge"
296296spec :
297297 controllerName : gateway.nginx.org/nginx-gateway-controller
298+ parametersRef :
299+ group : gateway.nginx.org
300+ kind : NginxProxy
301+ name : nginx-gateway-proxy-config
298302---
299303# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
300304apiVersion : gateway.nginx.org/v1alpha1
@@ -309,3 +313,15 @@ metadata:
309313spec :
310314 logging :
311315 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:
291291 app.kubernetes.io/version : " edge"
292292spec :
293293 controllerName : gateway.nginx.org/nginx-gateway-controller
294+ parametersRef :
295+ group : gateway.nginx.org
296+ kind : NginxProxy
297+ name : nginx-gateway-proxy-config
294298---
295299# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
296300apiVersion : gateway.nginx.org/v1alpha1
@@ -305,3 +309,15 @@ metadata:
305309spec :
306310 logging :
307311 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:
302302 app.kubernetes.io/version : " edge"
303303spec :
304304 controllerName : gateway.nginx.org/nginx-gateway-controller
305+ parametersRef :
306+ group : gateway.nginx.org
307+ kind : NginxProxy
308+ name : nginx-gateway-proxy-config
305309---
306310# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
307311apiVersion : gateway.nginx.org/v1alpha1
@@ -316,3 +320,15 @@ metadata:
316320spec :
317321 logging :
318322 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:
298298 app.kubernetes.io/version : " edge"
299299spec :
300300 controllerName : gateway.nginx.org/nginx-gateway-controller
301+ parametersRef :
302+ group : gateway.nginx.org
303+ kind : NginxProxy
304+ name : nginx-gateway-proxy-config
301305---
302306# Source: nginx-gateway-fabric/templates/nginxgateway.yaml
303307apiVersion : gateway.nginx.org/v1alpha1
@@ -312,3 +316,15 @@ metadata:
312316spec :
313317 logging :
314318 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 {
1010 IsDefaultHTTP bool
1111 IsDefaultSSL bool
1212 GRPC bool
13+ IPv6Enabled bool
1314}
1415
1516// Location holds all configuration for an HTTP location.
You can’t perform that action at this time.
0 commit comments