--- apiVersion: v1 kind: Namespace metadata: name: traefik-system --- apiVersion: source.toolkit.fluxcd.io/v1 kind: HelmRepository metadata: name: traefik-repo namespace: traefik-system spec: interval: 5m0s url: https://helm.traefik.io/traefik --- apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: traefik namespace: traefik-system spec: chart: spec: chart: traefik reconcileStrategy: ChartVersion sourceRef: kind: HelmRepository name: traefik-repo version: 32.1.0 interval: 1m0s values: replicas: 1 nodeSelector: ingress: 'true' tolerations: - key: "dedicated" operator: "Equal" value: "ingress" effect: "NoSchedule" service: type: LoadBalancer ingressRoute: dashboard: enabled: true --- apiVersion: v1 kind: Service metadata: name: traefik-external namespace: traefik-system annotations: metallb.universe.tf/address-pool: premhome-gc1 spec: type: LoadBalancer ports: - name: web port: 80 targetPort: web - name: websecure port: 443 targetPort: websecure selector: app.kubernetes.io/name: traefik --- apiVersion: v1 kind: Service metadata: name: traefik-internal namespace: traefik-system spec: type: LoadBalancer ports: - name: traefik port: 80 targetPort: traefik selector: app.kubernetes.io/name: traefik