Files
homelab-gitops/apps/traefik/values.yaml
T

174 lines
4.3 KiB
YAML

deployment:
kind: Deployment
replicas: 2
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 1
podDisruptionBudget:
enabled: true
minAvailable: 1
resources:
requests:
cpu: 500m
memory: 1Gi
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: traefik
app.kubernetes.io/instance: traefik-default
topologyKey: kubernetes.io/hostname
service:
enabled: true
annotations:
mikrotik.brunner.ninja/router: newgw
mikrotik.brunner.ninja/forwardings: >-
[{"name":"http","servicePort":"web","dstAddressList":"WANs"},{"name":"https","servicePort":"websecure","dstAddressList":"WANs"}]
spec:
type: LoadBalancer
externalTrafficPolicy: Local
additionalServices:
funkfeuer:
spec:
type: ClusterIP
externalIPs:
- 10.12.4.170
accessLog:
enabled: true
format: json
bufferingSize: 100
fields:
defaultMode: keep
names:
ClientUsername: drop
headers:
defaultMode: drop
names:
User-Agent: keep
Referer: keep
queryParameters:
defaultMode: drop
metrics:
prometheus:
disableAPICheck: true
addEntryPointsLabels: true
addRoutersLabels: true
addServicesLabels: true
buckets: "0.005,0.01,0.025,0.05,0.1,0.25,0.5,1,2.5,5,10"
service:
enabled: true
labels:
app.kubernetes.io/part-of: traefik-observability
serviceMonitor:
enabled: true
interval: 30s
scrapeTimeout: 10s
additionalLabels:
release: prometheus
ports:
web:
expose:
default: true
funkfeuer: true
http:
redirections:
entryPoint:
to: websecure
scheme: https
permanent: true
websecure:
expose:
default: true
funkfeuer: true
http:
tls:
enabled: true
transport:
respondingTimeouts:
readTimeout: 3600
writeTimeout: 3600
ingressRoute:
dashboard:
enabled: true
matchRule: Host(`traefik.brunner.ninja`)
entryPoints:
- websecure
additionalArguments:
- --providers.redis.endpoints=valkey-primary.default.svc.cluster.local:6379
- --providers.redis.password=$(REDIS_PASSWORD)
env:
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: valkey
key: valkey-password
persistence:
enabled: false
tlsStore:
default:
defaultCertificate:
secretName: brunner-ninja-tls
providers:
file:
enabled: true
content:
http:
routers:
growatt:
rule: "Host(`growatt.brunner.ninja`)"
service: growatt
entryPoints: [websecure]
opendtu:
rule: "Host(`opendtu.brunner.ninja`)"
service: opendtu
entryPoints: [websecure]
staubsauger:
rule: "Host(`staubsauger.brunner.ninja`)"
service: staubsauger
entryPoints: [websecure]
middlewares: [default-authentik@kubernetescrd]
victron:
rule: "Host(`victron.brunner.ninja`)"
service: victron
entryPoints: [websecure]
middlewares: [default-authentik@kubernetescrd]
victron-websockify:
rule: "Host(`victron.brunner.ninja`) && Path(`/websockify`)"
priority: 100
service: victron-websockify-capture
entryPoints: [websecure]
middlewares: [default-authentik@kubernetescrd, victron-native-origin]
middlewares:
victron-native-origin:
headers:
customRequestHeaders:
Origin: ""
services:
growatt:
loadBalancer:
servers:
- url: http://192.168.0.252:8080
opendtu:
loadBalancer:
servers:
- url: http://OpenDTU-AB9DF8.localdomain
staubsauger:
loadBalancer:
servers:
- url: http://rockrobo.localdomain
victron:
loadBalancer:
servers:
- url: http://nanopi.localdomain
victron-websockify-capture:
loadBalancer:
servers:
- url: http://192.168.0.93:8080
kubernetesGateway:
enabled: true
gateway:
namespacePolicy: All