Skip to content

Commit 8075053

Browse files
authored
Merge branch 'main' into hpa
2 parents fb89c5e + c0fe552 commit 8075053

File tree

15 files changed

+101
-14
lines changed

15 files changed

+101
-14
lines changed

charts/nginx-gateway-fabric/README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,16 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
252252

253253
| Key | Description | Type | Default |
254254
|-----|-------------|------|---------|
255-
| `certGenerator` | The certGenerator section contains the configuration for the cert-generator Job. | object | `{"agentTLSSecretName":"agent-tls","annotations":{},"overwrite":false,"serverTLSSecretName":"server-tls"}` |
255+
| `certGenerator` | The certGenerator section contains the configuration for the cert-generator Job. | object | `{"affinity":{},"agentTLSSecretName":"agent-tls","annotations":{},"nodeSelector":{},"overwrite":false,"serverTLSSecretName":"server-tls","tolerations":[],"topologySpreadConstraints":[],"ttlSecondsAfterFinished":30}` |
256+
| `certGenerator.affinity` | The affinity of the cert-generator pod. | object | `{}` |
256257
| `certGenerator.agentTLSSecretName` | The name of the base Secret containing TLS CA, certificate, and key for the NGINX Agent to securely communicate with the NGINX Gateway Fabric control plane. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). | string | `"agent-tls"` |
257258
| `certGenerator.annotations` | The annotations of the cert-generator Job. | object | `{}` |
259+
| `certGenerator.nodeSelector` | The nodeSelector of the cert-generator pod. | object | `{}` |
258260
| `certGenerator.overwrite` | Overwrite existing TLS Secrets on startup. | bool | `false` |
259261
| `certGenerator.serverTLSSecretName` | The name of the Secret containing TLS CA, certificate, and key for the NGINX Gateway Fabric control plane to securely communicate with the NGINX Agent. Must exist in the same namespace that the NGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway). | string | `"server-tls"` |
262+
| `certGenerator.tolerations` | Tolerations for the cert-generator pod. | list | `[]` |
263+
| `certGenerator.topologySpreadConstraints` | The topology spread constraints for the cert-generator pod. | list | `[]` |
264+
| `certGenerator.ttlSecondsAfterFinished` | How long to wait after the cert generator job has finished before it is removed by the job controller. | int | `30` |
260265
| `clusterDomain` | The DNS cluster domain of your Kubernetes cluster. | string | `"cluster.local"` |
261266
| `gateways` | A list of Gateway objects. View https://gateway-api.sigs.k8s.io/reference/spec/#gateway for full Gateway reference. | list | `[]` |
262267
| `nginx` | The nginx section contains the configuration for all NGINX data plane deployments installed by the NGINX Gateway Fabric control plane. | object | `{"config":{},"container":{},"debug":false,"image":{"pullPolicy":"Always","repository":"ghcr.io/nginx/nginx-gateway-fabric/nginx","tag":"edge"},"imagePullSecret":"","imagePullSecrets":[],"kind":"deployment","plus":false,"pod":{},"replicas":1,"service":{"externalTrafficPolicy":"Local","loadBalancerClass":"","loadBalancerIP":"","loadBalancerSourceRanges":[],"nodePorts":[],"type":"LoadBalancer"},"usage":{"caSecretName":"","clientSSLSecretName":"","endpoint":"","resolver":"","secretName":"nplus-license","skipVerify":false}}` |
@@ -283,7 +288,7 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
283288
| `nginx.usage.resolver` | The nameserver used to resolve the NGINX Plus usage reporting endpoint. Used with NGINX Instance Manager. | string | `""` |
284289
| `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"` |
285290
| `nginx.usage.skipVerify` | Disable client verification of the NGINX Plus usage reporting server certificate. | bool | `false` |
286-
| `nginxGateway` | The nginxGateway section contains configuration for the NGINX Gateway Fabric control plane deployment. | object | `{"affinity":{},"config":{"logging":{"level":"info"}},"configAnnotations":{},"extraVolumeMounts":[],"extraVolumes":[],"gatewayClassAnnotations":{},"gatewayClassName":"nginx","gatewayControllerName":"gateway.nginx.org/nginx-gateway-controller","gwAPIExperimentalFeatures":{"enable":false},"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},"nodeSelector":{},"podAnnotations":{},"productTelemetry":{"enable":true},"readinessProbe":{"enable":true,"initialDelaySeconds":3,"port":8081},"replicas":1,"resources":{},"service":{"annotations":{}},"serviceAccount":{"annotations":{},"imagePullSecret":"","imagePullSecrets":[],"name":""},"snippetsFilters":{"enable":false},"terminationGracePeriodSeconds":30,"tolerations":[],"topologySpreadConstraints":[]}` |
291+
| `nginxGateway` | The nginxGateway section contains configuration for the NGINX Gateway Fabric control plane deployment. | object | `{"affinity":{},"config":{"logging":{"level":"info"}},"configAnnotations":{},"extraVolumeMounts":[],"extraVolumes":[],"gatewayClassAnnotations":{},"gatewayClassName":"nginx","gatewayControllerName":"gateway.nginx.org/nginx-gateway-controller","gwAPIExperimentalFeatures":{"enable":false},"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},"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":[]}` |
287292
| `nginxGateway.affinity` | The affinity of the NGINX Gateway Fabric control plane pod. | object | `{}` |
288293
| `nginxGateway.config.logging.level` | Log level. | string | `"info"` |
289294
| `nginxGateway.configAnnotations` | Set of custom annotations for NginxGateway objects. | object | `{}` |
@@ -311,8 +316,9 @@ The following table lists the configurable parameters of the NGINX Gateway Fabri
311316
| `nginxGateway.readinessProbe.port` | Port in which the readiness endpoint is exposed. | int | `8081` |
312317
| `nginxGateway.replicas` | The number of replicas of the NGINX Gateway Fabric Deployment. | int | `1` |
313318
| `nginxGateway.resources` | The resource requests and/or limits of the nginx-gateway container. | object | `{}` |
314-
| `nginxGateway.service` | The service configuration for the NGINX Gateway Fabric control plane. | object | `{"annotations":{}}` |
319+
| `nginxGateway.service` | The service configuration for the NGINX Gateway Fabric control plane. | object | `{"annotations":{},"labels":{}}` |
315320
| `nginxGateway.service.annotations` | The annotations of the NGINX Gateway Fabric control plane service. | object | `{}` |
321+
| `nginxGateway.service.labels` | The labels of the NGINX Gateway Fabric control plane service. | object | `{}` |
316322
| `nginxGateway.serviceAccount` | The serviceaccount configuration for the NGINX Gateway Fabric control plane. | object | `{"annotations":{},"imagePullSecret":"","imagePullSecrets":[],"name":""}` |
317323
| `nginxGateway.serviceAccount.annotations` | Set of custom annotations for the NGINX Gateway Fabric control plane service account. | object | `{}` |
318324
| `nginxGateway.serviceAccount.imagePullSecret` | The name of the secret containing docker registry credentials for the control plane. Secret must exist in the same namespace as the helm release. | string | `""` |

