@serve.zone/interfaces 5.8.0 → 5.9.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 +8 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/appcatalog/index.d.ts +1 -0
- package/dist_ts/appcatalog/index.js +2 -0
- package/dist_ts/appcatalog/types.d.ts +73 -0
- package/dist_ts/appcatalog/types.js +2 -0
- package/dist_ts/data/deployment.d.ts +14 -0
- package/dist_ts/data/image.d.ts +1 -0
- package/dist_ts/data/service.d.ts +2 -0
- package/dist_ts/index.d.ts +2 -1
- package/dist_ts/index.js +3 -2
- package/dist_ts/requests/appcatalog.d.ts +44 -0
- package/dist_ts/requests/appcatalog.js +2 -0
- package/dist_ts/requests/deployment.d.ts +201 -0
- package/dist_ts/requests/index.d.ts +2 -1
- package/dist_ts/requests/index.js +3 -2
- package/dist_ts/requests/node.d.ts +19 -0
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/appcatalog/index.ts +1 -0
- package/ts/appcatalog/types.ts +82 -0
- package/ts/data/deployment.ts +22 -1
- package/ts/data/image.ts +1 -0
- package/ts/data/service.ts +2 -0
- package/ts/index.ts +2 -0
- package/ts/requests/appcatalog.ts +66 -0
- package/ts/requests/deployment.ts +293 -1
- package/ts/requests/index.ts +2 -0
- package/ts/requests/node.ts +23 -1
package/changelog.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
## Pending
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
## 2026-05-23 - 5.9.0
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add Cloudly deployment runtime and app catalog contracts
|
|
11
|
+
- Adds live deployment task metadata and workspace operation request contracts
|
|
12
|
+
- Adds app catalog metadata, installation, and upgrade detection interfaces
|
|
13
|
+
- Adds node jump command and external image reference contract fields
|
|
6
14
|
|
|
7
15
|
## 2026-05-14 - 5.8.0
|
|
8
16
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '5.
|
|
6
|
+
version: '5.9.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types.js';
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export type TAppCatalogPlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'redis' | 'mariadb';
|
|
2
|
+
export interface IAppCatalogEnvVar {
|
|
3
|
+
key: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
description: string;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface IAppCatalogVolume {
|
|
9
|
+
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
10
|
+
name?: string;
|
|
11
|
+
/** Alias for name when a volume is shared intentionally across services. */
|
|
12
|
+
source?: string;
|
|
13
|
+
/** Container path where the volume is mounted. */
|
|
14
|
+
mountPath: string;
|
|
15
|
+
/** Docker volume driver. Defaults to the runtime's persistent volume driver. */
|
|
16
|
+
driver?: string;
|
|
17
|
+
readOnly?: boolean;
|
|
18
|
+
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
19
|
+
backup?: boolean;
|
|
20
|
+
/** Driver-specific options forwarded to the container runtime. */
|
|
21
|
+
options?: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export type TAppCatalogVolumeSpec = string | IAppCatalogVolume;
|
|
24
|
+
export interface ICatalogApp {
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
category: string;
|
|
29
|
+
iconName?: string;
|
|
30
|
+
iconUrl?: string;
|
|
31
|
+
latestVersion: string;
|
|
32
|
+
tags?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface ICatalog {
|
|
35
|
+
schemaVersion: number;
|
|
36
|
+
updatedAt: string;
|
|
37
|
+
apps: ICatalogApp[];
|
|
38
|
+
}
|
|
39
|
+
export interface IAppMeta {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
category: string;
|
|
44
|
+
iconName?: string;
|
|
45
|
+
latestVersion: string;
|
|
46
|
+
versions: string[];
|
|
47
|
+
maintainer?: string;
|
|
48
|
+
links?: Record<string, string>;
|
|
49
|
+
}
|
|
50
|
+
export interface IAppVersionConfig {
|
|
51
|
+
image: string;
|
|
52
|
+
port: number;
|
|
53
|
+
envVars?: IAppCatalogEnvVar[];
|
|
54
|
+
volumes?: TAppCatalogVolumeSpec[];
|
|
55
|
+
platformRequirements?: Partial<Record<TAppCatalogPlatformRequirement, boolean>>;
|
|
56
|
+
minOneboxVersion?: string;
|
|
57
|
+
minCloudlyVersion?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface IAppInstallRequest {
|
|
60
|
+
appId: string;
|
|
61
|
+
version?: string;
|
|
62
|
+
serviceName: string;
|
|
63
|
+
domain?: string;
|
|
64
|
+
port?: number;
|
|
65
|
+
envVars?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
export interface IUpgradeableAppService {
|
|
68
|
+
serviceName: string;
|
|
69
|
+
appTemplateId: string;
|
|
70
|
+
currentVersion: string;
|
|
71
|
+
latestVersion: string;
|
|
72
|
+
hasMigration: boolean;
|
|
73
|
+
}
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export interface IDeployment {
|
|
6
6
|
id: string;
|
|
7
|
+
/** Docker Swarm task ID when this deployment represents a live runtime task. */
|
|
8
|
+
taskId?: string;
|
|
9
|
+
/** Human-readable service name, useful for live runtime views. */
|
|
10
|
+
serviceName?: string;
|
|
7
11
|
/**
|
|
8
12
|
* The service being deployed (single service per deployment)
|
|
9
13
|
*/
|
|
@@ -12,10 +16,18 @@ export interface IDeployment {
|
|
|
12
16
|
* The node this deployment is running on
|
|
13
17
|
*/
|
|
14
18
|
nodeId: string;
|
|
19
|
+
/** Human-readable node hostname when known. */
|
|
20
|
+
nodeName?: string;
|
|
15
21
|
/**
|
|
16
22
|
* Docker container ID for this deployment
|
|
17
23
|
*/
|
|
18
24
|
containerId?: string;
|
|
25
|
+
/** Docker service ID when known. */
|
|
26
|
+
dockerServiceId?: string;
|
|
27
|
+
/** Docker Swarm task slot when known. */
|
|
28
|
+
slot?: number;
|
|
29
|
+
/** Docker desired state for this task/deployment. */
|
|
30
|
+
desiredState?: string;
|
|
19
31
|
/**
|
|
20
32
|
* Image used for this deployment
|
|
21
33
|
*/
|
|
@@ -28,6 +40,8 @@ export interface IDeployment {
|
|
|
28
40
|
* Timestamp when deployed
|
|
29
41
|
*/
|
|
30
42
|
deployedAt: number;
|
|
43
|
+
/** Last runtime update timestamp, if reported by the orchestrator. */
|
|
44
|
+
updatedAt?: number;
|
|
31
45
|
/**
|
|
32
46
|
* Deployment log entries
|
|
33
47
|
*/
|
package/dist_ts/data/image.d.ts
CHANGED
package/dist_ts/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as data from './data/index.js';
|
|
2
|
+
import * as appcatalog from './appcatalog/index.js';
|
|
2
3
|
import * as platform from './platform/index.js';
|
|
3
4
|
import * as platformservice from './platformservice/index.js';
|
|
4
5
|
import * as requests from './requests/index.js';
|
|
5
|
-
export { data, platform, platformservice, requests };
|
|
6
|
+
export { appcatalog, data, platform, platformservice, requests };
|
package/dist_ts/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as data from './data/index.js';
|
|
2
|
+
import * as appcatalog from './appcatalog/index.js';
|
|
2
3
|
import * as platform from './platform/index.js';
|
|
3
4
|
import * as platformservice from './platformservice/index.js';
|
|
4
5
|
import * as requests from './requests/index.js';
|
|
5
|
-
export { data, platform, platformservice, requests };
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
export { appcatalog, data, platform, platformservice, requests };
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxLQUFLLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUNMLFVBQVUsRUFDVixJQUFJLEVBQ0osUUFBUSxFQUNSLGVBQWUsRUFDZixRQUFRLEVBQ1QsQ0FBQSJ9
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
4
|
+
import type { IAppInstallRequest, IAppMeta, IAppVersionConfig, ICatalogApp, IUpgradeableAppService } from '../appcatalog/index.js';
|
|
5
|
+
export interface IReq_Any_GetAppCatalogTemplates extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppCatalogTemplates> {
|
|
6
|
+
method: 'getAppCatalogTemplates';
|
|
7
|
+
request: {
|
|
8
|
+
identity: IIdentity;
|
|
9
|
+
};
|
|
10
|
+
response: {
|
|
11
|
+
apps: ICatalogApp[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface IReq_Any_GetAppCatalogConfig extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppCatalogConfig> {
|
|
15
|
+
method: 'getAppCatalogConfig';
|
|
16
|
+
request: {
|
|
17
|
+
identity: IIdentity;
|
|
18
|
+
appId: string;
|
|
19
|
+
version: string;
|
|
20
|
+
};
|
|
21
|
+
response: {
|
|
22
|
+
config: IAppVersionConfig;
|
|
23
|
+
appMeta: IAppMeta;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface IReq_Any_InstallAppCatalogApp extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_InstallAppCatalogApp> {
|
|
27
|
+
method: 'installAppCatalogApp';
|
|
28
|
+
request: {
|
|
29
|
+
identity: IIdentity;
|
|
30
|
+
install: IAppInstallRequest;
|
|
31
|
+
};
|
|
32
|
+
response: {
|
|
33
|
+
service: IService;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface IReq_Any_GetUpgradeableAppCatalogServices extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetUpgradeableAppCatalogServices> {
|
|
37
|
+
method: 'getUpgradeableAppCatalogServices';
|
|
38
|
+
request: {
|
|
39
|
+
identity: IIdentity;
|
|
40
|
+
};
|
|
41
|
+
response: {
|
|
42
|
+
services: IUpgradeableAppService[];
|
|
43
|
+
};
|
|
44
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2F0YWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL2FwcGNhdGFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import type { IDeployment } from '../data/deployment.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
3
4
|
import type { IIdentity } from '../data/user.js';
|
|
5
|
+
export interface IDeploymentWorkspaceFileEntry {
|
|
6
|
+
type: 'file' | 'directory';
|
|
7
|
+
name: string;
|
|
8
|
+
path: string;
|
|
9
|
+
}
|
|
4
10
|
export interface IReq_Any_Cloudly_GetDeploymentById extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetDeploymentById> {
|
|
5
11
|
method: 'getDeploymentById';
|
|
6
12
|
request: {
|
|
@@ -94,3 +100,198 @@ export interface IReq_Any_Cloudly_ScaleDeployment extends plugins.typedrequestIn
|
|
|
94
100
|
deployment: IDeployment;
|
|
95
101
|
};
|
|
96
102
|
}
|
|
103
|
+
export interface IReq_Any_Cloudly_KillDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_KillDeployment> {
|
|
104
|
+
method: 'killDeployment';
|
|
105
|
+
request: {
|
|
106
|
+
identity: IIdentity;
|
|
107
|
+
deploymentId: string;
|
|
108
|
+
};
|
|
109
|
+
response: {
|
|
110
|
+
success: boolean;
|
|
111
|
+
deployment: IDeployment;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceReadFile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceReadFile> {
|
|
115
|
+
method: 'deploymentWorkspaceReadFile';
|
|
116
|
+
request: {
|
|
117
|
+
identity: IIdentity;
|
|
118
|
+
deploymentId: string;
|
|
119
|
+
path: string;
|
|
120
|
+
};
|
|
121
|
+
response: {
|
|
122
|
+
content: string;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceWriteFile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceWriteFile> {
|
|
126
|
+
method: 'deploymentWorkspaceWriteFile';
|
|
127
|
+
request: {
|
|
128
|
+
identity: IIdentity;
|
|
129
|
+
deploymentId: string;
|
|
130
|
+
path: string;
|
|
131
|
+
content: string;
|
|
132
|
+
};
|
|
133
|
+
response: Record<string, never>;
|
|
134
|
+
}
|
|
135
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceReadDir extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceReadDir> {
|
|
136
|
+
method: 'deploymentWorkspaceReadDir';
|
|
137
|
+
request: {
|
|
138
|
+
identity: IIdentity;
|
|
139
|
+
deploymentId: string;
|
|
140
|
+
path: string;
|
|
141
|
+
};
|
|
142
|
+
response: {
|
|
143
|
+
entries: IDeploymentWorkspaceFileEntry[];
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceMkdir extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceMkdir> {
|
|
147
|
+
method: 'deploymentWorkspaceMkdir';
|
|
148
|
+
request: {
|
|
149
|
+
identity: IIdentity;
|
|
150
|
+
deploymentId: string;
|
|
151
|
+
path: string;
|
|
152
|
+
};
|
|
153
|
+
response: Record<string, never>;
|
|
154
|
+
}
|
|
155
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceRm extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceRm> {
|
|
156
|
+
method: 'deploymentWorkspaceRm';
|
|
157
|
+
request: {
|
|
158
|
+
identity: IIdentity;
|
|
159
|
+
deploymentId: string;
|
|
160
|
+
path: string;
|
|
161
|
+
recursive?: boolean;
|
|
162
|
+
};
|
|
163
|
+
response: Record<string, never>;
|
|
164
|
+
}
|
|
165
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceExists extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceExists> {
|
|
166
|
+
method: 'deploymentWorkspaceExists';
|
|
167
|
+
request: {
|
|
168
|
+
identity: IIdentity;
|
|
169
|
+
deploymentId: string;
|
|
170
|
+
path: string;
|
|
171
|
+
};
|
|
172
|
+
response: {
|
|
173
|
+
exists: boolean;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceExec extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeploymentWorkspaceExec> {
|
|
177
|
+
method: 'deploymentWorkspaceExec';
|
|
178
|
+
request: {
|
|
179
|
+
identity: IIdentity;
|
|
180
|
+
deploymentId: string;
|
|
181
|
+
command: string;
|
|
182
|
+
args?: string[];
|
|
183
|
+
};
|
|
184
|
+
response: {
|
|
185
|
+
stdout: string;
|
|
186
|
+
stderr: string;
|
|
187
|
+
exitCode: number;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export interface IReq_Cloudly_Coreflow_GetServiceDeployments extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_GetServiceDeployments> {
|
|
191
|
+
method: 'coreflowGetServiceDeployments';
|
|
192
|
+
request: {
|
|
193
|
+
service: IService;
|
|
194
|
+
};
|
|
195
|
+
response: {
|
|
196
|
+
deployments: IDeployment[];
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
export interface IReq_Cloudly_Coreflow_RestartDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_RestartDeployment> {
|
|
200
|
+
method: 'coreflowRestartDeployment';
|
|
201
|
+
request: {
|
|
202
|
+
deploymentId: string;
|
|
203
|
+
};
|
|
204
|
+
response: {
|
|
205
|
+
found: boolean;
|
|
206
|
+
deployment?: IDeployment;
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
export interface IReq_Cloudly_Coreflow_KillDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_KillDeployment> {
|
|
210
|
+
method: 'coreflowKillDeployment';
|
|
211
|
+
request: {
|
|
212
|
+
deploymentId: string;
|
|
213
|
+
};
|
|
214
|
+
response: {
|
|
215
|
+
found: boolean;
|
|
216
|
+
deployment?: IDeployment;
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceReadFile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceReadFile> {
|
|
220
|
+
method: 'coreflowDeploymentWorkspaceReadFile';
|
|
221
|
+
request: {
|
|
222
|
+
deploymentId: string;
|
|
223
|
+
path: string;
|
|
224
|
+
};
|
|
225
|
+
response: {
|
|
226
|
+
found: boolean;
|
|
227
|
+
content?: string;
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceWriteFile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceWriteFile> {
|
|
231
|
+
method: 'coreflowDeploymentWorkspaceWriteFile';
|
|
232
|
+
request: {
|
|
233
|
+
deploymentId: string;
|
|
234
|
+
path: string;
|
|
235
|
+
content: string;
|
|
236
|
+
};
|
|
237
|
+
response: {
|
|
238
|
+
found: boolean;
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceReadDir extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceReadDir> {
|
|
242
|
+
method: 'coreflowDeploymentWorkspaceReadDir';
|
|
243
|
+
request: {
|
|
244
|
+
deploymentId: string;
|
|
245
|
+
path: string;
|
|
246
|
+
};
|
|
247
|
+
response: {
|
|
248
|
+
found: boolean;
|
|
249
|
+
entries?: IDeploymentWorkspaceFileEntry[];
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceMkdir extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceMkdir> {
|
|
253
|
+
method: 'coreflowDeploymentWorkspaceMkdir';
|
|
254
|
+
request: {
|
|
255
|
+
deploymentId: string;
|
|
256
|
+
path: string;
|
|
257
|
+
};
|
|
258
|
+
response: {
|
|
259
|
+
found: boolean;
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceRm extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceRm> {
|
|
263
|
+
method: 'coreflowDeploymentWorkspaceRm';
|
|
264
|
+
request: {
|
|
265
|
+
deploymentId: string;
|
|
266
|
+
path: string;
|
|
267
|
+
recursive?: boolean;
|
|
268
|
+
};
|
|
269
|
+
response: {
|
|
270
|
+
found: boolean;
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceExists extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceExists> {
|
|
274
|
+
method: 'coreflowDeploymentWorkspaceExists';
|
|
275
|
+
request: {
|
|
276
|
+
deploymentId: string;
|
|
277
|
+
path: string;
|
|
278
|
+
};
|
|
279
|
+
response: {
|
|
280
|
+
found: boolean;
|
|
281
|
+
exists?: boolean;
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceExec extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_DeploymentWorkspaceExec> {
|
|
285
|
+
method: 'coreflowDeploymentWorkspaceExec';
|
|
286
|
+
request: {
|
|
287
|
+
deploymentId: string;
|
|
288
|
+
command: string;
|
|
289
|
+
args?: string[];
|
|
290
|
+
};
|
|
291
|
+
response: {
|
|
292
|
+
found: boolean;
|
|
293
|
+
stdout?: string;
|
|
294
|
+
stderr?: string;
|
|
295
|
+
exitCode?: number;
|
|
296
|
+
};
|
|
297
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as adminRequests from './admin.js';
|
|
2
|
+
import * as appCatalogRequests from './appcatalog.js';
|
|
2
3
|
import * as baremetalRequests from './baremetal.js';
|
|
3
4
|
import * as baseOsRequests from './baseos.js';
|
|
4
5
|
import * as backupRequests from './backup.js';
|
|
@@ -25,5 +26,5 @@ import * as settingsRequests from './settings.js';
|
|
|
25
26
|
import * as statusRequests from './status.js';
|
|
26
27
|
import * as taskRequests from './task.js';
|
|
27
28
|
import * as versionRequests from './version.js';
|
|
28
|
-
export { adminRequests as admin, 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, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, 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, };
|
|
29
|
+
export { adminRequests as admin, appCatalogRequests as appcatalog, 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, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, 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, };
|
|
29
30
|
export * from './inform.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import * as adminRequests from './admin.js';
|
|
3
|
+
import * as appCatalogRequests from './appcatalog.js';
|
|
3
4
|
import * as baremetalRequests from './baremetal.js';
|
|
4
5
|
import * as baseOsRequests from './baseos.js';
|
|
5
6
|
import * as backupRequests from './backup.js';
|
|
@@ -26,6 +27,6 @@ import * as settingsRequests from './settings.js';
|
|
|
26
27
|
import * as statusRequests from './status.js';
|
|
27
28
|
import * as taskRequests from './task.js';
|
|
28
29
|
import * as versionRequests from './version.js';
|
|
29
|
-
export { adminRequests as admin, 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, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, 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, };
|
|
30
|
+
export { adminRequests as admin, appCatalogRequests as appcatalog, 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, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, 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, };
|
|
30
31
|
export * from './inform.js';
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssa0JBQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssa0JBQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLFdBQVcsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLHdCQUF3QixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGFBQWEsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUNMLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGtCQUFrQixJQUFJLFVBQVUsRUFDaEMsaUJBQWlCLElBQUksU0FBUyxFQUM5QixjQUFjLElBQUksTUFBTSxFQUN4QixjQUFjLElBQUksTUFBTSxFQUN4QixtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGtCQUFrQixJQUFJLFVBQVUsRUFDaEMsV0FBVyxJQUFJLEdBQUcsRUFDbEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsd0JBQXdCLElBQUksZ0JBQWdCLEVBQzVDLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsYUFBYSxJQUFJLEtBQUssRUFDdEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsV0FBVyxJQUFJLEdBQUcsRUFDbEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsWUFBWSxJQUFJLElBQUksRUFDcEIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixlQUFlLElBQUksT0FBTyxFQUMxQixvQkFBb0IsSUFBSSxZQUFZLEVBQ3BDLG1CQUFtQixJQUFJLFdBQVcsRUFDbEMsY0FBYyxJQUFJLE1BQU0sRUFDeEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixjQUFjLElBQUksTUFBTSxFQUN4QixZQUFZLElBQUksSUFBSSxFQUNwQixlQUFlLElBQUksT0FBTyxHQUMzQixDQUFDO0FBRUYsY0FBYyxhQUFhLENBQUMifQ==
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
1
2
|
import type { IClusterNode } from '../data/clusternode.js';
|
|
2
3
|
import type { IDeployment } from '../data/deployment.js';
|
|
4
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
5
|
export interface IRequest_Any_Cloudly_GetNodeConfig {
|
|
4
6
|
method: 'getNodeConfig';
|
|
5
7
|
request: {
|
|
@@ -27,3 +29,20 @@ export interface IRequest_Any_Cloudly_GetNodeDeployments {
|
|
|
27
29
|
deployments: IDeployment[];
|
|
28
30
|
};
|
|
29
31
|
}
|
|
32
|
+
export interface IReq_Any_Cloudly_CreateNodeJumpCommand extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_CreateNodeJumpCommand> {
|
|
33
|
+
method: 'createNodeJumpCommand';
|
|
34
|
+
request: {
|
|
35
|
+
identity: IIdentity;
|
|
36
|
+
clusterId: string;
|
|
37
|
+
role?: IClusterNode['data']['role'];
|
|
38
|
+
nodeType?: IClusterNode['data']['nodeType'];
|
|
39
|
+
ttlMs?: number;
|
|
40
|
+
};
|
|
41
|
+
response: {
|
|
42
|
+
jumpCode: string;
|
|
43
|
+
jumpUrl: string;
|
|
44
|
+
setupUrl: string;
|
|
45
|
+
command: string;
|
|
46
|
+
expiresAt: number;
|
|
47
|
+
};
|
|
48
|
+
}
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types.js';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export type TAppCatalogPlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'redis' | 'mariadb';
|
|
2
|
+
|
|
3
|
+
export interface IAppCatalogEnvVar {
|
|
4
|
+
key: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
description: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface IAppCatalogVolume {
|
|
11
|
+
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
12
|
+
name?: string;
|
|
13
|
+
/** Alias for name when a volume is shared intentionally across services. */
|
|
14
|
+
source?: string;
|
|
15
|
+
/** Container path where the volume is mounted. */
|
|
16
|
+
mountPath: string;
|
|
17
|
+
/** Docker volume driver. Defaults to the runtime's persistent volume driver. */
|
|
18
|
+
driver?: string;
|
|
19
|
+
readOnly?: boolean;
|
|
20
|
+
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
21
|
+
backup?: boolean;
|
|
22
|
+
/** Driver-specific options forwarded to the container runtime. */
|
|
23
|
+
options?: Record<string, string>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type TAppCatalogVolumeSpec = string | IAppCatalogVolume;
|
|
27
|
+
|
|
28
|
+
export interface ICatalogApp {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
category: string;
|
|
33
|
+
iconName?: string;
|
|
34
|
+
iconUrl?: string;
|
|
35
|
+
latestVersion: string;
|
|
36
|
+
tags?: string[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface ICatalog {
|
|
40
|
+
schemaVersion: number;
|
|
41
|
+
updatedAt: string;
|
|
42
|
+
apps: ICatalogApp[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface IAppMeta {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
description: string;
|
|
49
|
+
category: string;
|
|
50
|
+
iconName?: string;
|
|
51
|
+
latestVersion: string;
|
|
52
|
+
versions: string[];
|
|
53
|
+
maintainer?: string;
|
|
54
|
+
links?: Record<string, string>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface IAppVersionConfig {
|
|
58
|
+
image: string;
|
|
59
|
+
port: number;
|
|
60
|
+
envVars?: IAppCatalogEnvVar[];
|
|
61
|
+
volumes?: TAppCatalogVolumeSpec[];
|
|
62
|
+
platformRequirements?: Partial<Record<TAppCatalogPlatformRequirement, boolean>>;
|
|
63
|
+
minOneboxVersion?: string;
|
|
64
|
+
minCloudlyVersion?: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface IAppInstallRequest {
|
|
68
|
+
appId: string;
|
|
69
|
+
version?: string;
|
|
70
|
+
serviceName: string;
|
|
71
|
+
domain?: string;
|
|
72
|
+
port?: number;
|
|
73
|
+
envVars?: Record<string, string>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface IUpgradeableAppService {
|
|
77
|
+
serviceName: string;
|
|
78
|
+
appTemplateId: string;
|
|
79
|
+
currentVersion: string;
|
|
80
|
+
latestVersion: string;
|
|
81
|
+
hasMigration: boolean;
|
|
82
|
+
}
|
package/ts/data/deployment.ts
CHANGED
|
@@ -6,6 +6,12 @@ import * as plugins from '../plugins.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export interface IDeployment {
|
|
8
8
|
id: string;
|
|
9
|
+
|
|
10
|
+
/** Docker Swarm task ID when this deployment represents a live runtime task. */
|
|
11
|
+
taskId?: string;
|
|
12
|
+
|
|
13
|
+
/** Human-readable service name, useful for live runtime views. */
|
|
14
|
+
serviceName?: string;
|
|
9
15
|
|
|
10
16
|
/**
|
|
11
17
|
* The service being deployed (single service per deployment)
|
|
@@ -16,11 +22,23 @@ export interface IDeployment {
|
|
|
16
22
|
* The node this deployment is running on
|
|
17
23
|
*/
|
|
18
24
|
nodeId: string;
|
|
25
|
+
|
|
26
|
+
/** Human-readable node hostname when known. */
|
|
27
|
+
nodeName?: string;
|
|
19
28
|
|
|
20
29
|
/**
|
|
21
30
|
* Docker container ID for this deployment
|
|
22
31
|
*/
|
|
23
32
|
containerId?: string;
|
|
33
|
+
|
|
34
|
+
/** Docker service ID when known. */
|
|
35
|
+
dockerServiceId?: string;
|
|
36
|
+
|
|
37
|
+
/** Docker Swarm task slot when known. */
|
|
38
|
+
slot?: number;
|
|
39
|
+
|
|
40
|
+
/** Docker desired state for this task/deployment. */
|
|
41
|
+
desiredState?: string;
|
|
24
42
|
|
|
25
43
|
/**
|
|
26
44
|
* Image used for this deployment
|
|
@@ -36,6 +54,9 @@ export interface IDeployment {
|
|
|
36
54
|
* Timestamp when deployed
|
|
37
55
|
*/
|
|
38
56
|
deployedAt: number;
|
|
57
|
+
|
|
58
|
+
/** Last runtime update timestamp, if reported by the orchestrator. */
|
|
59
|
+
updatedAt?: number;
|
|
39
60
|
|
|
40
61
|
/**
|
|
41
62
|
* Deployment log entries
|
|
@@ -60,4 +81,4 @@ export interface IDeployment {
|
|
|
60
81
|
memoryUsedMB: number;
|
|
61
82
|
lastUpdated: number;
|
|
62
83
|
};
|
|
63
|
-
}
|
|
84
|
+
}
|
package/ts/data/image.ts
CHANGED
package/ts/data/service.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface IService {
|
|
|
26
26
|
imageVersion: string;
|
|
27
27
|
registryTarget?: IRegistryTarget;
|
|
28
28
|
deployOnPush?: boolean;
|
|
29
|
+
appTemplateId?: string;
|
|
30
|
+
appTemplateVersion?: string;
|
|
29
31
|
environment: { [key: string]: string };
|
|
30
32
|
/**
|
|
31
33
|
* the main secret bundle id, exclusive to the service
|
package/ts/index.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as data from './data/index.js';
|
|
2
|
+
import * as appcatalog from './appcatalog/index.js';
|
|
2
3
|
import * as platform from './platform/index.js';
|
|
3
4
|
import * as platformservice from './platformservice/index.js';
|
|
4
5
|
import * as requests from './requests/index.js';
|
|
5
6
|
|
|
6
7
|
export {
|
|
8
|
+
appcatalog,
|
|
7
9
|
data,
|
|
8
10
|
platform,
|
|
9
11
|
platformservice,
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
4
|
+
import type {
|
|
5
|
+
IAppInstallRequest,
|
|
6
|
+
IAppMeta,
|
|
7
|
+
IAppVersionConfig,
|
|
8
|
+
ICatalogApp,
|
|
9
|
+
IUpgradeableAppService,
|
|
10
|
+
} from '../appcatalog/index.js';
|
|
11
|
+
|
|
12
|
+
export interface IReq_Any_GetAppCatalogTemplates extends plugins.typedrequestInterfaces.implementsTR<
|
|
13
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
14
|
+
IReq_Any_GetAppCatalogTemplates
|
|
15
|
+
> {
|
|
16
|
+
method: 'getAppCatalogTemplates';
|
|
17
|
+
request: {
|
|
18
|
+
identity: IIdentity;
|
|
19
|
+
};
|
|
20
|
+
response: {
|
|
21
|
+
apps: ICatalogApp[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface IReq_Any_GetAppCatalogConfig extends plugins.typedrequestInterfaces.implementsTR<
|
|
26
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
27
|
+
IReq_Any_GetAppCatalogConfig
|
|
28
|
+
> {
|
|
29
|
+
method: 'getAppCatalogConfig';
|
|
30
|
+
request: {
|
|
31
|
+
identity: IIdentity;
|
|
32
|
+
appId: string;
|
|
33
|
+
version: string;
|
|
34
|
+
};
|
|
35
|
+
response: {
|
|
36
|
+
config: IAppVersionConfig;
|
|
37
|
+
appMeta: IAppMeta;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface IReq_Any_InstallAppCatalogApp extends plugins.typedrequestInterfaces.implementsTR<
|
|
42
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
43
|
+
IReq_Any_InstallAppCatalogApp
|
|
44
|
+
> {
|
|
45
|
+
method: 'installAppCatalogApp';
|
|
46
|
+
request: {
|
|
47
|
+
identity: IIdentity;
|
|
48
|
+
install: IAppInstallRequest;
|
|
49
|
+
};
|
|
50
|
+
response: {
|
|
51
|
+
service: IService;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface IReq_Any_GetUpgradeableAppCatalogServices extends plugins.typedrequestInterfaces.implementsTR<
|
|
56
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
57
|
+
IReq_Any_GetUpgradeableAppCatalogServices
|
|
58
|
+
> {
|
|
59
|
+
method: 'getUpgradeableAppCatalogServices';
|
|
60
|
+
request: {
|
|
61
|
+
identity: IIdentity;
|
|
62
|
+
};
|
|
63
|
+
response: {
|
|
64
|
+
services: IUpgradeableAppService[];
|
|
65
|
+
};
|
|
66
|
+
}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import type { IDeployment } from '../data/deployment.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
3
4
|
import type { IIdentity } from '../data/user.js';
|
|
4
5
|
|
|
6
|
+
export interface IDeploymentWorkspaceFileEntry {
|
|
7
|
+
type: 'file' | 'directory';
|
|
8
|
+
name: string;
|
|
9
|
+
path: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
5
12
|
export interface IReq_Any_Cloudly_GetDeploymentById
|
|
6
13
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
7
14
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
@@ -138,4 +145,289 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
138
145
|
success: boolean;
|
|
139
146
|
deployment: IDeployment;
|
|
140
147
|
};
|
|
141
|
-
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface IReq_Any_Cloudly_KillDeployment
|
|
151
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
152
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
153
|
+
IReq_Any_Cloudly_KillDeployment
|
|
154
|
+
> {
|
|
155
|
+
method: 'killDeployment';
|
|
156
|
+
request: {
|
|
157
|
+
identity: IIdentity;
|
|
158
|
+
deploymentId: string;
|
|
159
|
+
};
|
|
160
|
+
response: {
|
|
161
|
+
success: boolean;
|
|
162
|
+
deployment: IDeployment;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceReadFile
|
|
167
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
168
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
169
|
+
IReq_Any_Cloudly_DeploymentWorkspaceReadFile
|
|
170
|
+
> {
|
|
171
|
+
method: 'deploymentWorkspaceReadFile';
|
|
172
|
+
request: {
|
|
173
|
+
identity: IIdentity;
|
|
174
|
+
deploymentId: string;
|
|
175
|
+
path: string;
|
|
176
|
+
};
|
|
177
|
+
response: {
|
|
178
|
+
content: string;
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceWriteFile
|
|
183
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
184
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
185
|
+
IReq_Any_Cloudly_DeploymentWorkspaceWriteFile
|
|
186
|
+
> {
|
|
187
|
+
method: 'deploymentWorkspaceWriteFile';
|
|
188
|
+
request: {
|
|
189
|
+
identity: IIdentity;
|
|
190
|
+
deploymentId: string;
|
|
191
|
+
path: string;
|
|
192
|
+
content: string;
|
|
193
|
+
};
|
|
194
|
+
response: Record<string, never>;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceReadDir
|
|
198
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
199
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
200
|
+
IReq_Any_Cloudly_DeploymentWorkspaceReadDir
|
|
201
|
+
> {
|
|
202
|
+
method: 'deploymentWorkspaceReadDir';
|
|
203
|
+
request: {
|
|
204
|
+
identity: IIdentity;
|
|
205
|
+
deploymentId: string;
|
|
206
|
+
path: string;
|
|
207
|
+
};
|
|
208
|
+
response: {
|
|
209
|
+
entries: IDeploymentWorkspaceFileEntry[];
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceMkdir
|
|
214
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
215
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
216
|
+
IReq_Any_Cloudly_DeploymentWorkspaceMkdir
|
|
217
|
+
> {
|
|
218
|
+
method: 'deploymentWorkspaceMkdir';
|
|
219
|
+
request: {
|
|
220
|
+
identity: IIdentity;
|
|
221
|
+
deploymentId: string;
|
|
222
|
+
path: string;
|
|
223
|
+
};
|
|
224
|
+
response: Record<string, never>;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceRm
|
|
228
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
229
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
230
|
+
IReq_Any_Cloudly_DeploymentWorkspaceRm
|
|
231
|
+
> {
|
|
232
|
+
method: 'deploymentWorkspaceRm';
|
|
233
|
+
request: {
|
|
234
|
+
identity: IIdentity;
|
|
235
|
+
deploymentId: string;
|
|
236
|
+
path: string;
|
|
237
|
+
recursive?: boolean;
|
|
238
|
+
};
|
|
239
|
+
response: Record<string, never>;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceExists
|
|
243
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
244
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
245
|
+
IReq_Any_Cloudly_DeploymentWorkspaceExists
|
|
246
|
+
> {
|
|
247
|
+
method: 'deploymentWorkspaceExists';
|
|
248
|
+
request: {
|
|
249
|
+
identity: IIdentity;
|
|
250
|
+
deploymentId: string;
|
|
251
|
+
path: string;
|
|
252
|
+
};
|
|
253
|
+
response: {
|
|
254
|
+
exists: boolean;
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export interface IReq_Any_Cloudly_DeploymentWorkspaceExec
|
|
259
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
260
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
261
|
+
IReq_Any_Cloudly_DeploymentWorkspaceExec
|
|
262
|
+
> {
|
|
263
|
+
method: 'deploymentWorkspaceExec';
|
|
264
|
+
request: {
|
|
265
|
+
identity: IIdentity;
|
|
266
|
+
deploymentId: string;
|
|
267
|
+
command: string;
|
|
268
|
+
args?: string[];
|
|
269
|
+
};
|
|
270
|
+
response: {
|
|
271
|
+
stdout: string;
|
|
272
|
+
stderr: string;
|
|
273
|
+
exitCode: number;
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export interface IReq_Cloudly_Coreflow_GetServiceDeployments
|
|
278
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
279
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
280
|
+
IReq_Cloudly_Coreflow_GetServiceDeployments
|
|
281
|
+
> {
|
|
282
|
+
method: 'coreflowGetServiceDeployments';
|
|
283
|
+
request: {
|
|
284
|
+
service: IService;
|
|
285
|
+
};
|
|
286
|
+
response: {
|
|
287
|
+
deployments: IDeployment[];
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export interface IReq_Cloudly_Coreflow_RestartDeployment
|
|
292
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
293
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
294
|
+
IReq_Cloudly_Coreflow_RestartDeployment
|
|
295
|
+
> {
|
|
296
|
+
method: 'coreflowRestartDeployment';
|
|
297
|
+
request: {
|
|
298
|
+
deploymentId: string;
|
|
299
|
+
};
|
|
300
|
+
response: {
|
|
301
|
+
found: boolean;
|
|
302
|
+
deployment?: IDeployment;
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
export interface IReq_Cloudly_Coreflow_KillDeployment
|
|
307
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
308
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
309
|
+
IReq_Cloudly_Coreflow_KillDeployment
|
|
310
|
+
> {
|
|
311
|
+
method: 'coreflowKillDeployment';
|
|
312
|
+
request: {
|
|
313
|
+
deploymentId: string;
|
|
314
|
+
};
|
|
315
|
+
response: {
|
|
316
|
+
found: boolean;
|
|
317
|
+
deployment?: IDeployment;
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceReadFile
|
|
322
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
323
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
324
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceReadFile
|
|
325
|
+
> {
|
|
326
|
+
method: 'coreflowDeploymentWorkspaceReadFile';
|
|
327
|
+
request: {
|
|
328
|
+
deploymentId: string;
|
|
329
|
+
path: string;
|
|
330
|
+
};
|
|
331
|
+
response: {
|
|
332
|
+
found: boolean;
|
|
333
|
+
content?: string;
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceWriteFile
|
|
338
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
339
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
340
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceWriteFile
|
|
341
|
+
> {
|
|
342
|
+
method: 'coreflowDeploymentWorkspaceWriteFile';
|
|
343
|
+
request: {
|
|
344
|
+
deploymentId: string;
|
|
345
|
+
path: string;
|
|
346
|
+
content: string;
|
|
347
|
+
};
|
|
348
|
+
response: {
|
|
349
|
+
found: boolean;
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceReadDir
|
|
354
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
355
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
356
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceReadDir
|
|
357
|
+
> {
|
|
358
|
+
method: 'coreflowDeploymentWorkspaceReadDir';
|
|
359
|
+
request: {
|
|
360
|
+
deploymentId: string;
|
|
361
|
+
path: string;
|
|
362
|
+
};
|
|
363
|
+
response: {
|
|
364
|
+
found: boolean;
|
|
365
|
+
entries?: IDeploymentWorkspaceFileEntry[];
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceMkdir
|
|
370
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
371
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
372
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceMkdir
|
|
373
|
+
> {
|
|
374
|
+
method: 'coreflowDeploymentWorkspaceMkdir';
|
|
375
|
+
request: {
|
|
376
|
+
deploymentId: string;
|
|
377
|
+
path: string;
|
|
378
|
+
};
|
|
379
|
+
response: {
|
|
380
|
+
found: boolean;
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceRm
|
|
385
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
386
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
387
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceRm
|
|
388
|
+
> {
|
|
389
|
+
method: 'coreflowDeploymentWorkspaceRm';
|
|
390
|
+
request: {
|
|
391
|
+
deploymentId: string;
|
|
392
|
+
path: string;
|
|
393
|
+
recursive?: boolean;
|
|
394
|
+
};
|
|
395
|
+
response: {
|
|
396
|
+
found: boolean;
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceExists
|
|
401
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
402
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
403
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceExists
|
|
404
|
+
> {
|
|
405
|
+
method: 'coreflowDeploymentWorkspaceExists';
|
|
406
|
+
request: {
|
|
407
|
+
deploymentId: string;
|
|
408
|
+
path: string;
|
|
409
|
+
};
|
|
410
|
+
response: {
|
|
411
|
+
found: boolean;
|
|
412
|
+
exists?: boolean;
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
export interface IReq_Cloudly_Coreflow_DeploymentWorkspaceExec
|
|
417
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
418
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
419
|
+
IReq_Cloudly_Coreflow_DeploymentWorkspaceExec
|
|
420
|
+
> {
|
|
421
|
+
method: 'coreflowDeploymentWorkspaceExec';
|
|
422
|
+
request: {
|
|
423
|
+
deploymentId: string;
|
|
424
|
+
command: string;
|
|
425
|
+
args?: string[];
|
|
426
|
+
};
|
|
427
|
+
response: {
|
|
428
|
+
found: boolean;
|
|
429
|
+
stdout?: string;
|
|
430
|
+
stderr?: string;
|
|
431
|
+
exitCode?: number;
|
|
432
|
+
};
|
|
433
|
+
}
|
package/ts/requests/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
|
|
3
3
|
import * as adminRequests from './admin.js';
|
|
4
|
+
import * as appCatalogRequests from './appcatalog.js';
|
|
4
5
|
import * as baremetalRequests from './baremetal.js';
|
|
5
6
|
import * as baseOsRequests from './baseos.js';
|
|
6
7
|
import * as backupRequests from './backup.js';
|
|
@@ -30,6 +31,7 @@ import * as versionRequests from './version.js';
|
|
|
30
31
|
|
|
31
32
|
export {
|
|
32
33
|
adminRequests as admin,
|
|
34
|
+
appCatalogRequests as appcatalog,
|
|
33
35
|
baremetalRequests as baremetal,
|
|
34
36
|
baseOsRequests as baseos,
|
|
35
37
|
backupRequests as backup,
|
package/ts/requests/node.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import type { IClusterNode } from '../data/clusternode.js';
|
|
3
3
|
import type { IDeployment } from '../data/deployment.js';
|
|
4
|
+
import type { IIdentity } from '../data/user.js';
|
|
4
5
|
|
|
5
6
|
export interface IRequest_Any_Cloudly_GetNodeConfig {
|
|
6
7
|
method: 'getNodeConfig';
|
|
@@ -30,4 +31,25 @@ export interface IRequest_Any_Cloudly_GetNodeDeployments {
|
|
|
30
31
|
response: {
|
|
31
32
|
deployments: IDeployment[];
|
|
32
33
|
};
|
|
33
|
-
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface IReq_Any_Cloudly_CreateNodeJumpCommand extends plugins.typedrequestInterfaces.implementsTR<
|
|
37
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
38
|
+
IReq_Any_Cloudly_CreateNodeJumpCommand
|
|
39
|
+
> {
|
|
40
|
+
method: 'createNodeJumpCommand';
|
|
41
|
+
request: {
|
|
42
|
+
identity: IIdentity;
|
|
43
|
+
clusterId: string;
|
|
44
|
+
role?: IClusterNode['data']['role'];
|
|
45
|
+
nodeType?: IClusterNode['data']['nodeType'];
|
|
46
|
+
ttlMs?: number;
|
|
47
|
+
};
|
|
48
|
+
response: {
|
|
49
|
+
jumpCode: string;
|
|
50
|
+
jumpUrl: string;
|
|
51
|
+
setupUrl: string;
|
|
52
|
+
command: string;
|
|
53
|
+
expiresAt: number;
|
|
54
|
+
};
|
|
55
|
+
}
|