feat(build)/docs: make executor images configurable; document the build lane's real seams (#9, #10)

- [registry] gains kaniko_image / trivy_image / build_cpu_limit /
  build_mem_limit overrides; empty keeps the compiled-in defaults. An
  air-gapped or mirrored install has no route to gcr.io/aquasec (the
  build egress policy allows only DNS + registry + package mirrors), so
  builds previously could not even start their executors.
- deferred-seams: the uploads-context entry now records WHY a mount is
  impossible (PVCs cannot cross namespaces) and that the s3 lane also
  lacks credentials in the build Pod — options captured for the real fix.
- troubleshooting 8e (executor ImagePullBackOff + the overrides),
  13b rewritten (verified eviction refusal, 5m pressure-transition,
  image-GC recovery), 15 (upgrade/rollback runbook for Recreate).
- Backup semantics decided and documented: a backup is the whole /data
  volume (worlds + config + plugins + cache) and a restore rolls all of
  it back — OpenAPI/README wording updated to match (same-tag images are
  still watched for regressions by the openapi parity gate).
This commit is contained in:
Lemon-miaow committed 2026-09-22 22:03:48 +08:00
1 parent 0a2d654e68
commit 87a9f4eb25
10 files changed
+165 -37

No files matched your search

+5 -4
View File
@@ -2771,11 +2771,12 @@ paths:
post:
tags: [backups]
operationId: backupNow
summary: Back up a server's world on demand (owner-or-admin; server must be stopped).
summary: Back up a server's data volume on demand (owner-or-admin; server must be stopped).
description: >-
Snapshots the server's world into the archive store as a first-class
world_backups row (reason "manual"), restorable later like an inactivity
backup. The world PVC is RWO and held by a running server, so the server must
Snapshots the server's whole data volume (worlds, config, plugins/mods,
jars, libraries — not just world folders) into the archive store as a
first-class world_backups row (reason "manual"), restorable later like an
inactivity backup. A restore replaces the volume with the archive. The world PVC is RWO and held by a running server, so the server must
be fully stopped first (409 not_stopped otherwise). The backup runs
asynchronously as a Job, so success is 202 (backing_up).
x-felis-face: [external]