@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,26 @@
1
+ import * as adminRequests from './admin.js';
2
+ import * as baremetalRequests from './baremetal.js';
3
+ import * as certificateRequests from './certificate.js';
4
+ import * as clusterRequests from './cluster.js';
5
+ import * as configRequests from './config.js';
6
+ import * as deploymentRequests from './deployment.js';
7
+ import * as dnsRequests from './dns.js';
8
+ import * as domainRequests from './domain.js';
9
+ import * as externalRegistryRequests from './externalregistry.js';
10
+ import * as identityRequests from './identity.js';
11
+ import * as imageRequests from './image.js';
12
+ import * as informRequests from './inform.js';
13
+ import * as logRequests from './log.js';
14
+ import * as networkRequests from './network.js';
15
+ import * as nodeRequests from './node.js';
16
+ import * as routingRequests from './routing.js';
17
+ import * as secretBundleRequests from './secretbundle.js';
18
+ import * as secretGroupRequests from './secretgroup.js';
19
+ import * as serverRequests from './server.js';
20
+ import * as serviceRequests from './service.js';
21
+ import * as settingsRequests from './settings.js';
22
+ import * as statusRequests from './status.js';
23
+ import * as taskRequests from './task.js';
24
+ import * as versionRequests from './version.js';
25
+ export { adminRequests as admin, baremetalRequests as baremetal, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
26
+ export * from './inform.js';
@@ -0,0 +1,28 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as adminRequests from './admin.js';
3
+ import * as baremetalRequests from './baremetal.js';
4
+ import * as certificateRequests from './certificate.js';
5
+ import * as clusterRequests from './cluster.js';
6
+ import * as configRequests from './config.js';
7
+ import * as deploymentRequests from './deployment.js';
8
+ import * as dnsRequests from './dns.js';
9
+ import * as domainRequests from './domain.js';
10
+ import * as externalRegistryRequests from './externalregistry.js';
11
+ import * as identityRequests from './identity.js';
12
+ import * as imageRequests from './image.js';
13
+ import * as informRequests from './inform.js';
14
+ import * as logRequests from './log.js';
15
+ import * as networkRequests from './network.js';
16
+ import * as nodeRequests from './node.js';
17
+ import * as routingRequests from './routing.js';
18
+ import * as secretBundleRequests from './secretbundle.js';
19
+ import * as secretGroupRequests from './secretgroup.js';
20
+ import * as serverRequests from './server.js';
21
+ import * as serviceRequests from './service.js';
22
+ import * as settingsRequests from './settings.js';
23
+ import * as statusRequests from './status.js';
24
+ import * as taskRequests from './task.js';
25
+ import * as versionRequests from './version.js';
26
+ export { adminRequests as admin, baremetalRequests as baremetal, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
27
+ export * from './inform.js';
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssd0JBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUNMLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixrQkFBa0IsSUFBSSxVQUFVLEVBQ2hDLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLHdCQUF3QixJQUFJLGdCQUFnQixFQUM1QyxnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLG9CQUFvQixJQUFJLFlBQVksRUFDcEMsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxjQUFjLElBQUksTUFBTSxFQUN4QixlQUFlLElBQUksT0FBTyxFQUMxQixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGVBQWUsSUFBSSxPQUFPLEdBQzNCLENBQUM7QUFFRixjQUFjLGFBQWEsQ0FBQyJ9
@@ -1,2 +1,2 @@
1
1
  import * as plugins from '../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9yZXF1ZXN0cy9pbmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvaW5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
@@ -1,2 +1,2 @@
1
1
  import * as plugins from '../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9yZXF1ZXN0cy9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
@@ -1,2 +1,2 @@
1
1
  import * as plugins from '../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL25ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
@@ -1,2 +1,2 @@
1
1
  import {} from '../data/traffic.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvcm91dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLE1BQU0sb0JBQW9CLENBQUMifQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixNQUFNLG9CQUFvQixDQUFDIn0=
@@ -1,4 +1,4 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import * as data from '../data/index.js';
3
3
  import * as userInterfaces from '../data/user.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0YnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9yZXF1ZXN0cy9zZWNyZXRidW5kbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLElBQUksTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEtBQUssY0FBYyxNQUFNLGlCQUFpQixDQUFDIn0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0YnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc2VjcmV0YnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxJQUFJLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxLQUFLLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQyJ9
@@ -1,4 +1,4 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import * as data from '../data/index.js';
3
3
  import * as userInterfaces from '../data/user.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0Z3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL3NlY3JldGdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxJQUFJLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxLQUFLLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQyJ9
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0Z3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9zZWNyZXRncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssSUFBSSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxjQUFjLE1BQU0saUJBQWlCLENBQUMifQ==
@@ -1,2 +1,2 @@
1
1
  import * as plugins from '../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9yZXF1ZXN0cy9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
@@ -1,2 +1,2 @@
1
1
  import * as plugins from '../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
@@ -1,2 +1,2 @@
1
1
  import * as userInterfaces from '../data/user.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfaW50ZXJmYWNlcy9yZXF1ZXN0cy9zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQyJ9
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxjQUFjLE1BQU0saUJBQWlCLENBQUMifQ==
@@ -0,0 +1,65 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as data from '../data/index.js';
3
+ import * as userInterfaces from '../data/user.js';
4
+ export interface IRequest_Any_Cloudly_GetTasks extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_GetTasks> {
5
+ method: 'getTasks';
6
+ request: {
7
+ identity: userInterfaces.IIdentity;
8
+ };
9
+ response: {
10
+ tasks: Array<{
11
+ name: string;
12
+ description: string;
13
+ category: 'maintenance' | 'deployment' | 'backup' | 'monitoring' | 'cleanup' | 'system' | 'security';
14
+ schedule?: string;
15
+ lastRun?: number;
16
+ enabled: boolean;
17
+ }>;
18
+ };
19
+ }
20
+ export interface IRequest_Any_Cloudly_GetTaskExecutions extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_GetTaskExecutions> {
21
+ method: 'getTaskExecutions';
22
+ request: {
23
+ identity: userInterfaces.IIdentity;
24
+ filter?: {
25
+ taskName?: string;
26
+ status?: string;
27
+ startedAfter?: number;
28
+ startedBefore?: number;
29
+ };
30
+ };
31
+ response: {
32
+ executions: data.ITaskExecution[];
33
+ };
34
+ }
35
+ export interface IRequest_Any_Cloudly_GetTaskExecutionById extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_GetTaskExecutionById> {
36
+ method: 'getTaskExecutionById';
37
+ request: {
38
+ identity: userInterfaces.IIdentity;
39
+ executionId: string;
40
+ };
41
+ response: {
42
+ execution: data.ITaskExecution;
43
+ };
44
+ }
45
+ export interface IRequest_Any_Cloudly_TriggerTask extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_TriggerTask> {
46
+ method: 'triggerTask';
47
+ request: {
48
+ identity: userInterfaces.IIdentity;
49
+ taskName: string;
50
+ userId?: string;
51
+ };
52
+ response: {
53
+ execution: data.ITaskExecution;
54
+ };
55
+ }
56
+ export interface IRequest_Any_Cloudly_CancelTask extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_CancelTask> {
57
+ method: 'cancelTask';
58
+ request: {
59
+ identity: userInterfaces.IIdentity;
60
+ executionId: string;
61
+ };
62
+ response: {
63
+ success: boolean;
64
+ };
65
+ }
@@ -0,0 +1,4 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as data from '../data/index.js';
3
+ import * as userInterfaces from '../data/user.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL3Rhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLElBQUksTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEtBQUssY0FBYyxNQUFNLGlCQUFpQixDQUFDIn0=
@@ -1,2 +1,2 @@
1
1
  import * as versionInterfaces from '../data/version.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssaUJBQWlCLE1BQU0sb0JBQW9CLENBQUMifQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG9CQUFvQixDQUFDIn0=
package/license CHANGED
@@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
16
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
17
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
18
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- SOFTWARE.
19
+ SOFTWARE.
package/package.json CHANGED
@@ -1,34 +1,59 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "5.0.4",
4
- "type": "module",
5
- "description": "",
3
+ "version": "5.4.2",
4
+ "private": false,
5
+ "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
7
- ".": {
8
- "import": "./dist_ts_interfaces/index.js"
9
- }
7
+ ".": "./dist_ts/index.js"
8
+ },
9
+ "type": "module",
10
+ "author": "Task Venture Capital GmbH",
11
+ "license": "MIT",
12
+ "scripts": {
13
+ "test": "tstest test/ --verbose --logfile --timeout 60",
14
+ "build": "tsbuild tsfolders --allowimplicitany",
15
+ "buildDocs": "tsdoc"
10
16
  },
11
17
  "dependencies": {
12
18
  "@api.global/typedrequest-interfaces": "^3.0.19",
13
19
  "@push.rocks/smartlog-interfaces": "^3.0.2",
14
- "@tsclass/tsclass": "^9.0.0"
20
+ "@tsclass/tsclass": "^9.2.0"
15
21
  },
16
22
  "devDependencies": {
17
- "@git.zone/tsbuild": "2.1.67"
23
+ "@git.zone/tsbuild": "^4.4.0",
24
+ "@git.zone/tsdoc": "^1.5.2",
25
+ "@git.zone/tsrun": "^2.0.2",
26
+ "@git.zone/tstest": "^3.6.3",
27
+ "@types/node": "^25.6.0"
18
28
  },
19
29
  "files": [
20
30
  "ts/**/*",
21
- "ts_*/**/*",
22
31
  "dist/**/*",
23
32
  "dist_*/**/*",
24
33
  "dist_ts/**/*",
25
- "dist_ts_web/**/*",
26
- "assets/**/*",
27
- "cli.js",
28
- "npmextra.json",
29
- "readme.md"
34
+ ".smartconfig.json",
35
+ "readme.md",
36
+ "changelog.md",
37
+ "license"
30
38
  ],
31
- "scripts": {
32
- "build": "tsbuild tsfolders --allowimplicitany"
33
- }
34
- }
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://code.foss.global/serve.zone/interfaces.git"
42
+ },
43
+ "bugs": {
44
+ "url": "https://code.foss.global/serve.zone/interfaces/issues"
45
+ },
46
+ "homepage": "https://code.foss.global/serve.zone/interfaces#readme",
47
+ "keywords": [
48
+ "serve.zone",
49
+ "interfaces",
50
+ "typedrequest",
51
+ "contracts",
52
+ "typescript",
53
+ "infrastructure"
54
+ ],
55
+ "browserslist": [
56
+ "last 1 chrome versions"
57
+ ],
58
+ "packageManager": "pnpm@10.28.2"
59
+ }
package/readme.md CHANGED
@@ -1,223 +1,29 @@
1
1
  # @serve.zone/interfaces
