@serve.zone/interfaces 5.0.3 → 5.3.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/dist_ts_interfaces/data/baremetal.d.ts +61 -0
- package/dist_ts_interfaces/data/baremetal.js +2 -0
- package/dist_ts_interfaces/data/cloudlyconfig.d.ts +0 -2
- package/dist_ts_interfaces/data/cluster.d.ts +7 -3
- package/dist_ts_interfaces/data/clusternode.d.ts +59 -0
- package/dist_ts_interfaces/data/clusternode.js +2 -0
- package/dist_ts_interfaces/data/deployment.d.ts +42 -2
- package/dist_ts_interfaces/data/index.d.ts +3 -1
- package/dist_ts_interfaces/data/index.js +4 -2
- package/dist_ts_interfaces/data/service.d.ts +24 -0
- package/dist_ts_interfaces/data/settings.d.ts +34 -0
- package/dist_ts_interfaces/data/settings.js +2 -0
- package/dist_ts_interfaces/platformservice/mta.d.ts +2 -2
- package/dist_ts_interfaces/requests/baremetal.d.ts +19 -0
- package/dist_ts_interfaces/requests/baremetal.js +2 -0
- package/dist_ts_interfaces/requests/cluster.d.ts +1 -0
- package/dist_ts_interfaces/requests/deployment.d.ts +96 -0
- package/dist_ts_interfaces/requests/deployment.js +2 -0
- package/dist_ts_interfaces/requests/index.d.ts +4 -1
- package/dist_ts_interfaces/requests/index.js +5 -2
- package/dist_ts_interfaces/requests/node.d.ts +29 -0
- package/dist_ts_interfaces/requests/node.js +2 -0
- package/dist_ts_interfaces/requests/settings.d.ts +49 -0
- package/dist_ts_interfaces/requests/settings.js +2 -0
- package/package.json +2 -2
- package/readme.md +301 -133
- package/ts_interfaces/data/baremetal.ts +73 -0
- package/ts_interfaces/data/cloudlyconfig.ts +0 -2
- package/ts_interfaces/data/cluster.ts +8 -3
- package/ts_interfaces/data/clusternode.ts +71 -0
- package/ts_interfaces/data/deployment.ts +52 -2
- package/ts_interfaces/data/index.ts +4 -2
- package/ts_interfaces/data/service.ts +29 -0
- package/ts_interfaces/data/settings.ts +56 -0
- package/ts_interfaces/platformservice/mta.ts +1 -1
- package/ts_interfaces/readme.md +301 -133
- package/ts_interfaces/requests/baremetal.ts +22 -0
- package/ts_interfaces/requests/cluster.ts +1 -0
- package/ts_interfaces/requests/deployment.ts +141 -0
- package/ts_interfaces/requests/index.ts +6 -0
- package/ts_interfaces/requests/node.ts +33 -0
- package/ts_interfaces/requests/settings.ts +59 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface IBareMetal {
|
|
2
|
+
id: string;
|
|
3
|
+
data: {
|
|
4
|
+
hostname: string;
|
|
5
|
+
/**
|
|
6
|
+
* IPMI management IP address
|
|
7
|
+
*/
|
|
8
|
+
ipmiAddress?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Encrypted IPMI credentials
|
|
11
|
+
*/
|
|
12
|
+
ipmiCredentials?: {
|
|
13
|
+
username: string;
|
|
14
|
+
passwordEncrypted: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Primary network IP address
|
|
18
|
+
*/
|
|
19
|
+
primaryIp: string;
|
|
20
|
+
/**
|
|
21
|
+
* Provider of the physical server
|
|
22
|
+
*/
|
|
23
|
+
provider: 'hetzner' | 'aws' | 'digitalocean' | 'onpremise';
|
|
24
|
+
/**
|
|
25
|
+
* Data center or location
|
|
26
|
+
*/
|
|
27
|
+
location: string;
|
|
28
|
+
/**
|
|
29
|
+
* Hardware specifications
|
|
30
|
+
*/
|
|
31
|
+
specs: {
|
|
32
|
+
cpuModel: string;
|
|
33
|
+
cpuCores: number;
|
|
34
|
+
memoryGB: number;
|
|
35
|
+
storageGB: number;
|
|
36
|
+
storageType: 'ssd' | 'hdd' | 'nvme';
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Current power state
|
|
40
|
+
*/
|
|
41
|
+
powerState: 'on' | 'off' | 'unknown';
|
|
42
|
+
/**
|
|
43
|
+
* Operating system information
|
|
44
|
+
*/
|
|
45
|
+
osInfo: {
|
|
46
|
+
name: string;
|
|
47
|
+
version: string;
|
|
48
|
+
kernel?: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Array of ClusterNode IDs running on this hardware
|
|
52
|
+
*/
|
|
53
|
+
assignedNodeIds: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Metadata for provider-specific information
|
|
56
|
+
*/
|
|
57
|
+
providerMetadata?: {
|
|
58
|
+
[key: string]: any;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyZW1ldGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9kYXRhL2JhcmVtZXRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IClusterNode } from './clusternode.js';
|
|
3
3
|
export interface ICluster {
|
|
4
4
|
id: string;
|
|
5
5
|
data: {
|
|
@@ -13,9 +13,13 @@ export interface ICluster {
|
|
|
13
13
|
*/
|
|
14
14
|
cloudlyUrl?: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Cluster setup mode - manual by default, or auto-provision with cloud provider
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
setupMode?: 'manual' | 'hetzner' | 'aws' | 'digitalocean';
|
|
19
|
+
/**
|
|
20
|
+
* Nodes that are part of the cluster
|
|
21
|
+
*/
|
|
22
|
+
nodes: IClusterNode[];
|
|
19
23
|
/**
|
|
20
24
|
* ACME info. This is used to get SSL certificates.
|
|
21
25
|
*/
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
export interface IClusterNodeMetrics {
|
|
3
|
+
cpuUsagePercent: number;
|
|
4
|
+
memoryUsedMB: number;
|
|
5
|
+
memoryAvailableMB: number;
|
|
6
|
+
diskUsedGB: number;
|
|
7
|
+
diskAvailableGB: number;
|
|
8
|
+
containerCount: number;
|
|
9
|
+
timestamp: number;
|
|
10
|
+
}
|
|
11
|
+
export interface IClusterNode {
|
|
12
|
+
id: string;
|
|
13
|
+
data: {
|
|
14
|
+
/**
|
|
15
|
+
* Reference to the cluster this node belongs to
|
|
16
|
+
*/
|
|
17
|
+
clusterId: string;
|
|
18
|
+
/**
|
|
19
|
+
* Reference to the physical server (if applicable)
|
|
20
|
+
*/
|
|
21
|
+
baremetalId?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Type of node
|
|
24
|
+
*/
|
|
25
|
+
nodeType: 'baremetal' | 'vm' | 'container';
|
|
26
|
+
/**
|
|
27
|
+
* Current status of the node
|
|
28
|
+
*/
|
|
29
|
+
status: 'initializing' | 'online' | 'offline' | 'maintenance';
|
|
30
|
+
/**
|
|
31
|
+
* Role of the node in the cluster
|
|
32
|
+
*/
|
|
33
|
+
role: 'master' | 'worker';
|
|
34
|
+
/**
|
|
35
|
+
* Timestamp when node joined the cluster
|
|
36
|
+
*/
|
|
37
|
+
joinedAt: number;
|
|
38
|
+
/**
|
|
39
|
+
* Last health check timestamp
|
|
40
|
+
*/
|
|
41
|
+
lastHealthCheck: number;
|
|
42
|
+
/**
|
|
43
|
+
* Current metrics for the node
|
|
44
|
+
*/
|
|
45
|
+
metrics?: IClusterNodeMetrics;
|
|
46
|
+
/**
|
|
47
|
+
* Docker swarm node ID if part of swarm
|
|
48
|
+
*/
|
|
49
|
+
swarmNodeId?: string;
|
|
50
|
+
/**
|
|
51
|
+
* SSH keys deployed to this node
|
|
52
|
+
*/
|
|
53
|
+
sshKeys: plugins.tsclass.network.ISshKey[];
|
|
54
|
+
/**
|
|
55
|
+
* Debian packages installed on this node
|
|
56
|
+
*/
|
|
57
|
+
requiredDebianPackages: string[];
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlcm5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL2RhdGEvY2x1c3Rlcm5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
|
|
@@ -4,8 +4,48 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export interface IDeployment {
|
|
6
6
|
id: string;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The service being deployed (single service per deployment)
|
|
9
|
+
*/
|
|
10
|
+
serviceId: string;
|
|
11
|
+
/**
|
|
12
|
+
* The node this deployment is running on
|
|
13
|
+
*/
|
|
14
|
+
nodeId: string;
|
|
15
|
+
/**
|
|
16
|
+
* Docker container ID for this deployment
|
|
17
|
+
*/
|
|
18
|
+
containerId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Image used for this deployment
|
|
21
|
+
*/
|
|
8
22
|
usedImageId: string;
|
|
23
|
+
/**
|
|
24
|
+
* Version of the service deployed
|
|
25
|
+
*/
|
|
26
|
+
version: string;
|
|
27
|
+
/**
|
|
28
|
+
* Timestamp when deployed
|
|
29
|
+
*/
|
|
30
|
+
deployedAt: number;
|
|
31
|
+
/**
|
|
32
|
+
* Deployment log entries
|
|
33
|
+
*/
|
|
9
34
|
deploymentLog: string[];
|
|
10
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Current status of the deployment
|
|
37
|
+
*/
|
|
38
|
+
status: 'scheduled' | 'starting' | 'running' | 'stopping' | 'stopped' | 'failed';
|
|
39
|
+
/**
|
|
40
|
+
* Health status of the deployment
|
|
41
|
+
*/
|
|
42
|
+
healthStatus?: 'healthy' | 'unhealthy' | 'unknown';
|
|
43
|
+
/**
|
|
44
|
+
* Resource usage for this deployment
|
|
45
|
+
*/
|
|
46
|
+
resourceUsage?: {
|
|
47
|
+
cpuUsagePercent: number;
|
|
48
|
+
memoryUsedMB: number;
|
|
49
|
+
lastUpdated: number;
|
|
50
|
+
};
|
|
11
51
|
}
|
|
@@ -8,7 +8,9 @@ export * from './externalregistry.js';
|
|
|
8
8
|
export * from './image.js';
|
|
9
9
|
export * from './secretbundle.js';
|
|
10
10
|
export * from './secretgroup.js';
|
|
11
|
-
export * from './
|
|
11
|
+
export * from './baremetal.js';
|
|
12
|
+
export * from './clusternode.js';
|
|
13
|
+
export * from './settings.js';
|
|
12
14
|
export * from './service.js';
|
|
13
15
|
export * from './status.js';
|
|
14
16
|
export * from './traffic.js';
|
|
@@ -8,10 +8,12 @@ export * from './externalregistry.js';
|
|
|
8
8
|
export * from './image.js';
|
|
9
9
|
export * from './secretbundle.js';
|
|
10
10
|
export * from './secretgroup.js';
|
|
11
|
-
export * from './
|
|
11
|
+
export * from './baremetal.js';
|
|
12
|
+
export * from './clusternode.js';
|
|
13
|
+
export * from './settings.js';
|
|
12
14
|
export * from './service.js';
|
|
13
15
|
export * from './status.js';
|
|
14
16
|
export * from './traffic.js';
|
|
15
17
|
export * from './user.js';
|
|
16
18
|
export * from './version.js';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL2RhdGEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQyJ9
|
|
@@ -18,6 +18,30 @@ export interface IService {
|
|
|
18
18
|
* and thus live past the service lifecycle
|
|
19
19
|
*/
|
|
20
20
|
additionalSecretBundleIds?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Service category determines deployment behavior
|
|
23
|
+
* - base: Core services that run on every node (coreflow, coretraffic, corelog)
|
|
24
|
+
* - distributed: Services that run on limited nodes (cores3, coremongo)
|
|
25
|
+
* - workload: User applications
|
|
26
|
+
*/
|
|
27
|
+
serviceCategory: 'base' | 'distributed' | 'workload';
|
|
28
|
+
/**
|
|
29
|
+
* Deployment strategy for the service
|
|
30
|
+
* - all-nodes: Deploy to every node in the cluster
|
|
31
|
+
* - limited-replicas: Deploy to a limited number of nodes
|
|
32
|
+
* - custom: Custom deployment logic
|
|
33
|
+
*/
|
|
34
|
+
deploymentStrategy: 'all-nodes' | 'limited-replicas' | 'custom';
|
|
35
|
+
/**
|
|
36
|
+
* Maximum number of replicas for distributed services
|
|
37
|
+
* For example, 3 for cores3 or coremongo
|
|
38
|
+
*/
|
|
39
|
+
maxReplicas?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Whether to enforce anti-affinity rules
|
|
42
|
+
* When true, tries to spread deployments across different BareMetal servers
|
|
43
|
+
*/
|
|
44
|
+
antiAffinity?: boolean;
|
|
21
45
|
scaleFactor: number;
|
|
22
46
|
balancingStrategy: 'round-robin' | 'least-connections';
|
|
23
47
|
ports: {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for Cloudly settings stored in EasyStore
|
|
3
|
+
* These are runtime-configurable settings that can be modified via the UI
|
|
4
|
+
*/
|
|
5
|
+
export interface ICloudlySettings {
|
|
6
|
+
hetznerToken?: string;
|
|
7
|
+
cloudflareToken?: string;
|
|
8
|
+
awsAccessKey?: string;
|
|
9
|
+
awsSecretKey?: string;
|
|
10
|
+
awsRegion?: string;
|
|
11
|
+
digitalOceanToken?: string;
|
|
12
|
+
azureClientId?: string;
|
|
13
|
+
azureClientSecret?: string;
|
|
14
|
+
azureTenantId?: string;
|
|
15
|
+
azureSubscriptionId?: string;
|
|
16
|
+
googleCloudKeyJson?: string;
|
|
17
|
+
googleCloudProjectId?: string;
|
|
18
|
+
vultrApiKey?: string;
|
|
19
|
+
linodeToken?: string;
|
|
20
|
+
ovhApplicationKey?: string;
|
|
21
|
+
ovhApplicationSecret?: string;
|
|
22
|
+
ovhConsumerKey?: string;
|
|
23
|
+
scalewayAccessKey?: string;
|
|
24
|
+
scalewaySecretKey?: string;
|
|
25
|
+
scalewayOrganizationId?: string;
|
|
26
|
+
[key: string]: string | undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Interface for masked settings (used in API responses)
|
|
30
|
+
* Shows only last 4 characters of sensitive tokens
|
|
31
|
+
*/
|
|
32
|
+
export type ICloudlySettingsMasked = {
|
|
33
|
+
[K in keyof ICloudlySettings]: string | undefined;
|
|
34
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL2RhdGEvc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { IBareMetal } from '../data/baremetal.js';
|
|
2
|
+
export interface IRequest_Any_Cloudly_GetBaremetalServers {
|
|
3
|
+
method: 'getBaremetalServers';
|
|
4
|
+
request: {};
|
|
5
|
+
response: {
|
|
6
|
+
baremetals: IBareMetal[];
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export interface IRequest_Any_Cloudly_ControlBaremetal {
|
|
10
|
+
method: 'controlBaremetal';
|
|
11
|
+
request: {
|
|
12
|
+
baremetalId: string;
|
|
13
|
+
action: 'powerOn' | 'powerOff' | 'reset';
|
|
14
|
+
};
|
|
15
|
+
response: {
|
|
16
|
+
success: boolean;
|
|
17
|
+
message: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyZW1ldGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9yZXF1ZXN0cy9iYXJlbWV0YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
|
|
@@ -28,6 +28,7 @@ export interface IRequest_CreateCluster extends plugins.typedrequestInterfaces.i
|
|
|
28
28
|
request: {
|
|
29
29
|
identity: userInterfaces.IIdentity;
|
|
30
30
|
clusterName: string;
|
|
31
|
+
setupMode?: 'manual' | 'hetzner' | 'aws' | 'digitalocean';
|
|
31
32
|
};
|
|
32
33
|
response: {
|
|
33
34
|
cluster: clusterInterfaces.ICluster;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IDeployment } from '../data/deployment.js';
|
|
3
|
+
import type { IIdentity } from '../data/user.js';
|
|
4
|
+
export interface IReq_Any_Cloudly_GetDeploymentById extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetDeploymentById> {
|
|
5
|
+
method: 'getDeploymentById';
|
|
6
|
+
request: {
|
|
7
|
+
identity: IIdentity;
|
|
8
|
+
deploymentId: string;
|
|
9
|
+
};
|
|
10
|
+
response: {
|
|
11
|
+
deployment: IDeployment;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface IReq_Any_Cloudly_GetDeployments extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetDeployments> {
|
|
15
|
+
method: 'getDeployments';
|
|
16
|
+
request: {
|
|
17
|
+
identity: IIdentity;
|
|
18
|
+
};
|
|
19
|
+
response: {
|
|
20
|
+
deployments: IDeployment[];
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface IReq_Any_Cloudly_GetDeploymentsByService extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetDeploymentsByService> {
|
|
24
|
+
method: 'getDeploymentsByService';
|
|
25
|
+
request: {
|
|
26
|
+
identity: IIdentity;
|
|
27
|
+
serviceId: string;
|
|
28
|
+
};
|
|
29
|
+
response: {
|
|
30
|
+
deployments: IDeployment[];
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface IReq_Any_Cloudly_GetDeploymentsByNode extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetDeploymentsByNode> {
|
|
34
|
+
method: 'getDeploymentsByNode';
|
|
35
|
+
request: {
|
|
36
|
+
identity: IIdentity;
|
|
37
|
+
nodeId: string;
|
|
38
|
+
};
|
|
39
|
+
response: {
|
|
40
|
+
deployments: IDeployment[];
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface IReq_Any_Cloudly_CreateDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_CreateDeployment> {
|
|
44
|
+
method: 'createDeployment';
|
|
45
|
+
request: {
|
|
46
|
+
identity: IIdentity;
|
|
47
|
+
deploymentData: Partial<IDeployment>;
|
|
48
|
+
};
|
|
49
|
+
response: {
|
|
50
|
+
deployment: IDeployment;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface IReq_Any_Cloudly_UpdateDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_UpdateDeployment> {
|
|
54
|
+
method: 'updateDeployment';
|
|
55
|
+
request: {
|
|
56
|
+
identity: IIdentity;
|
|
57
|
+
deploymentId: string;
|
|
58
|
+
deploymentData: Partial<IDeployment>;
|
|
59
|
+
};
|
|
60
|
+
response: {
|
|
61
|
+
deployment: IDeployment;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export interface IReq_Any_Cloudly_DeleteDeploymentById extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_DeleteDeploymentById> {
|
|
65
|
+
method: 'deleteDeploymentById';
|
|
66
|
+
request: {
|
|
67
|
+
identity: IIdentity;
|
|
68
|
+
deploymentId: string;
|
|
69
|
+
};
|
|
70
|
+
response: {
|
|
71
|
+
success: boolean;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export interface IReq_Any_Cloudly_RestartDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_RestartDeployment> {
|
|
75
|
+
method: 'restartDeployment';
|
|
76
|
+
request: {
|
|
77
|
+
identity: IIdentity;
|
|
78
|
+
deploymentId: string;
|
|
79
|
+
};
|
|
80
|
+
response: {
|
|
81
|
+
success: boolean;
|
|
82
|
+
deployment: IDeployment;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export interface IReq_Any_Cloudly_ScaleDeployment extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_ScaleDeployment> {
|
|
86
|
+
method: 'scaleDeployment';
|
|
87
|
+
request: {
|
|
88
|
+
identity: IIdentity;
|
|
89
|
+
deploymentId: string;
|
|
90
|
+
replicas: number;
|
|
91
|
+
};
|
|
92
|
+
response: {
|
|
93
|
+
success: boolean;
|
|
94
|
+
deployment: IDeployment;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as adminRequests from './admin.js';
|
|
2
|
+
import * as baremetalRequests from './baremetal.js';
|
|
2
3
|
import * as certificateRequests from './certificate.js';
|
|
3
4
|
import * as clusterRequests from './cluster.js';
|
|
4
5
|
import * as configRequests from './config.js';
|
|
@@ -8,12 +9,14 @@ import * as imageRequests from './image.js';
|
|
|
8
9
|
import * as informRequests from './inform.js';
|
|
9
10
|
import * as logRequests from './log.js';
|
|
10
11
|
import * as networkRequests from './network.js';
|
|
12
|
+
import * as nodeRequests from './node.js';
|
|
11
13
|
import * as routingRequests from './routing.js';
|
|
12
14
|
import * as secretBundleRequests from './secretbundle.js';
|
|
13
15
|
import * as secretGroupRequests from './secretgroup.js';
|
|
14
16
|
import * as serverRequests from './server.js';
|
|
15
17
|
import * as serviceRequests from './service.js';
|
|
18
|
+
import * as settingsRequests from './settings.js';
|
|
16
19
|
import * as statusRequests from './status.js';
|
|
17
20
|
import * as versionRequests from './version.js';
|
|
18
|
-
export { adminRequests as admin, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, statusRequests as status, versionRequests as version, };
|
|
21
|
+
export { adminRequests as admin, baremetalRequests as baremetal, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, versionRequests as version, };
|
|
19
22
|
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 baremetalRequests from './baremetal.js';
|
|
3
4
|
import * as certificateRequests from './certificate.js';
|
|
4
5
|
import * as clusterRequests from './cluster.js';
|
|
5
6
|
import * as configRequests from './config.js';
|
|
@@ -9,13 +10,15 @@ import * as imageRequests from './image.js';
|
|
|
9
10
|
import * as informRequests from './inform.js';
|
|
10
11
|
import * as logRequests from './log.js';
|
|
11
12
|
import * as networkRequests from './network.js';
|
|
13
|
+
import * as nodeRequests from './node.js';
|
|
12
14
|
import * as routingRequests from './routing.js';
|
|
13
15
|
import * as secretBundleRequests from './secretbundle.js';
|
|
14
16
|
import * as secretGroupRequests from './secretgroup.js';
|
|
15
17
|
import * as serverRequests from './server.js';
|
|
16
18
|
import * as serviceRequests from './service.js';
|
|
19
|
+
import * as settingsRequests from './settings.js';
|
|
17
20
|
import * as statusRequests from './status.js';
|
|
18
21
|
import * as versionRequests from './version.js';
|
|
19
|
-
export { adminRequests as admin, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, statusRequests as status, versionRequests as version, };
|
|
22
|
+
export { adminRequests as admin, baremetalRequests as baremetal, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, versionRequests as version, };
|
|
20
23
|
export * from './inform.js';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sS0FBSyxhQUFhLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLHdCQUF3QixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGFBQWEsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLG9CQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFDTCxhQUFhLElBQUksS0FBSyxFQUN0QixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLG1CQUFtQixJQUFJLFdBQVcsRUFDbEMsZUFBZSxJQUFJLE9BQU8sRUFDMUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsd0JBQXdCLElBQUksZ0JBQWdCLEVBQzVDLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsYUFBYSxJQUFJLEtBQUssRUFDdEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsV0FBVyxJQUFJLEdBQUcsRUFDbEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDIn0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IClusterNode } from '../data/clusternode.js';
|
|
2
|
+
import type { IDeployment } from '../data/deployment.js';
|
|
3
|
+
export interface IRequest_Any_Cloudly_GetNodeConfig {
|
|
4
|
+
method: 'getNodeConfig';
|
|
5
|
+
request: {
|
|
6
|
+
nodeId: string;
|
|
7
|
+
};
|
|
8
|
+
response: {
|
|
9
|
+
configData: IClusterNode;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface IRequest_Any_Cloudly_GetNodesByCluster {
|
|
13
|
+
method: 'getNodesByCluster';
|
|
14
|
+
request: {
|
|
15
|
+
clusterId: string;
|
|
16
|
+
};
|
|
17
|
+
response: {
|
|
18
|
+
nodes: IClusterNode[];
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface IRequest_Any_Cloudly_GetNodeDeployments {
|
|
22
|
+
method: 'getNodeDeployments';
|
|
23
|
+
request: {
|
|
24
|
+
nodeId: string;
|
|
25
|
+
};
|
|
26
|
+
response: {
|
|
27
|
+
deployments: IDeployment[];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { ICloudlySettings, ICloudlySettingsMasked } from '../data/settings.js';
|
|
3
|
+
export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
4
|
+
method: 'getSettings';
|
|
5
|
+
request: {};
|
|
6
|
+
response: {
|
|
7
|
+
settings: ICloudlySettingsMasked;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
11
|
+
method: 'updateSettings';
|
|
12
|
+
request: {
|
|
13
|
+
updates: Partial<ICloudlySettings>;
|
|
14
|
+
};
|
|
15
|
+
response: {
|
|
16
|
+
success: boolean;
|
|
17
|
+
message: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
21
|
+
method: 'clearSetting';
|
|
22
|
+
request: {
|
|
23
|
+
key: keyof ICloudlySettings;
|
|
24
|
+
};
|
|
25
|
+
response: {
|
|
26
|
+
success: boolean;
|
|
27
|
+
message: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface IRequest_TestProviderConnection extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
31
|
+
method: 'testProviderConnection';
|
|
32
|
+
request: {
|
|
33
|
+
provider: 'hetzner' | 'cloudflare' | 'aws' | 'digitalocean' | 'azure' | 'google' | 'vultr' | 'linode' | 'ovh' | 'scaleway';
|
|
34
|
+
};
|
|
35
|
+
response: {
|
|
36
|
+
success: boolean;
|
|
37
|
+
message: string;
|
|
38
|
+
connectionValid: boolean;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITypedRequest {
|
|
42
|
+
method: 'getSetting';
|
|
43
|
+
request: {
|
|
44
|
+
key: keyof ICloudlySettings;
|
|
45
|
+
};
|
|
46
|
+
response: {
|
|
47
|
+
value: string | undefined;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL3NldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/interfaces",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"exports": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@api.global/typedrequest-interfaces": "^3.0.19",
|
|
13
13
|
"@push.rocks/smartlog-interfaces": "^3.0.2",
|
|
14
|
-
"@tsclass/tsclass": "^9.
|
|
14
|
+
"@tsclass/tsclass": "^9.2.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@git.zone/tsbuild": "2.1.67"
|