teraslice 3.17.2 → 3.18.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.
Files changed (259) hide show
  1. package/dist/src/index.d.ts +13 -0
  2. package/dist/src/index.d.ts.map +1 -0
  3. package/dist/src/index.js.map +1 -0
  4. package/dist/src/interfaces.d.ts +91 -0
  5. package/dist/src/interfaces.d.ts.map +1 -0
  6. package/dist/src/interfaces.js.map +1 -0
  7. package/dist/src/lib/cluster/cluster_master.d.ts +26 -0
  8. package/dist/src/lib/cluster/cluster_master.d.ts.map +1 -0
  9. package/dist/src/lib/cluster/cluster_master.js +246 -0
  10. package/dist/src/lib/cluster/cluster_master.js.map +1 -0
  11. package/dist/src/lib/cluster/node_master.d.ts +3 -0
  12. package/dist/src/lib/cluster/node_master.d.ts.map +1 -0
  13. package/dist/src/lib/cluster/node_master.js +355 -0
  14. package/dist/src/lib/cluster/node_master.js.map +1 -0
  15. package/dist/src/lib/cluster/services/api.d.ts +42 -0
  16. package/dist/src/lib/cluster/services/api.d.ts.map +1 -0
  17. package/dist/src/lib/cluster/services/api.js +673 -0
  18. package/dist/src/lib/cluster/services/api.js.map +1 -0
  19. package/dist/src/lib/cluster/services/assets.d.ts +20 -0
  20. package/dist/src/lib/cluster/services/assets.d.ts.map +1 -0
  21. package/dist/src/lib/cluster/services/assets.js +224 -0
  22. package/dist/src/lib/cluster/services/assets.js.map +1 -0
  23. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.d.ts +85 -0
  24. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.d.ts.map +1 -0
  25. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.js +193 -0
  26. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.js.map +1 -0
  27. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.d.ts +148 -0
  28. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.d.ts.map +1 -0
  29. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.js +2 -0
  30. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.js.map +1 -0
  31. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.d.ts +128 -0
  32. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.d.ts.map +1 -0
  33. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.js +419 -0
  34. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.js.map +1 -0
  35. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.d.ts +27 -0
  36. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.d.ts.map +1 -0
  37. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.js +60 -0
  38. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.js.map +1 -0
  39. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.d.ts +23 -0
  40. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.d.ts.map +1 -0
  41. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.js +56 -0
  42. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.js.map +1 -0
  43. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.d.ts +69 -0
  44. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.d.ts.map +1 -0
  45. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.js +378 -0
  46. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.js.map +1 -0
  47. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.d.ts +26 -0
  48. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.d.ts.map +1 -0
  49. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.js +37 -0
  50. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.js.map +1 -0
  51. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.d.ts +13 -0
  52. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.d.ts.map +1 -0
  53. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.js +60 -0
  54. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.js.map +1 -0
  55. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.d.ts +42 -0
  56. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.d.ts.map +1 -0
  57. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.js +170 -0
  58. package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.js.map +1 -0
  59. package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.d.ts +6 -0
  60. package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.d.ts.map +1 -0
  61. package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.js +13 -0
  62. package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.js.map +1 -0
  63. package/dist/src/lib/cluster/services/cluster/backends/native/index.d.ts +59 -0
  64. package/dist/src/lib/cluster/services/cluster/backends/native/index.d.ts.map +1 -0
  65. package/dist/src/lib/cluster/services/cluster/backends/native/index.js +526 -0
  66. package/dist/src/lib/cluster/services/cluster/backends/native/index.js.map +1 -0
  67. package/dist/src/lib/cluster/services/cluster/backends/native/messaging.d.ts +70 -0
  68. package/dist/src/lib/cluster/services/cluster/backends/native/messaging.d.ts.map +1 -0
  69. package/dist/src/lib/cluster/services/cluster/backends/native/messaging.js +548 -0
  70. package/dist/src/lib/cluster/services/cluster/backends/native/messaging.js.map +1 -0
  71. package/dist/src/lib/cluster/services/cluster/backends/state-utils.d.ts +6 -0
  72. package/dist/src/lib/cluster/services/cluster/backends/state-utils.d.ts.map +1 -0
  73. package/dist/src/lib/cluster/services/cluster/backends/state-utils.js +26 -0
  74. package/dist/src/lib/cluster/services/cluster/backends/state-utils.js.map +1 -0
  75. package/dist/src/lib/cluster/services/cluster/index.d.ts +6 -0
  76. package/dist/src/lib/cluster/services/cluster/index.d.ts.map +1 -0
  77. package/dist/src/lib/cluster/services/cluster/index.js +13 -0
  78. package/dist/src/lib/cluster/services/cluster/index.js.map +1 -0
  79. package/dist/src/lib/cluster/services/execution.d.ts +98 -0
  80. package/dist/src/lib/cluster/services/execution.d.ts.map +1 -0
  81. package/dist/src/lib/cluster/services/execution.js +449 -0
  82. package/dist/src/lib/cluster/services/execution.js.map +1 -0
  83. package/dist/src/lib/cluster/services/index.d.ts +6 -0
  84. package/dist/src/lib/cluster/services/index.d.ts.map +1 -0
  85. package/dist/src/lib/cluster/services/index.js +6 -0
  86. package/dist/src/lib/cluster/services/index.js.map +1 -0
  87. package/dist/src/lib/cluster/services/interfaces.d.ts +6 -0
  88. package/dist/src/lib/cluster/services/interfaces.d.ts.map +1 -0
  89. package/dist/src/lib/cluster/services/interfaces.js +2 -0
  90. package/dist/src/lib/cluster/services/interfaces.js.map +1 -0
  91. package/dist/src/lib/cluster/services/jobs.d.ts +155 -0
  92. package/dist/src/lib/cluster/services/jobs.d.ts.map +1 -0
  93. package/dist/src/lib/cluster/services/jobs.js +482 -0
  94. package/dist/src/lib/cluster/services/jobs.js.map +1 -0
  95. package/dist/src/lib/config/default-sysconfig.d.ts +11 -0
  96. package/dist/src/lib/config/default-sysconfig.d.ts.map +1 -0
  97. package/dist/src/lib/config/default-sysconfig.js +25 -0
  98. package/dist/src/lib/config/default-sysconfig.js.map +1 -0
  99. package/dist/src/lib/config/index.d.ts +6 -0
  100. package/dist/src/lib/config/index.d.ts.map +1 -0
  101. package/dist/src/lib/config/index.js +20 -0
  102. package/dist/src/lib/config/index.js.map +1 -0
  103. package/dist/src/lib/config/schemas/system.d.ts +548 -0
  104. package/dist/src/lib/config/schemas/system.d.ts.map +1 -0
  105. package/dist/src/lib/config/schemas/system.js +360 -0
  106. package/dist/src/lib/config/schemas/system.js.map +1 -0
  107. package/dist/src/lib/storage/analytics.d.ts +23 -0
  108. package/dist/src/lib/storage/analytics.d.ts.map +1 -0
  109. package/dist/src/lib/storage/analytics.js +86 -0
  110. package/dist/src/lib/storage/analytics.js.map +1 -0
  111. package/dist/src/lib/storage/assets.d.ts +47 -0
  112. package/dist/src/lib/storage/assets.d.ts.map +1 -0
  113. package/dist/src/lib/storage/assets.js +400 -0
  114. package/dist/src/lib/storage/assets.js.map +1 -0
  115. package/dist/src/lib/storage/backends/elasticsearch_store.d.ts +63 -0
  116. package/dist/src/lib/storage/backends/elasticsearch_store.d.ts.map +1 -0
  117. package/dist/src/lib/storage/backends/elasticsearch_store.js +495 -0
  118. package/dist/src/lib/storage/backends/elasticsearch_store.js.map +1 -0
  119. package/dist/src/lib/storage/backends/mappings/analytics.d.ts +4 -0
  120. package/dist/src/lib/storage/backends/mappings/analytics.d.ts.map +1 -0
  121. package/dist/src/lib/storage/backends/mappings/analytics.js +20 -0
  122. package/dist/src/lib/storage/backends/mappings/analytics.js.map +1 -0
  123. package/dist/src/lib/storage/backends/mappings/asset.d.ts +3 -0
  124. package/dist/src/lib/storage/backends/mappings/asset.d.ts.map +1 -0
  125. package/dist/src/lib/storage/backends/mappings/asset.js +16 -0
  126. package/dist/src/lib/storage/backends/mappings/asset.js.map +1 -0
  127. package/dist/src/lib/storage/backends/mappings/ex.d.ts +3 -0
  128. package/dist/src/lib/storage/backends/mappings/ex.d.ts.map +1 -0
  129. package/dist/src/lib/storage/backends/mappings/ex.js +53 -0
  130. package/dist/src/lib/storage/backends/mappings/ex.js.map +1 -0
  131. package/dist/src/lib/storage/backends/mappings/job.d.ts +3 -0
  132. package/dist/src/lib/storage/backends/mappings/job.d.ts.map +1 -0
  133. package/dist/src/lib/storage/backends/mappings/job.js +41 -0
  134. package/dist/src/lib/storage/backends/mappings/job.js.map +1 -0
  135. package/dist/src/lib/storage/backends/mappings/state.d.ts +4 -0
  136. package/dist/src/lib/storage/backends/mappings/state.d.ts.map +1 -0
  137. package/dist/src/lib/storage/backends/mappings/state.js +16 -0
  138. package/dist/src/lib/storage/backends/mappings/state.js.map +1 -0
  139. package/dist/src/lib/storage/backends/s3_store.d.ts +30 -0
  140. package/dist/src/lib/storage/backends/s3_store.d.ts.map +1 -0
  141. package/dist/src/lib/storage/backends/s3_store.js +237 -0
  142. package/dist/src/lib/storage/backends/s3_store.js.map +1 -0
  143. package/dist/src/lib/storage/execution.d.ts +73 -0
  144. package/dist/src/lib/storage/execution.d.ts.map +1 -0
  145. package/dist/src/lib/storage/execution.js +302 -0
  146. package/dist/src/lib/storage/execution.js.map +1 -0
  147. package/dist/src/lib/storage/index.d.ts +7 -0
  148. package/dist/src/lib/storage/index.d.ts.map +1 -0
  149. package/dist/src/lib/storage/index.js +7 -0
  150. package/dist/src/lib/storage/index.js.map +1 -0
  151. package/dist/src/lib/storage/jobs.d.ts +19 -0
  152. package/dist/src/lib/storage/jobs.d.ts.map +1 -0
  153. package/dist/src/lib/storage/jobs.js +81 -0
  154. package/dist/src/lib/storage/jobs.js.map +1 -0
  155. package/dist/src/lib/storage/state.d.ts +64 -0
  156. package/dist/src/lib/storage/state.d.ts.map +1 -0
  157. package/dist/src/lib/storage/state.js +257 -0
  158. package/dist/src/lib/storage/state.js.map +1 -0
  159. package/dist/src/lib/utils/api_utils.d.ts +21 -0
  160. package/dist/src/lib/utils/api_utils.d.ts.map +1 -0
  161. package/dist/src/lib/utils/api_utils.js +128 -0
  162. package/dist/src/lib/utils/api_utils.js.map +1 -0
  163. package/dist/src/lib/utils/asset_utils.d.ts +8 -0
  164. package/dist/src/lib/utils/asset_utils.d.ts.map +1 -0
  165. package/dist/src/lib/utils/asset_utils.js +94 -0
  166. package/dist/src/lib/utils/asset_utils.js.map +1 -0
  167. package/dist/src/lib/utils/date_utils.d.ts +7 -0
  168. package/dist/src/lib/utils/date_utils.d.ts.map +1 -0
  169. package/dist/src/lib/utils/date_utils.js +52 -0
  170. package/dist/src/lib/utils/date_utils.js.map +1 -0
  171. package/dist/src/lib/utils/encoding_utils.d.ts +3 -0
  172. package/dist/src/lib/utils/encoding_utils.d.ts.map +1 -0
  173. package/dist/src/lib/utils/encoding_utils.js +27 -0
  174. package/dist/src/lib/utils/encoding_utils.js.map +1 -0
  175. package/dist/src/lib/utils/events.d.ts +4 -0
  176. package/dist/src/lib/utils/events.d.ts.map +1 -0
  177. package/dist/src/lib/utils/events.js +4 -0
  178. package/dist/src/lib/utils/events.js.map +1 -0
  179. package/dist/src/lib/utils/file_utils.d.ts +44 -0
  180. package/dist/src/lib/utils/file_utils.d.ts.map +1 -0
  181. package/dist/src/lib/utils/file_utils.js +124 -0
  182. package/dist/src/lib/utils/file_utils.js.map +1 -0
  183. package/dist/src/lib/utils/id_utils.d.ts +2 -0
  184. package/dist/src/lib/utils/id_utils.d.ts.map +1 -0
  185. package/dist/src/lib/utils/id_utils.js +15 -0
  186. package/dist/src/lib/utils/id_utils.js.map +1 -0
  187. package/dist/src/lib/utils/port_utils.d.ts +20 -0
  188. package/dist/src/lib/utils/port_utils.d.ts.map +1 -0
  189. package/dist/src/lib/utils/port_utils.js +32 -0
  190. package/dist/src/lib/utils/port_utils.js.map +1 -0
  191. package/dist/src/lib/workers/assets/index.d.ts +3 -0
  192. package/dist/src/lib/workers/assets/index.d.ts.map +1 -0
  193. package/dist/src/lib/workers/assets/index.js +3 -0
  194. package/dist/src/lib/workers/assets/index.js.map +1 -0
  195. package/dist/src/lib/workers/assets/loader-executable.d.ts +2 -0
  196. package/dist/src/lib/workers/assets/loader-executable.d.ts.map +1 -0
  197. package/dist/src/lib/workers/assets/loader-executable.js +40 -0
  198. package/dist/src/lib/workers/assets/loader-executable.js.map +1 -0
  199. package/dist/src/lib/workers/assets/loader.d.ts +14 -0
  200. package/dist/src/lib/workers/assets/loader.d.ts.map +1 -0
  201. package/dist/src/lib/workers/assets/loader.js +73 -0
  202. package/dist/src/lib/workers/assets/loader.js.map +1 -0
  203. package/dist/src/lib/workers/assets/spawn.d.ts +3 -0
  204. package/dist/src/lib/workers/assets/spawn.d.ts.map +1 -0
  205. package/dist/src/lib/workers/assets/spawn.js +55 -0
  206. package/dist/src/lib/workers/assets/spawn.js.map +1 -0
  207. package/dist/src/lib/workers/context/execution-context.d.ts +3 -0
  208. package/dist/src/lib/workers/context/execution-context.d.ts.map +1 -0
  209. package/dist/src/lib/workers/context/execution-context.js +12 -0
  210. package/dist/src/lib/workers/context/execution-context.js.map +1 -0
  211. package/dist/src/lib/workers/context/terafoundation-context.d.ts +3 -0
  212. package/dist/src/lib/workers/context/terafoundation-context.d.ts.map +1 -0
  213. package/dist/src/lib/workers/context/terafoundation-context.js +22 -0
  214. package/dist/src/lib/workers/context/terafoundation-context.js.map +1 -0
  215. package/dist/src/lib/workers/execution-controller/execution-analytics.d.ts +53 -0
  216. package/dist/src/lib/workers/execution-controller/execution-analytics.d.ts.map +1 -0
  217. package/dist/src/lib/workers/execution-controller/execution-analytics.js +188 -0
  218. package/dist/src/lib/workers/execution-controller/execution-analytics.js.map +1 -0
  219. package/dist/src/lib/workers/execution-controller/index.d.ts +93 -0
  220. package/dist/src/lib/workers/execution-controller/index.d.ts.map +1 -0
  221. package/dist/src/lib/workers/execution-controller/index.js +1023 -0
  222. package/dist/src/lib/workers/execution-controller/index.js.map +1 -0
  223. package/dist/src/lib/workers/execution-controller/recovery.d.ts +42 -0
  224. package/dist/src/lib/workers/execution-controller/recovery.d.ts.map +1 -0
  225. package/dist/src/lib/workers/execution-controller/recovery.js +151 -0
  226. package/dist/src/lib/workers/execution-controller/recovery.js.map +1 -0
  227. package/dist/src/lib/workers/execution-controller/scheduler.d.ts +66 -0
  228. package/dist/src/lib/workers/execution-controller/scheduler.d.ts.map +1 -0
  229. package/dist/src/lib/workers/execution-controller/scheduler.js +390 -0
  230. package/dist/src/lib/workers/execution-controller/scheduler.js.map +1 -0
  231. package/dist/src/lib/workers/execution-controller/slice-analytics.d.ts +31 -0
  232. package/dist/src/lib/workers/execution-controller/slice-analytics.d.ts.map +1 -0
  233. package/dist/src/lib/workers/execution-controller/slice-analytics.js +96 -0
  234. package/dist/src/lib/workers/execution-controller/slice-analytics.js.map +1 -0
  235. package/dist/src/lib/workers/helpers/job.d.ts +27 -0
  236. package/dist/src/lib/workers/helpers/job.d.ts.map +1 -0
  237. package/dist/src/lib/workers/helpers/job.js +81 -0
  238. package/dist/src/lib/workers/helpers/job.js.map +1 -0
  239. package/dist/src/lib/workers/helpers/op-analytics.d.ts +4 -0
  240. package/dist/src/lib/workers/helpers/op-analytics.d.ts.map +1 -0
  241. package/dist/src/lib/workers/helpers/op-analytics.js +22 -0
  242. package/dist/src/lib/workers/helpers/op-analytics.js.map +1 -0
  243. package/dist/src/lib/workers/helpers/terafoundation.d.ts +5 -0
  244. package/dist/src/lib/workers/helpers/terafoundation.d.ts.map +1 -0
  245. package/dist/src/lib/workers/helpers/terafoundation.js +20 -0
  246. package/dist/src/lib/workers/helpers/terafoundation.js.map +1 -0
  247. package/dist/src/lib/workers/helpers/worker-shutdown.d.ts +7 -0
  248. package/dist/src/lib/workers/helpers/worker-shutdown.d.ts.map +1 -0
  249. package/dist/src/lib/workers/helpers/worker-shutdown.js +149 -0
  250. package/dist/src/lib/workers/helpers/worker-shutdown.js.map +1 -0
  251. package/dist/src/lib/workers/worker/index.d.ts +44 -0
  252. package/dist/src/lib/workers/worker/index.d.ts.map +1 -0
  253. package/dist/src/lib/workers/worker/index.js +391 -0
  254. package/dist/src/lib/workers/worker/index.js.map +1 -0
  255. package/dist/src/lib/workers/worker/slice.d.ts +26 -0
  256. package/dist/src/lib/workers/worker/slice.d.ts.map +1 -0
  257. package/dist/src/lib/workers/worker/slice.js +125 -0
  258. package/dist/src/lib/workers/worker/slice.js.map +1 -0
  259. package/package.json +12 -13
