Traefik as a reverse proxy inside a kubernetes namespace

Hi all,

we have a use case in Eclipse Che where we need a dynamically configured reverse proxy that lives inside a Kubernetes namespace. We can't use Traefik as our ingress controller, because we want to avoid installing cluster-wide components. Another reason for not wanting to use the ingress controller is that we need our application to also run on OpenShift where the ingresses might not even be available.

We came up with a custom solution (https://github.com/che-incubator/configbump) that uses labeled configmaps as the basis for the Traefik configuration and a sidecar container in the Traefik pod that provides the configmaps as files to Traefik that is configured to watch a directory for config changes. There is then a single ingress that points to a service that routes traffic to this pod to connect the outside world to it.

Do you know of a better way of using the existing configuration approaches that would not require installing any cluster-wide objects (like the ingress controller or the CRD) for Traefik to work as a dynamically reconfigurable reverse proxy?

If our solution was optimal for the usecase and there was interest to have such usecase supported by a new kind of configuration provider inside Traefik itself, we would be willing to contribute such provider to the community.

1 Like