Sync the self-hosting stack

This commit is contained in:
2026-10-21 12:12:12 +02:00
parent e210b4db11
commit 6a2b67364b
13 changed files with 263 additions and 134 deletions
+7 -5
View File
@@ -29,9 +29,11 @@ metadata:
# outlast a quiet period comfortably. Too short and a healthy fleet reconnects all day.
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
# Matches BODY_LIMIT in apps/api/src/main.ts. A document may hold 400,000 characters, which is
# over a megabyte once accented text is UTF-8 encoded, and a diagram export posts back the SVG
# the browser rendered. Below this they are rejected as a bare 413 with no message.
# Matches the API's own ceiling on a JSON body, `BodyLimit.MaxBytes` in
# src/Jarvis.Api/Common/BodyLimit.cs: 4 MiB, and nginx's `m` is MiB. A document may hold 400,000
# characters, which is over a megabyte once accented text is UTF-8 encoded, and a diagram export
# posts back the SVG the browser rendered. Below this they are rejected as a bare 413 with no
# message.
#
# File uploads need more and are NOT raised here: they post under /api/uploads/, which has its
# own Ingress in 06b-ingress-uploads.yaml, because ingress-nginx applies these annotations to
@@ -58,8 +60,8 @@ spec:
# Longest prefix first for readers; the controller sorts by specificity itself.
#
# The agent websocket has its own rule even though it sits under /api/, mirroring the
# split in apps/web/nginx.conf: it is the one path where an idle connection legitimately
# stays open for an hour between frames.
# split in src/Jarvis.Web/nginx.conf: it is the one path where an idle connection
# legitimately stays open for an hour between frames.
- path: /api/agents/ws
pathType: Prefix
backend: