@serve.zone/interfaces 5.4.6 → 5.8.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/.smartconfig.json +22 -7
- package/changelog.md +30 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/backup.d.ts +72 -0
- package/dist_ts/data/backup.js +2 -0
- package/dist_ts/data/baseos.d.ts +122 -0
- package/dist_ts/data/baseos.js +2 -0
- package/dist_ts/data/index.d.ts +2 -0
- package/dist_ts/data/index.js +3 -1
- package/dist_ts/data/service.d.ts +16 -0
- package/dist_ts/data/settings.d.ts +4 -0
- package/dist_ts/requests/backup.d.ts +137 -0
- package/dist_ts/requests/backup.js +2 -0
- package/dist_ts/requests/baseos.d.ts +76 -0
- package/dist_ts/requests/baseos.js +2 -0
- package/dist_ts/requests/cluster.d.ts +1 -0
- package/dist_ts/requests/index.d.ts +3 -1
- package/dist_ts/requests/index.js +4 -2
- package/package.json +5 -5
- package/readme.md +50 -57
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/backup.ts +96 -0
- package/ts/data/baseos.ts +144 -0
- package/ts/data/index.ts +2 -0
- package/ts/data/service.ts +17 -0
- package/ts/data/settings.ts +9 -1
- package/ts/requests/backup.ts +198 -0
- package/ts/requests/baseos.ts +93 -0
- package/ts/requests/cluster.ts +1 -0
- package/ts/requests/index.ts +4 -0
package/.smartconfig.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"@git.zone/cli": {
|
|
3
|
+
"schemaVersion": 2,
|
|
3
4
|
"projectType": "npm",
|
|
4
5
|
"module": {
|
|
5
6
|
"githost": "code.foss.global",
|
|
@@ -19,14 +20,28 @@
|
|
|
19
20
|
]
|
|
20
21
|
},
|
|
21
22
|
"release": {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
"targets": {
|
|
24
|
+
"git": {
|
|
25
|
+
"enabled": true,
|
|
26
|
+
"remote": "origin"
|
|
27
|
+
},
|
|
28
|
+
"npm": {
|
|
29
|
+
"enabled": true,
|
|
30
|
+
"registries": [
|
|
31
|
+
"https://verdaccio.lossless.digital",
|
|
32
|
+
"https://registry.npmjs.org"
|
|
33
|
+
],
|
|
34
|
+
"accessLevel": "public"
|
|
35
|
+
},
|
|
36
|
+
"docker": {
|
|
37
|
+
"enabled": false,
|
|
38
|
+
"engine": "tsdocker"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
27
41
|
}
|
|
28
42
|
},
|
|
29
43
|
"@git.zone/tsdoc": {
|
|
30
44
|
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
45
|
+
},
|
|
46
|
+
"@ship.zone/szci": {}
|
|
47
|
+
}
|
package/changelog.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Pending
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## 2026-05-14 - 5.8.0
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- enable npm publishing in smartconfig (smartconfig)
|
|
12
|
+
- Turns on the npm configuration by setting its enabled flag to true
|
|
13
|
+
- Keeps the existing registry configuration for Verdaccio and npmjs
|
|
14
|
+
|
|
15
|
+
## 2026-05-14 - 5.7.0
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- update SmartConfig release targets to schema version 2 (smartconfig)
|
|
20
|
+
- adds schemaVersion 2 to the @git.zone/cli configuration
|
|
21
|
+
- replaces the flat release registry settings with explicit git, npm, and docker targets
|
|
22
|
+
- disables npm and docker release targets while keeping git releases enabled
|
|
23
|
+
- adds an empty @ship.zone/szci configuration block
|
|
24
|
+
|
|
25
|
+
## 2026-05-08 - 5.6.0 - feat(interfaces)
|
|
26
|
+
add desired state, backup replication, and cluster update request fields
|
|
27
|
+
|
|
28
|
+
- add optional desiredState to base OS registration results
|
|
29
|
+
- add optional replicate flag to backup creation requests
|
|
30
|
+
- require clusterId in updateCluster requests
|
|
31
|
+
- bump tsclass and development tooling dependencies
|
|
32
|
+
|
|
3
33
|
## 2026-04-25 - 5.4.3 - fix(repo)
|
|
4
34
|
no changes to commit
|
|
5
35
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '5.
|
|
6
|
+
version: '5.8.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,72 @@
|
|
|
1
|
+
export type TBackupStatus = 'pending' | 'running' | 'replicating' | 'replicated' | 'ready' | 'failed' | 'restoring' | 'restored';
|
|
2
|
+
export type TBackupTrigger = 'manual' | 'scheduled';
|
|
3
|
+
export type TBackupResourceType = 'volume' | 'database' | 'objectstorage';
|
|
4
|
+
export interface IBackupSnapshotBase {
|
|
5
|
+
type: TBackupResourceType;
|
|
6
|
+
snapshotId: string;
|
|
7
|
+
snapshotName?: string;
|
|
8
|
+
originalSize: number;
|
|
9
|
+
storedSize: number;
|
|
10
|
+
createdAt: number;
|
|
11
|
+
tags?: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
export interface IBackupVolumeSnapshot extends IBackupSnapshotBase {
|
|
14
|
+
type: 'volume';
|
|
15
|
+
volumeName: string;
|
|
16
|
+
mountPath: string;
|
|
17
|
+
}
|
|
18
|
+
export interface IBackupDatabaseSnapshot extends IBackupSnapshotBase {
|
|
19
|
+
type: 'database';
|
|
20
|
+
resourceName: string;
|
|
21
|
+
databaseName: string;
|
|
22
|
+
}
|
|
23
|
+
export interface IBackupObjectStorageSnapshot extends IBackupSnapshotBase {
|
|
24
|
+
type: 'objectstorage';
|
|
25
|
+
resourceName: string;
|
|
26
|
+
bucketName: string;
|
|
27
|
+
}
|
|
28
|
+
export type TBackupSnapshot = IBackupVolumeSnapshot | IBackupDatabaseSnapshot | IBackupObjectStorageSnapshot;
|
|
29
|
+
export type TBackupReplicationTargetType = 's3' | 'smb';
|
|
30
|
+
export interface IBackupArchiveObject {
|
|
31
|
+
path: string;
|
|
32
|
+
size: number;
|
|
33
|
+
sha256: string;
|
|
34
|
+
}
|
|
35
|
+
export interface IBackupArchiveManifest {
|
|
36
|
+
version: 1;
|
|
37
|
+
backupId: string;
|
|
38
|
+
createdAt: number;
|
|
39
|
+
objects: IBackupArchiveObject[];
|
|
40
|
+
totalSize: number;
|
|
41
|
+
}
|
|
42
|
+
export interface IBackupReplicationResult {
|
|
43
|
+
targetType: TBackupReplicationTargetType;
|
|
44
|
+
targetPath: string;
|
|
45
|
+
manifestPath: string;
|
|
46
|
+
manifestSha256: string;
|
|
47
|
+
objectCount: number;
|
|
48
|
+
totalSize: number;
|
|
49
|
+
completedAt: number;
|
|
50
|
+
}
|
|
51
|
+
export interface IBackupRestoreEvent {
|
|
52
|
+
restoredAt: number;
|
|
53
|
+
status: 'restored' | 'failed';
|
|
54
|
+
errorText?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface IBackupRecord {
|
|
57
|
+
id: string;
|
|
58
|
+
serviceId: string;
|
|
59
|
+
serviceName?: string;
|
|
60
|
+
clusterId?: string;
|
|
61
|
+
status: TBackupStatus;
|
|
62
|
+
trigger: TBackupTrigger;
|
|
63
|
+
snapshots: TBackupSnapshot[];
|
|
64
|
+
replication?: IBackupReplicationResult;
|
|
65
|
+
createdAt: number;
|
|
66
|
+
updatedAt: number;
|
|
67
|
+
completedAt?: number;
|
|
68
|
+
requestedBy?: string;
|
|
69
|
+
errorText?: string;
|
|
70
|
+
restoreHistory?: IBackupRestoreEvent[];
|
|
71
|
+
tags?: Record<string, string>;
|
|
72
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export type TBaseOsRuntimeLevel = 'app-layer' | 'host-os' | 'target-state';
|
|
2
|
+
export type TBaseOsCloudlyConnectionStatus = 'not-configured' | 'connecting' | 'connected' | 'failed';
|
|
3
|
+
export interface IBalenaDeviceState {
|
|
4
|
+
api_port?: number;
|
|
5
|
+
ip_address?: string;
|
|
6
|
+
mac_address?: string;
|
|
7
|
+
commit?: string;
|
|
8
|
+
status?: string;
|
|
9
|
+
os_version?: string;
|
|
10
|
+
supervisor_version?: string;
|
|
11
|
+
update_pending?: boolean;
|
|
12
|
+
update_downloaded?: boolean;
|
|
13
|
+
update_failed?: boolean;
|
|
14
|
+
download_progress?: number | null;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface IBalenaStateStatus {
|
|
18
|
+
status?: string;
|
|
19
|
+
appState?: string;
|
|
20
|
+
overallDownloadProgress?: number | null;
|
|
21
|
+
release?: string;
|
|
22
|
+
containers?: Array<Record<string, unknown>>;
|
|
23
|
+
images?: Array<Record<string, unknown>>;
|
|
24
|
+
[key: string]: unknown;
|
|
25
|
+
}
|
|
26
|
+
export interface IBaseOsRuntimeInfo {
|
|
27
|
+
runtime: 'baseos';
|
|
28
|
+
runtimeLevel: TBaseOsRuntimeLevel;
|
|
29
|
+
nodeId: string;
|
|
30
|
+
cloudlyUrl?: string;
|
|
31
|
+
cloudlyConnectionStatus: TBaseOsCloudlyConnectionStatus;
|
|
32
|
+
supervisorAvailable: boolean;
|
|
33
|
+
supervisorAddress?: string;
|
|
34
|
+
deviceState?: IBalenaDeviceState;
|
|
35
|
+
stateStatus?: IBalenaStateStatus;
|
|
36
|
+
checkedAt: number;
|
|
37
|
+
}
|
|
38
|
+
export interface IBaseOsDesiredState {
|
|
39
|
+
release?: string;
|
|
40
|
+
targetState?: Record<string, unknown>;
|
|
41
|
+
updatedAt?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface IBaseOsNode {
|
|
44
|
+
id: string;
|
|
45
|
+
data: {
|
|
46
|
+
runtimeInfo: IBaseOsRuntimeInfo;
|
|
47
|
+
desiredState?: IBaseOsDesiredState;
|
|
48
|
+
createdAt: number;
|
|
49
|
+
updatedAt: number;
|
|
50
|
+
lastHeartbeatAt?: number;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export type TBaseOsImageArchitecture = 'amd64' | 'arm64' | 'rpi';
|
|
54
|
+
export type TBaseOsImageKind = 'ubuntu-iso' | 'balena-raw';
|
|
55
|
+
export type TBaseOsImageSourcePreset = 'balena-generic-amd64' | 'balena-generic-aarch64' | 'balena-raspberrypi4-64';
|
|
56
|
+
export type TBaseOsImageBuildStatus = 'queued' | 'building' | 'ready' | 'failed' | 'cancelled';
|
|
57
|
+
export interface IBaseOsWifiConfig {
|
|
58
|
+
ssid: string;
|
|
59
|
+
password?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface IBaseOsImageArtifact {
|
|
62
|
+
bucketName: string;
|
|
63
|
+
key: string;
|
|
64
|
+
filename: string;
|
|
65
|
+
contentType: string;
|
|
66
|
+
size: number;
|
|
67
|
+
sha256: string;
|
|
68
|
+
createdAt: number;
|
|
69
|
+
}
|
|
70
|
+
export interface IBaseOsImageBuild {
|
|
71
|
+
id: string;
|
|
72
|
+
data: {
|
|
73
|
+
status: TBaseOsImageBuildStatus;
|
|
74
|
+
architecture: TBaseOsImageArchitecture;
|
|
75
|
+
imageKind?: TBaseOsImageKind;
|
|
76
|
+
cloudlyUrl: string;
|
|
77
|
+
sourceImageUrl?: string;
|
|
78
|
+
sourceImagePreset?: TBaseOsImageSourcePreset;
|
|
79
|
+
balenaOsVersion?: string;
|
|
80
|
+
ubuntuVersion?: string;
|
|
81
|
+
hostname?: string;
|
|
82
|
+
wifiSsid?: string;
|
|
83
|
+
sshPublicKey?: string;
|
|
84
|
+
artifact?: IBaseOsImageArtifact;
|
|
85
|
+
errorText?: string;
|
|
86
|
+
logs: string[];
|
|
87
|
+
createdAt: number;
|
|
88
|
+
updatedAt: number;
|
|
89
|
+
startedAt?: number;
|
|
90
|
+
completedAt?: number;
|
|
91
|
+
expiresAt?: number;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface IBaseOsImageBuildRequest {
|
|
95
|
+
architecture: TBaseOsImageArchitecture;
|
|
96
|
+
imageKind?: TBaseOsImageKind;
|
|
97
|
+
cloudlyUrl?: string;
|
|
98
|
+
sourceImageUrl?: string;
|
|
99
|
+
sourceImagePreset?: TBaseOsImageSourcePreset;
|
|
100
|
+
balenaOsVersion?: string;
|
|
101
|
+
ubuntuVersion?: string;
|
|
102
|
+
hostname?: string;
|
|
103
|
+
wifi?: IBaseOsWifiConfig;
|
|
104
|
+
sshPublicKey?: string;
|
|
105
|
+
artifactRetentionMs?: number;
|
|
106
|
+
}
|
|
107
|
+
export interface IBaseOsImageDownloadUrl {
|
|
108
|
+
url: string;
|
|
109
|
+
expiresAt: number;
|
|
110
|
+
}
|
|
111
|
+
export interface IBaseOsRegisterResult {
|
|
112
|
+
nodeId?: string;
|
|
113
|
+
nodeToken?: string;
|
|
114
|
+
accepted: boolean;
|
|
115
|
+
message?: string;
|
|
116
|
+
desiredState?: IBaseOsDesiredState;
|
|
117
|
+
}
|
|
118
|
+
export interface IBaseOsHeartbeatResult {
|
|
119
|
+
accepted: boolean;
|
|
120
|
+
message?: string;
|
|
121
|
+
desiredState?: IBaseOsDesiredState;
|
|
122
|
+
}
|
package/dist_ts/data/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export * from './registry.js';
|
|
|
12
12
|
export * from './secretbundle.js';
|
|
13
13
|
export * from './secretgroup.js';
|
|
14
14
|
export * from './baremetal.js';
|
|
15
|
+
export * from './baseos.js';
|
|
16
|
+
export * from './backup.js';
|
|
15
17
|
export * from './clusternode.js';
|
|
16
18
|
export * from './settings.js';
|
|
17
19
|
export * from './service.js';
|
package/dist_ts/data/index.js
CHANGED
|
@@ -12,6 +12,8 @@ export * from './registry.js';
|
|
|
12
12
|
export * from './secretbundle.js';
|
|
13
13
|
export * from './secretgroup.js';
|
|
14
14
|
export * from './baremetal.js';
|
|
15
|
+
export * from './baseos.js';
|
|
16
|
+
export * from './backup.js';
|
|
15
17
|
export * from './clusternode.js';
|
|
16
18
|
export * from './settings.js';
|
|
17
19
|
export * from './service.js';
|
|
@@ -20,4 +22,4 @@ export * from './taskexecution.js';
|
|
|
20
22
|
export * from './traffic.js';
|
|
21
23
|
export * from './user.js';
|
|
22
24
|
export * from './version.js';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQyJ9
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { IServiceRessources } from './docker.js';
|
|
2
2
|
import type { IRegistryTarget } from './registry.js';
|
|
3
|
+
export interface IServiceVolume {
|
|
4
|
+
/** Stable Docker volume name. If omitted, Coreflow derives one from service id and mount path. */
|
|
5
|
+
name?: string;
|
|
6
|
+
/** Alias for name when a volume is shared intentionally across services. */
|
|
7
|
+
source?: string;
|
|
8
|
+
/** Container path where the volume is mounted. */
|
|
9
|
+
mountPath: string;
|
|
10
|
+
/** Docker volume driver. Defaults to corestore. */
|
|
11
|
+
driver?: 'corestore' | 'local' | string;
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
14
|
+
backup?: boolean;
|
|
15
|
+
/** Driver-specific options forwarded to Docker's VolumeDriver.Create request. */
|
|
16
|
+
options?: Record<string, string>;
|
|
17
|
+
}
|
|
3
18
|
export interface IService {
|
|
4
19
|
id: string;
|
|
5
20
|
data: {
|
|
@@ -53,6 +68,7 @@ export interface IService {
|
|
|
53
68
|
[domain: string]: string;
|
|
54
69
|
};
|
|
55
70
|
};
|
|
71
|
+
volumes?: IServiceVolume[];
|
|
56
72
|
resources?: IServiceRessources;
|
|
57
73
|
domains: {
|
|
58
74
|
/**
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
export interface ICloudlySettings {
|
|
6
6
|
hetznerToken?: string;
|
|
7
7
|
cloudflareToken?: string;
|
|
8
|
+
baseosJoinToken?: string;
|
|
9
|
+
corebuildWorkerUrl?: string;
|
|
10
|
+
corebuildWorkerToken?: string;
|
|
11
|
+
corebuildWorkersJson?: string;
|
|
8
12
|
awsAccessKey?: string;
|
|
9
13
|
awsSecretKey?: string;
|
|
10
14
|
awsRegion?: string;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IBackupArchiveManifest, IBackupArchiveObject, IBackupRecord, IBackupReplicationResult, TBackupSnapshot } from '../data/backup.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
4
|
+
import type { IIdentity } from '../data/user.js';
|
|
5
|
+
export interface IReq_Any_Cloudly_CreateServiceBackup extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_CreateServiceBackup> {
|
|
6
|
+
method: 'createServiceBackup';
|
|
7
|
+
request: {
|
|
8
|
+
identity: IIdentity;
|
|
9
|
+
serviceId: string;
|
|
10
|
+
clusterId?: string;
|
|
11
|
+
tags?: Record<string, string>;
|
|
12
|
+
replicate?: boolean;
|
|
13
|
+
};
|
|
14
|
+
response: {
|
|
15
|
+
backup: IBackupRecord;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface IReq_Any_Cloudly_GetServiceBackups extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetServiceBackups> {
|
|
19
|
+
method: 'getServiceBackups';
|
|
20
|
+
request: {
|
|
21
|
+
identity: IIdentity;
|
|
22
|
+
serviceId?: string;
|
|
23
|
+
status?: IBackupRecord['status'];
|
|
24
|
+
};
|
|
25
|
+
response: {
|
|
26
|
+
backups: IBackupRecord[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface IReq_Any_Cloudly_GetBackupById extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetBackupById> {
|
|
30
|
+
method: 'getBackupById';
|
|
31
|
+
request: {
|
|
32
|
+
identity: IIdentity;
|
|
33
|
+
backupId: string;
|
|
34
|
+
};
|
|
35
|
+
response: {
|
|
36
|
+
backup: IBackupRecord;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface IReq_Any_Cloudly_RestoreServiceBackup extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_RestoreServiceBackup> {
|
|
40
|
+
method: 'restoreServiceBackup';
|
|
41
|
+
request: {
|
|
42
|
+
identity: IIdentity;
|
|
43
|
+
backupId: string;
|
|
44
|
+
clear?: boolean;
|
|
45
|
+
resourceTypes?: Array<TBackupSnapshot['type']>;
|
|
46
|
+
};
|
|
47
|
+
response: {
|
|
48
|
+
backup: IBackupRecord;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface IReq_Cloudly_Coreflow_ExecuteServiceBackup extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_ExecuteServiceBackup> {
|
|
52
|
+
method: 'executeServiceBackup';
|
|
53
|
+
request: {
|
|
54
|
+
backupId: string;
|
|
55
|
+
service: IService;
|
|
56
|
+
tags?: Record<string, string>;
|
|
57
|
+
replication?: {
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
response: {
|
|
62
|
+
snapshots: TBackupSnapshot[];
|
|
63
|
+
replication?: IBackupReplicationResult;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface IReq_Cloudly_Coreflow_ExecuteServiceRestore extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Cloudly_Coreflow_ExecuteServiceRestore> {
|
|
67
|
+
method: 'executeServiceRestore';
|
|
68
|
+
request: {
|
|
69
|
+
backupId: string;
|
|
70
|
+
service: IService;
|
|
71
|
+
snapshots: TBackupSnapshot[];
|
|
72
|
+
clear?: boolean;
|
|
73
|
+
resourceTypes?: Array<TBackupSnapshot['type']>;
|
|
74
|
+
replication?: {
|
|
75
|
+
enabled: boolean;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
response: {
|
|
79
|
+
restored: TBackupSnapshot[];
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export interface IReq_Coreflow_Cloudly_PrepareBackupReplication extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_PrepareBackupReplication> {
|
|
83
|
+
method: 'prepareBackupReplication';
|
|
84
|
+
request: {
|
|
85
|
+
identity: IIdentity;
|
|
86
|
+
backupId: string;
|
|
87
|
+
manifest: IBackupArchiveManifest;
|
|
88
|
+
};
|
|
89
|
+
response: {
|
|
90
|
+
missingObjects: IBackupArchiveObject[];
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export interface IReq_Coreflow_Cloudly_UploadBackupArchiveObject extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_UploadBackupArchiveObject> {
|
|
94
|
+
method: 'uploadBackupArchiveObject';
|
|
95
|
+
request: {
|
|
96
|
+
identity: IIdentity;
|
|
97
|
+
backupId: string;
|
|
98
|
+
object: IBackupArchiveObject;
|
|
99
|
+
contentsBase64: string;
|
|
100
|
+
};
|
|
101
|
+
response: {
|
|
102
|
+
accepted: boolean;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export interface IReq_Coreflow_Cloudly_CompleteBackupReplication extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_CompleteBackupReplication> {
|
|
106
|
+
method: 'completeBackupReplication';
|
|
107
|
+
request: {
|
|
108
|
+
identity: IIdentity;
|
|
109
|
+
backupId: string;
|
|
110
|
+
manifest: IBackupArchiveManifest;
|
|
111
|
+
};
|
|
112
|
+
response: {
|
|
113
|
+
replication: IBackupReplicationResult;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export interface IReq_Coreflow_Cloudly_GetBackupArchiveManifest extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_GetBackupArchiveManifest> {
|
|
117
|
+
method: 'getBackupArchiveManifest';
|
|
118
|
+
request: {
|
|
119
|
+
identity: IIdentity;
|
|
120
|
+
backupId: string;
|
|
121
|
+
};
|
|
122
|
+
response: {
|
|
123
|
+
manifest: IBackupArchiveManifest;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
export interface IReq_Coreflow_Cloudly_DownloadBackupArchiveObject extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Coreflow_Cloudly_DownloadBackupArchiveObject> {
|
|
127
|
+
method: 'downloadBackupArchiveObject';
|
|
128
|
+
request: {
|
|
129
|
+
identity: IIdentity;
|
|
130
|
+
backupId: string;
|
|
131
|
+
object: IBackupArchiveObject;
|
|
132
|
+
};
|
|
133
|
+
response: {
|
|
134
|
+
object: IBackupArchiveObject;
|
|
135
|
+
contentsBase64: string;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvYmFja3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { IBaseOsHeartbeatResult, IBaseOsDesiredState, IBaseOsImageBuild, IBaseOsImageBuildRequest, IBaseOsImageDownloadUrl, IBaseOsNode, IBaseOsRegisterResult, IBaseOsRuntimeInfo } from '../data/baseos.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
export interface IRequest_BaseOs_Cloudly_RegisterNode {
|
|
4
|
+
method: 'baseOsRegisterNode';
|
|
5
|
+
request: {
|
|
6
|
+
joinToken?: string;
|
|
7
|
+
nodeToken?: string;
|
|
8
|
+
status: IBaseOsRuntimeInfo;
|
|
9
|
+
};
|
|
10
|
+
response: IBaseOsRegisterResult;
|
|
11
|
+
}
|
|
12
|
+
export interface IRequest_BaseOs_Cloudly_SendHeartbeat {
|
|
13
|
+
method: 'baseOsSendHeartbeat';
|
|
14
|
+
request: {
|
|
15
|
+
nodeToken: string;
|
|
16
|
+
status: IBaseOsRuntimeInfo;
|
|
17
|
+
};
|
|
18
|
+
response: IBaseOsHeartbeatResult;
|
|
19
|
+
}
|
|
20
|
+
export interface IRequest_Any_Cloudly_GetBaseOsNodes {
|
|
21
|
+
method: 'getBaseOsNodes';
|
|
22
|
+
request: {
|
|
23
|
+
identity: IIdentity;
|
|
24
|
+
};
|
|
25
|
+
response: {
|
|
26
|
+
nodes: IBaseOsNode[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface IRequest_Any_Cloudly_SetBaseOsNodeDesiredState {
|
|
30
|
+
method: 'setBaseOsNodeDesiredState';
|
|
31
|
+
request: {
|
|
32
|
+
identity: IIdentity;
|
|
33
|
+
nodeId: string;
|
|
34
|
+
desiredState: IBaseOsDesiredState;
|
|
35
|
+
};
|
|
36
|
+
response: {
|
|
37
|
+
node: IBaseOsNode;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface IRequest_Any_Cloudly_CreateBaseOsImageBuild {
|
|
41
|
+
method: 'createBaseOsImageBuild';
|
|
42
|
+
request: {
|
|
43
|
+
identity: IIdentity;
|
|
44
|
+
build: IBaseOsImageBuildRequest;
|
|
45
|
+
};
|
|
46
|
+
response: {
|
|
47
|
+
build: IBaseOsImageBuild;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export interface IRequest_Any_Cloudly_GetBaseOsImageBuilds {
|
|
51
|
+
method: 'getBaseOsImageBuilds';
|
|
52
|
+
request: {
|
|
53
|
+
identity: IIdentity;
|
|
54
|
+
};
|
|
55
|
+
response: {
|
|
56
|
+
builds: IBaseOsImageBuild[];
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export interface IRequest_Any_Cloudly_GetBaseOsImageBuildById {
|
|
60
|
+
method: 'getBaseOsImageBuildById';
|
|
61
|
+
request: {
|
|
62
|
+
identity: IIdentity;
|
|
63
|
+
buildId: string;
|
|
64
|
+
};
|
|
65
|
+
response: {
|
|
66
|
+
build: IBaseOsImageBuild;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface IRequest_Any_Cloudly_CreateBaseOsImageDownloadUrl {
|
|
70
|
+
method: 'createBaseOsImageDownloadUrl';
|
|
71
|
+
request: {
|
|
72
|
+
identity: IIdentity;
|
|
73
|
+
buildId: string;
|
|
74
|
+
};
|
|
75
|
+
response: IBaseOsImageDownloadUrl;
|
|
76
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as adminRequests from './admin.js';
|
|
2
2
|
import * as baremetalRequests from './baremetal.js';
|
|
3
|
+
import * as baseOsRequests from './baseos.js';
|
|
4
|
+
import * as backupRequests from './backup.js';
|
|
3
5
|
import * as certificateRequests from './certificate.js';
|
|
4
6
|
import * as clusterRequests from './cluster.js';
|
|
5
7
|
import * as configRequests from './config.js';
|
|
@@ -23,5 +25,5 @@ import * as settingsRequests from './settings.js';
|
|
|
23
25
|
import * as statusRequests from './status.js';
|
|
24
26
|
import * as taskRequests from './task.js';
|
|
25
27
|
import * as versionRequests from './version.js';
|
|
26
|
-
export { adminRequests as admin, baremetalRequests as baremetal, 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, };
|
|
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, };
|
|
27
29
|
export * from './inform.js';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import * as adminRequests from './admin.js';
|
|
3
3
|
import * as baremetalRequests from './baremetal.js';
|
|
4
|
+
import * as baseOsRequests from './baseos.js';
|
|
5
|
+
import * as backupRequests from './backup.js';
|
|
4
6
|
import * as certificateRequests from './certificate.js';
|
|
5
7
|
import * as clusterRequests from './cluster.js';
|
|
6
8
|
import * as configRequests from './config.js';
|
|
@@ -24,6 +26,6 @@ import * as settingsRequests from './settings.js';
|
|
|
24
26
|
import * as statusRequests from './status.js';
|
|
25
27
|
import * as taskRequests from './task.js';
|
|
26
28
|
import * as versionRequests from './version.js';
|
|
27
|
-
export { adminRequests as admin, baremetalRequests as baremetal, 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, 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, };
|
|
28
30
|
export * from './inform.js';
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssd0JBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxvQkFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUVoRCxPQUFPLEVBQ0wsYUFBYSxJQUFJLEtBQUssRUFDdEIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixjQUFjLElBQUksTUFBTSxFQUN4QixjQUFjLElBQUksTUFBTSxFQUN4QixtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGtCQUFrQixJQUFJLFVBQVUsRUFDaEMsV0FBVyxJQUFJLEdBQUcsRUFDbEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsd0JBQXdCLElBQUksZ0JBQWdCLEVBQzVDLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsYUFBYSxJQUFJLEtBQUssRUFDdEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsV0FBVyxJQUFJLEdBQUcsRUFDbEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsWUFBWSxJQUFJLElBQUksRUFDcEIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixlQUFlLElBQUksT0FBTyxFQUMxQixvQkFBb0IsSUFBSSxZQUFZLEVBQ3BDLG1CQUFtQixJQUFJLFdBQVcsRUFDbEMsY0FBYyxJQUFJLE1BQU0sRUFDeEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixjQUFjLElBQUksTUFBTSxFQUN4QixZQUFZLElBQUksSUFBSSxFQUNwQixlQUFlLElBQUksT0FBTyxHQUMzQixDQUFDO0FBRUYsY0FBYyxhQUFhLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/interfaces",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.8.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
|
|
6
6
|
"exports": {
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@api.global/typedrequest-interfaces": "^3.0.19",
|
|
14
14
|
"@push.rocks/smartlog-interfaces": "^3.0.2",
|
|
15
|
-
"@tsclass/tsclass": "^9.
|
|
15
|
+
"@tsclass/tsclass": "^9.5.1"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@git.zone/tsbuild": "^4.4.0",
|
|
19
|
-
"@git.zone/tsdoc": "^2.0.
|
|
20
|
-
"@git.zone/tsrun": "^2.0.
|
|
19
|
+
"@git.zone/tsdoc": "^2.0.3",
|
|
20
|
+
"@git.zone/tsrun": "^2.0.3",
|
|
21
21
|
"@git.zone/tstest": "^3.6.3",
|
|
22
|
-
"@types/node": "^25.6.
|
|
22
|
+
"@types/node": "^25.6.1"
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"ts/**/*",
|