174 lines
4.3 KiB
YAML
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
|