@serve.zone/interfaces 5.0.4 → 5.4.2
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 +32 -0
- package/changelog.md +22 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/data/baremetal.d.ts +61 -0
- package/dist_ts/data/baremetal.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/data/cloudlyconfig.d.ts +0 -2
- package/{dist_ts_interfaces → dist_ts}/data/cloudlyconfig.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/cluster.d.ts +7 -3
- package/{dist_ts_interfaces → dist_ts}/data/cluster.js +1 -1
- package/dist_ts/data/clusternode.d.ts +59 -0
- package/dist_ts/data/clusternode.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/data/config.js +1 -1
- package/dist_ts/data/deployment.d.ts +51 -0
- package/{dist_ts_interfaces → dist_ts}/data/deployment.js +1 -1
- package/dist_ts/data/dns.d.ts +85 -0
- package/dist_ts/data/dns.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/data/docker.js +1 -1
- package/dist_ts/data/domain.d.ts +102 -0
- package/dist_ts/data/domain.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/data/event.js +1 -1
- package/dist_ts/data/externalregistry.d.ts +92 -0
- package/{dist_ts_interfaces → dist_ts}/data/externalregistry.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/image.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/index.d.ts +6 -1
- package/dist_ts/data/index.js +22 -0
- package/{dist_ts_interfaces → dist_ts}/data/secretbundle.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/secretgroup.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/server.js +1 -1
- package/dist_ts/data/service.d.ts +75 -0
- package/{dist_ts_interfaces → dist_ts}/data/service.js +1 -1
- package/dist_ts/data/settings.d.ts +34 -0
- package/dist_ts/data/settings.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/data/status.js +1 -1
- package/dist_ts/data/taskexecution.d.ts +72 -0
- package/dist_ts/data/taskexecution.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/data/traffic.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/user.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/data/version.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/index.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/platformservice/aibridge.js +1 -1
- package/dist_ts/platformservice/index.js +7 -0
- package/{dist_ts_interfaces → dist_ts}/platformservice/letter.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/platformservice/mta.js +1 -1
- package/dist_ts/platformservice/pushnotification.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/platformservice/sms.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/plugins.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/admin.js +1 -1
- package/dist_ts/requests/baremetal.d.ts +19 -0
- package/dist_ts/requests/baremetal.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/requests/certificate.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/cluster.d.ts +1 -0
- package/{dist_ts_interfaces → dist_ts}/requests/cluster.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/config.js +1 -1
- package/dist_ts/requests/deployment.d.ts +96 -0
- package/dist_ts/requests/deployment.js +2 -0
- package/dist_ts/requests/dns.d.ts +63 -0
- package/dist_ts/requests/dns.js +2 -0
- package/dist_ts/requests/domain.d.ts +69 -0
- package/dist_ts/requests/domain.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/requests/externalregistry.d.ts +13 -0
- package/dist_ts/requests/externalregistry.js +4 -0
- package/{dist_ts_interfaces → dist_ts}/requests/identity.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/image.js +1 -1
- package/dist_ts/requests/index.d.ts +26 -0
- package/dist_ts/requests/index.js +28 -0
- package/{dist_ts_interfaces → dist_ts}/requests/inform.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/log.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/network.js +1 -1
- package/dist_ts/requests/node.d.ts +29 -0
- package/dist_ts/requests/node.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/requests/routing.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/secretbundle.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/secretgroup.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/server.js +1 -1
- package/{dist_ts_interfaces → dist_ts}/requests/service.js +1 -1
- package/dist_ts/requests/settings.d.ts +49 -0
- package/dist_ts/requests/settings.js +2 -0
- package/{dist_ts_interfaces → dist_ts}/requests/status.js +1 -1
- package/dist_ts/requests/task.d.ts +65 -0
- package/dist_ts/requests/task.js +4 -0
- package/{dist_ts_interfaces → dist_ts}/requests/version.js +1 -1
- package/license +1 -1
- package/package.json +43 -18
- package/readme.md +12 -206
- package/{ts_interfaces → ts}/00_commitinfo_data.ts +2 -2
- package/ts/data/baremetal.ts +73 -0
- package/{ts_interfaces → ts}/data/cloudlyconfig.ts +0 -2
- package/{ts_interfaces → ts}/data/cluster.ts +8 -3
- package/ts/data/clusternode.ts +71 -0
- package/ts/data/deployment.ts +63 -0
- package/ts/data/dns.ts +100 -0
- package/ts/data/domain.ts +124 -0
- package/ts/data/externalregistry.ts +110 -0
- package/{ts_interfaces → ts}/data/index.ts +7 -2
- package/ts/data/service.ts +77 -0
- package/ts/data/settings.ts +56 -0
- package/ts/data/taskexecution.ts +84 -0
- package/ts/requests/baremetal.ts +22 -0
- package/{ts_interfaces → ts}/requests/cluster.ts +1 -0
- package/ts/requests/deployment.ts +141 -0
- package/ts/requests/dns.ts +93 -0
- package/ts/requests/domain.ts +99 -0
- package/{ts_interfaces → ts}/requests/externalregistry.ts +17 -0
- package/{ts_interfaces → ts}/requests/index.ts +14 -0
- package/ts/requests/node.ts +33 -0
- package/ts/requests/settings.ts +59 -0
- package/ts/requests/task.ts +95 -0
- package/cli.js +0 -4
- package/dist_ts_interfaces/00_commitinfo_data.js +0 -9
- package/dist_ts_interfaces/data/deployment.d.ts +0 -11
- package/dist_ts_interfaces/data/externalregistry.d.ts +0 -10
- package/dist_ts_interfaces/data/index.js +0 -17
- package/dist_ts_interfaces/data/service.d.ts +0 -37
- package/dist_ts_interfaces/platformservice/index.js +0 -7
- package/dist_ts_interfaces/platformservice/pushnotification.js +0 -2
- package/dist_ts_interfaces/requests/externalregistry.js +0 -4
- package/dist_ts_interfaces/requests/index.d.ts +0 -19
- package/dist_ts_interfaces/requests/index.js +0 -21
- package/ts_interfaces/data/deployment.ts +0 -13
- package/ts_interfaces/data/externalregistry.ts +0 -12
- package/ts_interfaces/data/service.ts +0 -34
- package/ts_interfaces/readme.md +0 -223
- package/ts_interfaces/tspublish.json +0 -13
- /package/{dist_ts_interfaces → dist_ts}/00_commitinfo_data.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/config.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/docker.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/event.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/image.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/secretbundle.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/secretgroup.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/server.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/status.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/traffic.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/user.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/data/version.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/index.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/platformservice/aibridge.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/platformservice/index.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/platformservice/letter.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/platformservice/mta.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/platformservice/pushnotification.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/platformservice/sms.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/plugins.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/admin.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/certificate.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/config.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/identity.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/image.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/inform.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/log.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/network.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/routing.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/secretbundle.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/secretgroup.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/server.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/service.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/status.d.ts +0 -0
- /package/{dist_ts_interfaces → dist_ts}/requests/version.d.ts +0 -0
- /package/{ts_interfaces → ts}/data/config.ts +0 -0
- /package/{ts_interfaces → ts}/data/docker.ts +0 -0
- /package/{ts_interfaces → ts}/data/event.ts +0 -0
- /package/{ts_interfaces → ts}/data/image.ts +0 -0
- /package/{ts_interfaces → ts}/data/secretbundle.ts +0 -0
- /package/{ts_interfaces → ts}/data/secretgroup.ts +0 -0
- /package/{ts_interfaces → ts}/data/server.ts +0 -0
- /package/{ts_interfaces → ts}/data/status.ts +0 -0
- /package/{ts_interfaces → ts}/data/traffic.ts +0 -0
- /package/{ts_interfaces → ts}/data/user.ts +0 -0
- /package/{ts_interfaces → ts}/data/version.ts +0 -0
- /package/{ts_interfaces → ts}/index.ts +0 -0
- /package/{ts_interfaces → ts}/platformservice/00readme.md +0 -0
- /package/{ts_interfaces → ts}/platformservice/aibridge.ts +0 -0
- /package/{ts_interfaces → ts}/platformservice/index.ts +0 -0
- /package/{ts_interfaces → ts}/platformservice/letter.ts +0 -0
- /package/{ts_interfaces → ts}/platformservice/mta.ts +0 -0
- /package/{ts_interfaces → ts}/platformservice/pushnotification.ts +0 -0
- /package/{ts_interfaces → ts}/platformservice/sms.ts +0 -0
- /package/{ts_interfaces → ts}/plugins.ts +0 -0
- /package/{ts_interfaces → ts}/requests/admin.ts +0 -0
- /package/{ts_interfaces → ts}/requests/certificate.ts +0 -0
- /package/{ts_interfaces → ts}/requests/config.ts +0 -0
- /package/{ts_interfaces → ts}/requests/identity.ts +0 -0
- /package/{ts_interfaces → ts}/requests/image.ts +0 -0
- /package/{ts_interfaces → ts}/requests/inform.ts +0 -0
- /package/{ts_interfaces → ts}/requests/log.ts +0 -0
- /package/{ts_interfaces → ts}/requests/network.ts +0 -0
- /package/{ts_interfaces → ts}/requests/routing.ts +0 -0
- /package/{ts_interfaces → ts}/requests/secretbundle.ts +0 -0
- /package/{ts_interfaces → ts}/requests/secretgroup.ts +0 -0
- /package/{ts_interfaces → ts}/requests/server.ts +0 -0
- /package/{ts_interfaces → ts}/requests/service.ts +0 -0
- /package/{ts_interfaces → ts}/requests/status.ts +0 -0
- /package/{ts_interfaces → ts}/requests/version.ts +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Interface for Cloudly settings stored in EasyStore
|
|
5
|
+
* These are runtime-configurable settings that can be modified via the UI
|
|
6
|
+
*/
|
|
7
|
+
export interface ICloudlySettings {
|
|
8
|
+
// Cloud Provider Tokens
|
|
9
|
+
hetznerToken?: string;
|
|
10
|
+
cloudflareToken?: string;
|
|
11
|
+
|
|
12
|
+
// AWS Credentials
|
|
13
|
+
awsAccessKey?: string;
|
|
14
|
+
awsSecretKey?: string;
|
|
15
|
+
awsRegion?: string;
|
|
16
|
+
|
|
17
|
+
// DigitalOcean
|
|
18
|
+
digitalOceanToken?: string;
|
|
19
|
+
|
|
20
|
+
// Azure Credentials
|
|
21
|
+
azureClientId?: string;
|
|
22
|
+
azureClientSecret?: string;
|
|
23
|
+
azureTenantId?: string;
|
|
24
|
+
azureSubscriptionId?: string;
|
|
25
|
+
|
|
26
|
+
// Google Cloud
|
|
27
|
+
googleCloudKeyJson?: string;
|
|
28
|
+
googleCloudProjectId?: string;
|
|
29
|
+
|
|
30
|
+
// Vultr
|
|
31
|
+
vultrApiKey?: string;
|
|
32
|
+
|
|
33
|
+
// Linode
|
|
34
|
+
linodeToken?: string;
|
|
35
|
+
|
|
36
|
+
// OVH
|
|
37
|
+
ovhApplicationKey?: string;
|
|
38
|
+
ovhApplicationSecret?: string;
|
|
39
|
+
ovhConsumerKey?: string;
|
|
40
|
+
|
|
41
|
+
// Scaleway
|
|
42
|
+
scalewayAccessKey?: string;
|
|
43
|
+
scalewaySecretKey?: string;
|
|
44
|
+
scalewayOrganizationId?: string;
|
|
45
|
+
|
|
46
|
+
// Other settings that might be added in the future
|
|
47
|
+
[key: string]: string | undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Interface for masked settings (used in API responses)
|
|
52
|
+
* Shows only last 4 characters of sensitive tokens
|
|
53
|
+
*/
|
|
54
|
+
export type ICloudlySettingsMasked = {
|
|
55
|
+
[K in keyof ICloudlySettings]: string | undefined;
|
|
56
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task execution tracking for the task management system
|
|
3
|
+
* Tasks themselves are hard-coded using @push.rocks/taskbuffer
|
|
4
|
+
* This interface tracks execution history and outcomes
|
|
5
|
+
*/
|
|
6
|
+
export interface ITaskExecution {
|
|
7
|
+
id: string;
|
|
8
|
+
data: {
|
|
9
|
+
/**
|
|
10
|
+
* Name of the task being executed
|
|
11
|
+
*/
|
|
12
|
+
taskName: string;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Optional description of what the task does
|
|
16
|
+
*/
|
|
17
|
+
taskDescription?: string;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Category for grouping tasks
|
|
21
|
+
*/
|
|
22
|
+
category?: 'maintenance' | 'deployment' | 'backup' | 'monitoring' | 'cleanup' | 'system' | 'security';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Timestamp when the task started
|
|
26
|
+
*/
|
|
27
|
+
startedAt: number;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Timestamp when the task completed
|
|
31
|
+
*/
|
|
32
|
+
completedAt?: number;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Current status of the task execution
|
|
36
|
+
*/
|
|
37
|
+
status: 'running' | 'completed' | 'failed' | 'cancelled';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Duration in milliseconds
|
|
41
|
+
*/
|
|
42
|
+
duration?: number;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* How the task was triggered
|
|
46
|
+
*/
|
|
47
|
+
triggeredBy: 'schedule' | 'manual' | 'system';
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* User ID if manually triggered
|
|
51
|
+
*/
|
|
52
|
+
userId?: string;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Execution logs
|
|
56
|
+
*/
|
|
57
|
+
logs: Array<{
|
|
58
|
+
timestamp: number;
|
|
59
|
+
message: string;
|
|
60
|
+
severity: 'info' | 'warning' | 'error' | 'success';
|
|
61
|
+
}>;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Task-specific metrics
|
|
65
|
+
*/
|
|
66
|
+
metrics?: {
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Final result/output of the task
|
|
72
|
+
*/
|
|
73
|
+
result?: any;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Error details if the task failed
|
|
77
|
+
*/
|
|
78
|
+
error?: {
|
|
79
|
+
message: string;
|
|
80
|
+
stack?: string;
|
|
81
|
+
code?: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IBareMetal } from '../data/baremetal.js';
|
|
3
|
+
|
|
4
|
+
export interface IRequest_Any_Cloudly_GetBaremetalServers {
|
|
5
|
+
method: 'getBaremetalServers';
|
|
6
|
+
request: {};
|
|
7
|
+
response: {
|
|
8
|
+
baremetals: IBareMetal[];
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface IRequest_Any_Cloudly_ControlBaremetal {
|
|
13
|
+
method: 'controlBaremetal';
|
|
14
|
+
request: {
|
|
15
|
+
baremetalId: string;
|
|
16
|
+
action: 'powerOn' | 'powerOff' | 'reset';
|
|
17
|
+
};
|
|
18
|
+
response: {
|
|
19
|
+
success: boolean;
|
|
20
|
+
message: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -41,6 +41,7 @@ export interface IRequest_CreateCluster extends plugins.typedrequestInterfaces.i
|
|
|
41
41
|
request: {
|
|
42
42
|
identity: userInterfaces.IIdentity;
|
|
43
43
|
clusterName: string;
|
|
44
|
+
setupMode?: 'manual' | 'hetzner' | 'aws' | 'digitalocean';
|
|
44
45
|
};
|
|
45
46
|
response: {
|
|
46
47
|
cluster: clusterInterfaces.ICluster;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IDeployment } from '../data/deployment.js';
|
|
3
|
+
import type { IIdentity } from '../data/user.js';
|
|
4
|
+
|
|
5
|
+
export interface IReq_Any_Cloudly_GetDeploymentById
|
|
6
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
7
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
8
|
+
IReq_Any_Cloudly_GetDeploymentById
|
|
9
|
+
> {
|
|
10
|
+
method: 'getDeploymentById';
|
|
11
|
+
request: {
|
|
12
|
+
identity: IIdentity;
|
|
13
|
+
deploymentId: string;
|
|
14
|
+
};
|
|
15
|
+
response: {
|
|
16
|
+
deployment: IDeployment;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IReq_Any_Cloudly_GetDeployments
|
|
21
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
22
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
23
|
+
IReq_Any_Cloudly_GetDeployments
|
|
24
|
+
> {
|
|
25
|
+
method: 'getDeployments';
|
|
26
|
+
request: {
|
|
27
|
+
identity: IIdentity;
|
|
28
|
+
};
|
|
29
|
+
response: {
|
|
30
|
+
deployments: IDeployment[];
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface IReq_Any_Cloudly_GetDeploymentsByService
|
|
35
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
36
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
37
|
+
IReq_Any_Cloudly_GetDeploymentsByService
|
|
38
|
+
> {
|
|
39
|
+
method: 'getDeploymentsByService';
|
|
40
|
+
request: {
|
|
41
|
+
identity: IIdentity;
|
|
42
|
+
serviceId: string;
|
|
43
|
+
};
|
|
44
|
+
response: {
|
|
45
|
+
deployments: IDeployment[];
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface IReq_Any_Cloudly_GetDeploymentsByNode
|
|
50
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
51
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
52
|
+
IReq_Any_Cloudly_GetDeploymentsByNode
|
|
53
|
+
> {
|
|
54
|
+
method: 'getDeploymentsByNode';
|
|
55
|
+
request: {
|
|
56
|
+
identity: IIdentity;
|
|
57
|
+
nodeId: string;
|
|
58
|
+
};
|
|
59
|
+
response: {
|
|
60
|
+
deployments: IDeployment[];
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface IReq_Any_Cloudly_CreateDeployment
|
|
65
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
66
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
67
|
+
IReq_Any_Cloudly_CreateDeployment
|
|
68
|
+
> {
|
|
69
|
+
method: 'createDeployment';
|
|
70
|
+
request: {
|
|
71
|
+
identity: IIdentity;
|
|
72
|
+
deploymentData: Partial<IDeployment>;
|
|
73
|
+
};
|
|
74
|
+
response: {
|
|
75
|
+
deployment: IDeployment;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface IReq_Any_Cloudly_UpdateDeployment
|
|
80
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
81
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
82
|
+
IReq_Any_Cloudly_UpdateDeployment
|
|
83
|
+
> {
|
|
84
|
+
method: 'updateDeployment';
|
|
85
|
+
request: {
|
|
86
|
+
identity: IIdentity;
|
|
87
|
+
deploymentId: string;
|
|
88
|
+
deploymentData: Partial<IDeployment>;
|
|
89
|
+
};
|
|
90
|
+
response: {
|
|
91
|
+
deployment: IDeployment;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface IReq_Any_Cloudly_DeleteDeploymentById
|
|
96
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
97
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
98
|
+
IReq_Any_Cloudly_DeleteDeploymentById
|
|
99
|
+
> {
|
|
100
|
+
method: 'deleteDeploymentById';
|
|
101
|
+
request: {
|
|
102
|
+
identity: IIdentity;
|
|
103
|
+
deploymentId: string;
|
|
104
|
+
};
|
|
105
|
+
response: {
|
|
106
|
+
success: boolean;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface IReq_Any_Cloudly_RestartDeployment
|
|
111
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
112
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
113
|
+
IReq_Any_Cloudly_RestartDeployment
|
|
114
|
+
> {
|
|
115
|
+
method: 'restartDeployment';
|
|
116
|
+
request: {
|
|
117
|
+
identity: IIdentity;
|
|
118
|
+
deploymentId: string;
|
|
119
|
+
};
|
|
120
|
+
response: {
|
|
121
|
+
success: boolean;
|
|
122
|
+
deployment: IDeployment;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface IReq_Any_Cloudly_ScaleDeployment
|
|
127
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
128
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
129
|
+
IReq_Any_Cloudly_ScaleDeployment
|
|
130
|
+
> {
|
|
131
|
+
method: 'scaleDeployment';
|
|
132
|
+
request: {
|
|
133
|
+
identity: IIdentity;
|
|
134
|
+
deploymentId: string;
|
|
135
|
+
replicas: number;
|
|
136
|
+
};
|
|
137
|
+
response: {
|
|
138
|
+
success: boolean;
|
|
139
|
+
deployment: IDeployment;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IDnsEntry } from '../data/dns.js';
|
|
3
|
+
import type { IIdentity } from '../data/user.js';
|
|
4
|
+
|
|
5
|
+
export interface IRequest_Any_Cloudly_GetDnsEntries
|
|
6
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
7
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
8
|
+
IRequest_Any_Cloudly_GetDnsEntries
|
|
9
|
+
> {
|
|
10
|
+
method: 'getDnsEntries';
|
|
11
|
+
request: {
|
|
12
|
+
identity: IIdentity;
|
|
13
|
+
zone?: string; // Optional filter by zone
|
|
14
|
+
};
|
|
15
|
+
response: {
|
|
16
|
+
dnsEntries: IDnsEntry[];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IRequest_Any_Cloudly_GetDnsEntryById
|
|
21
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
22
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
23
|
+
IRequest_Any_Cloudly_GetDnsEntryById
|
|
24
|
+
> {
|
|
25
|
+
method: 'getDnsEntryById';
|
|
26
|
+
request: {
|
|
27
|
+
identity: IIdentity;
|
|
28
|
+
dnsEntryId: string;
|
|
29
|
+
};
|
|
30
|
+
response: {
|
|
31
|
+
dnsEntry: IDnsEntry;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface IRequest_Any_Cloudly_CreateDnsEntry
|
|
36
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
37
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
38
|
+
IRequest_Any_Cloudly_CreateDnsEntry
|
|
39
|
+
> {
|
|
40
|
+
method: 'createDnsEntry';
|
|
41
|
+
request: {
|
|
42
|
+
identity: IIdentity;
|
|
43
|
+
dnsEntryData: IDnsEntry['data'];
|
|
44
|
+
};
|
|
45
|
+
response: {
|
|
46
|
+
dnsEntry: IDnsEntry;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface IRequest_Any_Cloudly_UpdateDnsEntry
|
|
51
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
52
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
53
|
+
IRequest_Any_Cloudly_UpdateDnsEntry
|
|
54
|
+
> {
|
|
55
|
+
method: 'updateDnsEntry';
|
|
56
|
+
request: {
|
|
57
|
+
identity: IIdentity;
|
|
58
|
+
dnsEntryId: string;
|
|
59
|
+
dnsEntryData: IDnsEntry['data'];
|
|
60
|
+
};
|
|
61
|
+
response: {
|
|
62
|
+
dnsEntry: IDnsEntry;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface IRequest_Any_Cloudly_DeleteDnsEntry
|
|
67
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
68
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
69
|
+
IRequest_Any_Cloudly_DeleteDnsEntry
|
|
70
|
+
> {
|
|
71
|
+
method: 'deleteDnsEntry';
|
|
72
|
+
request: {
|
|
73
|
+
identity: IIdentity;
|
|
74
|
+
dnsEntryId: string;
|
|
75
|
+
};
|
|
76
|
+
response: {
|
|
77
|
+
success: boolean;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface IRequest_Any_Cloudly_GetDnsZones
|
|
82
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
83
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
84
|
+
IRequest_Any_Cloudly_GetDnsZones
|
|
85
|
+
> {
|
|
86
|
+
method: 'getDnsZones';
|
|
87
|
+
request: {
|
|
88
|
+
identity: IIdentity;
|
|
89
|
+
};
|
|
90
|
+
response: {
|
|
91
|
+
zones: string[];
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IDomain } from '../data/domain.js';
|
|
3
|
+
import type { IIdentity } from '../data/user.js';
|
|
4
|
+
|
|
5
|
+
export interface IRequest_Any_Cloudly_GetDomains
|
|
6
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
7
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
8
|
+
IRequest_Any_Cloudly_GetDomains
|
|
9
|
+
> {
|
|
10
|
+
method: 'getDomains';
|
|
11
|
+
request: {
|
|
12
|
+
identity: IIdentity;
|
|
13
|
+
};
|
|
14
|
+
response: {
|
|
15
|
+
domains: IDomain[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface IRequest_Any_Cloudly_GetDomainById
|
|
20
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
21
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
22
|
+
IRequest_Any_Cloudly_GetDomainById
|
|
23
|
+
> {
|
|
24
|
+
method: 'getDomainById';
|
|
25
|
+
request: {
|
|
26
|
+
identity: IIdentity;
|
|
27
|
+
domainId: string;
|
|
28
|
+
};
|
|
29
|
+
response: {
|
|
30
|
+
domain: IDomain;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface IRequest_Any_Cloudly_CreateDomain
|
|
35
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
36
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
37
|
+
IRequest_Any_Cloudly_CreateDomain
|
|
38
|
+
> {
|
|
39
|
+
method: 'createDomain';
|
|
40
|
+
request: {
|
|
41
|
+
identity: IIdentity;
|
|
42
|
+
domainData: IDomain['data'];
|
|
43
|
+
};
|
|
44
|
+
response: {
|
|
45
|
+
domain: IDomain;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface IRequest_Any_Cloudly_UpdateDomain
|
|
50
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
51
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
52
|
+
IRequest_Any_Cloudly_UpdateDomain
|
|
53
|
+
> {
|
|
54
|
+
method: 'updateDomain';
|
|
55
|
+
request: {
|
|
56
|
+
identity: IIdentity;
|
|
57
|
+
domainId: string;
|
|
58
|
+
domainData: IDomain['data'];
|
|
59
|
+
};
|
|
60
|
+
response: {
|
|
61
|
+
domain: IDomain;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface IRequest_Any_Cloudly_DeleteDomain
|
|
66
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
67
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
68
|
+
IRequest_Any_Cloudly_DeleteDomain
|
|
69
|
+
> {
|
|
70
|
+
method: 'deleteDomain';
|
|
71
|
+
request: {
|
|
72
|
+
identity: IIdentity;
|
|
73
|
+
domainId: string;
|
|
74
|
+
};
|
|
75
|
+
response: {
|
|
76
|
+
success: boolean;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface IRequest_Any_Cloudly_VerifyDomain
|
|
81
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
82
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
83
|
+
IRequest_Any_Cloudly_VerifyDomain
|
|
84
|
+
> {
|
|
85
|
+
method: 'verifyDomain';
|
|
86
|
+
request: {
|
|
87
|
+
identity: IIdentity;
|
|
88
|
+
domainId: string;
|
|
89
|
+
verificationMethod?: 'dns' | 'http' | 'email' | 'manual';
|
|
90
|
+
};
|
|
91
|
+
response: {
|
|
92
|
+
domain: IDomain;
|
|
93
|
+
verificationResult: {
|
|
94
|
+
success: boolean;
|
|
95
|
+
message?: string;
|
|
96
|
+
details?: any;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
}
|
|
@@ -50,6 +50,7 @@ export interface IReq_UpdateRegistry extends plugins.typedrequestInterfaces.impl
|
|
|
50
50
|
method: 'updateExternalRegistry';
|
|
51
51
|
request: {
|
|
52
52
|
identity: userInterfaces.IIdentity;
|
|
53
|
+
registryId: string;
|
|
53
54
|
registryData: data.IExternalRegistry['data'];
|
|
54
55
|
};
|
|
55
56
|
response: {
|
|
@@ -69,4 +70,20 @@ export interface IReq_DeleteRegistryById extends plugins.typedrequestInterfaces.
|
|
|
69
70
|
response: {
|
|
70
71
|
ok: boolean;
|
|
71
72
|
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface IReq_VerifyRegistry extends plugins.typedrequestInterfaces.implementsTR<
|
|
76
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
77
|
+
IReq_VerifyRegistry
|
|
78
|
+
> {
|
|
79
|
+
method: 'verifyExternalRegistry';
|
|
80
|
+
request: {
|
|
81
|
+
identity: userInterfaces.IIdentity;
|
|
82
|
+
registryId: string;
|
|
83
|
+
};
|
|
84
|
+
response: {
|
|
85
|
+
success: boolean;
|
|
86
|
+
message?: string;
|
|
87
|
+
registry?: data.IExternalRegistry;
|
|
88
|
+
};
|
|
72
89
|
}
|
|
@@ -1,40 +1,54 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
|
|
3
3
|
import * as adminRequests from './admin.js';
|
|
4
|
+
import * as baremetalRequests from './baremetal.js';
|
|
4
5
|
import * as certificateRequests from './certificate.js';
|
|
5
6
|
import * as clusterRequests from './cluster.js';
|
|
6
7
|
import * as configRequests from './config.js';
|
|
8
|
+
import * as deploymentRequests from './deployment.js';
|
|
9
|
+
import * as dnsRequests from './dns.js';
|
|
10
|
+
import * as domainRequests from './domain.js';
|
|
7
11
|
import * as externalRegistryRequests from './externalregistry.js';
|
|
8
12
|
import * as identityRequests from './identity.js';
|
|
9
13
|
import * as imageRequests from './image.js';
|
|
10
14
|
import * as informRequests from './inform.js';
|
|
11
15
|
import * as logRequests from './log.js';
|
|
12
16
|
import * as networkRequests from './network.js';
|
|
17
|
+
import * as nodeRequests from './node.js';
|
|
13
18
|
import * as routingRequests from './routing.js';
|
|
14
19
|
import * as secretBundleRequests from './secretbundle.js';
|
|
15
20
|
import * as secretGroupRequests from './secretgroup.js';
|
|
16
21
|
import * as serverRequests from './server.js';
|
|
17
22
|
import * as serviceRequests from './service.js';
|
|
23
|
+
import * as settingsRequests from './settings.js';
|
|
18
24
|
import * as statusRequests from './status.js';
|
|
25
|
+
import * as taskRequests from './task.js';
|
|
19
26
|
import * as versionRequests from './version.js';
|
|
20
27
|
|
|
21
28
|
export {
|
|
22
29
|
adminRequests as admin,
|
|
30
|
+
baremetalRequests as baremetal,
|
|
23
31
|
certificateRequests as certificate,
|
|
24
32
|
clusterRequests as cluster,
|
|
25
33
|
configRequests as config,
|
|
34
|
+
deploymentRequests as deployment,
|
|
35
|
+
dnsRequests as dns,
|
|
36
|
+
domainRequests as domain,
|
|
26
37
|
externalRegistryRequests as externalRegistry,
|
|
27
38
|
identityRequests as identity,
|
|
28
39
|
imageRequests as image,
|
|
29
40
|
informRequests as inform,
|
|
30
41
|
logRequests as log,
|
|
31
42
|
networkRequests as network,
|
|
43
|
+
nodeRequests as node,
|
|
32
44
|
routingRequests as routing,
|
|
33
45
|
secretBundleRequests as secretbundle,
|
|
34
46
|
secretGroupRequests as secretgroup,
|
|
35
47
|
serverRequests as server,
|
|
36
48
|
serviceRequests as service,
|
|
49
|
+
settingsRequests as settings,
|
|
37
50
|
statusRequests as status,
|
|
51
|
+
taskRequests as task,
|
|
38
52
|
versionRequests as version,
|
|
39
53
|
};
|
|
40
54
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IClusterNode } from '../data/clusternode.js';
|
|
3
|
+
import type { IDeployment } from '../data/deployment.js';
|
|
4
|
+
|
|
5
|
+
export interface IRequest_Any_Cloudly_GetNodeConfig {
|
|
6
|
+
method: 'getNodeConfig';
|
|
7
|
+
request: {
|
|
8
|
+
nodeId: string;
|
|
9
|
+
};
|
|
10
|
+
response: {
|
|
11
|
+
configData: IClusterNode;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface IRequest_Any_Cloudly_GetNodesByCluster {
|
|
16
|
+
method: 'getNodesByCluster';
|
|
17
|
+
request: {
|
|
18
|
+
clusterId: string;
|
|
19
|
+
};
|
|
20
|
+
response: {
|
|
21
|
+
nodes: IClusterNode[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface IRequest_Any_Cloudly_GetNodeDeployments {
|
|
26
|
+
method: 'getNodeDeployments';
|
|
27
|
+
request: {
|
|
28
|
+
nodeId: string;
|
|
29
|
+
};
|
|
30
|
+
response: {
|
|
31
|
+
deployments: IDeployment[];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { ICloudlySettings, ICloudlySettingsMasked } from '../data/settings.js';
|
|
3
|
+
|
|
4
|
+
// Get Settings
|
|
5
|
+
export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
6
|
+
method: 'getSettings';
|
|
7
|
+
request: {};
|
|
8
|
+
response: {
|
|
9
|
+
settings: ICloudlySettingsMasked;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Update Settings
|
|
14
|
+
export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
15
|
+
method: 'updateSettings';
|
|
16
|
+
request: {
|
|
17
|
+
updates: Partial<ICloudlySettings>;
|
|
18
|
+
};
|
|
19
|
+
response: {
|
|
20
|
+
success: boolean;
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Clear Specific Setting
|
|
26
|
+
export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
27
|
+
method: 'clearSetting';
|
|
28
|
+
request: {
|
|
29
|
+
key: keyof ICloudlySettings;
|
|
30
|
+
};
|
|
31
|
+
response: {
|
|
32
|
+
success: boolean;
|
|
33
|
+
message: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Test Provider Connection
|
|
38
|
+
export interface IRequest_TestProviderConnection extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
39
|
+
method: 'testProviderConnection';
|
|
40
|
+
request: {
|
|
41
|
+
provider: 'hetzner' | 'cloudflare' | 'aws' | 'digitalocean' | 'azure' | 'google' | 'vultr' | 'linode' | 'ovh' | 'scaleway';
|
|
42
|
+
};
|
|
43
|
+
response: {
|
|
44
|
+
success: boolean;
|
|
45
|
+
message: string;
|
|
46
|
+
connectionValid: boolean;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Get Single Setting (for internal use, not exposed to frontend)
|
|
51
|
+
export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
52
|
+
method: 'getSetting';
|
|
53
|
+
request: {
|
|
54
|
+
key: keyof ICloudlySettings;
|
|
55
|
+
};
|
|
56
|
+
response: {
|
|
57
|
+
value: string | undefined;
|
|
58
|
+
};
|
|
59
|
+
}
|