charts/nginx-gateway-fabric/templates/certs-job.yaml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,4 +153,20 @@ spec:
153153
securityContext:
154154
fsGroup: 1001
155155
runAsNonRoot: true
156-
ttlSecondsAfterFinished: 0
156+
{{- if .Values.certGenerator.topologySpreadConstraints }}
157+
topologySpreadConstraints:
158+
{{- toYaml .Values.certGenerator.topologySpreadConstraints | nindent 6 }}
159+
{{- end }}
160+
{{- if .Values.certGenerator.affinity }}
161+
affinity:
162+
{{- toYaml .Values.certGenerator.affinity | nindent 8 }}
163+
{{- end }}
164+
{{- if .Values.certGenerator.tolerations }}
165+
tolerations:
166+
{{- toYaml .Values.certGenerator.tolerations | nindent 6 }}
167+
{{- end }}
168+
{{- if .Values.certGenerator.nodeSelector }}
169+
nodeSelector:
170+
{{- toYaml .Values.certGenerator.nodeSelector | nindent 8 }}
171+
{{- end }}
172+
ttlSecondsAfterFinished: {{ .Values.certGenerator.ttlSecondsAfterFinished }}

charts/nginx-gateway-fabric/templates/service.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ metadata:
55
namespace: {{ .Release.Namespace }}
66
labels:
77
{{- include "nginx-gateway.labels" . | nindent 4 }}
8+
{{- if .Values.nginxGateway.service.labels }}
9+
{{ toYaml .Values.nginxGateway.service.labels | indent 4 }}
10+
{{- end }}
811
{{- if .Values.nginxGateway.service.annotations }}
912
annotations:
1013
{{ toYaml .Values.nginxGateway.service.annotations | indent 4 }}

