@serve.zone/interfaces 7.12.0 → 7.14.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 +17 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/requests/corestore.d.ts +45 -0
- package/dist_ts/requests/corestore.js +2 -0
- package/dist_ts/requests/deployment.d.ts +79 -0
- package/dist_ts/requests/index.d.ts +2 -1
- package/dist_ts/requests/index.js +3 -2
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/requests/corestore.ts +58 -0
- package/ts/requests/deployment.ts +124 -0
- package/ts/requests/index.ts +2 -0
package/changelog.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-06-10 - 7.14.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add corestore inventory request interfaces (corestore)
|
|
8
|
+
- Add typed request contracts for retrieving corestore inventory from Cloudly and Coreflow.
|
|
9
|
+
- Define corestore resource, service, and node inventory interfaces.
|
|
10
|
+
- Export corestore request interfaces from the requests index.
|
|
11
|
+
|
|
12
|
+
## 2026-06-10 - 7.13.0
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- add deployment log streaming request interfaces (deployment)
|
|
17
|
+
- Add start and stop typed request contracts for deployment log streams between clients, Cloudly, and Coreflow.
|
|
18
|
+
- Add typed contracts for reporting, pushing, and ending streamed deployment log lines.
|
|
19
|
+
|
|
3
20
|
## 2026-06-10 - 7.12.0
|
|
4
21
|
|
|
5
22
|
### Features
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '7.
|
|
6
|
+
version: '7.14.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
/**
|
|
4
|
+
* A provisioned corestore resource (SmartDb database or SmartStorage bucket)
|
|
5
|
+
* as reported by a node's corestore control API.
|
|
6
|
+
*/
|
|
7
|
+
export interface ICorestoreResourceInfo {
|
|
8
|
+
capability: 'database' | 'objectstorage';
|
|
9
|
+
provider: string;
|
|
10
|
+
resourceName: string;
|
|
11
|
+
createdAt: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ICorestoreServiceResources {
|
|
14
|
+
serviceId: string;
|
|
15
|
+
serviceName?: string;
|
|
16
|
+
resources: ICorestoreResourceInfo[];
|
|
17
|
+
updatedAt: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Corestore inventory of one node (each coreflow node runs its own corestore;
|
|
21
|
+
* the data is node-local, which is what makes node placement matter).
|
|
22
|
+
*/
|
|
23
|
+
export interface ICorestoreNodeInventory {
|
|
24
|
+
/** Swarm node hostnames of the reporting coreflow. */
|
|
25
|
+
nodeNames: string[];
|
|
26
|
+
reachable: boolean;
|
|
27
|
+
error?: string;
|
|
28
|
+
services: ICorestoreServiceResources[];
|
|
29
|
+
}
|
|
30
|
+
export interface IReq_Any_Cloudly_GetCorestoreInventory extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetCorestoreInventory> {
|
|
31
|
+
method: 'getCorestoreInventory';
|
|
32
|
+
request: {
|
|
33
|
+
identity: IIdentity;
|
|
34
|
+
};
|
|
35
|
+
response: {
|
|
36
|
+
inventories: ICorestoreNodeInventory[];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface IReq_Cloudly_Coreflow_GetCorestoreInventory extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_GetCorestoreInventory> {
|
|
40
|
+
method: 'coreflowGetCorestoreInventory';
|
|
41
|
+
request: Record<string, never>;
|
|
42
|
+
response: {
|
|
43
|
+
inventory: ICorestoreNodeInventory;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvY29yZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
|
|
@@ -453,3 +453,82 @@ export interface IReq_Cloudly_Any_PushDeploymentShellExit extends plugins.typedr
|
|
|
453
453
|
};
|
|
454
454
|
response: Record<string, never>;
|
|
455
455
|
}
|
|
456
|
+
export interface IReq_Any_Cloudly_DeploymentLogStreamStart extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentLogStreamStart> {
|
|
457
|
+
method: 'deploymentLogStreamStart';
|
|
458
|
+
request: {
|
|
459
|
+
identity: IIdentity;
|
|
460
|
+
deploymentId: string;
|
|
461
|
+
streamId: string;
|
|
462
|
+
/** Number of trailing log lines to seed the stream with (default 200). */
|
|
463
|
+
tail?: number;
|
|
464
|
+
};
|
|
465
|
+
response: {
|
|
466
|
+
streamId: string;
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
export interface IReq_Any_Cloudly_DeploymentLogStreamStop extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentLogStreamStop> {
|
|
470
|
+
method: 'deploymentLogStreamStop';
|
|
471
|
+
request: {
|
|
472
|
+
identity: IIdentity;
|
|
473
|
+
streamId: string;
|
|
474
|
+
};
|
|
475
|
+
response: Record<string, never>;
|
|
476
|
+
}
|
|
477
|
+
export interface IReq_Cloudly_Coreflow_DeploymentLogStreamStart extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentLogStreamStart> {
|
|
478
|
+
method: 'coreflowDeploymentLogStreamStart';
|
|
479
|
+
request: {
|
|
480
|
+
deploymentId: string;
|
|
481
|
+
streamId: string;
|
|
482
|
+
tail?: number;
|
|
483
|
+
};
|
|
484
|
+
response: {
|
|
485
|
+
found: boolean;
|
|
486
|
+
streamId?: string;
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
export interface IReq_Cloudly_Coreflow_DeploymentLogStreamStop extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentLogStreamStop> {
|
|
490
|
+
method: 'coreflowDeploymentLogStreamStop';
|
|
491
|
+
request: {
|
|
492
|
+
streamId: string;
|
|
493
|
+
};
|
|
494
|
+
response: {
|
|
495
|
+
found: boolean;
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
export interface IReq_Coreflow_Cloudly_ReportDeploymentLogLines extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_ReportDeploymentLogLines> {
|
|
499
|
+
method: 'reportDeploymentLogLines';
|
|
500
|
+
request: {
|
|
501
|
+
identity: IIdentity;
|
|
502
|
+
streamId: string;
|
|
503
|
+
deploymentId: string;
|
|
504
|
+
lines: string[];
|
|
505
|
+
};
|
|
506
|
+
response: Record<string, never>;
|
|
507
|
+
}
|
|
508
|
+
export interface IReq_Coreflow_Cloudly_ReportDeploymentLogStreamEnd extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_ReportDeploymentLogStreamEnd> {
|
|
509
|
+
method: 'reportDeploymentLogStreamEnd';
|
|
510
|
+
request: {
|
|
511
|
+
identity: IIdentity;
|
|
512
|
+
streamId: string;
|
|
513
|
+
/** e.g. 'container-exited' | 'stopped' | 'ttl-expired' | 'error' */
|
|
514
|
+
reason?: string;
|
|
515
|
+
};
|
|
516
|
+
response: Record<string, never>;
|
|
517
|
+
}
|
|
518
|
+
export interface IReq_Cloudly_Any_PushDeploymentLogLines extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Any_PushDeploymentLogLines> {
|
|
519
|
+
method: 'pushDeploymentLogLines';
|
|
520
|
+
request: {
|
|
521
|
+
streamId: string;
|
|
522
|
+
deploymentId: string;
|
|
523
|
+
lines: string[];
|
|
524
|
+
};
|
|
525
|
+
response: Record<string, never>;
|
|
526
|
+
}
|
|
527
|
+
export interface IReq_Cloudly_Any_PushDeploymentLogStreamEnd extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Any_PushDeploymentLogStreamEnd> {
|
|
528
|
+
method: 'pushDeploymentLogStreamEnd';
|
|
529
|
+
request: {
|
|
530
|
+
streamId: string;
|
|
531
|
+
reason?: string;
|
|
532
|
+
};
|
|
533
|
+
response: Record<string, never>;
|
|
534
|
+
}
|
|
@@ -6,6 +6,7 @@ import * as backupRequests from './backup.js';
|
|
|
6
6
|
import * as certificateRequests from './certificate.js';
|
|
7
7
|
import * as clusterRequests from './cluster.js';
|
|
8
8
|
import * as configRequests from './config.js';
|
|
9
|
+
import * as corestoreRequests from './corestore.js';
|
|
9
10
|
import * as deploymentRequests from './deployment.js';
|
|
10
11
|
import * as dnsRequests from './dns.js';
|
|
11
12
|
import * as domainRequests from './domain.js';
|
|
@@ -29,7 +30,7 @@ import * as settingsRequests from './settings.js';
|
|
|
29
30
|
import * as statusRequests from './status.js';
|
|
30
31
|
import * as taskRequests from './task.js';
|
|
31
32
|
import * as versionRequests from './version.js';
|
|
32
|
-
export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
|
|
33
|
+
export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
|
|
33
34
|
export * from './inform.js';
|
|
34
35
|
export * from './hostedapp.js';
|
|
35
36
|
export * from './mail.js';
|
|
@@ -7,6 +7,7 @@ import * as backupRequests from './backup.js';
|
|
|
7
7
|
import * as certificateRequests from './certificate.js';
|
|
8
8
|
import * as clusterRequests from './cluster.js';
|
|
9
9
|
import * as configRequests from './config.js';
|
|
10
|
+
import * as corestoreRequests from './corestore.js';
|
|
10
11
|
import * as deploymentRequests from './deployment.js';
|
|
11
12
|
import * as dnsRequests from './dns.js';
|
|
12
13
|
import * as domainRequests from './domain.js';
|
|
@@ -30,8 +31,8 @@ import * as settingsRequests from './settings.js';
|
|
|
30
31
|
import * as statusRequests from './status.js';
|
|
31
32
|
import * as taskRequests from './task.js';
|
|
32
33
|
import * as versionRequests from './version.js';
|
|
33
|
-
export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
|
|
34
|
+
export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
|
|
34
35
|
export * from './inform.js';
|
|
35
36
|
export * from './hostedapp.js';
|
|
36
37
|
export * from './mail.js';
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssd0JBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGFBQWEsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUNMLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixjQUFjLElBQUksTUFBTSxFQUN4QixjQUFjLElBQUksTUFBTSxFQUN4QixtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsa0JBQWtCLElBQUksVUFBVSxFQUNoQyxXQUFXLElBQUksR0FBRyxFQUNsQixjQUFjLElBQUksTUFBTSxFQUN4Qix3QkFBd0IsSUFBSSxnQkFBZ0IsRUFDNUMsZUFBZSxJQUFJLE9BQU8sRUFDMUIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUMifQ==
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A provisioned corestore resource (SmartDb database or SmartStorage bucket)
|
|
6
|
+
* as reported by a node's corestore control API.
|
|
7
|
+
*/
|
|
8
|
+
export interface ICorestoreResourceInfo {
|
|
9
|
+
capability: 'database' | 'objectstorage';
|
|
10
|
+
provider: string;
|
|
11
|
+
resourceName: string;
|
|
12
|
+
createdAt: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ICorestoreServiceResources {
|
|
16
|
+
serviceId: string;
|
|
17
|
+
serviceName?: string;
|
|
18
|
+
resources: ICorestoreResourceInfo[];
|
|
19
|
+
updatedAt: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Corestore inventory of one node (each coreflow node runs its own corestore;
|
|
24
|
+
* the data is node-local, which is what makes node placement matter).
|
|
25
|
+
*/
|
|
26
|
+
export interface ICorestoreNodeInventory {
|
|
27
|
+
/** Swarm node hostnames of the reporting coreflow. */
|
|
28
|
+
nodeNames: string[];
|
|
29
|
+
reachable: boolean;
|
|
30
|
+
error?: string;
|
|
31
|
+
services: ICorestoreServiceResources[];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface IReq_Any_Cloudly_GetCorestoreInventory
|
|
35
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
36
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
37
|
+
IReq_Any_Cloudly_GetCorestoreInventory
|
|
38
|
+
> {
|
|
39
|
+
method: 'getCorestoreInventory';
|
|
40
|
+
request: {
|
|
41
|
+
identity: IIdentity;
|
|
42
|
+
};
|
|
43
|
+
response: {
|
|
44
|
+
inventories: ICorestoreNodeInventory[];
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface IReq_Cloudly_Coreflow_GetCorestoreInventory
|
|
49
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
50
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
51
|
+
IReq_Cloudly_Coreflow_GetCorestoreInventory
|
|
52
|
+
> {
|
|
53
|
+
method: 'coreflowGetCorestoreInventory';
|
|
54
|
+
request: Record<string, never>;
|
|
55
|
+
response: {
|
|
56
|
+
inventory: ICorestoreNodeInventory;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -670,3 +670,127 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
670
670
|
};
|
|
671
671
|
response: Record<string, never>;
|
|
672
672
|
}
|
|
673
|
+
|
|
674
|
+
// ============================================================================
|
|
675
|
+
// Live deployment log streaming (deployment detail page)
|
|
676
|
+
// UI -> Cloudly -> Coreflow, with log lines streamed back via pushes.
|
|
677
|
+
// ============================================================================
|
|
678
|
+
|
|
679
|
+
export interface IReq_Any_Cloudly_DeploymentLogStreamStart
|
|
680
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
681
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
682
|
+
IReq_Any_Cloudly_DeploymentLogStreamStart
|
|
683
|
+
> {
|
|
684
|
+
method: 'deploymentLogStreamStart';
|
|
685
|
+
request: {
|
|
686
|
+
identity: IIdentity;
|
|
687
|
+
deploymentId: string;
|
|
688
|
+
streamId: string;
|
|
689
|
+
/** Number of trailing log lines to seed the stream with (default 200). */
|
|
690
|
+
tail?: number;
|
|
691
|
+
};
|
|
692
|
+
response: {
|
|
693
|
+
streamId: string;
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
export interface IReq_Any_Cloudly_DeploymentLogStreamStop
|
|
698
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
699
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
700
|
+
IReq_Any_Cloudly_DeploymentLogStreamStop
|
|
701
|
+
> {
|
|
702
|
+
method: 'deploymentLogStreamStop';
|
|
703
|
+
request: {
|
|
704
|
+
identity: IIdentity;
|
|
705
|
+
streamId: string;
|
|
706
|
+
};
|
|
707
|
+
response: Record<string, never>;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
export interface IReq_Cloudly_Coreflow_DeploymentLogStreamStart
|
|
711
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
712
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
713
|
+
IReq_Cloudly_Coreflow_DeploymentLogStreamStart
|
|
714
|
+
> {
|
|
715
|
+
method: 'coreflowDeploymentLogStreamStart';
|
|
716
|
+
request: {
|
|
717
|
+
deploymentId: string;
|
|
718
|
+
streamId: string;
|
|
719
|
+
tail?: number;
|
|
720
|
+
};
|
|
721
|
+
response: {
|
|
722
|
+
found: boolean;
|
|
723
|
+
streamId?: string;
|
|
724
|
+
};
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
export interface IReq_Cloudly_Coreflow_DeploymentLogStreamStop
|
|
728
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
729
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
730
|
+
IReq_Cloudly_Coreflow_DeploymentLogStreamStop
|
|
731
|
+
> {
|
|
732
|
+
method: 'coreflowDeploymentLogStreamStop';
|
|
733
|
+
request: {
|
|
734
|
+
streamId: string;
|
|
735
|
+
};
|
|
736
|
+
response: {
|
|
737
|
+
found: boolean;
|
|
738
|
+
};
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
export interface IReq_Coreflow_Cloudly_ReportDeploymentLogLines
|
|
742
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
743
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
744
|
+
IReq_Coreflow_Cloudly_ReportDeploymentLogLines
|
|
745
|
+
> {
|
|
746
|
+
method: 'reportDeploymentLogLines';
|
|
747
|
+
request: {
|
|
748
|
+
identity: IIdentity;
|
|
749
|
+
streamId: string;
|
|
750
|
+
deploymentId: string;
|
|
751
|
+
lines: string[];
|
|
752
|
+
};
|
|
753
|
+
response: Record<string, never>;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
export interface IReq_Coreflow_Cloudly_ReportDeploymentLogStreamEnd
|
|
757
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
758
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
759
|
+
IReq_Coreflow_Cloudly_ReportDeploymentLogStreamEnd
|
|
760
|
+
> {
|
|
761
|
+
method: 'reportDeploymentLogStreamEnd';
|
|
762
|
+
request: {
|
|
763
|
+
identity: IIdentity;
|
|
764
|
+
streamId: string;
|
|
765
|
+
/** e.g. 'container-exited' | 'stopped' | 'ttl-expired' | 'error' */
|
|
766
|
+
reason?: string;
|
|
767
|
+
};
|
|
768
|
+
response: Record<string, never>;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
export interface IReq_Cloudly_Any_PushDeploymentLogLines
|
|
772
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
773
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
774
|
+
IReq_Cloudly_Any_PushDeploymentLogLines
|
|
775
|
+
> {
|
|
776
|
+
method: 'pushDeploymentLogLines';
|
|
777
|
+
request: {
|
|
778
|
+
streamId: string;
|
|
779
|
+
deploymentId: string;
|
|
780
|
+
lines: string[];
|
|
781
|
+
};
|
|
782
|
+
response: Record<string, never>;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
export interface IReq_Cloudly_Any_PushDeploymentLogStreamEnd
|
|
786
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
787
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
788
|
+
IReq_Cloudly_Any_PushDeploymentLogStreamEnd
|
|
789
|
+
> {
|
|
790
|
+
method: 'pushDeploymentLogStreamEnd';
|
|
791
|
+
request: {
|
|
792
|
+
streamId: string;
|
|
793
|
+
reason?: string;
|
|
794
|
+
};
|
|
795
|
+
response: Record<string, never>;
|
|
796
|
+
}
|
package/ts/requests/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ import * as backupRequests from './backup.js';
|
|
|
8
8
|
import * as certificateRequests from './certificate.js';
|
|
9
9
|
import * as clusterRequests from './cluster.js';
|
|
10
10
|
import * as configRequests from './config.js';
|
|
11
|
+
import * as corestoreRequests from './corestore.js';
|
|
11
12
|
import * as deploymentRequests from './deployment.js';
|
|
12
13
|
import * as dnsRequests from './dns.js';
|
|
13
14
|
import * as domainRequests from './domain.js';
|
|
@@ -41,6 +42,7 @@ export {
|
|
|
41
42
|
certificateRequests as certificate,
|
|
42
43
|
clusterRequests as cluster,
|
|
43
44
|
configRequests as config,
|
|
45
|
+
corestoreRequests as corestore,
|
|
44
46
|
deploymentRequests as deployment,
|
|
45
47
|
dnsRequests as dns,
|
|
46
48
|
domainRequests as domain,
|