@serve.zone/interfaces 32.34.0 → 32.36.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/changelog.md +71 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/clusternode.d.ts +16 -2
- package/dist_ts/data/clusternode.js +11 -1
- package/dist_ts/data/deploymentlegacyimport.d.ts +92 -0
- package/dist_ts/data/deploymentlegacyimport.js +237 -0
- package/dist_ts/data/deploymentoperation.d.ts +63 -38
- package/dist_ts/data/deploymentoperation.js +12 -2
- package/dist_ts/data/deploymentpreflight.d.ts +42 -10
- package/dist_ts/data/deploymentpreflight.js +47 -10
- package/dist_ts/data/immutableimage.d.ts +26 -2
- package/dist_ts/data/immutableimage.js +12 -2
- package/dist_ts/data/index.d.ts +5 -0
- package/dist_ts/data/index.js +6 -1
- package/dist_ts/data/networknode.d.ts +16 -6
- package/dist_ts/data/networknode.js +1 -1
- package/dist_ts/data/runtimeassignmentexec.d.ts +110 -0
- package/dist_ts/data/runtimeassignmentexec.js +164 -0
- package/dist_ts/data/runtimeassignmentlogs.d.ts +121 -0
- package/dist_ts/data/runtimeassignmentlogs.js +139 -0
- package/dist_ts/data/runtimeassignmentstats.d.ts +60 -0
- package/dist_ts/data/runtimeassignmentstats.js +93 -0
- package/dist_ts/data/runtimelocalvolumearchive.d.ts +103 -0
- package/dist_ts/data/runtimelocalvolumearchive.js +111 -0
- package/dist_ts/data/user.d.ts +6 -1
- package/dist_ts/data/user.js +6 -1
- package/dist_ts/requests/runtimesession.d.ts +81 -0
- package/dist_ts/requests/service.d.ts +51 -0
- package/package.json +2 -2
- package/readme.md +109 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/clusternode.ts +17 -2
- package/ts/data/deploymentlegacyimport.ts +371 -0
- package/ts/data/deploymentoperation.ts +83 -39
- package/ts/data/deploymentpreflight.ts +86 -18
- package/ts/data/immutableimage.ts +42 -3
- package/ts/data/index.ts +5 -0
- package/ts/data/networknode.ts +12 -5
- package/ts/data/runtimeassignmentexec.ts +271 -0
- package/ts/data/runtimeassignmentlogs.ts +249 -0
- package/ts/data/runtimeassignmentstats.ts +149 -0
- package/ts/data/runtimelocalvolumearchive.ts +207 -0
- package/ts/data/user.ts +10 -0
- package/ts/requests/runtimesession.ts +102 -0
- package/ts/requests/service.ts +66 -0
|
@@ -9,6 +9,10 @@ import type * as assignmentSecret from '../runtime.assignmentsecret.js';
|
|
|
9
9
|
import type * as fleet from '../data/fleetcutover.js';
|
|
10
10
|
import type { IRuntimeStorageClaim } from '../data/runtimestorageclaim.js';
|
|
11
11
|
import type * as localStorage from '../data/runtimelocalstorageclaim.js';
|
|
12
|
+
import type * as logs from '../data/runtimeassignmentlogs.js';
|
|
13
|
+
import type * as stats from '../data/runtimeassignmentstats.js';
|
|
14
|
+
import type * as exec from '../data/runtimeassignmentexec.js';
|
|
15
|
+
import type * as volumeArchive from '../data/runtimelocalvolumearchive.js';
|
|
12
16
|
|
|
13
17
|
/** Current-peer, exact-projection authorization; response contains secret keys. */
|
|
14
18
|
export interface IReq_Pallet_Controller_GetRuntimeManagedVpnCredential extends plugins.typedrequestInterfaces.implementsTR<
|
|
@@ -215,6 +219,104 @@ export interface IReq_Pallet_Controller_ReportRuntimeAssignmentTerminalReceipt e
|
|
|
215
219
|
response: terminal.IReportRuntimeAssignmentTerminalReceiptResponse;
|
|
216
220
|
}
|
|
217
221
|
|
|
222
|
+
/**
|
|
223
|
+
* Pallet pushes one batch of one attempt's captured output over its current session and sends the
|
|
224
|
+
* next only after this one is acknowledged (`runtimeAssignmentLogContract`). The controller owns
|
|
225
|
+
* log persistence; the node's capture files are disposable transport artifacts.
|
|
226
|
+
*/
|
|
227
|
+
export interface IReq_Pallet_Controller_ReportRuntimeAssignmentLogs extends plugins.typedrequestInterfaces.implementsTR<
|
|
228
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Pallet_Controller_ReportRuntimeAssignmentLogs
|
|
229
|
+
> {
|
|
230
|
+
method: 'reportRuntimeAssignmentLogs';
|
|
231
|
+
request: logs.IReportRuntimeAssignmentLogsRequest;
|
|
232
|
+
response: logs.IReportRuntimeAssignmentLogsResponse;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/** Controller read of one resource sample of one attempt, over the node's current session. */
|
|
236
|
+
export interface IReq_Controller_Pallet_ReadRuntimeAssignmentStats extends plugins.typedrequestInterfaces.implementsTR<
|
|
237
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Controller_Pallet_ReadRuntimeAssignmentStats
|
|
238
|
+
> {
|
|
239
|
+
method: 'readRuntimeAssignmentStats';
|
|
240
|
+
request: stats.IReadRuntimeAssignmentStatsRequest;
|
|
241
|
+
response: stats.IReadRuntimeAssignmentStatsResponse;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* A local controller runs one command in one running attempt's container
|
|
246
|
+
* (`runtimeAssignmentExecContract`). The controller sends standard input on `stdin`, or states
|
|
247
|
+
* `null` for none. The node answers once the process runs: `stdout` carries a `tty` session's
|
|
248
|
+
* whole output, and `stderr` is `null` exactly for a `tty` session. The streams outlive this
|
|
249
|
+
* request and end when the process's output ends or the session ends.
|
|
250
|
+
*/
|
|
251
|
+
export interface IReq_Onebox_Pallet_OpenRuntimeAssignmentExec extends plugins.typedrequestInterfaces.implementsTR<
|
|
252
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_OpenRuntimeAssignmentExec
|
|
253
|
+
> {
|
|
254
|
+
method: 'openRuntimeAssignmentExec';
|
|
255
|
+
request: {
|
|
256
|
+
exec: exec.IOpenRuntimeAssignmentExecRequest;
|
|
257
|
+
/** Requester sends standard input; the TypedHandler receives the opposite endpoint. */
|
|
258
|
+
stdin: plugins.typedrequestInterfaces.TVirtualStream<'send'> | null;
|
|
259
|
+
};
|
|
260
|
+
response: {
|
|
261
|
+
exec: exec.IOpenRuntimeAssignmentExecResponse;
|
|
262
|
+
/** Requester receives output; the TypedHandler returns sender endpoints. */
|
|
263
|
+
stdout: plugins.typedrequestInterfaces.TVirtualStream<'receive'>;
|
|
264
|
+
stderr: plugins.typedrequestInterfaces.TVirtualStream<'receive'> | null;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/** A local controller resizes the terminal of one `tty` exec session. */
|
|
269
|
+
export interface IReq_Onebox_Pallet_ResizeRuntimeAssignmentExec extends plugins.typedrequestInterfaces.implementsTR<
|
|
270
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_ResizeRuntimeAssignmentExec
|
|
271
|
+
> {
|
|
272
|
+
method: 'resizeRuntimeAssignmentExec';
|
|
273
|
+
request: exec.IResizeRuntimeAssignmentExecRequest;
|
|
274
|
+
response: exec.IResizeRuntimeAssignmentExecResponse;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/** A local controller ends one exec session, releases its slot and learns how it ended. */
|
|
278
|
+
export interface IReq_Onebox_Pallet_CloseRuntimeAssignmentExec extends plugins.typedrequestInterfaces.implementsTR<
|
|
279
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_CloseRuntimeAssignmentExec
|
|
280
|
+
> {
|
|
281
|
+
method: 'closeRuntimeAssignmentExec';
|
|
282
|
+
request: exec.ICloseRuntimeAssignmentExecRequest;
|
|
283
|
+
response: exec.ICloseRuntimeAssignmentExecResponse;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* A local controller reads one node-local volume as a pax archive
|
|
288
|
+
* (`runtimeLocalVolumeArchiveContract`). The archive arrives on `archive`, which outlives this
|
|
289
|
+
* request; the node's completion of that stream is the end of the archive.
|
|
290
|
+
*/
|
|
291
|
+
export interface IReq_Onebox_Pallet_ReadRuntimeLocalVolumeArchive extends plugins.typedrequestInterfaces.implementsTR<
|
|
292
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_ReadRuntimeLocalVolumeArchive
|
|
293
|
+
> {
|
|
294
|
+
method: 'readRuntimeLocalVolumeArchive';
|
|
295
|
+
request: volumeArchive.IReadRuntimeLocalVolumeArchiveRequest;
|
|
296
|
+
response: {
|
|
297
|
+
volume: volumeArchive.IReadRuntimeLocalVolumeArchiveResponse;
|
|
298
|
+
/** Requester receives archive bytes; the TypedHandler returns a sender endpoint. */
|
|
299
|
+
archive: plugins.typedrequestInterfaces.TVirtualStream<'receive'>;
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* A local controller writes one pax archive as the bytes of an `import` claim waiting in
|
|
305
|
+
* `import-required`. The stream's integrity is `getRuntimeLocalVolumeArchiveIntegrity(volume)`;
|
|
306
|
+
* its acceptance receipt confirms that the node published the volume as `ready`.
|
|
307
|
+
*/
|
|
308
|
+
export interface IReq_Onebox_Pallet_WriteRuntimeLocalVolumeArchive extends plugins.typedrequestInterfaces.implementsTR<
|
|
309
|
+
plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_WriteRuntimeLocalVolumeArchive
|
|
310
|
+
> {
|
|
311
|
+
method: 'writeRuntimeLocalVolumeArchive';
|
|
312
|
+
request: {
|
|
313
|
+
volume: volumeArchive.IWriteRuntimeLocalVolumeArchiveRequest;
|
|
314
|
+
/** Requester sends archive bytes; the TypedHandler receives the opposite endpoint. */
|
|
315
|
+
archive: plugins.typedrequestInterfaces.TVirtualStream<'send'>;
|
|
316
|
+
};
|
|
317
|
+
response: volumeArchive.IWriteRuntimeLocalVolumeArchiveResponse;
|
|
318
|
+
}
|
|
319
|
+
|
|
218
320
|
/** Current-peer, exact current assignment authorization; response is secret material. */
|
|
219
321
|
export interface IReq_Pallet_Controller_GetRuntimeRegistryCredential extends plugins.typedrequestInterfaces.implementsTR<
|
|
220
322
|
plugins.typedrequestInterfaces.ITypedRequest,
|
package/ts/requests/service.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type {
|
|
|
17
17
|
IServiceDeploymentStatus,
|
|
18
18
|
} from '../data/deploymentoperation.js';
|
|
19
19
|
import type { TSha256Digest } from '../data/immutableimage.js';
|
|
20
|
+
import type { ILegacyServiceRuntimeAttestation } from '../data/deploymentlegacyimport.js';
|
|
20
21
|
import type { IProtocolOffer } from '../protocol.js';
|
|
21
22
|
import type {
|
|
22
23
|
IServiceRuntimeAssignmentView,
|
|
@@ -324,6 +325,71 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
324
325
|
};
|
|
325
326
|
}
|
|
326
327
|
|
|
328
|
+
/**
|
|
329
|
+
* Captures durable evidence that a legacy `deployOnPush` service runs exactly the registry root its
|
|
330
|
+
* tag names: every required replica observed healthy on that one digest, with the root's platform
|
|
331
|
+
* manifests read from Cloudly's own registry. Administrators only, and only while the legacy
|
|
332
|
+
* runtime still runs — incomplete evidence is refused, never stored.
|
|
333
|
+
*
|
|
334
|
+
* `expectedRuntimeDigest`, when stated, is an assertion the observed digest must equal. Capturing
|
|
335
|
+
* again for an unchanged digest returns the attestation already stored.
|
|
336
|
+
*/
|
|
337
|
+
export interface IRequest_Any_Cloudly_CaptureLegacyServiceRuntimeAttestation
|
|
338
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
339
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
340
|
+
IRequest_Any_Cloudly_CaptureLegacyServiceRuntimeAttestation
|
|
341
|
+
> {
|
|
342
|
+
method: 'captureLegacyServiceRuntimeAttestation';
|
|
343
|
+
request: {
|
|
344
|
+
identity: IIdentityCredential;
|
|
345
|
+
legacyServiceId: string;
|
|
346
|
+
expectedRuntimeDigest?: TSha256Digest;
|
|
347
|
+
};
|
|
348
|
+
response: {
|
|
349
|
+
attestation: ILegacyServiceRuntimeAttestation;
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/** Every attestation Cloudly holds for one legacy service, oldest first. Administrators only. */
|
|
354
|
+
export interface IRequest_Any_Cloudly_GetLegacyServiceRuntimeAttestations
|
|
355
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
356
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
357
|
+
IRequest_Any_Cloudly_GetLegacyServiceRuntimeAttestations
|
|
358
|
+
> {
|
|
359
|
+
method: 'getLegacyServiceRuntimeAttestations';
|
|
360
|
+
request: {
|
|
361
|
+
identity: IIdentityCredential;
|
|
362
|
+
legacyServiceId: string;
|
|
363
|
+
};
|
|
364
|
+
response: {
|
|
365
|
+
attestations: ILegacyServiceRuntimeAttestation[];
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Imports the attested legacy image of a reserved legacy-import operation into the operation's own
|
|
371
|
+
* repository and release tag. Cloudly does it from its own registry — nothing is pushed — and
|
|
372
|
+
* records release evidence of source `cloudly-legacy-import`; the operation then continues exactly
|
|
373
|
+
* like one whose image was pushed. Replaying it after the import returns the recorded release.
|
|
374
|
+
*/
|
|
375
|
+
export interface IRequest_Any_Cloudly_ImportServiceDeploymentLegacyImage
|
|
376
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
377
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
378
|
+
IRequest_Any_Cloudly_ImportServiceDeploymentLegacyImage
|
|
379
|
+
> {
|
|
380
|
+
method: 'importServiceDeploymentLegacyImage';
|
|
381
|
+
request: {
|
|
382
|
+
identity: IIdentityCredential;
|
|
383
|
+
serviceId: string;
|
|
384
|
+
operationId: string;
|
|
385
|
+
expectedOperationRevision: number;
|
|
386
|
+
};
|
|
387
|
+
response: {
|
|
388
|
+
operation: IServiceDeploymentOperation;
|
|
389
|
+
release: IImageRelease;
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
|
|
327
393
|
export interface IRequest_Any_Cloudly_CreateService
|
|
328
394
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
329
395
|
plugins.typedrequestInterfaces.ITypedRequest,
|