@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.
Files changed (193) hide show
  1. package/.smartconfig.json +32 -0
  2. package/changelog.md +22 -0
  3. package/dist_ts/00_commitinfo_data.js +9 -0
  4. package/dist_ts/data/baremetal.d.ts +61 -0
  5. package/dist_ts/data/baremetal.js +2 -0
  6. package/{dist_ts_interfaces → dist_ts}/data/cloudlyconfig.d.ts +0 -2
  7. package/{dist_ts_interfaces → dist_ts}/data/cloudlyconfig.js +1 -1
  8. package/{dist_ts_interfaces → dist_ts}/data/cluster.d.ts +7 -3
  9. package/{dist_ts_interfaces → dist_ts}/data/cluster.js +1 -1
  10. package/dist_ts/data/clusternode.d.ts +59 -0
  11. package/dist_ts/data/clusternode.js +2 -0
  12. package/{dist_ts_interfaces → dist_ts}/data/config.js +1 -1
  13. package/dist_ts/data/deployment.d.ts +51 -0
  14. package/{dist_ts_interfaces → dist_ts}/data/deployment.js +1 -1
  15. package/dist_ts/data/dns.d.ts +85 -0
  16. package/dist_ts/data/dns.js +2 -0
  17. package/{dist_ts_interfaces → dist_ts}/data/docker.js +1 -1
  18. package/dist_ts/data/domain.d.ts +102 -0
  19. package/dist_ts/data/domain.js +2 -0
  20. package/{dist_ts_interfaces → dist_ts}/data/event.js +1 -1
  21. package/dist_ts/data/externalregistry.d.ts +92 -0
  22. package/{dist_ts_interfaces → dist_ts}/data/externalregistry.js +1 -1
  23. package/{dist_ts_interfaces → dist_ts}/data/image.js +1 -1
  24. package/{dist_ts_interfaces → dist_ts}/data/index.d.ts +6 -1
  25. package/dist_ts/data/index.js +22 -0
  26. package/{dist_ts_interfaces → dist_ts}/data/secretbundle.js +1 -1
  27. package/{dist_ts_interfaces → dist_ts}/data/secretgroup.js +1 -1
  28. package/{dist_ts_interfaces → dist_ts}/data/server.js +1 -1
  29. package/dist_ts/data/service.d.ts +75 -0
  30. package/{dist_ts_interfaces → dist_ts}/data/service.js +1 -1
  31. package/dist_ts/data/settings.d.ts +34 -0
  32. package/dist_ts/data/settings.js +2 -0
  33. package/{dist_ts_interfaces → dist_ts}/data/status.js +1 -1
  34. package/dist_ts/data/taskexecution.d.ts +72 -0
  35. package/dist_ts/data/taskexecution.js +2 -0
  36. package/{dist_ts_interfaces → dist_ts}/data/traffic.js +1 -1
  37. package/{dist_ts_interfaces → dist_ts}/data/user.js +1 -1
  38. package/{dist_ts_interfaces → dist_ts}/data/version.js +1 -1
  39. package/{dist_ts_interfaces → dist_ts}/index.js +1 -1
  40. package/{dist_ts_interfaces → dist_ts}/platformservice/aibridge.js +1 -1
  41. package/dist_ts/platformservice/index.js +7 -0
  42. package/{dist_ts_interfaces → dist_ts}/platformservice/letter.js +1 -1
  43. package/{dist_ts_interfaces → dist_ts}/platformservice/mta.js +1 -1
  44. package/dist_ts/platformservice/pushnotification.js +2 -0
  45. package/{dist_ts_interfaces → dist_ts}/platformservice/sms.js +1 -1
  46. package/{dist_ts_interfaces → dist_ts}/plugins.js +1 -1
  47. package/{dist_ts_interfaces → dist_ts}/requests/admin.js +1 -1
  48. package/dist_ts/requests/baremetal.d.ts +19 -0
  49. package/dist_ts/requests/baremetal.js +2 -0
  50. package/{dist_ts_interfaces → dist_ts}/requests/certificate.js +1 -1
  51. package/{dist_ts_interfaces → dist_ts}/requests/cluster.d.ts +1 -0
  52. package/{dist_ts_interfaces → dist_ts}/requests/cluster.js +1 -1
  53. package/{dist_ts_interfaces → dist_ts}/requests/config.js +1 -1
  54. package/dist_ts/requests/deployment.d.ts +96 -0
  55. package/dist_ts/requests/deployment.js +2 -0
  56. package/dist_ts/requests/dns.d.ts +63 -0
  57. package/dist_ts/requests/dns.js +2 -0
  58. package/dist_ts/requests/domain.d.ts +69 -0
  59. package/dist_ts/requests/domain.js +2 -0
  60. package/{dist_ts_interfaces → dist_ts}/requests/externalregistry.d.ts +13 -0
  61. package/dist_ts/requests/externalregistry.js +4 -0
  62. package/{dist_ts_interfaces → dist_ts}/requests/identity.js +1 -1
  63. package/{dist_ts_interfaces → dist_ts}/requests/image.js +1 -1
  64. package/dist_ts/requests/index.d.ts +26 -0
  65. package/dist_ts/requests/index.js +28 -0
  66. package/{dist_ts_interfaces → dist_ts}/requests/inform.js +1 -1
  67. package/{dist_ts_interfaces → dist_ts}/requests/log.js +1 -1
  68. package/{dist_ts_interfaces → dist_ts}/requests/network.js +1 -1
  69. package/dist_ts/requests/node.d.ts +29 -0
  70. package/dist_ts/requests/node.js +2 -0
  71. package/{dist_ts_interfaces → dist_ts}/requests/routing.js +1 -1
  72. package/{dist_ts_interfaces → dist_ts}/requests/secretbundle.js +1 -1
  73. package/{dist_ts_interfaces → dist_ts}/requests/secretgroup.js +1 -1
  74. package/{dist_ts_interfaces → dist_ts}/requests/server.js +1 -1
  75. package/{dist_ts_interfaces → dist_ts}/requests/service.js +1 -1
  76. package/dist_ts/requests/settings.d.ts +49 -0
  77. package/dist_ts/requests/settings.js +2 -0
  78. package/{dist_ts_interfaces → dist_ts}/requests/status.js +1 -1
  79. package/dist_ts/requests/task.d.ts +65 -0
  80. package/dist_ts/requests/task.js +4 -0
  81. package/{dist_ts_interfaces → dist_ts}/requests/version.js +1 -1
  82. package/license +1 -1
  83. package/package.json +43 -18
  84. package/readme.md +12 -206
  85. package/{ts_interfaces → ts}/00_commitinfo_data.ts +2 -2
  86. package/ts/data/baremetal.ts +73 -0
  87. package/{ts_interfaces → ts}/data/cloudlyconfig.ts +0 -2
  88. package/{ts_interfaces → ts}/data/cluster.ts +8 -3
  89. package/ts/data/clusternode.ts +71 -0
  90. package/ts/data/deployment.ts +63 -0
  91. package/ts/data/dns.ts +100 -0
  92. package/ts/data/domain.ts +124 -0
  93. package/ts/data/externalregistry.ts +110 -0
  94. package/{ts_interfaces → ts}/data/index.ts +7 -2
  95. package/ts/data/service.ts +77 -0
  96. package/ts/data/settings.ts +56 -0
  97. package/ts/data/taskexecution.ts +84 -0
  98. package/ts/requests/baremetal.ts +22 -0
  99. package/{ts_interfaces → ts}/requests/cluster.ts +1 -0
  100. package/ts/requests/deployment.ts +141 -0
  101. package/ts/requests/dns.ts +93 -0
  102. package/ts/requests/domain.ts +99 -0
  103. package/{ts_interfaces → ts}/requests/externalregistry.ts +17 -0
  104. package/{ts_interfaces → ts}/requests/index.ts +14 -0
  105. package/ts/requests/node.ts +33 -0
  106. package/ts/requests/settings.ts +59 -0
  107. package/ts/requests/task.ts +95 -0
  108. package/cli.js +0 -4
  109. package/dist_ts_interfaces/00_commitinfo_data.js +0 -9
  110. package/dist_ts_interfaces/data/deployment.d.ts +0 -11
  111. package/dist_ts_interfaces/data/externalregistry.d.ts +0 -10
  112. package/dist_ts_interfaces/data/index.js +0 -17
  113. package/dist_ts_interfaces/data/service.d.ts +0 -37
  114. package/dist_ts_interfaces/platformservice/index.js +0 -7
  115. package/dist_ts_interfaces/platformservice/pushnotification.js +0 -2
  116. package/dist_ts_interfaces/requests/externalregistry.js +0 -4
  117. package/dist_ts_interfaces/requests/index.d.ts +0 -19
  118. package/dist_ts_interfaces/requests/index.js +0 -21
  119. package/ts_interfaces/data/deployment.ts +0 -13
  120. package/ts_interfaces/data/externalregistry.ts +0 -12
  121. package/ts_interfaces/data/service.ts +0 -34
  122. package/ts_interfaces/readme.md +0 -223
  123. package/ts_interfaces/tspublish.json +0 -13
  124. /package/{dist_ts_interfaces → dist_ts}/00_commitinfo_data.d.ts +0 -0
  125. /package/{dist_ts_interfaces → dist_ts}/data/config.d.ts +0 -0
  126. /package/{dist_ts_interfaces → dist_ts}/data/docker.d.ts +0 -0
  127. /package/{dist_ts_interfaces → dist_ts}/data/event.d.ts +0 -0
  128. /package/{dist_ts_interfaces → dist_ts}/data/image.d.ts +0 -0
  129. /package/{dist_ts_interfaces → dist_ts}/data/secretbundle.d.ts +0 -0
  130. /package/{dist_ts_interfaces → dist_ts}/data/secretgroup.d.ts +0 -0
  131. /package/{dist_ts_interfaces → dist_ts}/data/server.d.ts +0 -0
  132. /package/{dist_ts_interfaces → dist_ts}/data/status.d.ts +0 -0
  133. /package/{dist_ts_interfaces → dist_ts}/data/traffic.d.ts +0 -0
  134. /package/{dist_ts_interfaces → dist_ts}/data/user.d.ts +0 -0
  135. /package/{dist_ts_interfaces → dist_ts}/data/version.d.ts +0 -0
  136. /package/{dist_ts_interfaces → dist_ts}/index.d.ts +0 -0
  137. /package/{dist_ts_interfaces → dist_ts}/platformservice/aibridge.d.ts +0 -0
  138. /package/{dist_ts_interfaces → dist_ts}/platformservice/index.d.ts +0 -0
  139. /package/{dist_ts_interfaces → dist_ts}/platformservice/letter.d.ts +0 -0
  140. /package/{dist_ts_interfaces → dist_ts}/platformservice/mta.d.ts +0 -0
  141. /package/{dist_ts_interfaces → dist_ts}/platformservice/pushnotification.d.ts +0 -0
  142. /package/{dist_ts_interfaces → dist_ts}/platformservice/sms.d.ts +0 -0
  143. /package/{dist_ts_interfaces → dist_ts}/plugins.d.ts +0 -0
  144. /package/{dist_ts_interfaces → dist_ts}/requests/admin.d.ts +0 -0
  145. /package/{dist_ts_interfaces → dist_ts}/requests/certificate.d.ts +0 -0
  146. /package/{dist_ts_interfaces → dist_ts}/requests/config.d.ts +0 -0
  147. /package/{dist_ts_interfaces → dist_ts}/requests/identity.d.ts +0 -0
  148. /package/{dist_ts_interfaces → dist_ts}/requests/image.d.ts +0 -0
  149. /package/{dist_ts_interfaces → dist_ts}/requests/inform.d.ts +0 -0
  150. /package/{dist_ts_interfaces → dist_ts}/requests/log.d.ts +0 -0
  151. /package/{dist_ts_interfaces → dist_ts}/requests/network.d.ts +0 -0
  152. /package/{dist_ts_interfaces → dist_ts}/requests/routing.d.ts +0 -0
  153. /package/{dist_ts_interfaces → dist_ts}/requests/secretbundle.d.ts +0 -0
  154. /package/{dist_ts_interfaces → dist_ts}/requests/secretgroup.d.ts +0 -0
  155. /package/{dist_ts_interfaces → dist_ts}/requests/server.d.ts +0 -0
  156. /package/{dist_ts_interfaces → dist_ts}/requests/service.d.ts +0 -0
  157. /package/{dist_ts_interfaces → dist_ts}/requests/status.d.ts +0 -0
  158. /package/{dist_ts_interfaces → dist_ts}/requests/version.d.ts +0 -0
  159. /package/{ts_interfaces → ts}/data/config.ts +0 -0
  160. /package/{ts_interfaces → ts}/data/docker.ts +0 -0
  161. /package/{ts_interfaces → ts}/data/event.ts +0 -0
  162. /package/{ts_interfaces → ts}/data/image.ts +0 -0
  163. /package/{ts_interfaces → ts}/data/secretbundle.ts +0 -0
  164. /package/{ts_interfaces → ts}/data/secretgroup.ts +0 -0
  165. /package/{ts_interfaces → ts}/data/server.ts +0 -0
  166. /package/{ts_interfaces → ts}/data/status.ts +0 -0
  167. /package/{ts_interfaces → ts}/data/traffic.ts +0 -0
  168. /package/{ts_interfaces → ts}/data/user.ts +0 -0
  169. /package/{ts_interfaces → ts}/data/version.ts +0 -0
  170. /package/{ts_interfaces → ts}/index.ts +0 -0
  171. /package/{ts_interfaces → ts}/platformservice/00readme.md +0 -0
  172. /package/{ts_interfaces → ts}/platformservice/aibridge.ts +0 -0
  173. /package/{ts_interfaces → ts}/platformservice/index.ts +0 -0
  174. /package/{ts_interfaces → ts}/platformservice/letter.ts +0 -0
  175. /package/{ts_interfaces → ts}/platformservice/mta.ts +0 -0
  176. /package/{ts_interfaces → ts}/platformservice/pushnotification.ts +0 -0
  177. /package/{ts_interfaces → ts}/platformservice/sms.ts +0 -0
  178. /package/{ts_interfaces → ts}/plugins.ts +0 -0
  179. /package/{ts_interfaces → ts}/requests/admin.ts +0 -0
  180. /package/{ts_interfaces → ts}/requests/certificate.ts +0 -0
  181. /package/{ts_interfaces → ts}/requests/config.ts +0 -0
  182. /package/{ts_interfaces → ts}/requests/identity.ts +0 -0
  183. /package/{ts_interfaces → ts}/requests/image.ts +0 -0
  184. /package/{ts_interfaces → ts}/requests/inform.ts +0 -0
  185. /package/{ts_interfaces → ts}/requests/log.ts +0 -0
  186. /package/{ts_interfaces → ts}/requests/network.ts +0 -0
  187. /package/{ts_interfaces → ts}/requests/routing.ts +0 -0
  188. /package/{ts_interfaces → ts}/requests/secretbundle.ts +0 -0
  189. /package/{ts_interfaces → ts}/requests/secretgroup.ts +0 -0
  190. /package/{ts_interfaces → ts}/requests/server.ts +0 -0
  191. /package/{ts_interfaces → ts}/requests/service.ts +0 -0
  192. /package/{ts_interfaces → ts}/requests/status.ts +0 -0
  193. /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
+ }