Skip to content

Commit ad6d75a

Browse files
authored
Update NGINX Ingress Controller to 5.1.0 (#524)
1 parent e795f74 commit ad6d75a

File tree

1,323 files changed

+9322
-3348
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,323 files changed

+9322
-3348
lines changed

.github/workflows/sync-chart.yml

Lines changed: 50 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,25 @@ on:
2020
type: boolean
2121
default: false
2222

23+
workflow_call:
24+
inputs:
25+
chart_version:
26+
description: "Chart version, e.g. x.y.z"
27+
type: string
28+
required: true
29+
operator_version:
30+
description: "Operator version, e.g. x.y.z"
31+
type: string
32+
required: true
33+
k8s_version:
34+
description: "Kubernetes version, e.g. vx.y.z"
35+
type: string
36+
required: true
37+
dry_run:
38+
description: "Do not commit to a PR"
39+
type: boolean
40+
default: false
41+
2342
permissions:
2443
contents: read
2544

@@ -32,20 +51,20 @@ jobs:
3251
steps:
3352
- name: Checkout Operator
3453
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
54+
with:
55+
repository: nginx/nginx-ingress-helm-operator
3556

3657
- name: Checkout Kubernetes json schemas
3758
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3859
with:
3960
repository: nginxinc/kubernetes-json-schema
4061
path: schemas
41-
token: ${{ secrets.NGINX_PAT }}
62+
token: ${{ secrets.GITHUB_TOKEN }}
4263
sparse-checkout: |
4364
${{ inputs.k8s_version}}
4465
4566
- name: Setup Helm
4667
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
47-
with:
48-
token: ${{ secrets.GITHUB_TOKEN }}
4968

5069
- name: Sync
5170
id: sync
@@ -56,9 +75,17 @@ jobs:
5675
current_operator_version=$(egrep '^VERSION' Makefile | awk '{ print $3 }')
5776
echo "Current Operator version: $current_operator_version"
5877
78+
echo "Current working directory: $(pwd)"
79+
ls -l
80+
echo "Contents of schema directory:"
81+
ls -l schemas/
82+
5983
cd helm-charts/
6084
rm -rf nginx-ingress
6185
86+
echo "Current working directory after helm-charts: $(pwd)"
87+
ls -l
88+
6289
helm pull oci://ghcr.io/nginx/charts/nginx-ingress --untar --version ${{ inputs.chart_version }}
6390
rm -f nginx-ingress/templates/clusterrole.yaml
6491
rm -f nginx-ingress/templates/controller-role.yaml
@@ -68,6 +95,11 @@ jobs:
6895
sed -i -e "s#ref\":.*_def#ref\": \"file://./helm-charts/nginx-ingress/${{ inputs.k8s_version }}/_def#" nginx-ingress/values.schema.json
6996
rm -rf ../schemas
7097
98+
echo "Current working directory after removing schema: $(pwd)"
99+
ls -l
100+
echo "Contents of parent directory after removing schema:"
101+
ls -l ../
102+
71103
new_nic_version=$(yq e '.appVersion' nginx-ingress/Chart.yaml)
72104
echo "New NIC version: $new_nic_version"
73105
@@ -103,15 +135,19 @@ jobs:
103135
if: ${{ inputs.dry_run }}
104136

105137
- name: Create Pull Request
106-
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
107-
with:
108-
token: ${{ secrets.GITHUB_TOKEN }}
109-
commit-message: Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_nic_version }}
110-
title: Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_nic_version }}
111-
branch: feat/update-nic-to-${{ steps.sync.outputs.new_nic_version }}
112-
body: |
113-
This automated PR updates the NGINX Ingress Controller to ${{ steps.sync.outputs.new_nic_version }}.
114-
The Helm Chart was updated to ${{ inputs.chart_version }}.
115-
The Operator was updated to ${{ inputs.operator_version }}.
116-
Kubernetes was updated to ${{ inputs.k8s_version }}.
138+
env:
139+
GITHUB_USERNAME: ${{ github.actor }}
140+
GITHUB_EMAIL: ${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com
141+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
142+
run: |
143+
git config --global user.name "${GITHUB_USERNAME}"
144+
git config --global user.email "${GITHUB_EMAIL}"
145+
146+
git add -A
147+
git commit -m "Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_nic_version }}"
148+
git push
149+
gh pr create --title "Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_nic_version }}" --body "This automated PR updates the NGINX Ingress Controller to ${{ steps.sync.outputs.new_nic_version }}.
150+
The Helm Chart was updated to ${{ inputs.chart_version }}.
151+
The Operator was updated to ${{ inputs.operator_version }}.
152+
Kubernetes was updated to ${{ inputs.k8s_version }}."
117153
if: ${{ ! inputs.dry_run }}

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# To re-generate a bundle for another specific version without changing the standard setup, you can:
44
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
55
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
6-
VERSION ?= 3.1.0
6+
VERSION ?= 3.2.0
77

88
# CHANNELS define the bundle channels used in the bundle.
99
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ The following table shows the relation between the versions of the two projects:
1717

1818
| NGINX Ingress Controller | NGINX Ingress Operator |
1919
| ------------------------ | ---------------------- |
20+
| 5.1.x | 3.2.0 |
2021
| 5.0.x | 3.1.0 |
2122
| 4.0.x | 3.0.1 |
2223
| 3.7.x | 2.4.2 |
@@ -78,7 +79,7 @@ See [upgrade docs](./docs/upgrades.md)
7879

7980
We publish NGINX Ingress Operator releases on GitHub. See our [releases page](https://github.com/nginx/nginx-ingress-helm-operator/releases).
8081

81-
The latest stable release is [3.1.0](https://github.com/nginx/nginx-ingress-helm-operator/releases/tag/v3.1.0). For production use, we recommend that you choose the latest stable release.
82+
The latest stable release is [3.2.0](https://github.com/nginx/nginx-ingress-helm-operator/releases/tag/v3.2.0). For production use, we recommend that you choose the latest stable release.
8283

8384
## Development
8485

bundle/manifests/nginx-ingress-operator.clusterserviceversion.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ metadata:
7777
"image": {
7878
"pullPolicy": "IfNotPresent",
7979
"repository": "nginx/nginx-ingress",
80-
"tag": "5.0.0-ubi"
80+
"tag": "5.1.0-ubi"
8181
},
8282
"ingressClass": {
8383
"create": true,
@@ -223,7 +223,7 @@ metadata:
223223
capabilities: Basic Install
224224
categories: Monitoring, Networking
225225
certified: "true"
226-
containerImage: quay.io/nginx/nginx-ingress-operator:3.1.0
226+
containerImage: quay.io/nginx/nginx-ingress-operator:3.2.0
227227
createdAt: "2025-06-19T11:37:21Z"
228228
description: The NGINX Ingress Operator is a Kubernetes/OpenShift component which
229229
deploys and manages one or more NGINX/NGINX Plus Ingress Controllers
@@ -247,7 +247,7 @@ metadata:
247247
operatorframework.io/arch.arm64: supported
248248
operatorframework.io/arch.ppc64le: supported
249249
operatorframework.io/arch.s390x: supported
250-
name: nginx-ingress-operator.v3.1.0
250+
name: nginx-ingress-operator.v3.2.0
251251
namespace: placeholder
252252
spec:
253253
apiservicedefinitions: {}
@@ -470,7 +470,7 @@ spec:
470470
- --metrics-bind-address=127.0.0.1:8080
471471
- --leader-elect
472472
- --leader-election-id=nginx-ingress-operator
473-
image: quay.io/nginx/nginx-ingress-operator:3.1.0
473+
image: quay.io/nginx/nginx-ingress-operator:3.2.0
474474
livenessProbe:
475475
httpGet:
476476
path: /healthz
@@ -527,4 +527,4 @@ spec:
527527
minKubeVersion: 1.26.0
528528
provider:
529529
name: NGINX Inc
530-
version: 3.1.0
530+
version: 3.2.0

config/manager/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ kind: Kustomization
55
images:
66
- name: controller
77
newName: quay.io/nginx/nginx-ingress-operator
8-
newTag: 3.1.0
8+
newTag: 3.2.0

config/manifests/bases/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ resources:
33
apiVersion: kustomize.config.k8s.io/v1beta1
44
kind: Kustomization
55
commonAnnotations:
6-
containerImage: quay.io/nginx/nginx-ingress-operator:3.1.0
6+
containerImage: quay.io/nginx/nginx-ingress-operator:3.2.0

config/samples/charts_v1alpha1_nginxingress.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ spec:
3838
customPorts: []
3939
image:
4040
repository: nginx/nginx-ingress
41-
tag: "5.0.0-ubi"
41+
tag: "5.1.0-ubi"
4242
# digest: "sha256:CHANGEME"
4343
pullPolicy: IfNotPresent
4444
lifecycle: {}

docs/manual-installation.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ This will deploy the operator in the `nginx-ingress-operator-system` namespace.
77
1. Clone the `nginx-ingress-operator` repo:
88

99
```shell
10-
git clone https://github.com/nginx/nginx-ingress-helm-operator/ --branch v3.1.0
10+
git clone https://github.com/nginx/nginx-ingress-helm-operator/ --branch v3.2.0
1111
cd nginx-ingress-helm-operator/
1212
```
1313

1414
2. To deploy the Operator and associated resources to all environments, run:
1515

1616
```shell
17-
make deploy IMG=nginx/nginx-ingress-operator:3.1.0
17+
make deploy IMG=nginx/nginx-ingress-operator:3.2.0
1818
```
1919

2020
2. Check that the Operator is running:
@@ -30,11 +30,11 @@ This will deploy the operator in the `nginx-ingress-operator-system` namespace.
3030

3131
In order to deploy NGINX Ingress Controller instances into OpenShift environments, a new SCC is required to be created on the cluster which will be used to bind the specific required capabilities to the NGINX Ingress service account(s). To do so for NIC deployments, please run the following command (assuming you are logged in with administrator access to the cluster):
3232

33-
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.1.0/resources/scc.yaml`
33+
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.2.0/resources/scc.yaml`
3434

3535
Alternatively, to create an SCC for NIC daemonsets, please run this command:
3636

37-
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.1.0/resources/scc-daemonset.yaml`
37+
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.2.0/resources/scc-daemonset.yaml`
3838

3939
You can now deploy the NGINX Ingress Controller instances.
4040

@@ -44,19 +44,19 @@ You can now deploy the NGINX Ingress Controller instances.
4444
You can use the operator (including the kube-rbac-proxy) images from your own private registry.
4545
1. Tag the images for your private registry
4646
```shell
47-
docker tag quay.io/nginx/nginx-ingress-operator:3.1.0 <my-private-registry>/nginx-ingress-operator:3.1.0
47+
docker tag quay.io/nginx/nginx-ingress-operator:3.2.0 <my-private-registry>/nginx-ingress-operator:3.2.0
4848
docker tag quay.io/brancz/kube-rbac-proxy:v0.18.0 <my-private-registry>/kube-rbac-proxy:v0.18.0
4949
```
5050

5151
2. Push the image to your private registry
5252
```shell
53-
docker push <my-private-registry>/nginx-ingress-operator:3.1.0
53+
docker push <my-private-registry>/nginx-ingress-operator:3.2.0
5454
docker push <my-private-registry>/kube-rbac-proxy:v0.18.0
5555
```
5656

5757
3. Follow step 1 above but in step 1.2 you can run
5858
```shell
59-
make deploy IMG=<my-private-registry>/nginx-ingress-operator:3.1.0 KRP_IMAGE_BASE=<my-private-registry>/kube-rbac-proxy
59+
make deploy IMG=<my-private-registry>/nginx-ingress-operator:3.2.0 KRP_IMAGE_BASE=<my-private-registry>/kube-rbac-proxy
6060
```
6161
**Note: If you need to use a different `kube-rbac-proxy` version than the default, use the `KRP_IMAGE_TAG` variable**
6262

docs/nginx-ingress-controller.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ spec:
5050
customPorts: []
5151
image:
5252
repository: nginx/nginx-ingress
53-
tag: "5.0.0-ubi"
53+
tag: "5.1.0-ubi"
5454
# digest: "sha256:CHANGEME"
5555
pullPolicy: IfNotPresent
5656
lifecycle: {}

docs/openshift-installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ Additional steps:
2323

2424
In order to deploy NGINX Ingress Controller instances into OpenShift environments, a new SCC is required to be created on the cluster which will be used to bind the specific required capabilities to the NGINX Ingress service account(s). To do so for NIC deployments, please run the following command (assuming you are logged in with administrator access to the cluster):
2525

26-
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.1.0/resources/scc.yaml`
26+
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.2.0/resources/scc.yaml`
2727

2828
Alternatively, to create an SCC for NIC daemonsets, please run this command:
2929

30-
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.1.0/resources/scc-daemonset.yaml`
30+
`kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/v3.2.0/resources/scc-daemonset.yaml`
3131

3232
You can now deploy the NGINX Ingress Controller instances.

0 commit comments

Comments
 (0)