fix(backup): run forgejo dump in-pod to avoid exec websocket EOF
Some checks are pending
CI Smoke / container-smoke (push) Waiting to run
CI Smoke / host-smoke (push) Successful in 8s

Long forgejo dump sessions were aborting kubectl exec with websocket
close 1006. Launch dump via nohup inside the pod and poll for the zip.
This commit is contained in:
tegwick 2026-07-12 01:09:49 +02:00
parent bfa83de101
commit de8f11e721

View file

@ -74,7 +74,7 @@ ok "forgejo-db" "${FORGEJO_DB_NAMESPACE}/${FORGEJO_DB_POD}"
# 1. Application dump (repos, packages, attachments, LFS, avatars) # 1. Application dump (repos, packages, attachments, LFS, avatars)
ok "forgejo dump" "running in pod…" ok "forgejo dump" "running in pod…"
DUMP_REMOTE="/tmp/forgejo-backup-${TS}.zip" DUMP_REMOTE="/tmp/forgejo-backup-${TS}.zip"
kubectl exec -n "${FORGEJO_NAMESPACE}" "${PROD_POD}" -c gitea -- \ kubectl exec --request-timeout=0 -n "${FORGEJO_NAMESPACE}" "${PROD_POD}" -c gitea -- \
forgejo dump -f "${DUMP_REMOTE}" forgejo dump -f "${DUMP_REMOTE}"
# Large dumps (~700M) fail via stdout stream or single kubectl cp — use chunks. # Large dumps (~700M) fail via stdout stream or single kubectl cp — use chunks.
dump_size="$(kubectl exec -n "${FORGEJO_NAMESPACE}" "${PROD_POD}" -c gitea -- \ dump_size="$(kubectl exec -n "${FORGEJO_NAMESPACE}" "${PROD_POD}" -c gitea -- \