2
2
 
3
- interfaces for working with containers
3
+ Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.
4
4
 
5
- ## Install
5
+ This package contains the public contracts consumed by Cloudly, Spark, Coreflow, Coretraffic, Platformclient, and external integrations. It is intentionally dependency-light and should not contain runtime implementation code.
6
6
 
7
- To install `@serve.zone/interfaces`, run the following command in your terminal:
7
+ ## Install
8
8
 
9
9
  ```bash
10
- npm install @serve.zone/interfaces --save
10
+ pnpm add @serve.zone/interfaces
11
11
  ```
12
12
 
13
- This will add `@serve.zone/interfaces` to your project's dependencies, allowing you to import and use various predefined interfaces that facilitate container operations and interactions within the ServeZone ecosystem.
14
-
15
13
  ## Usage
16
14
 
17
- The `@serve.zone/interfaces` module provides a robust set of TypeScript interfaces designed to standardize interaction with various services and components in a cloud-native environment. The interfaces are targeted at simplifying the integration process with container orchestration, network configurations, logging, and service definitions. The module is particularly useful if you're working on infrastructure or service orchestration solutions using Node.js and TypeScript.
18
-
19
- This document guides you through a comprehensive use case scenario of `@serve.zone/interfaces`. We will cover how to effectively utilize these interfaces to set up cloud services, manage application configurations, and handle system-related communications. This tutorial will explore various feature sets within the module, focusing on real-world implementations and practical coding strategies.
20
-
21
- ### Prerequisites
22
-
23
- Before diving in, make sure to satisfy the following prerequisites:
24
-
25
- - **Node.js**: Ensure you have Node.js installed (preferably the latest LTS version).
26
-
27
- - **TypeScript**: Your environment should support TypeScript, as this module leverages strong typing offered by TypeScript.
28
-
29
- - **Cloud Account Access**: Some of the interfaces interact with live cloud services; thus, ensure you have necessary credentials (like API tokens) available for testing or integration.
30
-
31
- ### Core Interfaces and Scenarios
32
-
33
- #### 1. Handling Typed Requests
34
-
35
- One fundamental aspect is defining typed requests, which standardizes API call definitions across different microservices or components. The module offers interfaces such as `IRequest_GetAllImages`, `IRequest_CreateCluster`, that you can extend or implement within your service logic to ensure strong typing and consistency.
36
-
37
15
  ```typescript
38
- import { IRequest_GetAllImages } from '@serve.zone/interfaces/requests/image';
39
-
40
- class ImageService {
41
- private cloudlyClient;
42
-
43
- constructor(cloudlyClient: CloudlyApiClient) {
44
- this.cloudlyClient = cloudlyClient;
45
- }
46
-
47
- public async fetchAllImages() {
48
- const request: IRequest_GetAllImages['request'] = {
49
- identity: this.cloudlyClient.identity,
50
- };
51
- const response = await this.cloudlyClient.typedsocketClient.fireTypedRequest<IRequest_GetAllImages>(request);
52
- return response.images;
53
- }
54
- }
16
+ import { data, requests, platformservice } from '@serve.zone/interfaces';
55
17
  ```
