Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ rules:
.goreleaser.yml
charts/nginx-gateway-fabric/
operators/config/crd/bases/gateway.nginx.org_nginxgatewayfabrics.yaml
operators/bundle/manifests/nginx-gateway-fabric.clusterserviceversion.yaml
new-line-at-end-of-file: enable
new-lines: enable
octal-values: disable
Expand Down
4 changes: 2 additions & 2 deletions operators/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ OPERATOR_SDK_VERSION ?= v1.41.1
# renovate: datasource=github-tags depName=kubernetes-sigs/kustomize
KUSTOMIZE_VERSION ?= v5.6.0

IMAGE_TAG_BASE ?= nginx-gateway-fabric/operator
IMAGE_TAG_BASE ?= ghcr.io/nginx/nginx-gateway-fabric/operator

IMG ?= $(IMAGE_TAG_BASE):v$(VERSION)
IMG ?= $(IMAGE_TAG_BASE):$(VERSION)

## Bundle config

Expand Down
4 changes: 2 additions & 2 deletions operators/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,11 @@ However, there are a few items that need to be kept in sync manually:
3. Operator version:
Update the VERSION in the Makefile to reflect the version of the Operator being released.

When you are ready to release the bundle, run `make release-bundle`. This will update the NGF image version tags, and create the bundle manifests.
When you are ready to release the bundle, run `make bundle-release`. This will update the NGF image version tags, and create the bundle manifests.

To test the bundle locally, follow the `Building and Testing the Operator Locally` above.

