kittehcluster/kubernetes/loadbalancer/traefik/traefik.yml
2024-11-05 10:47:53 -05:00

56 lines
1.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: traefik-deployment
labels:
app: traefik
spec:
replicas: 0
selector:
matchLabels:
app: traefik
template:
metadata:
labels:
app: traefik
spec:
serviceAccountName: traefik-account
containers:
- name: traefik
image: traefik:v3.1
args:
- "--entryPoints.web.address=:80"
- "--entryPoints.websecure.address=:443"
- "--entryPoints.websecure.http.tls.certresolver=myresolver"
- "--certificatesresolvers.letsencrypt.acme.email=greyson@hofers.cloud"
# - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
- "--certificatesresolvers.letsencrypt.acme.storage=/sslcerts/cert.json"
# - "--api.insecure"
- "--providers.kubernetesingress"
ports:
- name: web
containerPort: 80
- name: web-tls
containerPort: 443
- name: dashboard
containerPort: 8080
env:
- name: CF_API_EMAIL
valueFrom:
secretKeyRef:
name: traefik-cf-creds
key: cf-email
- name: CF_API_KEY
valueFrom:
secretKeyRef:
name: traefik-cf-creds
key: cf-key
volumeMounts:
- mountPath: /ssl-certs
name: cert-data
volumes:
- name: cert-data
persistentVolumeClaim:
claimName: traefik-volume-claim