feat(minio): retire the Tenant and its drives -- the rollback copy stops here #533

Merged
binjovi-bot merged 1 commit from sean/retire-minio-tenant into trunk 2026-09-10 07:26:46 +00:00 AGit
Owner

Stage 5a-2 on Sean's go (04:45 UTC). Every final gate zero, every consumer on RustFS, converge green, nothing outside ns minio names minio.minio.svc. Flux prunes the Tenant, credential chains and tenantbucket; a namespaced Job deletes the ten claims after the Tenant is 404 and its pods are gone, proving each absent. 550 GiB of tank returns. Full tests/check.sh green. https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76

Stage 5a-2 on Sean's go (04:45 UTC). Every final gate zero, every consumer on RustFS, converge green, nothing outside ns minio names minio.minio.svc. Flux prunes the Tenant, credential chains and tenantbucket; a namespaced Job deletes the ten claims after the Tenant is 404 and its pods are gone, proving each absent. 550 GiB of tank returns. Full tests/check.sh green. https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76
feat(minio): retire the Tenant and its drives -- the rollback copy stops here
All checks were successful
binjovi/ci Binjovi completed the frozen plan
5b295c4632
Stage 5a-2, the point of no return, on Sean's go (2026-09-10 04:45 UTC).

Every bucket's final gate read zero -- tempo, loki, binjovi-logs, forgejo,
workflows, pkg, and zot's 96 repositories compared one by one -- every
consumer reads and writes RustFS, the converge proved nine buckets and
eighteen identities, and nothing outside MinIO's own namespace and operator
names minio.minio.svc any more (measured across every Deployment and
StatefulSet). The MinIO copy was the rollback; it stops existing here.

Flux prunes what leaves this tree: the Tenant (the operator finalizes it),
the root-credential chain, the platform S3 credential, the credentials
reader, and tenantbucket/ with its three identity chains, four Jobs and five
ClusterSecretStores. The ten 55 GiB claims are in no inventory, so a
namespaced Job in ns minio deletes them: it waits for the Tenant to be
absent -- 404, never 403, which is a broken Role and a failure -- and for
every tenant pod to be gone, so no pvc-protection finalizer can hang a
delete, then removes each claim by name and proves it absent. 550 GiB of
tank returns across the workers.

Guards: tests/binjovi.sh loses the tenantbucket log-storage pins (the
archive's bucket, lifecycle and identity are declared in object-store.json
and proved by the converge now); the inventory loses the minio server
record with tenant.yaml, and minio-mc counts the one pin that remains.

Stage 5a-3 follows once the Job has run: the namespace, the operator, the
two CRDs and this tombstone.

Claude-Session: https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/seanfarm!533
No description provided.