Skip to content

External proxy

flux/50_apps/external-proxy/ publishes services that run on VMs outside the cluster, carried over from the previous cluster's infra/traefik/external-proxy/. Everything lives in the external-proxy namespace.

All three hosts are reached on their LAN addresses: each has a selectorless Service with a hand-written EndpointSlice, one port per app, like S3.

Host Service Target
gewiscontainer gewiscontainer-lan 10.82.50.119
gewismail gewismail-lan 10.82.50.117
gewisweb gewisweb-lan 10.82.50.120

The LAN addresses are hardcoded in gewiscontainer.yaml, gewismail.yaml and gewisweb.yaml and must be DHCP reservations on the 10.82.50.0/24 DHCP server; if a host's address changes, its routes fail until the EndpointSlice is updated. A new app on these hosts needs a port on both the Service and the EndpointSlice, with the same name, and a rule on the matching IngressRoute.

gewisweb publishes phpMyAdmin from Docker on 10.82.50.120:8081, next to its NetBird address; a container bound to that address does not start if the host comes up with a different one.

The gewismail HTTPS backend has a self-signed certificate; ServersTransport gewismail skips its verification.

Hostnames

Route Hostnames Backend
gewis gewis.nl, www.gewis.nl (redirect to the apex), images.gewis.nl gewiscontainer 9210, 9211
gewiscontainer ivv, mail-api, wiki, gewiki, latex, pdf, supremum, inf, docker, pgadmin, analytics, analytics.test, xoa, planka, vault, pkg, test .gewis.nl gewiscontainer, one port each
docker-registry docker-registry.gewis.nl and <committee>.docker-registry.gewis.nl gewiscontainer 9101–9112
gewismail mail, webmail, lists .gewis.nl gewismail 443 (HTTPS), 8000
gewisweb phpmyadmin.gewis.nl gewisweb 8081

pgadmin, xoa and phpmyadmin carry the tue-only Middleware: the TU/e range and 100.64.0.0/10, minus the WAF's 131.155.10.0/27 and 131.155.10.128/27, so a request relayed by the WAF is refused. The Middleware checks the connecting address, which router02 passes through unchanged — see Client addresses.

None of the routes carries the external-dns annotation. Every hostname already has a record, pointing at the WAF, router02 or the host itself, which external-dns does not own; they all reach router02, which forwards :443 here. mail.gewis.nl resolves straight to gewismail, so it never passes either cluster.