Files
homelab/infra/controllers/traefik.yaml
2024-11-04 21:37:26 -05:00

77 lines
1.3 KiB
YAML

---
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
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