Commit graph

15 commits

Author SHA1 Message Date
codex
cb321deeab Finish RPF-WP-0019 apps-pg controls and recovery
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-20 22:58:45 +02:00
codex
dc4245361d Finish RPF-WP-0018; RPF-WP-0019 repository-complete
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
RPF-WP-0018 closed: all seven tasks done. The provider-declaration finding
was adopted upstream and its canonical form is the provider: block in
tenancy.yaml; adaptive-pricing declined the standing co-signature and
supplied typed tier minima instead, recorded in ADR-0002. Three corrections
against our own output are recorded in the documents rather than edited
away.

RPF-WP-0019 T03 done (ceiling of three, memory binding, apps-pg-2 named as
overflow, enforced by make apps-pg-verify-capacity). T01/T02 are
repository-complete: backup target, retention, per-consumer connection
limits, role timeouts and Burstable resources are declared in source and
published in s3-consumer-interfaces 1.1.0 before rollout. They stay in
progress because no live application, backup success or restore proof
exists, and declared configuration is not a section 13 artifact. T04 waits
on that window.

apps-pg R reason corrected to say the target is declared-not-applied rather
than absent.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 13:35:04 +02:00
codex
2af19627e1 feat: add r01-platform-pg to the Option A CNPG backup inventory
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-14 20:47:16 +02:00
codex
14f3516394 Include user-engine in offsite CNPG backups
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-07-30 00:05:58 +02:00
ca24dc6507 fix(backup): worker-safe paths and python WebDAV upload fallback
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 6s
Default cache to /tmp when HOME is unwritable; allow python3 upload when
curl is absent (activity-core worker image).
2026-07-22 20:34:21 +02:00
16a93b8e5c feat(backup): multi-host CNPG Option A CLI for activity-core
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Add cnpg-option-a-backup JSON runner, vendored static age, kubectl install
helper, and ESO policy path for offsite lane so railiance01 workers can
upload without workstation OIDC (RAILIANCE-WP-0016).
2026-07-22 19:50:59 +02:00
715631dedd feat(forgejo): add package prune script with retention depth 3
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
List and optionally delete package versions beyond the newest three,
protecting production Helm image tags. Adds Make targets and unit tests
for ACTIVITY-WP-0020.
2026-07-12 11:35:04 +02:00
2806f2cdda fix(backup): retry kubectl preflight when railiance01 API is flaky
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Poll up to 10 times for forgejo and forgejo-db pods before failing
preflight when the k3s API returns ServiceUnavailable.
2026-07-12 10:52:45 +02:00
dd6dc38e1e fix(backup): smaller forgejo dump chunks with per-chunk retries
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 3s
Use 4m split chunks and up to 8 retries per chunk to survive
intermittent kubectl cp/exec websocket EOF on large dumps.
2026-07-12 01:36:00 +02:00
ae85effd0c fix(backup): stream forgejo dump chunks via kubectl exec cat
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 6s
kubectl cp still drops websocket on large forgejo dump parts; fall back
to exec cat with pod refresh and smaller 8m chunks.
2026-07-12 01:25:48 +02:00
e644ce150f fix(backup): run forgejo dump in-pod to avoid exec websocket EOF
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 18s
Long forgejo dump sessions were aborting kubectl exec with websocket
close 1006. Launch dump via nohup inside the pod and poll for the zip.
2026-07-12 01:12:41 +02:00
de8f11e721 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.
2026-07-12 01:09:49 +02:00
a71369d71c Fix forgejo-backup large dump copy with chunked kubectl cp
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Split in-pod dumps over 50MiB into 16MiB parts with retry to avoid
websocket EOF and connection resets on ~700MiB archives.
2026-07-08 00:11:08 +02:00
074e7f8441 Add Forgejo daily backup automation (T04/T09 Option A)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
make forgejo-backup runs forgejo dump + pg_dump, age-encrypts, uploads to
Nextcloud forgejo/ prefix. Includes dry-run, status, and operator docs.
2026-07-07 17:19:19 +02:00
0055e8f3f7 Establish railiance backup credentials in OpenBao (CCR-2026-0004).
Some checks are pending
CI Smoke / host-smoke (push) Waiting to run
CI Smoke / container-smoke (push) Waiting to run
Add workload KV lane for Nextcloud WebDAV token, URL, and age recovery
escrow at platform/workloads/railiance/backup/offsite-lane. Apply read
policy and OIDC role railiance-backup-workload-kv-read; wire forgejo-backup
to load credentials from OpenBao when env is unset.
2026-07-07 17:16:30 +02:00