From f4a74ebc1c188816cd334fada928c58493e70c1f Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 30 Oct 2026 00:03:58 +0100 Subject: [PATCH] NK-WP-0055-T07: finding - identity backup refused 2026-10-20..29 on a full Storage Share account Co-Authored-By: Claude Opus 5.5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 308701@bnt-lap001 Assistant-Session: 5548e447-444c-4dcc-bed1-05c16eebfe56 --- ...55-security-platform-production-readiness.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/workplans/NK-WP-0055-security-platform-production-readiness.md b/workplans/NK-WP-0055-security-platform-production-readiness.md index cac90e6..18224d9 100644 --- a/workplans/NK-WP-0055-security-platform-production-readiness.md +++ b/workplans/NK-WP-0055-security-platform-production-readiness.md @@ -223,6 +223,23 @@ Drill results land in the readiness ledger. 2026-10-27: the identity drill already lives in NK-WP-0053 (quarterly isolated identity restore drill; T02 first run, T04 `admin`-operated). This task tracks NK-WP-0053 and RPF-WP-0036-T03 (scheduled OpenBao snapshot) rather than building a second drill; it adds only image lineage, the audit-device mount and the post-archive reconciliation procedure. + +**Finding 2026-10-29: no identity backup from 2026-10-20 to 2026-10-29.** The NK-WP-0053 drill could only +pick generation `20261019T034919Z`, older than `admin`'s OTP enrolment, so stage 5 found no token +(`user_token_count: 0`); stages 2 to 4 passed on that generation. Cause: `net-kingdom-identity-backup.service` +refused daily since 2026-10-20 03:47 UTC at its first Storage Share check, which needs 2 GiB headroom plus one +512 MiB bundle free. The `Backup` account has 10 GiB in total; the validated 5.35 GB full Forgejo archive in +`railiance-backups/forgejo/` (RPF-WP-0038) plus nightly CNPG dumps that are pruned only locally +(`cnpg-option-a-backup`, about 2.5 GiB in `r01-net-kingdom-pg`) used it up. Ruled out read-only: run marker, +local disk, accepted recovery receipt, publisher and retention ExternalSecrets, all profile bindings, database +primary, NetworkPolicies. Detection gap: the hourly health check failed and posted plain hub progress notes +(103 of the last 500 events) that raised no alert. Relief 2026-10-29: the founder removed the contents of +`railiance-backups/forgejo/`, consistent with the founder's 2026-10-11 decision that Nextcloud carries only +Forgejo essentials while full archives live on Scaleway; this lifts the 2026-09-15 no-expiry decision for that +folder. Follow-ups routed to owners: railiance-platform (CNPG remote retention, Forgejo essentials-only +secondary, confirm a verified full Forgejo archive on Scaleway, quota), disaster-control (alert on backup +refusal). Next: a fresh generation, then drill stages 1 and 5 on it. + ## Decide durable custody for receipts kept outside Git ```task