60 July 7, 2024, 4:51 a.m.

Traefik dashboard

Задача: после установки Traefik сделать подключение по доменному имени через HTTPS с использованием авторизации.

Для достиженя результата потребуется добавить манифест в тот же namespace что и traefik:

apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-dashboard
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`traefik.example.com`)
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService
      middlewares:
        - name: traefik-basic-auth
  tls: {}
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: traefik-basic-auth
spec:
  basicAuth:
    secret: dash-basic-auth-secret

Где секрет выглядит как так, значение должно быть в htpasswd (например admin:$apr1$59e2guv---0dWbwGP/) и в bash64:

apiVersion: v1
kind: Secret
metadata:
  name: dash-basic-auth-secret
data:
  prod: |
    dGVzdDokYXByMSRINnVza2trVyRJZ1hMUDZld1RyU3VCa1RycUU4d2ovCnRlc3QyOiRhcHIxJGQ