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.
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interfaces.d.ts +91 -0
- package/dist/src/interfaces.d.ts.map +1 -0
- package/dist/src/interfaces.js.map +1 -0
- package/dist/src/lib/cluster/cluster_master.d.ts +26 -0
- package/dist/src/lib/cluster/cluster_master.d.ts.map +1 -0
- package/dist/src/lib/cluster/cluster_master.js +246 -0
- package/dist/src/lib/cluster/cluster_master.js.map +1 -0
- package/dist/src/lib/cluster/node_master.d.ts +3 -0
- package/dist/src/lib/cluster/node_master.d.ts.map +1 -0
- package/dist/src/lib/cluster/node_master.js +355 -0
- package/dist/src/lib/cluster/node_master.js.map +1 -0
- package/dist/src/lib/cluster/services/api.d.ts +42 -0
- package/dist/src/lib/cluster/services/api.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/api.js +673 -0
- package/dist/src/lib/cluster/services/api.js.map +1 -0
- package/dist/src/lib/cluster/services/assets.d.ts +20 -0
- package/dist/src/lib/cluster/services/assets.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/assets.js +224 -0
- package/dist/src/lib/cluster/services/assets.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.d.ts +85 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.js +193 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/index.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.d.ts +148 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.js +2 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/interfaces.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.d.ts +128 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.js +419 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8s.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.d.ts +27 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.js +60 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sDeploymentResource.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.d.ts +23 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.js +56 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sJobResource.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.d.ts +69 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.js +378 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sResource.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.d.ts +26 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.js +37 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sServiceResource.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.d.ts +13 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.js +60 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/k8sState.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.d.ts +42 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.js +170 -0
- package/dist/src/lib/cluster/services/cluster/backends/kubernetesV2/utils.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.d.ts +6 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.js +13 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/dispatch.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/index.d.ts +59 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/index.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/index.js +526 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/index.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/messaging.d.ts +70 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/messaging.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/messaging.js +548 -0
- package/dist/src/lib/cluster/services/cluster/backends/native/messaging.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/state-utils.d.ts +6 -0
- package/dist/src/lib/cluster/services/cluster/backends/state-utils.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/backends/state-utils.js +26 -0
- package/dist/src/lib/cluster/services/cluster/backends/state-utils.js.map +1 -0
- package/dist/src/lib/cluster/services/cluster/index.d.ts +6 -0
- package/dist/src/lib/cluster/services/cluster/index.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/cluster/index.js +13 -0
- package/dist/src/lib/cluster/services/cluster/index.js.map +1 -0
- package/dist/src/lib/cluster/services/execution.d.ts +98 -0
- package/dist/src/lib/cluster/services/execution.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/execution.js +449 -0
- package/dist/src/lib/cluster/services/execution.js.map +1 -0
- package/dist/src/lib/cluster/services/index.d.ts +6 -0
- package/dist/src/lib/cluster/services/index.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/index.js +6 -0
- package/dist/src/lib/cluster/services/index.js.map +1 -0
- package/dist/src/lib/cluster/services/interfaces.d.ts +6 -0
- package/dist/src/lib/cluster/services/interfaces.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/interfaces.js +2 -0
- package/dist/src/lib/cluster/services/interfaces.js.map +1 -0
- package/dist/src/lib/cluster/services/jobs.d.ts +155 -0
- package/dist/src/lib/cluster/services/jobs.d.ts.map +1 -0
- package/dist/src/lib/cluster/services/jobs.js +482 -0
- package/dist/src/lib/cluster/services/jobs.js.map +1 -0
- package/dist/src/lib/config/default-sysconfig.d.ts +11 -0
- package/dist/src/lib/config/default-sysconfig.d.ts.map +1 -0
- package/dist/src/lib/config/default-sysconfig.js +25 -0
- package/dist/src/lib/config/default-sysconfig.js.map +1 -0
- package/dist/src/lib/config/index.d.ts +6 -0
- package/dist/src/lib/config/index.d.ts.map +1 -0
- package/dist/src/lib/config/index.js +20 -0
- package/dist/src/lib/config/index.js.map +1 -0
- package/dist/src/lib/config/schemas/system.d.ts +548 -0
- package/dist/src/lib/config/schemas/system.d.ts.map +1 -0
- package/dist/src/lib/config/schemas/system.js +360 -0
- package/dist/src/lib/config/schemas/system.js.map +1 -0
- package/dist/src/lib/storage/analytics.d.ts +23 -0
- package/dist/src/lib/storage/analytics.d.ts.map +1 -0
- package/dist/src/lib/storage/analytics.js +86 -0
- package/dist/src/lib/storage/analytics.js.map +1 -0
- package/dist/src/lib/storage/assets.d.ts +47 -0
- package/dist/src/lib/storage/assets.d.ts.map +1 -0
- package/dist/src/lib/storage/assets.js +400 -0
- package/dist/src/lib/storage/assets.js.map +1 -0
- package/dist/src/lib/storage/backends/elasticsearch_store.d.ts +63 -0
- package/dist/src/lib/storage/backends/elasticsearch_store.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/elasticsearch_store.js +495 -0
- package/dist/src/lib/storage/backends/elasticsearch_store.js.map +1 -0
- package/dist/src/lib/storage/backends/mappings/analytics.d.ts +4 -0
- package/dist/src/lib/storage/backends/mappings/analytics.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/mappings/analytics.js +20 -0
- package/dist/src/lib/storage/backends/mappings/analytics.js.map +1 -0
- package/dist/src/lib/storage/backends/mappings/asset.d.ts +3 -0
- package/dist/src/lib/storage/backends/mappings/asset.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/mappings/asset.js +16 -0
- package/dist/src/lib/storage/backends/mappings/asset.js.map +1 -0
- package/dist/src/lib/storage/backends/mappings/ex.d.ts +3 -0
- package/dist/src/lib/storage/backends/mappings/ex.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/mappings/ex.js +53 -0
- package/dist/src/lib/storage/backends/mappings/ex.js.map +1 -0
- package/dist/src/lib/storage/backends/mappings/job.d.ts +3 -0
- package/dist/src/lib/storage/backends/mappings/job.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/mappings/job.js +41 -0
- package/dist/src/lib/storage/backends/mappings/job.js.map +1 -0
- package/dist/src/lib/storage/backends/mappings/state.d.ts +4 -0
- package/dist/src/lib/storage/backends/mappings/state.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/mappings/state.js +16 -0
- package/dist/src/lib/storage/backends/mappings/state.js.map +1 -0
- package/dist/src/lib/storage/backends/s3_store.d.ts +30 -0
- package/dist/src/lib/storage/backends/s3_store.d.ts.map +1 -0
- package/dist/src/lib/storage/backends/s3_store.js +237 -0
- package/dist/src/lib/storage/backends/s3_store.js.map +1 -0
- package/dist/src/lib/storage/execution.d.ts +73 -0
- package/dist/src/lib/storage/execution.d.ts.map +1 -0
- package/dist/src/lib/storage/execution.js +302 -0
- package/dist/src/lib/storage/execution.js.map +1 -0
- package/dist/src/lib/storage/index.d.ts +7 -0
- package/dist/src/lib/storage/index.d.ts.map +1 -0
- package/dist/src/lib/storage/index.js +7 -0
- package/dist/src/lib/storage/index.js.map +1 -0
- package/dist/src/lib/storage/jobs.d.ts +19 -0
- package/dist/src/lib/storage/jobs.d.ts.map +1 -0
- package/dist/src/lib/storage/jobs.js +81 -0
- package/dist/src/lib/storage/jobs.js.map +1 -0
- package/dist/src/lib/storage/state.d.ts +64 -0
- package/dist/src/lib/storage/state.d.ts.map +1 -0
- package/dist/src/lib/storage/state.js +257 -0
- package/dist/src/lib/storage/state.js.map +1 -0
- package/dist/src/lib/utils/api_utils.d.ts +21 -0
- package/dist/src/lib/utils/api_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/api_utils.js +128 -0
- package/dist/src/lib/utils/api_utils.js.map +1 -0
- package/dist/src/lib/utils/asset_utils.d.ts +8 -0
- package/dist/src/lib/utils/asset_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/asset_utils.js +94 -0
- package/dist/src/lib/utils/asset_utils.js.map +1 -0
- package/dist/src/lib/utils/date_utils.d.ts +7 -0
- package/dist/src/lib/utils/date_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/date_utils.js +52 -0
- package/dist/src/lib/utils/date_utils.js.map +1 -0
- package/dist/src/lib/utils/encoding_utils.d.ts +3 -0
- package/dist/src/lib/utils/encoding_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/encoding_utils.js +27 -0
- package/dist/src/lib/utils/encoding_utils.js.map +1 -0
- package/dist/src/lib/utils/events.d.ts +4 -0
- package/dist/src/lib/utils/events.d.ts.map +1 -0
- package/dist/src/lib/utils/events.js +4 -0
- package/dist/src/lib/utils/events.js.map +1 -0
- package/dist/src/lib/utils/file_utils.d.ts +44 -0
- package/dist/src/lib/utils/file_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/file_utils.js +124 -0
- package/dist/src/lib/utils/file_utils.js.map +1 -0
- package/dist/src/lib/utils/id_utils.d.ts +2 -0
- package/dist/src/lib/utils/id_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/id_utils.js +15 -0
- package/dist/src/lib/utils/id_utils.js.map +1 -0
- package/dist/src/lib/utils/port_utils.d.ts +20 -0
- package/dist/src/lib/utils/port_utils.d.ts.map +1 -0
- package/dist/src/lib/utils/port_utils.js +32 -0
- package/dist/src/lib/utils/port_utils.js.map +1 -0
- package/dist/src/lib/workers/assets/index.d.ts +3 -0
- package/dist/src/lib/workers/assets/index.d.ts.map +1 -0
- package/dist/src/lib/workers/assets/index.js +3 -0
- package/dist/src/lib/workers/assets/index.js.map +1 -0
- package/dist/src/lib/workers/assets/loader-executable.d.ts +2 -0
- package/dist/src/lib/workers/assets/loader-executable.d.ts.map +1 -0
- package/dist/src/lib/workers/assets/loader-executable.js +40 -0
- package/dist/src/lib/workers/assets/loader-executable.js.map +1 -0
- package/dist/src/lib/workers/assets/loader.d.ts +14 -0
- package/dist/src/lib/workers/assets/loader.d.ts.map +1 -0
- package/dist/src/lib/workers/assets/loader.js +73 -0
- package/dist/src/lib/workers/assets/loader.js.map +1 -0
- package/dist/src/lib/workers/assets/spawn.d.ts +3 -0
- package/dist/src/lib/workers/assets/spawn.d.ts.map +1 -0
- package/dist/src/lib/workers/assets/spawn.js +55 -0
- package/dist/src/lib/workers/assets/spawn.js.map +1 -0
- package/dist/src/lib/workers/context/execution-context.d.ts +3 -0
- package/dist/src/lib/workers/context/execution-context.d.ts.map +1 -0
- package/dist/src/lib/workers/context/execution-context.js +12 -0
- package/dist/src/lib/workers/context/execution-context.js.map +1 -0
- package/dist/src/lib/workers/context/terafoundation-context.d.ts +3 -0
- package/dist/src/lib/workers/context/terafoundation-context.d.ts.map +1 -0
- package/dist/src/lib/workers/context/terafoundation-context.js +22 -0
- package/dist/src/lib/workers/context/terafoundation-context.js.map +1 -0
- package/dist/src/lib/workers/execution-controller/execution-analytics.d.ts +53 -0
- package/dist/src/lib/workers/execution-controller/execution-analytics.d.ts.map +1 -0
- package/dist/src/lib/workers/execution-controller/execution-analytics.js +188 -0
- package/dist/src/lib/workers/execution-controller/execution-analytics.js.map +1 -0
- package/dist/src/lib/workers/execution-controller/index.d.ts +93 -0
- package/dist/src/lib/workers/execution-controller/index.d.ts.map +1 -0
- package/dist/src/lib/workers/execution-controller/index.js +1023 -0
- package/dist/src/lib/workers/execution-controller/index.js.map +1 -0
- package/dist/src/lib/workers/execution-controller/recovery.d.ts +42 -0
- package/dist/src/lib/workers/execution-controller/recovery.d.ts.map +1 -0
- package/dist/src/lib/workers/execution-controller/recovery.js +151 -0
- package/dist/src/lib/workers/execution-controller/recovery.js.map +1 -0
- package/dist/src/lib/workers/execution-controller/scheduler.d.ts +66 -0
- package/dist/src/lib/workers/execution-controller/scheduler.d.ts.map +1 -0
- package/dist/src/lib/workers/execution-controller/scheduler.js +390 -0
- package/dist/src/lib/workers/execution-controller/scheduler.js.map +1 -0
- package/dist/src/lib/workers/execution-controller/slice-analytics.d.ts +31 -0
- package/dist/src/lib/workers/execution-controller/slice-analytics.d.ts.map +1 -0
- package/dist/src/lib/workers/execution-controller/slice-analytics.js +96 -0
- package/dist/src/lib/workers/execution-controller/slice-analytics.js.map +1 -0
- package/dist/src/lib/workers/helpers/job.d.ts +27 -0
- package/dist/src/lib/workers/helpers/job.d.ts.map +1 -0
- package/dist/src/lib/workers/helpers/job.js +81 -0
- package/dist/src/lib/workers/helpers/job.js.map +1 -0
- package/dist/src/lib/workers/helpers/op-analytics.d.ts +4 -0
- package/dist/src/lib/workers/helpers/op-analytics.d.ts.map +1 -0
- package/dist/src/lib/workers/helpers/op-analytics.js +22 -0
- package/dist/src/lib/workers/helpers/op-analytics.js.map +1 -0
- package/dist/src/lib/workers/helpers/terafoundation.d.ts +5 -0
- package/dist/src/lib/workers/helpers/terafoundation.d.ts.map +1 -0
- package/dist/src/lib/workers/helpers/terafoundation.js +20 -0
- package/dist/src/lib/workers/helpers/terafoundation.js.map +1 -0
- package/dist/src/lib/workers/helpers/worker-shutdown.d.ts +7 -0
- package/dist/src/lib/workers/helpers/worker-shutdown.d.ts.map +1 -0
- package/dist/src/lib/workers/helpers/worker-shutdown.js +149 -0
- package/dist/src/lib/workers/helpers/worker-shutdown.js.map +1 -0
- package/dist/src/lib/workers/worker/index.d.ts +44 -0
- package/dist/src/lib/workers/worker/index.d.ts.map +1 -0
- package/dist/src/lib/workers/worker/index.js +391 -0
- package/dist/src/lib/workers/worker/index.js.map +1 -0
- package/dist/src/lib/workers/worker/slice.d.ts +26 -0
- package/dist/src/lib/workers/worker/slice.d.ts.map +1 -0
- package/dist/src/lib/workers/worker/slice.js +125 -0
- package/dist/src/lib/workers/worker/slice.js.map +1 -0
- 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":"AAIA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAE/C,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAMrC,wBAAgB,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,SAAS,EACzE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,EAC3C,QAAQ,EAAE,CAAC,CAAC,QAAQ,GACrB,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,CAiB5B;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,UAE5C;AAED,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,MAAM,QAiBjB;AAED,wBAAgB,cAAc;;;EAK7B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,CAAC,YAAY,CAElF;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,CAAC,KAAK,CAEpE;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,CAAC,KAAK,CAEpE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,CAAC,YAAY,CAElF;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,CAAC,SAAS,CAE5E;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,GAAG,QAAQ,IAAI,CAAC,CAAC,YAAY,CAQrF;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,GAAG,QAAQ,IAAI,CAAC,CAAC,KAAK,CAOhE;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,IAAI,CAAC,CAAC,KAAK,CAIpE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,GAAG,QAAQ,IAAI,CAAC,CAAC,YAAY,CAIrF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC,CAAC,SAAS,CAK5E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAClE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAClE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;AAC1E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC;AAqB3E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,GAAG,QAAQ,IAAI,GAAG,CAAC,gBAAgB,CAE9F;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,GAAG,QAAQ,IAAI,GAAG,CAAC,SAAS,CAEhF;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,GAAG,QAAQ,IAAI,GAAG,CAAC,SAAS,CAEhF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,GAAG,QAAQ,IAAI,GAAG,CAAC,gBAAgB,CAE9F;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,GAAG,QAAQ,IAAI,GAAG,CAAC,aAAa,CAExF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,GAAG,QAAQ,IAAI,CAAC,CAAC,gBAAgB,CAGjG;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC,CAAC,SAAS,CAG5E;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,GAAG,QAAQ,IAAI,CAAC,CAAC,SAAS,CAG5E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,GAAG,QAAQ,IAAI,CAAC,CAAC,gBAAgB,CAGjG;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,GAAG,QAAQ,IAAI,CAAC,CAAC,aAAa,CAGxF;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;AAChG,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;AAClF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;AAClF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;AAChG,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;AAC1F,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,cAAc,CAAC"}
|
|
@@ -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 @@
|
|
|
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"}
|