Problem
Split from #7180. Update: this issue's original scoping was wrong. It assumed injecting a hosted tenant's database credentials could just call "the generalized broker's issue/revoke path" — investigation (see #8064) found #7174 only generalized the storage layer (a secret_type discriminator column), not the mint logic (still 100% hardcoded to GitHub tokens) or any revoke mechanism (none exists anywhere in this codebase). Real work is needed on both the broker side and the control-plane side before this can close — split into the two sub-issues below rather than attempted as one PR, given the security sensitivity of secrets custody.
Sub-issues
Area
src/orb/broker.ts, control-plane/src/tenant-provisioning-driver.ts, control-plane/src/provisioning.ts. See each sub-issue for its own precise scope.
Resources
Boundaries
This issue itself does not implement anything directly — see #8064/#8066 for the real deliverables and boundaries.
maintainer-only — secrets custody design touches every tenant's blast radius; no partial/contributor-drafted version merged ahead of full review.
Problem
Split from #7180. Update: this issue's original scoping was wrong. It assumed injecting a hosted tenant's database credentials could just call "the generalized broker's issue/revoke path" — investigation (see #8064) found #7174 only generalized the storage layer (a
secret_typediscriminator column), not the mint logic (still 100% hardcoded to GitHub tokens) or any revoke mechanism (none exists anywhere in this codebase). Real work is needed on both the broker side and the control-plane side before this can close — split into the two sub-issues below rather than attempted as one PR, given the security sensitivity of secrets custody.Sub-issues
src/orb/broker.ts(blocking)injectSecrets/revokeSecretsagainst it (blocked by Add a tenant-DB-credential secret type + generic revoke path to src/orb/broker.ts #8064)Area
src/orb/broker.ts,control-plane/src/tenant-provisioning-driver.ts,control-plane/src/provisioning.ts. See each sub-issue for its own precise scope.Resources
secret_typediscriminator this builds on)Boundaries
This issue itself does not implement anything directly — see #8064/#8066 for the real deliverables and boundaries.
maintainer-only — secrets custody design touches every tenant's blast radius; no partial/contributor-drafted version merged ahead of full review.