diff options
Diffstat (limited to 'bundles/traefik')
| -rw-r--r-- | bundles/traefik/files/common-middlewares.yaml | 30 | ||||
| -rw-r--r-- | bundles/traefik/files/kube.yaml | 23 | ||||
| -rw-r--r-- | bundles/traefik/items.py | 3 |
3 files changed, 33 insertions, 23 deletions
diff --git a/bundles/traefik/files/common-middlewares.yaml b/bundles/traefik/files/common-middlewares.yaml new file mode 100644 index 0000000..5f2cb2e --- /dev/null +++ b/bundles/traefik/files/common-middlewares.yaml @@ -0,0 +1,30 @@ +http: + middlewares: + + # metrics + replacepath-bare: + replacepath: + path: / + replacepath-metrics: + replacepath: + path: /metrics + + # authelia + authelia: + forwardAuth: + trustForwardHeader: true + authResponseHeaders: Remote-User,Remote-Groups,Remote-Email,Remote-Name +% if node.name == "inazuma": + address: http://authelia:9091/api/authz/forward-auth +% elif node.name == "shimakaze": + address: http://inazuma:9091/api/authz/forward-auth +% endif + +% if node.name == "inazuma--TODO": + # tsauth + tsauth: + forwardAuth: + trustForwardHeader: true + authResponseHeaders: ^Tailscale- + address: http://localhost:3000 +% endif diff --git a/bundles/traefik/files/kube.yaml b/bundles/traefik/files/kube.yaml index 2849091..87202fc 100644 --- a/bundles/traefik/files/kube.yaml +++ b/bundles/traefik/files/kube.yaml @@ -4,29 +4,6 @@ kind: Pod metadata: name: traefik labels: - traefik.enable: true - traefik.http.routers.traefik-metrics.entrypoints: metrics - traefik.http.routers.traefik-metrics.rule: Path(`/metrics/traefik`) - traefik.http.routers.traefik-metrics.middlewares: replacepath-bare - traefik.http.routers.traefik-metrics.service: prometheus@internal - # common middleware - ## metrics - traefik.http.middlewares.replacepath-bare.replacepath.path: / - traefik.http.middlewares.replacepath-metrics.replacepath.path: /metrics - ## authelia - traefik.http.middlewares.authelia.forwardAuth.trustForwardHeader: true - traefik.http.middlewares.authelia.forwardAuth.authResponseHeaders: Remote-User,Remote-Groups,Remote-Email,Remote-Name -% if node.name == "inazuma": - traefik.http.middlewares.authelia.forwardAuth.address: http://authelia:9091/api/authz/forward-auth -% elif node.name == "shimakaze": - traefik.http.middlewares.authelia.forwardAuth.address: http://inazuma:9091/api/authz/forward-auth -% endif -% if node.name == "inazuma--TODO": - ## tsauth - traefik.http.middlewares.tsauth.forwardAuth.trustForwardHeader: true - traefik.http.middlewares.tsauth.forwardAuth.authResponseHeaders: ^Tailscale- - traefik.http.middlewares.tsauth.forwardAuth.address: http://localhost:3000 -% endif spec: restartPolicy: Never dnsPolicy: Default diff --git a/bundles/traefik/items.py b/bundles/traefik/items.py index 8b4eec7..ecb3d66 100644 --- a/bundles/traefik/items.py +++ b/bundles/traefik/items.py @@ -10,6 +10,9 @@ files = { "triggers": {"svc_s6rc:traefik:restart"}, }, "/etc/traefik/tls-redirect.yaml": {}, + "/etc/traefik/common-middlewares.yaml": { + "content_type": "mako", + }, "/etc/logrotate.d/traefik": { "source": "logrotate.conf", }, |