Networking
Part of the Capsule spec is Routes
which configures how an interface of a Capsule can be mapped outside the cluster using e.g. Ingress. You can see the HostRoute
spec here.
The mapping between Routes and Ingress resources can be quite custom, as it depends on, among other things, the specific Ingress controller installed in the Kubernetes cluster.
Therefore, the Routes step of the rig operator is configurable as a plugin. We supply a builtin plugin rigdev.ingress_routes
which creates an Ingress resource for each Route and has some configuration for handling certificates, TLS and ingress class name.
See here for a general introduction to plugins and how to configure them. The Routes step in the operator is configurable in the operator config under the RoutesStep
in the Operator Config. You can see an example here
config:
pipeline:
routesStep:
plugin: rigdev.ingress_routes
config: |
clusterIssuer: letsencrypt-prod
createCertificateResources: true
ingressClassName: nginx
disableTLS: false
If our builtin plugin for handling routes doesn't fit your needs, you can write your own third-party plugin supplying a different behaviour. You can find a guide for that here