Files
GitOps/nowchess/eu-central-1-prod/ingress.yaml
T
lq64 0030998279 fix: add WebSocket timeout annotations and use-regex to ingresses (#419)
Add proxy-read-timeout and proxy-send-timeout (3600s) so nginx does not
drop long-lived WebSocket connections at the default 60s idle timeout.

Add use-regex: "true" to staging to match production — without it, the
ImplementationSpecific path for the game WebSocket
(/api/board/game/[A-Za-z0-9]{8}/ws) is treated as a literal string
instead of a regex and never matches real game IDs.

---------

Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #419
Co-authored-by: Leon Hermann <lq@blackhole.local>
Co-committed-by: Leon Hermann <lq@blackhole.local>
2026-06-21 12:35:28 +02:00

93 lines
2.7 KiB
YAML
Executable File

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nowchess-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
spec:
ingressClassName: nginx
rules:
- host: nowchess.janis-eccarius.de
http:
paths:
- path: /api/board/game/[A-Za-z0-9]{8}/ws
pathType: ImplementationSpecific
backend:
service:
name: nowchess-ws-active
port:
number: 8084
- path: /api/user/ws
pathType: ImplementationSpecific
backend:
service:
name: nowchess-ws-active
port:
number: 8084
- path: /api/account
pathType: Prefix
backend:
service:
name: nowchess-account-active
port:
number: 8083
- path: /api/challenge
pathType: Prefix
backend:
service:
name: nowchess-account-active
port:
number: 8083
- path: /api/store
pathType: Prefix
backend:
service:
name: nowchess-store-active
port:
number: 8085
- path: /api/tournament
pathType: Prefix
backend:
service:
name: nowchess-tournament-active
port:
number: 8088
- path: /api/bots
pathType: Prefix
backend:
service:
name: nowchess-official-bots-active
port:
number: 8088
- path: /api/analysis
pathType: Prefix
backend:
service:
name: nowchess-analysis-active
port:
number: 8087
- path: /api
pathType: Prefix
backend:
service:
name: nowchess-core-active
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: nowchess-frontend-active
port:
number: 80
tls:
- hosts:
- nowchess.janis-eccarius.de
secretName: nowchess-ingress-cert