56
18
 
57
- In the above code, we structured a simple function to retrieve all images from a service, assuming the `cloudlyClient` is your authenticated API client. The typed request interface ensures that both the request and response align with the expected types.
58
-
59
- #### 2. Logging and Smart Logging Interfaces
60
-
61
- Logging is a crucial aspect of cloud applications. The module provides interfaces to assist in integrating logging systems like `@push.rocks/smartlog-interfaces`.
62
-
63
- ```typescript
64
- import { ILogger, ILogConfig } from '@push.rocks/smartlog-interfaces';
65
-
66
- class LoggerService {
67
- private logger: ILogger;
68
-
69
- constructor(logConfig: ILogConfig) {
70
- this.logger = new SmartLogger(logConfig);
71
- }
72
-
73
- public logMessage(logPackage: ILogPackage) {
74
- this.logger.log(logPackage);
75
- }
76
- }
77
- ```
78
-
79
- This illustrates a logger service utilizing `ILogConfig` to configure and initiate a logging mechanism. You can log structured data using `logPackage`, thus enhancing traceability and debugging efficiency.
80
-
81
- #### 3. Container Service Management
82
-
83
- Managing containers, particularly when dealing with microservices, can be complex, but interfaces like `IService`, `ICluster`, and `IServer` aid in structuring container service management.
84
-
85
- ```typescript
86
- import { IService } from '@serve.zone/interfaces/data/service';
87
-
88
- function defineService(): IService {
89
- return {
90
- id: 'unique-service-id',
91
- data: {
92
- name: 'my-container-service',
93
- imageId: 'unique-image-id',
94
- imageVersion: '1.0.0',
95
- environment: { KEY: 'VALUE' },
96
- secretBundleId: 'bundle-id',
97
- scaleFactor: 2,
98
- balancingStrategy: 'round-robin',
99
- ports: { web: 80 },
100
- domains: [{ name: 'example.com' }],
101
- deploymentIds: [],
102
- deploymentDirectiveIds: [],
103
- }
104
- };
105
- }
106
- ```
107
-
108
- In the example, a service definition is drafted, encapsulating critical service metadata, including its environment variables, domain configuration, and load balancing strategy. Adhering to `IService` ensures that all necessary service data is encapsulated correctly.
109
-
110
- #### 4. Network Configuration and Routing
111
-
112
- Networking is integral to cloud-native applications. Interfaces in `@serve.zone/interfaces` help shape network interaction patterns.
113
-
114
- ```typescript
115
- import { IReverseProxyConfig } from '@serve.zone/interfaces/data/traffic';
116
-
117
- const proxyConfig: IReverseProxyConfig = {
118
- domain: 'example.com',
119
- path: '/',
120
- serviceAddress: 'http://service:8080',
121
- ssl: true,
122
- };
123
-
124
- function configureProxy() {
125
- // Logic to apply the proxyConfig, potentially using Typedi, Smartclient, or similar libraries.
126
- }
127
- ```
19
+ ## Development
128
20
 