charts/nginx-gateway-fabric/values.schema.json

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
"certGenerator": {
55
"description": "The certGenerator section contains the configuration for the cert-generator Job.",
66
"properties": {
7+
"affinity": {
8+
"description": "The affinity of the cert-generator pod.",
9+
"required": [],
10+
"title": "affinity",
11+
"type": "object"
12+
},
713
"agentTLSSecretName": {
814
"default": "agent-tls",
915
"description": "The name of the base Secret containing TLS CA, certificate, and key for the NGINX Agent to securely\ncommunicate with the NGINX Gateway Fabric control plane. Must exist in the same namespace that the\nNGINX Gateway Fabric control plane is running in (default namespace: nginx-gateway).",
@@ -17,6 +23,12 @@
1723
"title": "annotations",
1824
"type": "object"
1925
},
26+
"nodeSelector": {
27+
"description": "The nodeSelector of the cert-generator pod.",
28+
"required": [],
29+
"title": "nodeSelector",
30+
"type": "object"
31+
},
2032
"overwrite": {
2133
"default": false,
2234
"description": "Overwrite existing TLS Secrets on startup.",
@@ -30,6 +42,31 @@
3042
"required": [],
3143
"title": "serverTLSSecretName",
3244
"type": "string"
45+
},
46+
"tolerations": {
47+
"description": "Tolerations for the cert-generator pod.",
48+
"items": {
49+
"required": []
50+
},
51+
"required": [],
52+
"title": "tolerations",
53+
"type": "array"
54+
},
55+
"topologySpreadConstraints": {
56+
"description": "The topology spread constraints for the cert-generator pod.",
57+
"items": {
58+
"required": []
59+
},
60+
"required": [],
61+
"title": "topologySpreadConstraints",
62+
"type": "array"
63+
},
64+
"ttlSecondsAfterFinished": {
65+
"default": 30,
66+
"description": "How long to wait after the cert generator job has finished before it is removed by the job controller.",
67+
"required": [],
68+
"title": "ttlSecondsAfterFinished",
69+
"type": "integer"
3370
}
3471
},
3572
"required": [],
@@ -767,6 +804,12 @@
767804
"required": [],
768805
"title": "annotations",
769806
"type": "object"
807+
},
808+
"labels": {
809+
"description": "The labels of the NGINX Gateway Fabric control plane service.",
810+
"required": [],
811+
"title": "labels",
812+
"type": "object"
770813
}
771814
},
772815
"required": [],

charts/nginx-gateway-fabric/values.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ nginxGateway:
5959
# -- The annotations of the NGINX Gateway Fabric control plane service.
6060
annotations: {}
6161

62+
# -- The labels of the NGINX Gateway Fabric control plane service.
63+
labels: {}
64+
6265
# -- The serviceaccount configuration for the NGINX Gateway Fabric control plane.
6366
serviceAccount:
6467
# -- Set of custom annotations for the NGINX Gateway Fabric control plane service account.
@@ -512,6 +515,21 @@ certGenerator:
512515
# -- Overwrite existing TLS Secrets on startup.
513516
overwrite: false
514517

518+
# -- How long to wait after the cert generator job has finished before it is removed by the job controller.
519+
ttlSecondsAfterFinished: 30
520+
521+
# -- Tolerations for the cert-generator pod.
522+
tolerations: []
523+
524+
# -- The nodeSelector of the cert-generator pod.
525+
nodeSelector: {}
526+
527+
# -- The affinity of the cert-generator pod.
528+
affinity: {}
529+
530+
# -- The topology spread constraints for the cert-generator pod.
531+
topologySpreadConstraints: []
532+
515533
# -- A list of Gateway objects. View https://gateway-api.sigs.k8s.io/reference/spec/#gateway for full Gateway reference.
516534
gateways: []
517535

deploy/azure/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ spec:
367367
fsGroup: 1001
368368
runAsNonRoot: true
369369
serviceAccountName: nginx-gateway-cert-generator
370-
ttlSecondsAfterFinished: 0
370+
ttlSecondsAfterFinished: 30
371371
---
372372
apiVersion: gateway.networking.k8s.io/v1
373373
kind: GatewayClass

deploy/default/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ spec:
365365
fsGroup: 1001
366366
runAsNonRoot: true
367367
serviceAccountName: nginx-gateway-cert-generator
368-
ttlSecondsAfterFinished: 0
368+
ttlSecondsAfterFinished: 30
369369
---
370370
apiVersion: gateway.networking.k8s.io/v1
371371
kind: GatewayClass

