ControlPlaneStore API
Import the store from the public facade:- organizations
- teams and team membership
- projects and project team grants
- billing account records
- identity-provider records for SAML/OIDC configuration
- usage events, summaries, and quota checks
- secret manager references, not secret values
- audit events and org audit export
new ControlPlaneStore(sqlite) calls ensureControlPlaneTables(sqlite). You can call ensureControlPlaneTables(sqlite) directly when you only need to bootstrap the schema.
Store Methods
| Method | Purpose |
|---|---|
createOrg() | Create an organization. |
getOrg() | Load an organization by ID. |
createTeam() | Create a team in an organization. |
addTeamMember() | Add or update a user’s team role. |
createProject() | Create a project in an organization. |
addProjectTeam() | Grant or update a team’s project role. |
upsertBillingAccount() | Create or update the org billing record. |
upsertIdentityProvider() | Create or update a SAML/OIDC identity provider record. |
listIdentityProviders() | List org identity providers, optionally filtered by status. |
recordUsage() | Append a usage event. |
summarizeUsage() | Aggregate usage by metric and unit for an org. |
setUsageLimit() | Create or update an org/project usage limit. |
checkUsageLimit() | Return the matching limit plus usedQuantity, remainingQuantity, and exceeded, or null when no limit is configured. |
putSecretRef() | Store an external secret reference, not the secret value. |
listSecretRefs() | List org or project secret references. |
recordAuditEvent() | Append an audit event. |
exportOrgAudit() | Export org data, usage summaries, secret refs, and audit events. |
Hosted Boundary
A hosted Smithers service should layer these primitives behind:- SSO/SAML or OIDC authentication
- billing provider checkout and invoices
- cloud object storage for large artifacts
- managed secret provider reads at worker runtime
- audit export delivery and retention policy
- SLAs, support, compliance controls, and incident response