diff --git a/charts/nginx-gateway-fabric/README.md b/charts/nginx-gateway-fabric/README.md index 691eb26aa7..37f07280b3 100644 --- a/charts/nginx-gateway-fabric/README.md +++ b/charts/nginx-gateway-fabric/README.md @@ -246,7 +246,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri | `nginx.usage.resolver` | The nameserver used to resolve the NGINX Plus usage reporting endpoint. Used with NGINX Instance Manager. | string | `""` | | `nginx.usage.secretName` | The name of the Secret containing the JWT for NGINX Plus usage reporting. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). | string | `"nplus-license"` | | `nginx.usage.skipVerify` | Disable client verification of the NGINX Plus usage reporting server certificate. | bool | `false` | -| `nginxGateway` | The nginxGateway section contains configuration for the NGINX Gateway Fabric control plane deployment. | object | `{"affinity":{},"autoscaling":{"enable":false},"config":{"logging":{"level":"info"}},"configAnnotations":{},"extraVolumeMounts":[],"extraVolumes":[],"gatewayClassAnnotations":{},"gatewayClassName":"nginx","gatewayControllerName":"gateway.nginx.org/nginx-gateway-controller","gwAPIExperimentalFeatures":{"enable":false},"gwAPIInferenceExtension":{"enable":false,"endpointPicker":{"disableTLS":false,"skipVerify":true}},"image":{"pullPolicy":"Always","repository":"ghcr.io/nginx/nginx-gateway-fabric","tag":"edge"},"kind":"deployment","labels":{},"leaderElection":{"enable":true,"lockName":""},"lifecycle":{},"metrics":{"enable":true,"port":9113,"secure":false},"name":"","nodeSelector":{},"podAnnotations":{},"productTelemetry":{"enable":true},"readinessProbe":{"enable":true,"initialDelaySeconds":3,"port":8081},"replicas":1,"resources":{},"service":{"annotations":{},"labels":{}},"serviceAccount":{"annotations":{},"imagePullSecret":"","imagePullSecrets":[],"name":""},"snippetsFilters":{"enable":false},"terminationGracePeriodSeconds":30,"tolerations":[],"topologySpreadConstraints":[]}` | +| `nginxGateway` | The nginxGateway section contains configuration for the NGINX Gateway Fabric control plane deployment. | object | `{"affinity":{},"autoscaling":{"enable":false},"config":{"logging":{"level":"info"}},"configAnnotations":{},"extraVolumeMounts":[],"extraVolumes":[],"gatewayClassAnnotations":{},"gatewayClassName":"nginx","gatewayControllerName":"gateway.nginx.org/nginx-gateway-controller","gwAPIExperimentalFeatures":{"enable":false},"gwAPIInferenceExtension":{"enable":false,"endpointPicker":{"disableTLS":false,"skipVerify":true}},"image":{"pullPolicy":"Always","repository":"ghcr.io/nginx/nginx-gateway-fabric","tag":"edge"},"kind":"deployment","labels":{},"leaderElection":{"enable":true,"lockName":""},"lifecycle":{},"metrics":{"enable":true,"port":9113,"secure":false},"name":"","nodeSelector":{},"podAnnotations":{},"priorityClassName":"","productTelemetry":{"enable":true},"readinessProbe":{"enable":true,"initialDelaySeconds":3,"port":8081},"replicas":1,"resources":{},"service":{"annotations":{},"labels":{}},"serviceAccount":{"annotations":{},"imagePullSecret":"","imagePullSecrets":[],"name":""},"snippetsFilters":{"enable":false},"terminationGracePeriodSeconds":30,"tolerations":[],"topologySpreadConstraints":[]}` | | `nginxGateway.affinity` | The affinity of the NGINX Gateway Fabric control plane pod. | object | `{}` | | `nginxGateway.autoscaling` | Autoscaling configuration for the NGINX Gateway Fabric control plane. | object | `{"enable":false}` | | `nginxGateway.autoscaling.enable` | Enable or disable Horizontal Pod Autoscaler for the control plane. | bool | `false` | @@ -275,6 +275,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri | `nginxGateway.name` | The name of the NGINX Gateway Fabric deployment - if not present, then by default uses release name given during installation. | string | `""` | | `nginxGateway.nodeSelector` | The nodeSelector of the NGINX Gateway Fabric control plane pod. | object | `{}` | | `nginxGateway.podAnnotations` | Set of custom annotations for the NGINX Gateway Fabric pods. | object | `{}` | +| `nginxGateway.priorityClassName` | The priority class name for the NGINX Gateway Fabric control plane pod. | string | `""` | | `nginxGateway.productTelemetry.enable` | Enable the collection of product telemetry. | bool | `true` | | `nginxGateway.readinessProbe.enable` | Enable the /readyz endpoint on the control plane. | bool | `true` | | `nginxGateway.readinessProbe.initialDelaySeconds` | The number of seconds after the Pod has started before the readiness probes are initiated. | int | `3` | diff --git a/charts/nginx-gateway-fabric/templates/deployment.yaml b/charts/nginx-gateway-fabric/templates/deployment.yaml index 6c79253fe7..c9b9ee2a92 100644 --- a/charts/nginx-gateway-fabric/templates/deployment.yaml +++ b/charts/nginx-gateway-fabric/templates/deployment.yaml @@ -188,6 +188,7 @@ spec: {{- with .Values.nginxGateway.extraVolumeMounts -}} {{ toYaml . | nindent 8 }} {{- end }} + priorityClassName: {{ .Values.nginxGateway.priorityClassName }} {{- if .Values.nginxGateway.topologySpreadConstraints }} topologySpreadConstraints: {{- toYaml .Values.nginxGateway.topologySpreadConstraints | nindent 8 }} diff --git a/charts/nginx-gateway-fabric/values.schema.json b/charts/nginx-gateway-fabric/values.schema.json index 85967e4913..7921a983e3 100644 --- a/charts/nginx-gateway-fabric/values.schema.json +++ b/charts/nginx-gateway-fabric/values.schema.json @@ -1019,6 +1019,13 @@ "title": "podAnnotations", "type": "object" }, + "priorityClassName": { + "default": "", + "description": "The priority class name for the NGINX Gateway Fabric control plane pod.", + "required": [], + "title": "priorityClassName", + "type": "string" + }, "productTelemetry": { "properties": { "enable": { diff --git a/charts/nginx-gateway-fabric/values.yaml b/charts/nginx-gateway-fabric/values.yaml index 9e8e7de21d..4348d7798b 100644 --- a/charts/nginx-gateway-fabric/values.yaml +++ b/charts/nginx-gateway-fabric/values.yaml @@ -142,6 +142,9 @@ nginxGateway: # -- extraVolumeMounts are the additional volume mounts for the nginx-gateway container. extraVolumeMounts: [] + # -- The priority class name for the NGINX Gateway Fabric control plane pod. + priorityClassName: "" + # -- The termination grace period of the NGINX Gateway Fabric control plane pod. terminationGracePeriodSeconds: 30 diff --git a/deploy/azure/deploy.yaml b/deploy/azure/deploy.yaml index ed1699b656..391acd1acf 100644 --- a/deploy/azure/deploy.yaml +++ b/deploy/azure/deploy.yaml @@ -338,6 +338,7 @@ spec: name: nginx-agent-tls nodeSelector: kubernetes.io/os: linux + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/default/deploy.yaml b/deploy/default/deploy.yaml index 2651f0bc3c..72fc79d59f 100644 --- a/deploy/default/deploy.yaml +++ b/deploy/default/deploy.yaml @@ -336,6 +336,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/experimental-nginx-plus/deploy.yaml b/deploy/experimental-nginx-plus/deploy.yaml index 4ea4257289..9e0a4c2be6 100644 --- a/deploy/experimental-nginx-plus/deploy.yaml +++ b/deploy/experimental-nginx-plus/deploy.yaml @@ -343,6 +343,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/experimental/deploy.yaml b/deploy/experimental/deploy.yaml index 6b9ff2594b..255eb677b1 100644 --- a/deploy/experimental/deploy.yaml +++ b/deploy/experimental/deploy.yaml @@ -339,6 +339,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/inference-nginx-plus/deploy.yaml b/deploy/inference-nginx-plus/deploy.yaml index f2be0e2902..fc1ef78003 100644 --- a/deploy/inference-nginx-plus/deploy.yaml +++ b/deploy/inference-nginx-plus/deploy.yaml @@ -356,6 +356,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/inference/deploy.yaml b/deploy/inference/deploy.yaml index 129573c45c..97e2864fef 100644 --- a/deploy/inference/deploy.yaml +++ b/deploy/inference/deploy.yaml @@ -352,6 +352,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/nginx-plus/deploy.yaml b/deploy/nginx-plus/deploy.yaml index 6610a43166..9fb03696d3 100644 --- a/deploy/nginx-plus/deploy.yaml +++ b/deploy/nginx-plus/deploy.yaml @@ -340,6 +340,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/nodeport/deploy.yaml b/deploy/nodeport/deploy.yaml index f2538143ed..db55951b5e 100644 --- a/deploy/nodeport/deploy.yaml +++ b/deploy/nodeport/deploy.yaml @@ -336,6 +336,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/openshift/deploy.yaml b/deploy/openshift/deploy.yaml index 09b25596fc..8b6b2b3d19 100644 --- a/deploy/openshift/deploy.yaml +++ b/deploy/openshift/deploy.yaml @@ -358,6 +358,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/snippets-filters-nginx-plus/deploy.yaml b/deploy/snippets-filters-nginx-plus/deploy.yaml index b62bbb40df..67576d37d3 100644 --- a/deploy/snippets-filters-nginx-plus/deploy.yaml +++ b/deploy/snippets-filters-nginx-plus/deploy.yaml @@ -343,6 +343,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true diff --git a/deploy/snippets-filters/deploy.yaml b/deploy/snippets-filters/deploy.yaml index 0ef73c141b..68d7d8eb65 100644 --- a/deploy/snippets-filters/deploy.yaml +++ b/deploy/snippets-filters/deploy.yaml @@ -339,6 +339,7 @@ spec: volumeMounts: - mountPath: /var/run/secrets/ngf name: nginx-agent-tls + priorityClassName: null securityContext: fsGroup: 1001 runAsNonRoot: true