Files
pargar/deploy/k3s/traefik-helmchartconfig.yaml
T

44 lines
1.5 KiB
YAML
Raw Normal View History

# k3s Traefik customisation (HelmChartConfig for the built-in `traefik` chart).
#
# Apply with: kubectl apply -f deploy/k3s/traefik-helmchartconfig.yaml
#
# Why: Traefik's entrypoint `readTimeout` defaults to 60s and covers reading the
# *entire request including the body*. Admin video uploads (up to 200MB) that take
# longer than 60s were cut off with a 502 before reaching the backend. Raise it to
# 1 hour (use 0 to disable entirely).
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
failurePolicy: reinstall
valuesContent: |-
# ACCESSLOG tile -> ON; access logs go to container stdout (kubectl logs).
# Key is logs.access.enabled on the chart k3s ships (40.1.5);
# the top-level accessLog.enabled only exists on newer chart versions.
logs:
access:
enabled: true
# Allow IngressRoutes to reference Services living in other namespaces,
# e.g. argocd-server in `argocd`.
providers:
kubernetesCRD:
allowCrossNamespace: true
deployment:
podAnnotations:
# fix: metrics entrypoint listens on :9100, annotation said 8082
prometheus.io/port: "9100"
prometheus.io/scrape: "true"
# Allow slow, large uploads (admin video upload ≤ 200MB) to finish.
# Default is 60s; 3600s = 1h. Set to 0 to disable the cap.
ports:
web:
transport:
respondingTimeouts:
readTimeout: 3600
websecure:
transport:
respondingTimeouts:
readTimeout: 3600