Skip to content

canonical/nginx-ingress-integrator-operator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

529 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Nginx Ingress Integrator Operator

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.

Documentation

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 run

GitHub 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-md

Get started

Refer to the tutorial for more details on getting started.

Basic operations

Secure an ingress with TLS

Refer to How to secure an Ingress with TLS for step-by-step instructions.

Add the NGINX route relation

Refer to How to add the NGINX route relation for step-by-step instructions.

Integrations

  • ingress: Ingress interface that allows to provide an Ingress for the charms supporting this interface. Charms can get an Ingress using the ingress or the nginx-route interfaces. Prefer ingress if 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 ingress or the nginx-route interfaces. If you want to use Nginx specific features, use nginx-route.
  • certificates: Requires tls-certificates interface that facilitates the use of a TLS certificate.

Refer to Integrations for more information about integrations.

Learn more

Project and community