129
- Here, `IReverseProxyConfig` is used to define a reverse proxy for a service. Such configurations are necessary for routing external requests into internal services securely.
130
-
131
- ### Advanced Interface Utilization
132
-
133
- #### Monitoring and Metrics Collection
134
-
135
- For observability, you can track system metrics using `IServerMetrics` or cluster status interfaces.
136
-
137
- ```typescript
138
- import { IServerMetrics } from '@serve.zone/interfaces/data/server';
139
-
140
- function reportMetrics(metrics: IServerMetrics) {
141
- console.log(`CPU Usage: ${metrics.cpuUsageInPercent}%`);
142
- console.log(`Memory Usage: ${metrics.memoryUsageinMB}MB`);
143
- }
144
-
145
- const sampleMetrics: IServerMetrics = {
146
- serverId: 'server-123',
147
- cpuUsageInPercent: 45,
148
- memoryUsageinMB: 2048,
149
- memoryAvailableInMB: 4096,
150
- containerCount: 10,
151
- containerMetrics: [],
152
- };
153
-
154
- reportMetrics(sampleMetrics);
155
- ```
156
-
157
- Implementing such metrics tracking provides insight into performance bottlenecks and helps strategize scaling decisions.
158
-
159
- #### Certificate Management
160
-
161
- To handle SSL certificates programmatically, utilize interfaces such as `IRequest_Any_Cloudly_GetCertificateForDomain`.
162
-
163
- ```typescript
164
- import { IRequest_Any_Cloudly_GetCertificateForDomain } from '@serve.zone/interfaces/requests/certificate';
165
-
166
- async function fetchCertificate(cloudlyClient: CloudlyApiClient, domainName: string) {
167
- const request: IRequest_Any_Cloudly_GetCertificateForDomain['request'] = {
168
- identity: cloudlyClient.identity,
169
- domainName: domainName,
170
- type: 'ssl'
171
- };
172
-
173
- return await cloudlyClient.typedsocketClient.fireTypedRequest<IRequest_Any_Cloudly_GetCertificateForDomain>(request);
174
- }
175
- ```
176
-
177
- Managing certificates dynamically via typed requests simplifies deployment and automates the security dimensions of your applications.
178
-
179
- #### Integrating with External Messaging Services
180
-
181
- Use `IRequest_SendEmail` to integrate platform services for sending emails:
182
-
183
- ```typescript
184
- import { IRequest_SendEmail } from '@serve.zone/interfaces/platformservice/mta';
185
-
186
- async function sendNotification(emailClient: any) {
187
- const emailRequest: IRequest_SendEmail['request'] = {
188
- title: 'Welcome to ServeZone!',
189
- from: 'service@company.com',
190
- to: 'user@example.com',
191
- body: '<h1>Congratulations</h1><p>Your account has been created successfully.</p>',
192
- };
193
-
194
- await emailClient.sendEmail(emailRequest);
195
- }
21
+ ```bash
22
+ pnpm install
23
+ pnpm run build
24
+ pnpm test
196
25
  ```
197
26
 
198
- This approach demonstrates abstracting the email sending functionality using typed interfaces, contributing to code consistency and robustness.
199
-
200
- ### Conclusion
201
-
202
- The `@serve.zone/interfaces` module equips developers with a set of interfaces tailored for managing containers, orchestrating cloud services, and handling system interactions seamlessly. By applying these interfaces, projects can achieve coherence, reduce coupling, and simplify the integration process across various service domains.
203
-
204
- Focusing on practical applications, try extending these interfaces to suit additional requirements in your projects. Engage actively with the module community, or contribute new ideas to enhance the breadth and depth of this interface library. Explore the integration patterns showcased here and contribute toward a sophisticated cloud-native development framework.
205
-
206
- ## License and Legal Information
207
-
208
- This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
209
-
210
- **Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
211
-
212
- ### Trademarks
213
-
214
- This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.
215
-
216
- ### Company Information
217
-
218
- Task Venture Capital GmbH
219
- Registered at District court Bremen HRB 35230 HB, Germany
220
-
221
- For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
27
+ ## Ownership
222
28
 
223
- By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
29
+ Only ecosystem-wide public contracts belong here. Cloudly-internal implementation types should stay in Cloudly.
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '1.1.2',
7
- description: 'interfaces for working with containers'
6
+ version: '5.4.2',
7
+ description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }