@serve.zone/interfaces 32.26.0 → 32.28.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.
@@ -3,6 +3,7 @@ import { isSha256Digest } from './data/immutableimage.js';
3
3
  import { validateSecretRecipientMetadata, verifySecretEnvelopeContext, } from './data/secret.js';
4
4
  import { validateObjectStorageRetentionEvidence, validateObjectStorageRetentionIntent, } from './platform/objectstorageretention.js';
5
5
  import { validatePlatformObjectStorageBucketName } from './platform/objectstorage.js';
6
+ import { formatPlatformDatabaseEndpointHost, validatePlatformDatabaseEndpoint, } from './platform/database.js';
6
7
  import { canonicalizeStrictJson, createCanonicalJsonSha256Hex, deepFreezeValue, } from './private/canonicaljson.js';
7
8
  import { hasExactKeys } from './private/dataproperties.js';
8
9
  export const corestoreProviderConfigIds = Object.freeze({
@@ -290,7 +291,7 @@ export const validateCorestoreCredentialBindingRequest = (requestArg) => {
290
291
  'environment',
291
292
  ];
292
293
  if (requestArg.capability === 'database') {
293
- if (!hasExactKeys(requestArg, baseKeys)) {
294
+ if (!hasExactKeys(requestArg, baseKeys, ['endpoint'])) {
294
295
  return ['corestore database credential binding request must use its exact schema'];
295
296
  }
296
297
  }
@@ -312,6 +313,9 @@ export const validateCorestoreCredentialBindingRequest = (requestArg) => {
312
313
  || requestArg.environment !== corestoreCredentialEnvironment) {
313
314
  errors.push('corestore credential binding request constants must be canonical');
314
315
  }
316
+ if (requestArg.capability === 'database' && requestArg.endpoint !== undefined) {
317
+ errors.push(...validatePlatformDatabaseEndpoint(requestArg.endpoint, 'corestore database credential binding request endpoint'));
318
+ }
315
319
  if (requestArg.capability === 'objectstorage') {
316
320
  errors.push(...validatePlatformObjectStorageBucketName(requestArg.bucketName, 'corestore objectstorage credential binding request bucketName'));
317
321
  if (requestArg.objectstorageRetention !== undefined) {
@@ -331,6 +335,9 @@ export const createCorestoreCredentialBindingRequestDigestInput = (requestArg) =
331
335
  providerConfigId: requestArg.providerConfigId,
332
336
  managementScope: requestArg.managementScope,
333
337
  environment: requestArg.environment,
338
+ ...(requestArg.capability === 'database' && requestArg.endpoint
339
+ ? { endpoint: { host: requestArg.endpoint.host, port: requestArg.endpoint.port } }
340
+ : {}),
334
341
  ...(requestArg.capability === 'objectstorage'
335
342
  ? {
336
343
  bucketName: requestArg.bucketName,
@@ -506,6 +513,76 @@ export const validateCorestoreDatabaseCredentialMaterial = (materialArg) => {
506
513
  }
507
514
  return errors;
508
515
  };
516
+ /**
517
+ * The connection URI of one database binding, addressed to `endpointArg`:
518
+ * `mongodb://<username>:<password>@<host>:<port>/<databaseName>?authSource=<databaseName>&directConnection=true`,
519
+ * the username, password and database name URI-component encoded, an IPv6 host in brackets.
520
+ * This is the one form Corestore writes and Cloudly checks, so the two can never disagree.
521
+ */
522
+ export const createCorestoreDatabaseUri = (endpointArg, identityArg) => {
523
+ const endpointErrors = validatePlatformDatabaseEndpoint(endpointArg);
524
+ if (endpointErrors.length > 0)
525
+ throw new Error(endpointErrors[0]);
526
+ const query = new URLSearchParams({
527
+ authSource: identityArg.databaseName,
528
+ directConnection: 'true',
529
+ });
530
+ return `mongodb://${encodeURIComponent(identityArg.username)}:`
531
+ + `${encodeURIComponent(identityArg.password)}@`
532
+ + `${formatPlatformDatabaseEndpointHost(endpointArg.host)}:${endpointArg.port}`
533
+ + `/${encodeURIComponent(identityArg.databaseName)}?${query.toString()}`;
534
+ };
535
+ /**
536
+ * The eleven connection values of one database binding, addressed to `endpointArg`: the three URI
537
+ * aliases from `createCorestoreDatabaseUri()`, `MONGODB_HOST` the endpoint host without brackets,
538
+ * `MONGODB_PORT` its port in decimal, and the database, username and password under both alias
539
+ * families. Throws the first reason the result would not be valid material; nothing is defaulted.
540
+ */
541
+ export const createCorestoreDatabaseCredentialValues = (endpointArg, identityArg) => {
542
+ const uri = createCorestoreDatabaseUri(endpointArg, identityArg);
543
+ const values = {
544
+ MONGODB_URI: uri,
545
+ MONGODB_URL: uri,
546
+ MONGO_URL: uri,
547
+ MONGODB_HOST: endpointArg.host,
548
+ MONGODB_PORT: String(endpointArg.port),
549
+ MONGODB_DATABASE: identityArg.databaseName,
550
+ MONGO_DBNAME: identityArg.databaseName,
551
+ MONGODB_USERNAME: identityArg.username,
552
+ MONGO_DBUSER: identityArg.username,
553
+ MONGODB_PASSWORD: identityArg.password,
554
+ MONGO_DBPASS: identityArg.password,
555
+ };
556
+ const errors = validateCorestoreDatabaseCredentialMaterial({ capability: 'database', values });
557
+ if (errors.length > 0)
558
+ throw new Error(errors[0]);
559
+ return values;
560
+ };
561
+ /**
562
+ * Validates database material and that it is addressed to `endpointArg`: every value is the one
563
+ * `createCorestoreDatabaseCredentialValues()` derives from the endpoint and the material's own
564
+ * database name, username and password. Material a provider addressed to any other host or port —
565
+ * its own public host above all — is refused by name.
566
+ */
567
+ export const validateCorestoreDatabaseCredentialMaterialEndpoint = (materialArg, endpointArg) => {
568
+ const errors = validateCorestoreDatabaseCredentialMaterial(materialArg);
569
+ if (errors.length > 0)
570
+ return errors;
571
+ const endpointErrors = validatePlatformDatabaseEndpoint(endpointArg);
572
+ if (endpointErrors.length > 0)
573
+ return endpointErrors;
574
+ const values = materialArg.values;
575
+ const expected = createCorestoreDatabaseCredentialValues(endpointArg, {
576
+ databaseName: values.MONGODB_DATABASE,
577
+ username: values.MONGODB_USERNAME,
578
+ password: values.MONGODB_PASSWORD,
579
+ });
580
+ const mismatched = corestoreDatabaseCredentialKeys
581
+ .filter((keyArg) => values[keyArg] !== expected[keyArg]);
582
+ return mismatched.length > 0
583
+ ? [`corestore database credential ${mismatched.join(', ')} must be addressed to the binding endpoint`]
584
+ : [];
585
+ };
509
586
  export const validateCorestoreObjectStorageCredentialMaterial = async (materialArg, retentionExpectationArg) => {
510
587
  if (!isRecord(materialArg)
511
588
  || !hasExactKeys(materialArg, ['capability', 'values'], ['retention'])
@@ -1087,4 +1164,4 @@ export const computeCorestoreDatabaseAllocationReferenceSha256 = async (valueArg
1087
1164
  export const computeCorestoreDatabaseBackupReceiptSha256 = async (valueArg) => createCanonicalJsonSha256Hex(createCorestoreDatabaseBackupCanonicalJson(normalizeCorestoreDatabaseBackupReceipt(valueArg), 'databaseBackupReceipt'), failCorestoreDatabaseBackup);
1088
1165
  export const computeCorestoreDatabaseBackupRestoreRequestSha256 = async (valueArg) => createCanonicalJsonSha256Hex(createCorestoreDatabaseBackupCanonicalJson(normalizeCorestoreDatabaseBackupRestoreRequest(valueArg), 'databaseBackupRestoreRequest'), failCorestoreDatabaseBackup);
1089
1166
  export const computeCorestoreDatabaseBackupRestoreResponseSha256 = async (valueArg) => createCanonicalJsonSha256Hex(createCorestoreDatabaseBackupCanonicalJson(normalizeCorestoreDatabaseBackupRestoreResponse(valueArg), 'databaseBackupRestoreResponse'), failCorestoreDatabaseBackup);
1090
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb3Jlc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ydW50aW1lLmNvcmVzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQU94QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUNMLCtCQUErQixFQUMvQiwyQkFBMkIsR0FDNUIsTUFBTSxrQkFBa0IsQ0FBQztBQU8xQixPQUFPLEVBQ0wsc0NBQXNDLEVBQ3RDLG9DQUFvQyxHQUNyQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RGLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLGVBQWUsR0FDaEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJM0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN0RCxRQUFRLEVBQUUsNEJBQTRCO0lBQ3RDLGFBQWEsRUFBRSxpQ0FBaUM7Q0FDeEMsQ0FBQyxDQUFDO0FBQ1osTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsdUJBQWdDLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsNEJBQXFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcscUJBQThCLENBQUM7QUFDNUUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsWUFBcUIsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVELHVCQUF1QixFQUFFLEdBQUc7SUFDNUIsd0JBQXdCLEVBQUUsR0FBRztJQUM3QixzQkFBc0IsRUFBRSxFQUFFLEdBQUcsRUFB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
1167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb3Jlc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ydW50aW1lLmNvcmVzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQU94QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUNMLCtCQUErQixFQUMvQiwyQkFBMkIsR0FDNUIsTUFBTSxrQkFBa0IsQ0FBQztBQU8xQixPQUFPLEVBQ0wsc0NBQXNDLEVBQ3RDLG9DQUFvQyxHQUNyQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXRGLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbEMsZ0NBQWdDLEdBQ2pDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsZUFBZSxHQUNoQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUkzRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3RELFFBQVEsRUFBRSw0QkFBNEI7SUFDdEMsYUFBYSxFQUFFLGlDQUFpQztDQUN4QyxDQUFDLENBQUM7QUFDWixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyx1QkFBZ0MsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyw0QkFBcUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxxQkFBOEIsQ0FBQztBQUM1RSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxZQUFxQixDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUQsdUJBQXVCLEVBQUUs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O2VBQzNCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztlQUN0RCxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7ZUFDdEQsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUUsSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7a0JBQzlCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztrQkFDcEMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ2xDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDYixDQUFDO2FBQU0sSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJO2VBQ3BDLEtBQUssR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU07ZUFDM0IsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2VBQ3RELFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztlQUN0RCxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBRSxJQUFJLElBQUksSUFBSSxR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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "32.26.0",
3
+ "version": "32.28.0",
4
4
  "private": false,
5
5
  "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
@@ -30,8 +30,8 @@
30
30
  "@git.zone/tsbuild": "^5.0.0",
31
31
  "@git.zone/tsdoc": "^2.2.2",
32
32
  "@git.zone/tsrun": "^3.0.0",
33
- "@git.zone/tstest": "6.2.1",
34
- "@types/node": "26.6.1"
33
+ "@git.zone/tstest": "6.3.0",
34
+ "@types/node": "26.6.2"
35
35
  },
36
36
  "files": [
37
37
  "ts/**/*",
package/readme.md CHANGED
@@ -2066,6 +2066,29 @@ answer to the sent claim and, for `accepted` and `replay`, to a state the claim
2066
2066
  claim is `ready`, `import-required` (an `import` claim only) or `uncertain`, a purge is `purged` or
2067
2067
  `uncertain`. A `historical` answer describes the newer generation the node holds.
2068
2068
 
2069
+ `requests.runtimesession.IReq_Any_Cloudly_GetRuntimeLocalStorageClaims`
2070
+ (`getRuntimeLocalStorageClaims`) lets an administrator read the claims Cloudly issued in one
2071
+ cluster, optionally on one node: `{ identity, clusterId, nodeId?, cursor?, limit? }` →
2072
+ `{ claims, nextCursor? }`. Each entry is an `IRuntimeLocalStorageClaimSummary { claimId,
2073
+ generation, clusterId, nodeId, serviceId, volumeId, mountPath, sourceKind, initialization,
2074
+ lifecycle, state }` of the current generation. `claimId` is the claim's `id`, the name the node
2075
+ keys the volume by and the `import/<claimId>` directory an operator places an `import` volume's
2076
+ bytes in; a reader takes it from here and never derives it, because how a controller composes its
2077
+ claim ids is the controller's own business. `state` is what the node answered about exactly that
2078
+ generation, or `null` until the node acknowledged it, and it obeys the same rule as an apply answer.
2079
+ A summary names the source by kind alone and carries no digest, controller epoch or SMB credential
2080
+ reference.
2081
+
2082
+ The read is paged: `cursor` is the opaque `nextCursor` of the previous page, `limit` is at most
2083
+ `runtimeLocalStorageClaimContract.maximumSummaryPageSize` (200), the page is in strictly ascending
2084
+ `claimId` order, and `nextCursor` is omitted on the final page and never stated on an empty one.
2085
+ `summarizeRuntimeLocalStorageClaim(claim, state)` is the one projection of a claim into a summary,
2086
+ `snapshotRuntimeLocalStorageClaimSummary` and `snapshotGetRuntimeLocalStorageClaimsRequest` /
2087
+ `snapshotGetRuntimeLocalStorageClaimsResponse` check exact schemas, and
2088
+ `bindGetRuntimeLocalStorageClaimsResponse(response, request)` binds a page to the read that asked
2089
+ for it: every summary names the requested cluster and node, and the page holds no more than the
2090
+ requested `limit`.
2091
+
2069
2092
  `platform.storagemigration` defines the provider-neutral cutover contract for a
2070
2093
  named object-storage binding. Corestore atomically owns and fences the source
2071
2094
  binding after validating a distinct, unfenced active-object snapshot. Onebox
@@ -3238,7 +3261,9 @@ bounded validity window. `TCorestoreCredentialBindingRequest` with
3238
3261
  `computeCorestoreCredentialBindingRequestSha256()` produces that digest from
3239
3262
  the exact value-free provider, scope, environment, bucket, and optional
3240
3263
  retention request. Every object-storage request binds the exact durable
3241
- `bucketName`. Object-storage plaintext keeps the logical
3264
+ `bucketName`; a database request may state the `endpoint` its connection
3265
+ values are addressed to, which then is part of the digest (see Database
3266
+ Binding Endpoint). Object-storage plaintext keeps the logical
3242
3267
  `accessKeyId` and `secretAccessKey` fields while
3243
3268
  `createCorestoreCredentialSecretValues()` expands them to the six canonical
3244
3269
  Corestore `S3_*` and `AWS_*` Secret aliases. Receipts bind that exact key
@@ -3584,6 +3609,40 @@ refuses any other name — so a credential alias in the public environment is re
3584
3609
  judge each half on its own. The environment does not carry the evidence's authority, so
3585
3610
  validating it checks what a workload reads, not the proof behind it.
3586
3611
 
3612
+ ### Database Binding Endpoint
3613
+
3614
+ A database binding's connection values embed its password, so they are Secrets as a whole and are
3615
+ addressed once, when the provider produces them — not composed into the public environment like an
3616
+ object-storage endpoint. What they are addressed to is a fact about the node, owned by Cloudly:
3617
+
3618
+ - `IPlatformDatabaseEndpoint { host, port }` is where a workload on a node reaches the node's
3619
+ Corestore database. `host` is an IPv4 literal, an IPv6 literal without brackets or a lowercase
3620
+ DNS name, exactly as a URL states it; `port` is 1 to 65535. `validatePlatformDatabaseEndpoint()`
3621
+ names every reason it is refused, and `formatPlatformDatabaseEndpointHost()` writes the host as a
3622
+ URL authority states it.
3623
+ - `IClusterNode.data.corestoreDatabase` is optional and sits beside `corestore` and
3624
+ `corestoreObjectStorage`. An administrator sets it with
3625
+ `setClusterNodeCorestoreDatabaseEndpoint { identity; nodeId; database }`, answered with the node
3626
+ as it now stands; `database: null` clears it. Setting another Corestore endpoint never touches it.
3627
+ - The database variant of `TCorestoreCredentialBindingRequest` carries an optional `endpoint`.
3628
+ When present it is validated and included in the request digest; a request without it keeps the
3629
+ digest earlier releases computed. A moved endpoint is therefore a different request, which is
3630
+ granted and published again. Whether a request without an endpoint is admitted is the provider's
3631
+ decision; this contract supplies no default host.
3632
+ - `createCorestoreDatabaseUri(endpoint, { databaseName, username, password })` is the one URI form:
3633
+ `mongodb://<username>:<password>@<host>:<port>/<databaseName>?authSource=<databaseName>&directConnection=true`,
3634
+ with URI-component encoding and an IPv6 host in brackets.
3635
+ `createCorestoreDatabaseCredentialValues(endpoint, identity)` derives all eleven
3636
+ `corestoreDatabaseCredentialKeys` from it (`MONGODB_HOST` is the host without brackets,
3637
+ `MONGODB_PORT` the decimal port).
3638
+ - `validateCorestoreDatabaseCredentialMaterialEndpoint(material, endpoint)` accepts database
3639
+ material only when every value is the one derived from the endpoint and the material's own
3640
+ database name, username and password, and refuses by key name — never by value — material
3641
+ addressed elsewhere, such as Corestore's own public host.
3642
+ - `TServiceRuntimeRefusal` gains `database-endpoint-missing`: an enabled database binding placed on
3643
+ a node that states no valid `corestoreDatabase` is neither granted nor published, and its workload
3644
+ is refused rather than started with a guessed host.
3645
+
3587
3646
  ### Launcher Environment Delivery
3588
3647
 
3589
3648
  Launcher environment delivery uses stable `szsv-<base32-sha256>` Docker
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '32.26.0',
6
+ version: '32.28.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }
@@ -2,6 +2,7 @@ import * as plugins from '../plugins.js';
2
2
  import { isSha256Digest, type TSha256Digest, type TImmutableContainerPlatform } from './immutableimage.js';
3
3
  import type { ISparkNodeReportRecord } from './sparknodereport.js';
4
4
  import type { IPlatformObjectStorageEndpoint } from '../platform/objectstorage.js';
5
+ import type { IPlatformDatabaseEndpoint } from '../platform/database.js';
5
6
  import {
6
7
  fleetCutoverContract,
7
8
  snapshotFleetCutoverPreparedVolumeHandoffAggregate,
@@ -1789,6 +1790,21 @@ export interface IClusterNode {
1789
1790
  * `corestore`: it says where, never with what.
1790
1791
  */
1791
1792
  corestoreObjectStorage?: IPlatformObjectStorageEndpoint;
1793
+
1794
+ /**
1795
+ * Where a workload on this node reaches the node's Corestore database.
1796
+ *
1797
+ * Cloudly owns it, sets it with `setClusterNodeCorestoreDatabaseEndpoint`, and states it as the
1798
+ * `endpoint` of the credential binding request of every database binding placed on this node,
1799
+ * so Corestore addresses the binding's connection values to it. A sibling of `corestore` and
1800
+ * `corestoreObjectStorage`, for the same reason they are siblings of each other: another port,
1801
+ * another reader. Absent means no database credential can be published for a binding on this
1802
+ * node, and its workload is refused as `database-endpoint-missing` rather than handed the
1803
+ * Corestore public host, which a Pallet workload cannot resolve. Changing it changes every such
1804
+ * request's digest, so the binding is granted and published again with the new address.
1805
+ * Value-free: it says where, never with what.
1806
+ */
1807
+ corestoreDatabase?: IPlatformDatabaseEndpoint;
1792
1808
  };
1793
1809
  }
1794
1810