docs: record that releasing this repository converges the object store #143

Merged
binjovi-bot merged 1 commit from sean/document-converge into trunk 2026-09-09 11:39:08 +00:00 AGit
Owner

The catalog project now carries a rustfs-tenant deployment target, so every Release of this repository changes live object storage. The README did not mention object-store.json at all. Also records what the file is not -- the tenant's shape only, with credential lifecycle staying in External Secrets -- and why the target lives in Binjovi's embedded definition rather than bundle.json. https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76

The catalog project now carries a rustfs-tenant deployment target, so every Release of this repository changes live object storage. The README did not mention object-store.json at all. Also records what the file is not -- the tenant's shape only, with credential lifecycle staying in External Secrets -- and why the target lives in Binjovi's embedded definition rather than bundle.json. https://claude.ai/code/session_01KZoQin34jeyt6nDGqvJA76
docs: record that releasing this repository converges the object store
All checks were successful
binjovi/ci Binjovi completed the frozen plan
f0b184da35
`object-store.json` has been in this repository since the tenant was declared,
and the README never mentioned it. That was tolerable while nothing read it. It
is not tolerable now: the catalog project carries a `rustfs-tenant` deployment
target, so every Release of this repository creates buckets, policies and users
on the live RustFS tenant and proves each identity's scoping before the deploy
is allowed to succeed.

Anyone releasing this repository should know that before they do, so it is the
first line of the new section.

The rest records what the file is for and, more usefully, what it is NOT: it
declares the tenant's shape only. Credential generation, freezing and delivery
stay with External Secrets. Binjovi never writes a Secret into a consuming
namespace, because it is arbitrary code execution as a service and that grant
would turn a CI compromise into a cluster compromise.

It also records why the target lives in Binjovi's embedded project definition
rather than in `bundle.json`: Binjovi substitutes its embedded definition over
any bundle project on this repository, so a catalog cannot redefine the project
that governs catalogs, and cannot grant itself the right to converge the object
store. Someone will eventually try to move that target into `bundle.json`
because that is where every other project's targets live. It would apply
cleanly and do nothing.

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/binjovi-plans!143
No description provided.