deploy/experimental-nginx-plus/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ spec:
373373
fsGroup: 1001
374374
runAsNonRoot: true
375375
serviceAccountName: nginx-gateway-cert-generator
376-
ttlSecondsAfterFinished: 0
376+
ttlSecondsAfterFinished: 30
377377
---
378378
apiVersion: gateway.networking.k8s.io/v1
379379
kind: GatewayClass

deploy/experimental/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ spec:
370370
fsGroup: 1001
371371
runAsNonRoot: true
372372
serviceAccountName: nginx-gateway-cert-generator
373-
ttlSecondsAfterFinished: 0
373+
ttlSecondsAfterFinished: 30
374374
---
375375
apiVersion: gateway.networking.k8s.io/v1
376376
kind: GatewayClass

deploy/nginx-plus/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ spec:
368368
fsGroup: 1001
369369
runAsNonRoot: true
370370
serviceAccountName: nginx-gateway-cert-generator
371-
ttlSecondsAfterFinished: 0
371+
ttlSecondsAfterFinished: 30
372372
---
373373
apiVersion: gateway.networking.k8s.io/v1
374374
kind: GatewayClass

deploy/nodeport/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ spec:
365365
fsGroup: 1001
366366
runAsNonRoot: true
367367
serviceAccountName: nginx-gateway-cert-generator
368-
ttlSecondsAfterFinished: 0
368+
ttlSecondsAfterFinished: 30
369369
---
370370
apiVersion: gateway.networking.k8s.io/v1
371371
kind: GatewayClass

deploy/openshift/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ spec:
387387
fsGroup: 1001
388388
runAsNonRoot: true
389389
serviceAccountName: nginx-gateway-cert-generator
390-
ttlSecondsAfterFinished: 0
390+
ttlSecondsAfterFinished: 30
391391
---
392392
apiVersion: gateway.networking.k8s.io/v1
393393
kind: GatewayClass

deploy/snippets-filters-nginx-plus/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ spec:
371371
fsGroup: 1001
372372
runAsNonRoot: true
373373
serviceAccountName: nginx-gateway-cert-generator
374-
ttlSecondsAfterFinished: 0
374+
ttlSecondsAfterFinished: 30
375375
---
376376
apiVersion: gateway.networking.k8s.io/v1
377377
kind: GatewayClass

deploy/snippets-filters/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ spec:
368368
fsGroup: 1001
369369
runAsNonRoot: true
370370
serviceAccountName: nginx-gateway-cert-generator
371-
ttlSecondsAfterFinished: 0
371+
ttlSecondsAfterFinished: 30
372372
---
373373
apiVersion: gateway.networking.k8s.io/v1
374374
kind: GatewayClass

docs/developer/release-process.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ To create a new release, follow these steps:
6666
5. Any references in the docs to the previous release.
6767
6. Any installation instructions to ensure that the supported Gateway API and NGF versions are correct. Specifically, helm README.
6868
8. Prepare and merge a PR into the main branch of the [documentation repository](https://github.com/nginx/documentation) from the relevant release branch, such as `ngf-release-2.0`.
69+
- In the NGF repo, run `make generate-api-docs` and copy the generated file from `docs/api/content.md` into the documentation repo to `content/ngf/reference/api.md`.
6970
- Update the HTML file located at `layouts/shortcodes/version-ngf.html` with the latest version. Ensure you do not add an empty line to the file.
7071
- Documentation is built and deployed automatically from `main`, and will trigger when merging to it.
7172
- Create a new branch for the next release version, in the format `ngf-release-<i>.<i>`, substituting the *i* placeholders for major and minor version numbers.
@@ -94,4 +95,4 @@ To create a new release, follow these steps:
9495
4. Test the release branch for release-readiness.
9596
5. If a problem is found, return to Step 2.
9697
6. Follow Steps 5-7 from the [Major or Minor Release](#major-or-minor-release) section.
97-
7. Prepare and merge a PR into the main branch of the [documentation repository](https://github.com/nginx/documentation) to update the NGF version in `layouts/shortcodes/version-ngf.html`.
98+
7. Prepare and merge a PR into the main branch of the [documentation repository](https://github.com/nginx/documentation) to update the NGF version in `layouts/shortcodes/version-ngf.html`. If any of our APIs have changed, in the NGF repo, run `make generate-api-docs` and copy the generated file from `docs/api/content.md` into the documentation repo to `content/ngf/reference/api.md`.

0 commit comments

Comments
 (0)