To submit the bundle for certification, follow TBD.
To submit the bundle for certification, open a PR in the [RedHat Certified Operators repo](https://github.com/redhat-openshift-ecosystem/certified-operators) using your a branch from your own fork (Note: must have RedHat Portal access) following the guidelines in the repo.

## License

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,32 @@ metadata:
}
]
capabilities: Basic Install
createdAt: "2025-10-06T09:33:54Z"
createdAt: "2025-10-23T13:55:48Z"
operators.operatorframework.io/builder: operator-sdk-v1.41.1
operators.operatorframework.io/project_layout: helm.sdk.operatorframework.io/v1
categories: Networking
certified: "true"
containerImage: ghcr.io/nginx/nginx-gateway-fabric/operator@sha256:e2a8de4ef9724ef2e4f0b2b648681b4a4b6a5714ba111dd9348c5599dd552a84
description: The NGINX Gateway Fabric is a Kubernetes Gateway API implementation that provides application traffic management for modern cloud-native applications
features.operators.openshift.io/cnf: "false"
features.operators.openshift.io/cni: "false"
features.operators.openshift.io/csi: "false"
features.operators.openshift.io/disconnected: "false"
features.operators.openshift.io/fips-compliant: "false"
features.operators.openshift.io/proxy-aware: "false"
features.operators.openshift.io/tls-profiles: "false"
features.operators.openshift.io/token-auth-aws: "false"
features.operators.openshift.io/token-auth-azure: "false"
features.operators.openshift.io/token-auth-gcp: "false"
operatorframework.io/suggested-namespace: nginx-gateway
repository: https://github.com/nginx/nginx-gateway-fabric
support: NGINX Inc.
com.redhat.openshift.versions: v4.19
name: nginx-gateway-fabric.v1.0.0
namespace: placeholder
labels:
operatorframework.io/arch.amd64: supported
operatorframework.io/arch.arm64: supported
spec:
apiservicedefinitions: {}
customresourcedefinitions:
Expand Down Expand Up @@ -207,8 +228,8 @@ spec:
description: NGINX Gateway Fabric provides an implementation of the Gateway API using NGINX as the data plane
displayName: NGINX Gateway Fabric
icon:
- base64data: ""
mediatype: ""
- base64data: "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDkwIDgwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDA5NjM5OwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC5jbHMtMywgLmNscy00IHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogI2ZmZjsKICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsKICAgICAgICBzdHJva2Utd2lkdGg6IC45NXB4OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KCiAgICAgIC5jbHMtNCB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8Zz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTExLjg2LDYyLjRsLTQuMjgtNS45MnY1LjkyaC0uOTF2LTcuMzRoLjk0bDQuMjIsNS44di01LjhoLjkxdjcuMzRoLS44OFoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTE3LjkzLDU0Ljk0YzEuMywwLDIuMi41NywyLjg1LDEuMzdsLS43My40NWMtLjQ2LS41OS0xLjI0LTEuMDEtMi4xMi0xLjAxLTEuNjEsMC0yLjgzLDEuMjMtMi44MywyLjk4czEuMjIsMi45OSwyLjgzLDIuOTljLjg4LDAsMS42MS0uNDMsMS45Ny0uNzl2LTEuNWgtMi41MnYtLjgxaDMuNDN2Mi42NWMtLjY4Ljc2LTEuNjgsMS4yNi0yLjg4LDEuMjYtMi4wOSwwLTMuNzctMS41My0zLjc3LTMuODFzMS42OC0zLjgsMy43Ny0zLjhaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yMi4zLDYyLjR2LTcuMzRoLjkxdjcuMzRoLS45MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTMwLjEyLDYyLjRsLTQuMjgtNS45MnY1LjkyaC0uOTF2LTcuMzRoLjk0bDQuMjIsNS44di01LjhoLjkxdjcuMzRoLS44OFoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTM3Ljc5LDYyLjRsLTIuMzQtMy4xMi0yLjM0LDMuMTJoLTEuMTFsMi44Ni0zLjc2LTIuNy0zLjU4aDEuMTFsMi4xOCwyLjk0LDIuMTctMi45NGgxLjExbC0yLjY4LDMuNTYsMi44NSwzLjc3aC0xLjFaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik00Ni4yLDU0Ljk0YzEuMywwLDIuMi41NywyLjg1LDEuMzdsLS43My40NWMtLjQ2LS41OS0xLjI0LTEuMDEtMi4xMi0xLjAxLTEuNjEsMC0yLjgzLDEuMjMtMi44MywyLjk4czEuMjIsMi45OSwyLjgzLDIuOTljLjg4LDAsMS42MS0uNDMsMS45Ny0uNzl2LTEuNWgtMi41MnYtLjgxaDMuNDN2Mi42NWMtLjY4Ljc2LTEuNjgsMS4yNi0yLjg4LDEuMjYtMi4wOSwwLTMuNzctMS41My0zLjc3LTMuODFzMS42OC0zLjgsMy43Ny0zLjhaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik01My44Niw2Mi40di0uNjFjLS40NC40OC0xLjA0Ljc0LTEuNzYuNzQtLjksMC0xLjg2LS42LTEuODYtMS43NnMuOTYtMS43NSwxLjg2LTEuNzVjLjczLDAsMS4zMy4yMywxLjc2Ljczdi0uOTZjMC0uNzEtLjU3LTEuMTItMS4zNC0xLjEyLS42NCwwLTEuMTYuMjMtMS42My43NGwtLjM5LS41N2MuNTctLjU5LDEuMjUtLjg4LDIuMTItLjg4LDEuMTIsMCwyLjA2LjUxLDIuMDYsMS43OXYzLjY1aC0uODNaTTUzLjg2LDYwLjI3Yy0uMzItLjQ0LS44OC0uNjYtMS40Ni0uNjYtLjc3LDAtMS4zMS40OC0xLjMxLDEuMTdzLjU0LDEuMTYsMS4zMSwxLjE2Yy41OCwwLDEuMTQtLjIyLDEuNDYtLjY2di0xWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTYuNSw2MS4yOXYtMy40OGgtLjg4di0uNzNoLjg4di0xLjQ1aC44M3YxLjQ1aDEuMDh2LjczaC0xLjA4djMuM2MwLC40LjE4LjY4LjU0LjY4LjIzLDAsLjQ1LS4xLjU2LS4yMmwuMjQuNjJjLS4yMS4yLS41MS4zNC0uOTkuMzQtLjc4LDAtMS4xOC0uNDUtMS4xOC0xLjI0WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjEuODcsNTYuOTVjMS42MSwwLDIuNTUsMS4yNSwyLjU1LDIuODV2LjIxaC00LjNjLjA3LDEsLjc3LDEuODQsMS45MSwxLjg0LjYxLDAsMS4yMi0uMjQsMS42NC0uNjdsLjQuNTRjLS41My41My0xLjI0LjgxLTIuMTEuODEtMS41NywwLTIuNzEtMS4xMy0yLjcxLTIuNzksMC0xLjU0LDEuMS0yLjc4LDIuNjItMi43OFpNNjAuMTIsNTkuNGgzLjQ5Yy0uMDEtLjc5LS41NC0xLjc3LTEuNzUtMS43Ny0xLjEzLDAtMS42OS45Ni0xLjc0LDEuNzdaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik03MC4zNiw2Mi40bC0xLjM5LTQuMjctMS4zOSw0LjI3aC0uODNsLTEuNjktNS4zMWguODZsMS4zLDQuMjQsMS40LTQuMjRoLjdsMS40LDQuMjQsMS4zLTQuMjRoLjg2bC0xLjY5LDUuMzFoLS44M1oiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTc3LjE1LDYyLjR2LS42MWMtLjQ0LjQ4LTEuMDQuNzQtMS43Ni43NC0uOSwwLTEuODYtLjYtMS44Ni0xLjc2cy45Ni0xLjc1LDEuODYtMS43NWMuNzMsMCwxLjMzLjIzLDEuNzYuNzN2LS45NmMwLS43MS0uNTctMS4xMi0xLjM0LTEuMTItLjY0LDAtMS4xNS4yMy0xLjYzLjc0bC0uMzgtLjU3Yy41Ny0uNTksMS4yNS0uODgsMi4xMi0uODgsMS4xMiwwLDIuMDYuNTEsMi4wNiwxLjc5djMuNjVoLS44M1pNNzcuMTUsNjAuMjdjLS4zMi0uNDQtLjg4LS42Ni0xLjQ2LS42Ni0uNzcsMC0xLjMxLjQ4LTEuMzEsMS4xN3MuNTQsMS4xNiwxLjMxLDEuMTZjLjU4LDAsMS4xNC0uMjIsMS40Ni0uNjZ2LTFaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik03OS40Niw2My43M2MuMTIuMDUuMzIuMDkuNDUuMDkuMzYsMCwuNi0uMTIuNzktLjU2bC4zNS0uOC0yLjIyLTUuMzdoLjg5bDEuNzcsNC4zNiwxLjc2LTQuMzZoLjlsLTIuNjYsNi4zOWMtLjMyLjc3LS44NiwxLjA3LTEuNTYsMS4wOC0uMTgsMC0uNDUtLjAzLS42LS4wOGwuMTMtLjc1WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzEsNzMuNHYtNy4zNGg0Ljgxdi44MWgtMy44OXYyLjM3aDMuODJ2LjgxaC0zLjgydjMuMzRoLS45MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQwLjM0LDczLjR2LS42MWMtLjQ0LjQ4LTEuMDQuNzQtMS43Ni43NC0uOSwwLTEuODYtLjYtMS44Ni0xLjc2cy45Ni0xLjc1LDEuODYtMS43NWMuNzMsMCwxLjMzLjIzLDEuNzYuNzN2LS45NmMwLS43MS0uNTctMS4xMi0xLjM0LTEuMTItLjY0LDAtMS4xNS4yMy0xLjYzLjc0bC0uMzgtLjU3Yy41Ny0uNTksMS4yNS0uODgsMi4xMi0uODgsMS4xMiwwLDIuMDYuNTEsMi4wNiwxLjc5djMuNjVoLS44M1pNNDAuMzQsNzEuMjdjLS4zMi0uNDQtLjg4LS42Ni0xLjQ2LS42Ni0uNzcsMC0xLjMxLjQ4LTEuMzEsMS4xN3MuNTQsMS4xNiwxLjMxLDEuMTZjLjU4LDAsMS4xNC0uMjIsMS40Ni0uNjZ2LTFaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik00Mi44MSw3My40di03LjM0aC44M3YyLjgzYy40My0uNTgsMS4wNy0uOTMsMS43OS0uOTMsMS4zOSwwLDIuMzcsMS4xLDIuMzcsMi43OXMtLjk4LDIuNzgtMi4zNywyLjc4Yy0uNzUsMC0xLjQtLjM4LTEuNzktLjkydi43OWgtLjgzWk00My42NCw3MS45NmMuMjkuNDYuOTMuODQsMS41OC44NCwxLjA4LDAsMS43Mi0uODcsMS43Mi0yLjA1cy0uNjQtMi4wNi0xLjcyLTIuMDZjLS42NSwwLTEuMy40LTEuNTguODZ2Mi40MVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQ5LjE0LDczLjR2LTUuMzFoLjgzdi44NmMuNDMtLjU2LDEuMDQtLjk3LDEuNzctLjk3di44NWMtLjEtLjAyLS4yLS4wMy0uMzMtLjAzLS41MSwwLTEuMi40Mi0xLjQ0Ljg1djMuNzZoLS44M1oiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTUyLjYyLDY2LjYzYzAtLjMxLjI1LS41NS41NS0uNTVzLjU2LjI0LjU2LjU1LS4yNS41Ni0uNTYuNTYtLjU1LS4yNS0uNTUtLjU2Wk01Mi43Nyw3My40di01LjMxaC44M3Y1LjMxaC0uODNaIi8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik01Ny41OCw2Ny45NWMuOTcsMCwxLjU0LjQsMS45NS45MmwtLjU1LjUxYy0uMzUtLjQ4LS44LS42OS0xLjM1LS42OS0xLjEzLDAtMS44NC44Ny0xLjg0LDIuMDVzLjcsMi4wNiwxLjg0LDIuMDZjLjU1LDAsMS0uMjIsMS4zNS0uNjlsLjU1LjUxYy0uNDEuNTMtLjk4LjkyLTEuOTUuOTItMS41OCwwLTIuNjUtMS4yMS0yLjY1LTIuNzlzMS4wNy0yLjc4LDIuNjUtMi43OFoiLz4KICA8L2c+CiAgPGc+CiAgICA8Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjQ4LjM5IiBjeT0iMjUiIHI9IjIwIi8+CiAgICA8Zz4KICAgICAgPGNpcmNsZSBjbGFzcz0iY2xzLTUiIGN4PSI0MC40MiIgY3k9IjM0LjQzIiByPSIyLjkxIi8+CiAgICAgIDxjaXJjbGUgY2xhc3M9ImNscy01IiBjeD0iMzYuMyIgY3k9IjI1LjAxIiByPSIyLjkxIi8+CiAgICAgIDxjaXJjbGUgY2xhc3M9ImNscy01IiBjeD0iNDAuNDIiIGN5PSIxNS41NyIgcj0iMi45MSIvPgogICAgICA8bGluZSBjbGFzcz0iY2xzLTMiIHgxPSI0Mi40OSIgeTE9IjMyLjM5IiB4Mj0iNDYuMDMiIHkyPSIyOC44NCIvPgogICAgICA8bGluZSBjbGFzcz0iY2xzLTMiIHgxPSI0Mi40OSIgeTE9IjE3LjYyIiB4Mj0iNDYuMDQiIHkyPSIyMS4xNyIvPgogICAgICA8bGluZSBjbGFzcz0iY2xzLTMiIHgxPSIzOS4yNCIgeTE9IjI1LjAxIiB4Mj0iNDQuNDIiIHkyPSIyNS4wMSIvPgogICAgICA8cG9seWxpbmUgY2xhc3M9ImNscy00IiBwb2ludHM9IjUyLjMxIDI0LjgyIDYzLjM5IDI0LjgyIDYwLjI1IDI3Ljk2Ii8+CiAgICAgIDxjaXJjbGUgY2xhc3M9ImNscy01IiBjeD0iNDkuOTEiIGN5PSIyNS4wMSIgcj0iNS40NSIvPgogICAgICA8bGluZSBjbGFzcz0iY2xzLTMiIHgxPSI2MC4yNSIgeTE9IjIxLjYiIHgyPSI2My4zOSIgeTI9IjI0Ljc0Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4="
mediatype: "image/svg+xml"
install:
spec:
clusterPermissions:
Expand Down Expand Up @@ -433,7 +454,7 @@ spec:
- --leader-elect
- --leader-election-id=nginx-gateway-fabric
- --health-probe-bind-address=:8081
image: ghcr.io/nginx/nginx-gateway-fabric/operator:v1.0.0
image: ghcr.io/nginx/nginx-gateway-fabric/operator@sha256:e2a8de4ef9724ef2e4f0b2b648681b4a4b6a5714ba111dd9348c5599dd552a84
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -516,7 +537,7 @@ spec:
- networking
links:
- name: Nginx Gateway Fabric
url: https://nginx-gateway-fabric.domain
url: https://github.com/nginx/nginx-gateway-fabric
maintainers:
- email: kubernetes@nginx.com
name: F5NGINX
Expand All @@ -525,4 +546,7 @@ spec:
provider:
name: F5 NGINX
url: https://www.f5.com/go/product/welcome-to-nginx
relatedImages:
- image: ghcr.io/nginx/nginx-gateway-fabric/operator@sha256:e2a8de4ef9724ef2e4f0b2b648681b4a4b6a5714ba111dd9348c5599dd552a84
name: manager
version: 1.0.0
2 changes: 1 addition & 1 deletion operators/config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ kind: Kustomization
images:
- name: controller
newName: ghcr.io/nginx/nginx-gateway-fabric/operator
newTag: v1.0.0
newTag: 1.0.0
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ spec:
image:
pullPolicy: IfNotPresent
repository: ghcr.io/nginx/nginx-gateway-fabric/nginx
tag: 2.2.0-ubi
tag: "2.2.0-ubi"
imagePullSecret: ""
imagePullSecrets: []
kind: deployment
Expand Down Expand Up @@ -77,7 +77,7 @@ spec:
image:
pullPolicy: IfNotPresent
repository: ghcr.io/nginx/nginx-gateway-fabric
tag: 2.2.0-ubi
tag: "2.2.0-ubi"
kind: deployment
labels: {}
leaderElection:
Expand Down
Loading
Loading