Files
homelab/infra/controllers/traefik/traefik.yaml

74 lines
1.4 KiB
YAML

---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: traefik-repo
namespace: traefik-system
spec:
interval: 15m0s
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
external-dns.alpha.kubernetes.io/hostname: "*.yadunut.dev"
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