@@ -0,0 +1,42 @@
1
+ import * as k8s from '@kubernetes/client-node';
2
+ import * as i from './interfaces.js';
3
+ export declare function makeTemplate<T = k8s.V1Deployment | k8s.V1Job | k8s.V1Service>(folder: 'deployments' | 'jobs' | 'services', fileName: i.NodeType): (config: i.K8sConfig) => T;
4
+ export declare function getMaxOldSpace(memory: number): number;
5
+ export declare function setMaxOldSpaceViaEnv(envArr: k8s.V1EnvVar[], jobEnv: Record<string, any>, memory: number): void;
6
+ export declare function getRetryConfig(): {
7
+ retries: number;
8
+ delay: number;
9
+ };
10
+ export declare function isDeployment(resource: i.K8sResource): resource is k8s.V1Deployment;
11
+ export declare function isJob(resource: i.K8sResource): resource is k8s.V1Job;
12
+ export declare function isPod(resource: i.K8sResource): resource is k8s.V1Pod;
13
+ export declare function isReplicaSet(resource: i.K8sResource): resource is k8s.V1ReplicaSet;
14
+ export declare function isService(resource: i.K8sResource): resource is k8s.V1Service;
15
+ export declare function isTSDeployment(manifest: k8s.V1Deployment): manifest is i.TSDeployment;
16
+ export declare function isTSJob(manifest: k8s.V1Job): manifest is i.TSJob;
17
+ export declare function isTSPod(manifest: i.K8sResource): manifest is i.TSPod;
18
+ export declare function isTSReplicaSet(manifest: k8s.V1ReplicaSet): manifest is i.TSReplicaSet;
19
+ export declare function isTSService(manifest: k8s.V1Service): manifest is i.TSService;
20
+ export declare function convertToTSResource(resource: k8s.V1Deployment): i.TSDeployment;
21
+ export declare function convertToTSResource(resource: k8s.V1Job): i.TSJob;
22
+ export declare function convertToTSResource(resource: k8s.V1Pod): i.TSPod;
23
+ export declare function convertToTSResource(resource: k8s.V1ReplicaSet): i.TSReplicaSet;
24
+ export declare function convertToTSResource(resource: k8s.V1Service): i.TSService;
25
+ export declare function convertToTSResource(resource: i.K8sResource): i.TSResource;
26
+ export declare function isDeploymentList(manifest: i.K8sResourceList): manifest is k8s.V1DeploymentList;
27
+ export declare function isJobList(manifest: i.K8sResourceList): manifest is k8s.V1JobList;
28
+ export declare function isPodList(manifest: i.K8sResourceList): manifest is k8s.V1PodList;
29
+ export declare function isReplicaSetList(manifest: i.K8sResourceList): manifest is k8s.V1ReplicaSetList;
30
+ export declare function isServiceList(manifest: i.K8sResourceList): manifest is k8s.V1ServiceList;
31
+ export declare function isTSDeploymentList(manifest: k8s.V1DeploymentList): manifest is i.TSDeploymentList;
32
+ export declare function isTSJobList(manifest: k8s.V1JobList): manifest is i.TSJobList;
33
+ export declare function isTSPodList(manifest: k8s.V1PodList): manifest is i.TSPodList;
34
+ export declare function isTSReplicaSetList(manifest: k8s.V1ReplicaSetList): manifest is i.TSReplicaSetList;
35
+ export declare function isTSServiceList(manifest: k8s.V1ServiceList): manifest is i.TSServiceList;
36
+ export declare function convertToTSResourceList(resourceList: k8s.V1DeploymentList): i.TSDeploymentList;
37
+ export declare function convertToTSResourceList(resourceList: k8s.V1JobList): i.TSJobList;
38
+ export declare function convertToTSResourceList(resourceList: k8s.V1PodList): i.TSPodList;
39
+ export declare function convertToTSResourceList(resourceList: k8s.V1ReplicaSetList): i.TSReplicaSetList;
40
+ export declare function convertToTSResourceList(resourceList: k8s.V1ServiceList): i.TSServiceList;
41
+ export declare function convertToTSResourceList(resourceList: i.K8sResourceList): i.TSResourceList;
42
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/cluster/services/cluster/backends/kubernetesV2/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ // @ts-expect-error
4
+ import barbe from 'barbe';
5
+ import * as k8s from '@kubernetes/client-node';
6
+ import { isTest } from '@terascope/core-utils';
7
+ const MAX_RETRIES = isTest ? 2 : 3;
8
+ const RETRY_DELAY = isTest ? 50 : 1000; // time in ms
9
+ const resourcePath = path.join(process.cwd(), './packages/teraslice/src/lib/cluster/services/cluster/backends/kubernetesV2/');
10
+ export function makeTemplate(folder, fileName) {
11
+ const filePath = path.join(resourcePath, folder, `${fileName}.hbs`);
12
+ const templateData = fs.readFileSync(filePath, 'utf-8');
13
+ const templateKeys = ['{{', '}}'];
14
+ return (config) => {
15
+ if (folder !== 'jobs' && (config.exName === undefined || config.exUid === undefined)) {
16
+ throw new Error(`K8s config requires ${config.exName === undefined ? 'exName' : 'exUid'} to create a ${folder} template`);
17
+ }
18
+ if (folder !== 'services' && config.dockerImage === undefined) {
19
+ throw new Error(`K8s config requires a dockerImage to create a ${folder} template`);
20
+ }
21
+ const templated = barbe(templateData, templateKeys, config);
22
+ return JSON.parse(templated);
23
+ };
24
+ }
25
+ // Convert bytes to MB and reduce by 10%
26
+ export function getMaxOldSpace(memory) {
27
+ return Math.round(0.9 * (memory / 1024 / 1024));
28
+ }
29
+ export function setMaxOldSpaceViaEnv(envArr, jobEnv, memory) {
30
+ const envObj = {};
31
+ if (memory && memory > -1) {
32
+ // Set NODE_OPTIONS to override max-old-space-size
33
+ const maxOldSpace = getMaxOldSpace(memory);
34
+ envObj.NODE_OPTIONS = `--max-old-space-size=${maxOldSpace}`;
35
+ }
36
+ Object.assign(envObj, jobEnv);
37
+ Object.entries(envObj).forEach(([name, value]) => {
38
+ envArr.push({
39
+ name,
40
+ value
41
+ });
42
+ });
43
+ }
44
+ export function getRetryConfig() {
45
+ return {
46
+ retries: MAX_RETRIES,
47
+ delay: RETRY_DELAY
48
+ };
49
+ }
50
+ export function isDeployment(resource) {
51
+ return resource instanceof k8s.V1Deployment;
52
+ }
53
+ export function isJob(resource) {
54
+ return resource instanceof k8s.V1Job;
55
+ }
56
+ export function isPod(resource) {
57
+ return resource instanceof k8s.V1Pod;
58
+ }
59
+ export function isReplicaSet(resource) {
60
+ return resource instanceof k8s.V1ReplicaSet;
61
+ }
62
+ export function isService(resource) {
63
+ return resource instanceof k8s.V1Service;
64
+ }
65
+ export function isTSDeployment(manifest) {
66
+ return manifest instanceof k8s.V1Deployment
67
+ && manifest.metadata?.labels !== undefined
68
+ && manifest.metadata.name !== undefined
69
+ && manifest.spec?.replicas !== undefined
70
+ && manifest.spec.template.metadata?.labels !== undefined
71
+ && manifest.spec.template.spec?.containers[0].volumeMounts !== undefined
72
+ && manifest.spec.template.spec.volumes !== undefined;
73
+ }
74
+ export function isTSJob(manifest) {
75
+ return manifest instanceof k8s.V1Job
76
+ && manifest.metadata?.labels !== undefined
77
+ && manifest.metadata.name !== undefined
78
+ && manifest.spec?.template.metadata?.labels !== undefined
79
+ && manifest.spec.template.spec?.containers[0].volumeMounts !== undefined
80
+ && manifest.spec.template.spec.volumes !== undefined;
81
+ }
82
+ export function isTSPod(manifest) {
83
+ return manifest instanceof k8s.V1Pod
84
+ && manifest.metadata?.name !== undefined
85
+ && manifest.status !== undefined;
86
+ }
87
+ export function isTSReplicaSet(manifest) {
88
+ return manifest instanceof k8s.V1ReplicaSet
89
+ && manifest.metadata?.name !== undefined
90
+ && manifest.status !== undefined;
91
+ }
92
+ export function isTSService(manifest) {
93
+ return manifest instanceof k8s.V1Service
94
+ && manifest.metadata?.name !== undefined
95
+ && manifest.spec?.selector !== undefined
96
+ && manifest.spec.ports !== undefined;
97
+ }
98
+ export function convertToTSResource(resource) {
99
+ if (isDeployment(resource) && isTSDeployment(resource)) {
100
+ return resource;
101
+ }
102
+ if (isJob(resource) && isTSJob(resource)) {
103
+ return resource;
104
+ }
105
+ if (isPod(resource) && isTSPod(resource)) {
106
+ return resource;
107
+ }
108
+ if (isReplicaSet(resource) && isTSReplicaSet(resource)) {
109
+ return resource;
110
+ }
111
+ if (isService(resource) && isTSService(resource)) {
112
+ return resource;
113
+ }
114
+ throw new Error('K8sResource missing required field(s) to be converted to TSResource.');
115
+ }
116
+ export function isDeploymentList(manifest) {
117
+ return manifest.kind === 'DeploymentList';
118
+ }
119
+ export function isJobList(manifest) {
120
+ return manifest.kind === 'JobList';
121
+ }
122
+ export function isPodList(manifest) {
123
+ return manifest.kind === 'PodList';
124
+ }
125
+ export function isReplicaSetList(manifest) {
126
+ return manifest.kind === 'ReplicaSetList';
127
+ }
128
+ export function isServiceList(manifest) {
129
+ return manifest.kind === 'ServiceList';
130
+ }
131
+ export function isTSDeploymentList(manifest) {
132
+ return manifest.kind === 'DeploymentList'
133
+ && (manifest.items[0] ? isTSDeployment(manifest.items[0]) : true);
134
+ }
135
+ export function isTSJobList(manifest) {
136
+ return manifest.kind === 'JobList'
137
+ && (manifest.items[0] ? isTSJob(manifest.items[0]) : true);
138
+ }
139
+ export function isTSPodList(manifest) {
140
+ return manifest.kind === 'PodList'
141
+ && (manifest.items[0] ? isTSPod(manifest.items[0]) : true);
142
+ }
143
+ export function isTSReplicaSetList(manifest) {
144
+ return manifest.kind === 'ReplicaSetList'
145
+ && (manifest.items[0] ? isTSReplicaSet(manifest.items[0]) : true);
146
+ }
147
+ export function isTSServiceList(manifest) {
148
+ return manifest.kind === 'ServiceList'
149
+ && (manifest.items[0] ? isTSService(manifest.items[0]) : true);
150
+ }
151
+ export function convertToTSResourceList(resourceList) {
152
+ resourceList.items.map((resource) => convertToTSResource(resource));
153
+ if (isDeploymentList(resourceList) && isTSDeploymentList(resourceList)) {
154
+ return resourceList;
155
+ }
156
+ if (isJobList(resourceList) && isTSJobList(resourceList)) {
157
+ return resourceList;
158
+ }
159
+ if (isPodList(resourceList) && isTSPodList(resourceList)) {
160
+ return resourceList;
161
+ }
162
+ if (isReplicaSetList(resourceList) && isTSReplicaSetList(resourceList)) {
163
+ return resourceList;
164
+ }
165
+ if (isServiceList(resourceList) && isTSServiceList(resourceList)) {
166
+ return resourceList;
167
+ }
168
+ throw new Error('K8sResource missing required field(s) to be converted to TSResourceList.');
169
+ }
170
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../src/lib/cluster/services/cluster/backends/kubernetesV2/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class Dispatch {
2
+ dispatch: Record<string, number>;
3
+ set(nodeId: string, numOfWorkers: number): void;
4
+ getDispatch: () => Record<string, number>;
5
+ }
6
+ //# sourceMappingURL=dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/cluster/services/cluster/backends/native/dispatch.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEtC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAQxC,WAAW,+BAAuB;CACrC"}
@@ -0,0 +1,13 @@
1
+ export class Dispatch {
2
+ dispatch = {};
3
+ set(nodeId, numOfWorkers) {
4
+ if (this.dispatch[nodeId]) {
5
+ this.dispatch[nodeId] += numOfWorkers;
6
+ }
7
+ else {
8
+ this.dispatch[nodeId] = numOfWorkers;
9
+ }
10
+ }
11
+ getDispatch = () => this.dispatch;
12
+ }
13
+ //# sourceMappingURL=dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../../../../../../src/lib/cluster/services/cluster/backends/native/dispatch.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IACjB,QAAQ,GAA2B,EAAE,CAAC;IAEtC,GAAG,CAAC,MAAc,EAAE,YAAoB;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;QACzC,CAAC;IACL,CAAC;IAED,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;CACrC"}
@@ -0,0 +1,59 @@
1
+ import { Logger, Queue } from '@terascope/core-utils';
2
+ import type { EventEmitter } from 'node:events';
3
+ import { ExecutionConfig } from '@terascope/types';
4
+ import type { ClusterMasterContext, NodeState } from '../../../../../../interfaces.js';
5
+ import { Messaging } from './messaging.js';
6
+ import { ExecutionStorage } from '../../../../../storage/index.js';
7
+ import { StopExecutionOptions } from '../../../interfaces.js';
8
+ export declare class NativeClustering {
9
+ context: ClusterMasterContext;
10
+ logger: Logger;
11
+ events: EventEmitter;
12
+ executionStore: ExecutionStorage;
13
+ pendingWorkerRequests: Queue<any>;
14
+ nodeStateInterval: number;
15
+ slicerAllocationAttempts: number;
16
+ clusterState: Record<string, NodeState>;
17
+ clusterStateInterval: NodeJS.Timeout | undefined;
18
+ messaging: Messaging;
19
+ droppedNodes: Record<string, any>;
20
+ clusterMasterServer: any;
21
+ constructor(context: ClusterMasterContext, clusterMasterServer: any);
22
+ private _cleanUpNode;
23
+ initialize(): Promise<void>;
24
+ getClusterState(): Record<string, NodeState>;
25
+ private _checkNode;
26
+ private _findNodeForSlicer;
27
+ private _findNodesForExecution;
28
+ private _availableWorkers;
29
+ private _findPort;
30
+ allocateWorkers(execution: ExecutionConfig, numOfWorkersRequested: number): Promise<any[]>;
31
+ private _createSlicer;
32
+ allocateSlicer(ex: ExecutionConfig): Promise<ExecutionConfig>;
33
+ addWorkers(execution: any, workerNum: number): {
34
+ action: string;
35
+ ex_id: any;
36
+ workerNum: number;
37
+ };
38
+ setWorkers(execution: any, workerNum: number): {
39
+ action: string;
40
+ ex_id: any;
41
+ workerNum: number;
42
+ } | Promise<{
43
+ action: string;
44
+ ex_id: string;
45
+ workerNum: number;
46
+ }>;
47
+ removeWorkers(exId: string, workerNum: number): Promise<{
48
+ action: string;
49
+ ex_id: string;
50
+ workerNum: number;
51
+ }>;
52
+ private _notifyNodesWithExecution;
53
+ readyForAllocation(): boolean;
54
+ clusterAvailable(): void;
55
+ stopExecution(exId: string, options?: StopExecutionOptions): Promise<unknown>;
56
+ shutdown(): Promise<void>;
57
+ listResourcesForJobId(): Promise<never[]>;
58
+ }
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/cluster/services/cluster/backends/native/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEgB,MAAM,EAEzB,KAAK,EACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA6B9D,qBAAa,gBAAgB;IACzB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAG,gBAAgB,CAAC;IAClC,qBAAqB,aAAoB;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAM;IAC7C,oBAAoB,EAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAClD,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACvC,mBAAmB,EAAE,GAAG,CAAC;gBAEb,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,GAAG;YAoFrD,YAAY;IA6CpB,UAAU;IAiBhB,eAAe;IAIf,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,SAAS;IAUX,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM;YAsFjE,aAAa;IA8CrB,cAAc,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBnE,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;;;;;IAa5C,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;;;;;;;;;IAiB5C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;IAgE7C,OAAO,CAAC,yBAAyB;IAyCjC,kBAAkB;IAIlB,gBAAgB;IAEV,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAW1D,QAAQ;IAWR,qBAAqB;CAG9B"}