I’ve been looking at CAAS charming support and one of the first use cases I like to understand is a typical ingress with a reverse-proxy in front of a service.
If I have, for example, a charmed service it will be installed in the model namespace. I need an ingress charm, nginx-ingress for example that I can relate it to to forward traffic to my service.
Different ingress controllers operate differently and my service really shouldn’t know anything about that. It should just relate to the charm that handles it. Looking at the nginx-service I need to install an Ingress Resource in the same name space as the charm requesting it.
- Is there already an example or production ready ingress charm to handle this common use case?
- Is there a way for CAAS charms to install custom resources like this Ingress resource which seems a common activity for K8s services.
- Is there a way for CAAS charms to create and access secrets? For example, if this ingress charm is using TLS it will need to set a secret and then provide that name in the Resource it creates.
I’ve looked through the examples, and I’m following the various service types I can declare but I was expecting to see functions to handle secretes, resources, etc similar to the set_pod_spec command and I’m not finding them. I’m not sure if it’s not yet implemented or if there is a helper library (like charmhelpers) that I’m missing. A lot of K8s configuration requires managing secretes, resources, and other objects that I would like for the charm to handle.