This charm is under maintenance mode-only since 1 January 2026. It means that only security issues will be addressed, no new features will be implemented on the charm. Users are invited to look at the Gateway API integrator charm to address their ingress needs on Kubernetes.
A Juju charm deploying and managing external access to HTTP/HTTPS services in a Kubernetes cluster through an Nginx Ingress resource. This charm requires the Kubernetes cluster in question to have an Nginx Ingress Controller already deployed into it. The Nginx Integrator Operator is a workload-less charm that allows other charms to configure an Nginx Ingress resource.
This charm simplifies exposing services running inside a Kubernetes cluster to external clients. It offers TLS termination as well as easy configuration of a number of advanced features including rate limiting, restricting access to specific client IP source ranges, and OWASP ModSecurity Core Rule Set (CRS).
As such, the charm makes it easy for charm developers to provide external access to their HTTP workloads in Kubernetes by easy integration offered through the charm's ingress library.
For DevOps and SRE teams, providing ingress for charms that support a relation
to this charm will be possible using a simple juju integrate command.
Our documentation is stored in the docs directory
and can be viewed at https://canonical.com/juju/docs/nginx-ingress-integrator-charm/.
It is based on the Canonical starter pack
and hosted on Read the Docs. In structuring,
the documentation employs the Diátaxis approach.
You may open a pull request with your documentation changes, or you can file a bug to provide constructive feedback or suggestions.
To run the documentation locally before submitting your changes:
cd docs
make runGitHub runs automatic checks on the documentation to verify spelling, validate links and style guide compliance.
You can (and should) run the same checks locally:
make spelling
make linkcheck
make vale
make lint-mdRefer to the tutorial for more details on getting started.
Refer to How to secure an Ingress with TLS for step-by-step instructions.
Refer to How to add the NGINX route relation for step-by-step instructions.
- ingress: Ingress interface that allows to
provide an Ingress for the charms supporting this interface. Charms can get an Ingress using the
ingressor thenginx-routeinterfaces. Preferingressif you want to use generic features. - nginx-route: Ingress interface that allows to
provide an Ingress for the charms supporting this interface. Charms can get an Ingress using the
ingressor thenginx-routeinterfaces. If you want to use Nginx specific features, usenginx-route. - certificates: Requires
tls-certificatesinterface that facilitates the use of a TLS certificate.
Refer to Integrations for more information about integrations.