@substrat-run/control-plane-api 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom-hostnames.d.ts +5 -4
- package/dist/custom-hostnames.d.ts.map +1 -1
- package/dist/custom-hostnames.js +18 -5
- package/dist/custom-hostnames.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/platform-drain.d.ts +54 -0
- package/dist/platform-drain.d.ts.map +1 -1
- package/dist/platform-drain.js +185 -1
- package/dist/platform-drain.js.map +1 -1
- package/package.json +5 -5
|
@@ -131,7 +131,7 @@ export interface ReconcileHostnamesResult {
|
|
|
131
131
|
activated: number;
|
|
132
132
|
/** Rows that moved to `failed` this pass. */
|
|
133
133
|
failed: number;
|
|
134
|
-
/** Custom rows
|
|
134
|
+
/** Custom rows (`pending`, or `failed` with no CF id) for which a CF create was (re)attempted. */
|
|
135
135
|
created: number;
|
|
136
136
|
/** Per-hostname errors — one bad row never sinks the pass. */
|
|
137
137
|
errors: {
|
|
@@ -144,9 +144,10 @@ export interface ReconcileHostnamesResult {
|
|
|
144
144
|
*
|
|
145
145
|
* - `verifying` with a CF id — poll Cloudflare and persist the new status/records; a
|
|
146
146
|
* `verifying → active` here is the automated flip that replaces the old manual one.
|
|
147
|
-
* - `pending` with NO CF id but a custom hostname — a create that never
|
|
148
|
-
* bind route failed transiently,
|
|
149
|
-
*
|
|
147
|
+
* - `pending` OR `failed` with NO CF id but a custom hostname — a create that never
|
|
148
|
+
* landed (the bind route failed transiently, ran before a provisioner was configured,
|
|
149
|
+
* or hit a misconfigured credential and was recorded `failed`). Retry the create so
|
|
150
|
+
* the row self-heals once the cause is fixed, instead of waiting on a human click.
|
|
150
151
|
*
|
|
151
152
|
* `isCustom` decides which `pending` rows are ours to issue for — a platform hostname
|
|
152
153
|
* (rides the wildcard, no CF object) is never touched here. Per-row failures are caught
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-hostnames.d.ts","sourceRoot":"","sources":["../src/custom-hostnames.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAGjC,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE/E,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACnE,kFAAkF;IAClF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,6EAA6E;IAC7E,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,yFAAyF;IACzF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,KAAK,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACjE,sFAAsF;IACtF,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,gCAAgC;IAC/C,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,2EAA2E;AAC3E,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,iBAAiB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC3C,kBAAkB,CAAC,EAAE;YACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,EAAE,CAAC;KACL,CAAC;CACH;AAQD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO,CAMzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxE;AAOD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,gBAAgB,GAAG;IACjD,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAiBA;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,CAmBvF;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,gCAAgC,GACrC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"custom-hostnames.d.ts","sourceRoot":"","sources":["../src/custom-hostnames.ts"],"names":[],"mappings":"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"}
|
package/dist/custom-hostnames.js
CHANGED
|
@@ -101,7 +101,14 @@ export function createCustomHostnameProvisioner(opts) {
|
|
|
101
101
|
}
|
|
102
102
|
if (!res.ok || !env?.success || !env.result) {
|
|
103
103
|
const msg = env?.errors?.map((e) => e.message).filter(Boolean).join('; ') || clip(text);
|
|
104
|
-
|
|
104
|
+
// An auth failure here is a PLATFORM misconfiguration, not the tenant's DNS: the
|
|
105
|
+
// token works for other CF APIs but lacks the custom-hostname permission. Say so —
|
|
106
|
+
// "Authentication error" alone reads as the tenant's problem and sends them to
|
|
107
|
+
// their DNS provider instead of the operator to the token settings.
|
|
108
|
+
const hint = res.status === 401 || res.status === 403
|
|
109
|
+
? " — the platform's Cloudflare API token lacks 'SSL and Certificates: Edit' on the SaaS zone (secrets/platform.<env>.env CF_API_TOKEN; a just-edited token can take a few minutes to propagate); not a DNS problem on the domain"
|
|
110
|
+
: '';
|
|
111
|
+
throw new Error(`Cloudflare ${what} failed (${res.status}): ${msg || 'unknown error'}${hint}`);
|
|
105
112
|
}
|
|
106
113
|
return env.result;
|
|
107
114
|
};
|
|
@@ -139,9 +146,10 @@ export function createCustomHostnameProvisioner(opts) {
|
|
|
139
146
|
*
|
|
140
147
|
* - `verifying` with a CF id — poll Cloudflare and persist the new status/records; a
|
|
141
148
|
* `verifying → active` here is the automated flip that replaces the old manual one.
|
|
142
|
-
* - `pending` with NO CF id but a custom hostname — a create that never
|
|
143
|
-
* bind route failed transiently,
|
|
144
|
-
*
|
|
149
|
+
* - `pending` OR `failed` with NO CF id but a custom hostname — a create that never
|
|
150
|
+
* landed (the bind route failed transiently, ran before a provisioner was configured,
|
|
151
|
+
* or hit a misconfigured credential and was recorded `failed`). Retry the create so
|
|
152
|
+
* the row self-heals once the cause is fixed, instead of waiting on a human click.
|
|
145
153
|
*
|
|
146
154
|
* `isCustom` decides which `pending` rows are ours to issue for — a platform hostname
|
|
147
155
|
* (rides the wildcard, no CF object) is never touched here. Per-row failures are caught
|
|
@@ -170,8 +178,13 @@ export async function reconcilePendingHostnames(deps) {
|
|
|
170
178
|
out.errors.push({ hostname: h.hostname, error: err instanceof Error ? err.message : String(err) });
|
|
171
179
|
}
|
|
172
180
|
}
|
|
181
|
+
// `failed` rows WITHOUT a CF id are creates that never landed (e.g. a token without
|
|
182
|
+
// the custom-hostname permission) — retriable exactly like a stuck `pending`, so a
|
|
183
|
+
// fixed credential heals them on the next sweep. `failed` WITH an id stays terminal
|
|
184
|
+
// here: that is a real validation verdict, re-checked only by an explicit verify.
|
|
185
|
+
const failed = (await deps.admin.listHostnames(deps.actor, { status: 'failed' })).filter((h) => !h.customHostnameId);
|
|
173
186
|
const pending = await deps.admin.listHostnames(deps.actor, { status: 'pending' });
|
|
174
|
-
for (const h of pending) {
|
|
187
|
+
for (const h of [...pending, ...failed]) {
|
|
175
188
|
if (h.customHostnameId || !deps.isCustom(h.hostname))
|
|
176
189
|
continue; // already created, or a platform mint
|
|
177
190
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-hostnames.js","sourceRoot":"","sources":["../src/custom-hostnames.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"custom-hostnames.js","sourceRoot":"","sources":["../src/custom-hostnames.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type { PlatformActorAuth, StaffIdentity, StaffSessionReader, StaffActorRe
|
|
|
6
6
|
export { ControlPlaneClient, ControlPlaneError } from './client.js';
|
|
7
7
|
export type { ControlPlaneClientOptions, ClientProvisionScopeInput } from './client.js';
|
|
8
8
|
export { VerticalClient } from './vertical-client.js';
|
|
9
|
-
export { drainScopePlatformRequests, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, type ArchiveScopeDeps, type PlatformRequestHandler, type PlatformRequestContext, type PlatformRequestOutcome, type PlatformDrainReport, type ProvisionSiblingDeps, type ProvisionSiblingInput, type ProvisionSiblingResult, } from './platform-drain.js';
|
|
9
|
+
export { drainScopePlatformRequests, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, provisionTenantHandler, setEntitlementsHandler, type ManagedTenantDeps, type ArchiveScopeDeps, type PlatformRequestHandler, type PlatformRequestContext, type PlatformRequestOutcome, type PlatformDrainReport, type ProvisionSiblingDeps, type ProvisionSiblingInput, type ProvisionSiblingResult, } from './platform-drain.js';
|
|
10
10
|
export type { VerticalClientOptions, ProvisionInstanceInput, ProvisionedInstance, ConfigureInstanceInput, } from './vertical-client.js';
|
|
11
11
|
export { assertSandboxContract, deployManifest, deploymentRefFor, stableDeploymentRefFor, nextMigrationTag, DeployUploadError, upstreamStatusOf, } from './deploy.js';
|
|
12
12
|
export type { DeployVerticalFn, VerticalBundle, DeclaredBinding, DeployManifest } from './deploy.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrG,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAChG,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,yBAAyB,EACzB,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrG,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAChG,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,yBAAyB,EACzB,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { DEV_ACTOR_HEADER, SERVICE_TOKEN_HEADER, UNSAFE_devPlatformActorAuth, se
|
|
|
3
3
|
export { mintPushToken, verifyPushToken, pushTokenBuilderAuth, pushActorFor } from './push-token.js';
|
|
4
4
|
export { ControlPlaneClient, ControlPlaneError } from './client.js';
|
|
5
5
|
export { VerticalClient } from './vertical-client.js';
|
|
6
|
-
export { drainScopePlatformRequests, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, } from './platform-drain.js';
|
|
6
|
+
export { drainScopePlatformRequests, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, provisionTenantHandler, setEntitlementsHandler, } from './platform-drain.js';
|
|
7
7
|
export { assertSandboxContract, deployManifest, deploymentRefFor, stableDeploymentRefFor, nextMigrationTag, DeployUploadError, upstreamStatusOf, } from './deploy.js';
|
|
8
8
|
export { createWfpUploader, createWfpModulesFetcher, createWfpBindingsPatcher } from './wfp.js';
|
|
9
9
|
export { collectTenantStoreHandles, tenantStoreBindings } from './tenant-stores.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUrG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUrG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,GAUvB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEhG,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/platform-drain.d.ts
CHANGED
|
@@ -99,4 +99,58 @@ export interface ArchiveScopeDeps {
|
|
|
99
99
|
* retry never wedges.
|
|
100
100
|
*/
|
|
101
101
|
export declare function archiveScopeHandler(deps: ArchiveScopeDeps): PlatformRequestHandler;
|
|
102
|
+
/**
|
|
103
|
+
* Deps for the MANAGED-TENANT handlers (#412) — `provision-tenant` / `set-entitlements`,
|
|
104
|
+
* the capability that makes a vertical a manager (a console whose job is to add tenants).
|
|
105
|
+
* Unlike `provision-sibling`, the target tenant is NOT proven by the drained scope (it may
|
|
106
|
+
* not exist yet), so admissibility is bounded on the manager instead:
|
|
107
|
+
*
|
|
108
|
+
* 1. `provisioners` — the staff-granted provisioner capability. Deployment config today
|
|
109
|
+
* (the only manager is first-party); a directory-backed grant when third-party managers
|
|
110
|
+
* arrive. A vertical not listed settles `failed`.
|
|
111
|
+
* 2. SKU bound — every entitlement key a payload names must be in the manager's
|
|
112
|
+
* registry-declared `entitlements` (its manifest's, carried on push), read at drain time.
|
|
113
|
+
*
|
|
114
|
+
* Still phased (#412 invariants 2/4, before any third-party manager): `tenants.provisionedBy`
|
|
115
|
+
* ownership — until it exists, a listed manager can `set-entitlements` on any tenant — and
|
|
116
|
+
* a declared-target-verticals bound (`manifest.provisions`).
|
|
117
|
+
*/
|
|
118
|
+
export interface ManagedTenantDeps {
|
|
119
|
+
host: ScopeHost;
|
|
120
|
+
actor: PlatformActorId;
|
|
121
|
+
/** Manager verticals (registry slugs) holding the provisioner capability. */
|
|
122
|
+
provisioners: readonly string[];
|
|
123
|
+
/** Resolve the `VerticalClient` serving a scope — same ladder as `ProvisionSiblingDeps`. */
|
|
124
|
+
resolveVerticalForScope: (scope: {
|
|
125
|
+
vertical: string | null;
|
|
126
|
+
verticalVersionId: string | null;
|
|
127
|
+
servingRef?: string | null;
|
|
128
|
+
}) => Promise<VerticalClient | undefined>;
|
|
129
|
+
/** Attach per-tenant store D1 bindings (#301); a NEW tenant's first install mints here. */
|
|
130
|
+
patchScriptBindings?: PatchScriptBindingsFn;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The `provision-tenant` platform-request handler (#412): create a NEW customer tenant, its
|
|
134
|
+
* first scope running the PAYLOAD's vertical (never inherited — the manager and the managed
|
|
135
|
+
* product are different verticals), grant its entitlements, then the same materialization a
|
|
136
|
+
* first install runs: resolve the serving deployment, mint/collect the tenant's stores
|
|
137
|
+
* (#301), `provisionInstance` (which projects the entitlements, #310), deliver `config`,
|
|
138
|
+
* activate. Every id is proposed in the payload (idempotent join keys), so an at-least-once
|
|
139
|
+
* drain converges without minting anything on retry: `createTenant`/`provisionScope`/
|
|
140
|
+
* `provisionInstance` are all idempotent no-ops the second time. A `ControlPlaneError` from
|
|
141
|
+
* the vertical is transient (`pending`); a structural refusal (capability, SKU bound, slug
|
|
142
|
+
* taken by a different tenant, unbound deployment) is terminal (`failed`).
|
|
143
|
+
*/
|
|
144
|
+
export declare function provisionTenantHandler(deps: ManagedTenantDeps): PlatformRequestHandler;
|
|
145
|
+
/**
|
|
146
|
+
* The `set-entitlements` platform-request handler (#412): reconcile a managed tenant's
|
|
147
|
+
* grants to the payload's TARGET set, bounded both ways by the manager's declared SKU
|
|
148
|
+
* universe — grant what the target names, revoke any declared key absent from it — then
|
|
149
|
+
* re-project into the tenant's auth scope via the vertical's idempotent reconcile
|
|
150
|
+
* (entitlements re-gathered authoritative + identity links, exactly as the repair route,
|
|
151
|
+
* #310/#406; the vertical-side projection is a full replace, so a downgrade revokes
|
|
152
|
+
* cleanly). Keys OUTSIDE the declared universe are never touched, so a platform-granted
|
|
153
|
+
* entitlement (e.g. the tenant's own product SKU) survives any manager reconcile.
|
|
154
|
+
*/
|
|
155
|
+
export declare function setEntitlementsHandler(deps: ManagedTenantDeps): PlatformRequestHandler;
|
|
102
156
|
//# sourceMappingURL=platform-drain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-drain.d.ts","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"platform-drain.d.ts","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"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"}
|
package/dist/platform-drain.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ulid } from '@substrat-run/kernel';
|
|
2
|
-
import { principalId as principalIdSchema, scopeId as scopeIdSchema, provisionSiblingPayload, archiveScopePayload, } from '@substrat-run/contracts';
|
|
2
|
+
import { principalId as principalIdSchema, scopeId as scopeIdSchema, tenantId as tenantIdSchema, provisionSiblingPayload, archiveScopePayload, provisionTenantPayload, setEntitlementsPayload, } from '@substrat-run/contracts';
|
|
3
3
|
import { ControlPlaneError } from './client.js';
|
|
4
4
|
import { collectTenantStoreHandles } from './tenant-stores.js';
|
|
5
5
|
/**
|
|
@@ -142,4 +142,188 @@ export function archiveScopeHandler(deps) {
|
|
|
142
142
|
return { status: 'done', result: { archived: payload.scopeId } };
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Enforce the manager bound: provisioner capability + declared-SKU universe. Returns the
|
|
147
|
+
* declared SKU list on admission (the reconcile in `set-entitlements` needs it — it bounds
|
|
148
|
+
* the revoke side too), or the `failed` outcome to settle.
|
|
149
|
+
*/
|
|
150
|
+
async function admitManager(deps, ctx, requestedKeys) {
|
|
151
|
+
if (!deps.provisioners.includes(ctx.vertical)) {
|
|
152
|
+
return {
|
|
153
|
+
refusal: {
|
|
154
|
+
status: 'failed',
|
|
155
|
+
error: `vertical '${ctx.vertical}' does not hold the tenant-provisioner capability`,
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
const registered = (await deps.host.admin.listVerticals(deps.actor)).find((v) => v.slug === ctx.vertical);
|
|
160
|
+
const declared = registered?.entitlements ?? [];
|
|
161
|
+
for (const key of requestedKeys) {
|
|
162
|
+
if (!declared.includes(key)) {
|
|
163
|
+
return {
|
|
164
|
+
refusal: {
|
|
165
|
+
status: 'failed',
|
|
166
|
+
error: `entitlement '${key}' is not among the SKUs '${ctx.vertical}' declares`,
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return { declared };
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* The `provision-tenant` platform-request handler (#412): create a NEW customer tenant, its
|
|
175
|
+
* first scope running the PAYLOAD's vertical (never inherited — the manager and the managed
|
|
176
|
+
* product are different verticals), grant its entitlements, then the same materialization a
|
|
177
|
+
* first install runs: resolve the serving deployment, mint/collect the tenant's stores
|
|
178
|
+
* (#301), `provisionInstance` (which projects the entitlements, #310), deliver `config`,
|
|
179
|
+
* activate. Every id is proposed in the payload (idempotent join keys), so an at-least-once
|
|
180
|
+
* drain converges without minting anything on retry: `createTenant`/`provisionScope`/
|
|
181
|
+
* `provisionInstance` are all idempotent no-ops the second time. A `ControlPlaneError` from
|
|
182
|
+
* the vertical is transient (`pending`); a structural refusal (capability, SKU bound, slug
|
|
183
|
+
* taken by a different tenant, unbound deployment) is terminal (`failed`).
|
|
184
|
+
*/
|
|
185
|
+
export function provisionTenantHandler(deps) {
|
|
186
|
+
return async (ctx, request) => {
|
|
187
|
+
const payload = provisionTenantPayload.parse(request.payload);
|
|
188
|
+
const admitted = await admitManager(deps, ctx, payload.entitlements.map((e) => e.key));
|
|
189
|
+
if ('refusal' in admitted)
|
|
190
|
+
return admitted.refusal;
|
|
191
|
+
const { host, actor } = deps;
|
|
192
|
+
const admin = host.admin;
|
|
193
|
+
const tenantId = tenantIdSchema.parse(payload.tenant.id);
|
|
194
|
+
const scopeId = scopeIdSchema.parse(payload.instance.scopeId);
|
|
195
|
+
try {
|
|
196
|
+
await admin.createTenant(actor, {
|
|
197
|
+
id: tenantId,
|
|
198
|
+
slug: payload.tenant.slug,
|
|
199
|
+
name: payload.tenant.name,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
catch (e) {
|
|
203
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
204
|
+
// Both adapters fail closed on a slug owned by a DIFFERENT tenant id with this
|
|
205
|
+
// phrasing — a retry can never converge, so settle terminal instead of pending.
|
|
206
|
+
if (message.includes('slugs are unique'))
|
|
207
|
+
return { status: 'failed', error: message };
|
|
208
|
+
throw e;
|
|
209
|
+
}
|
|
210
|
+
// Granted BEFORE provisionInstance so the #310 projection carries them on day one.
|
|
211
|
+
for (const grant of payload.entitlements) {
|
|
212
|
+
await admin.grantEntitlement(actor, tenantId, grant.key, { plan: grant.plan });
|
|
213
|
+
}
|
|
214
|
+
await host.provisionScope(actor, {
|
|
215
|
+
tenantId,
|
|
216
|
+
scopeId,
|
|
217
|
+
slug: payload.instance.slug,
|
|
218
|
+
name: payload.instance.name,
|
|
219
|
+
vertical: payload.instance.vertical,
|
|
220
|
+
});
|
|
221
|
+
const created = await admin.getScopeRecord(actor, tenantId, scopeId);
|
|
222
|
+
const vertical = created ? await deps.resolveVerticalForScope(created) : undefined;
|
|
223
|
+
if (!vertical) {
|
|
224
|
+
return {
|
|
225
|
+
status: 'failed',
|
|
226
|
+
result: { tenantId, scopeId },
|
|
227
|
+
error: `no deployment is bound for vertical '${payload.instance.vertical}'`,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
const entitlements = await admin.listEntitlements(actor, tenantId);
|
|
231
|
+
// #301: a NEW tenant's first install is exactly the minting path — the stores are
|
|
232
|
+
// per (tenant, target vertical), keyed by the PAYLOAD's vertical, not the manager's.
|
|
233
|
+
const tenantStores = await collectTenantStoreHandles({
|
|
234
|
+
host,
|
|
235
|
+
actor,
|
|
236
|
+
slug: payload.instance.vertical,
|
|
237
|
+
tenantId,
|
|
238
|
+
patchBindings: deps.patchScriptBindings,
|
|
239
|
+
});
|
|
240
|
+
try {
|
|
241
|
+
await vertical.provisionInstance({
|
|
242
|
+
tenantId,
|
|
243
|
+
scopeId,
|
|
244
|
+
owner: principalIdSchema.parse(payload.instance.owner),
|
|
245
|
+
slug: payload.instance.slug,
|
|
246
|
+
name: payload.instance.name,
|
|
247
|
+
entitlements,
|
|
248
|
+
...(tenantStores.length ? { tenantStores } : {}),
|
|
249
|
+
});
|
|
250
|
+
if (payload.config && Object.keys(payload.config).length) {
|
|
251
|
+
try {
|
|
252
|
+
await vertical.configureInstance({
|
|
253
|
+
tenantId,
|
|
254
|
+
scopeId,
|
|
255
|
+
entries: Object.entries(payload.config).map(([key, value]) => ({ key, value })),
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
catch (e) {
|
|
259
|
+
// 501 = the vertical has no live-config support — authored but not delivered,
|
|
260
|
+
// the same tolerance the settings route extends. Anything else is transient.
|
|
261
|
+
if (!(e instanceof ControlPlaneError && e.status === 501))
|
|
262
|
+
throw e;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
catch (e) {
|
|
267
|
+
if (e instanceof ControlPlaneError) {
|
|
268
|
+
return { status: 'pending', result: { tenantId, scopeId }, error: e.message };
|
|
269
|
+
}
|
|
270
|
+
throw e;
|
|
271
|
+
}
|
|
272
|
+
await admin.activateScope(actor, tenantId, scopeId);
|
|
273
|
+
return { status: 'done', result: { tenantId, scopeId } };
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* The `set-entitlements` platform-request handler (#412): reconcile a managed tenant's
|
|
278
|
+
* grants to the payload's TARGET set, bounded both ways by the manager's declared SKU
|
|
279
|
+
* universe — grant what the target names, revoke any declared key absent from it — then
|
|
280
|
+
* re-project into the tenant's auth scope via the vertical's idempotent reconcile
|
|
281
|
+
* (entitlements re-gathered authoritative + identity links, exactly as the repair route,
|
|
282
|
+
* #310/#406; the vertical-side projection is a full replace, so a downgrade revokes
|
|
283
|
+
* cleanly). Keys OUTSIDE the declared universe are never touched, so a platform-granted
|
|
284
|
+
* entitlement (e.g. the tenant's own product SKU) survives any manager reconcile.
|
|
285
|
+
*/
|
|
286
|
+
export function setEntitlementsHandler(deps) {
|
|
287
|
+
return async (ctx, request) => {
|
|
288
|
+
const payload = setEntitlementsPayload.parse(request.payload);
|
|
289
|
+
const admitted = await admitManager(deps, ctx, payload.entitlements.map((e) => e.key));
|
|
290
|
+
if ('refusal' in admitted)
|
|
291
|
+
return admitted.refusal;
|
|
292
|
+
const { actor } = deps;
|
|
293
|
+
const admin = deps.host.admin;
|
|
294
|
+
const tenantId = tenantIdSchema.parse(payload.tenantId);
|
|
295
|
+
const scopeId = scopeIdSchema.parse(payload.authScopeId);
|
|
296
|
+
const scope = await admin.getScopeRecord(actor, tenantId, scopeId);
|
|
297
|
+
if (!scope) {
|
|
298
|
+
return { status: 'failed', error: `unknown scope for tenant: (${tenantId}, ${scopeId})` };
|
|
299
|
+
}
|
|
300
|
+
const target = new Map(payload.entitlements.map((e) => [e.key, e.plan]));
|
|
301
|
+
for (const key of admitted.declared) {
|
|
302
|
+
if (target.has(key)) {
|
|
303
|
+
await admin.grantEntitlement(actor, tenantId, key, { plan: target.get(key) });
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
await admin.revokeEntitlement(actor, tenantId, key);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
const vertical = await deps.resolveVerticalForScope(scope);
|
|
310
|
+
if (!vertical) {
|
|
311
|
+
return {
|
|
312
|
+
status: 'failed',
|
|
313
|
+
error: `no deployment is bound for vertical '${scope.vertical ?? 'none'}'`,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
const entitlements = await admin.listEntitlements(actor, tenantId);
|
|
317
|
+
const identityLinks = (await admin.listIdentityLinks(actor, tenantId)).map(({ tenantId: _tenantId, ...link }) => link);
|
|
318
|
+
try {
|
|
319
|
+
await vertical.reconcileInstance({ tenantId, scopeId, entitlements, identityLinks });
|
|
320
|
+
}
|
|
321
|
+
catch (e) {
|
|
322
|
+
if (e instanceof ControlPlaneError)
|
|
323
|
+
return { status: 'pending', error: e.message };
|
|
324
|
+
throw e;
|
|
325
|
+
}
|
|
326
|
+
return { status: 'done', result: { tenantId, plan: payload.plan } };
|
|
327
|
+
};
|
|
328
|
+
}
|
|
145
329
|
//# sourceMappingURL=platform-drain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-drain.js","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-drain.js","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/control-plane-api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "HTTP surface over HostAdmin — the audited control-plane transport (control-plane.md §4.5)",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"hono": "^4.6.0",
|
|
26
|
-
"@substrat-run/
|
|
27
|
-
"@substrat-run/kernel": "^0.
|
|
28
|
-
"@substrat-run/
|
|
26
|
+
"@substrat-run/contracts": "^0.35.0",
|
|
27
|
+
"@substrat-run/kernel": "^0.35.0",
|
|
28
|
+
"@substrat-run/psl": "^0.2.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@hono/node-server": "^1.13.0",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"tsx": "^4.19.0",
|
|
37
37
|
"typescript": "^7.0.0",
|
|
38
38
|
"vitest": "^3.0.0",
|
|
39
|
-
"@substrat-run/adapter-sqlite": "^0.
|
|
39
|
+
"@substrat-run/adapter-sqlite": "^0.35.0"
|
|
40
40
|
},
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|