@pulumix/core 0.9.0 → 0.10.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/dev/env-compute.d.ts +15 -0
- package/dist/dev/env-compute.d.ts.map +1 -0
- package/dist/dev/env-compute.js +92 -0
- package/dist/dev/env-compute.js.map +1 -0
- package/dist/dev/index.d.ts +1 -9
- package/dist/dev/index.d.ts.map +1 -1
- package/dist/dev/index.js +91 -211
- package/dist/dev/index.js.map +1 -1
- package/dist/dev/local-runner.d.ts.map +1 -1
- package/dist/dev/local-runner.js +0 -1
- package/dist/dev/local-runner.js.map +1 -1
- package/dist/dev/port-forward.d.ts +1 -1
- package/dist/dev/port-forward.d.ts.map +1 -1
- package/dist/dev/port-forward.js +43 -28
- package/dist/dev/port-forward.js.map +1 -1
- package/dist/dev/types.d.ts +4 -22
- package/dist/dev/types.d.ts.map +1 -1
- package/dist/dev/types.js +1 -24
- package/dist/dev/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/k8s/client.d.ts +8 -0
- package/dist/k8s/client.d.ts.map +1 -0
- package/dist/k8s/client.js +48 -0
- package/dist/k8s/client.js.map +1 -0
- package/dist/k8s/index.d.ts +5 -0
- package/dist/k8s/index.d.ts.map +1 -0
- package/dist/k8s/index.js +12 -0
- package/dist/k8s/index.js.map +1 -0
- package/dist/k8s/inspect.d.ts +40 -0
- package/dist/k8s/inspect.d.ts.map +1 -0
- package/dist/k8s/inspect.js +133 -0
- package/dist/k8s/inspect.js.map +1 -0
- package/dist/orchestrator/index.d.ts +10 -0
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +247 -167
- package/dist/orchestrator/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -3,7 +3,7 @@ import { Either } from 'purify-ts/Either';
|
|
|
3
3
|
import { PortForwardMapping, PortForwardHandle } from './types';
|
|
4
4
|
export declare function checkKubectl(): Promise<Either<DeployError, true>>;
|
|
5
5
|
export declare function checkPortAvailable(port: number): Promise<boolean>;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function findAvailablePort(startPort: number): Promise<number>;
|
|
7
7
|
export declare function startPortForward(mapping: PortForwardMapping, kubeContext?: string): Promise<Either<DeployError, PortForwardHandle>>;
|
|
8
8
|
export declare function startPortForwards(mappings: PortForwardMapping[], kubeContext?: string): Promise<Either<DeployError, PortForwardHandle[]>>;
|
|
9
9
|
export declare function stopPortForwards(handles: PortForwardHandle[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-forward.d.ts","sourceRoot":"","sources":["../../src/dev/port-forward.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port-forward.d.ts","sourceRoot":"","sources":["../../src/dev/port-forward.ts"],"names":[],"mappings":"AASA,OAAO,EAAyB,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAK/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CA4BvE;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAejE;AAMD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa1E;AAKD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CA+EjD;AAKD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAgBnD;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAQnE"}
|
package/dist/dev/port-forward.js
CHANGED
|
@@ -1,12 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.checkKubectl = checkKubectl;
|
|
4
37
|
exports.checkPortAvailable = checkPortAvailable;
|
|
5
|
-
exports.
|
|
38
|
+
exports.findAvailablePort = findAvailablePort;
|
|
6
39
|
exports.startPortForward = startPortForward;
|
|
7
40
|
exports.startPortForwards = startPortForwards;
|
|
8
41
|
exports.stopPortForwards = stopPortForwards;
|
|
9
42
|
const child_process_1 = require("child_process");
|
|
43
|
+
const net = __importStar(require("net"));
|
|
10
44
|
const errors_1 = require("../types/errors");
|
|
11
45
|
const Either_1 = require("purify-ts/Either");
|
|
12
46
|
async function checkKubectl() {
|
|
@@ -29,7 +63,6 @@ async function checkKubectl() {
|
|
|
29
63
|
}
|
|
30
64
|
function checkPortAvailable(port) {
|
|
31
65
|
return new Promise((resolve) => {
|
|
32
|
-
const net = require('net');
|
|
33
66
|
const server = net.createServer();
|
|
34
67
|
server.once('error', () => {
|
|
35
68
|
resolve(false);
|
|
@@ -41,34 +74,16 @@ function checkPortAvailable(port) {
|
|
|
41
74
|
server.listen(port, '127.0.0.1');
|
|
42
75
|
});
|
|
43
76
|
}
|
|
44
|
-
async function
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const socket = new net.Socket();
|
|
51
|
-
socket.setTimeout(500);
|
|
52
|
-
socket.on('connect', () => {
|
|
53
|
-
socket.destroy();
|
|
54
|
-
resolve(true);
|
|
55
|
-
});
|
|
56
|
-
socket.on('error', () => {
|
|
57
|
-
socket.destroy();
|
|
58
|
-
resolve(false);
|
|
59
|
-
});
|
|
60
|
-
socket.on('timeout', () => {
|
|
61
|
-
socket.destroy();
|
|
62
|
-
resolve(false);
|
|
63
|
-
});
|
|
64
|
-
socket.connect(port, '127.0.0.1');
|
|
65
|
-
});
|
|
66
|
-
if (available) {
|
|
67
|
-
return true;
|
|
77
|
+
async function findAvailablePort(startPort) {
|
|
78
|
+
let port = startPort;
|
|
79
|
+
const maxAttempts = 100;
|
|
80
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
81
|
+
if (await checkPortAvailable(port)) {
|
|
82
|
+
return port;
|
|
68
83
|
}
|
|
69
|
-
|
|
84
|
+
port++;
|
|
70
85
|
}
|
|
71
|
-
return
|
|
86
|
+
return startPort;
|
|
72
87
|
}
|
|
73
88
|
async function startPortForward(mapping, kubeContext) {
|
|
74
89
|
const portAvailable = await checkPortAvailable(mapping.localPort);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-forward.js","sourceRoot":"","sources":["../../src/dev/port-forward.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port-forward.js","sourceRoot":"","sources":["../../src/dev/port-forward.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/types.d.ts
CHANGED
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { DiscoveredService } from '../types/service';
|
|
2
|
-
export interface DevExposeConfig {
|
|
3
|
-
readonly port: number;
|
|
4
|
-
readonly protocol?: string;
|
|
5
|
-
readonly envVar?: string;
|
|
6
|
-
}
|
|
7
2
|
export interface DevConfig {
|
|
8
|
-
readonly command
|
|
3
|
+
readonly command: string;
|
|
9
4
|
readonly port?: number;
|
|
10
5
|
readonly env?: Record<string, string>;
|
|
11
6
|
readonly cwd?: string;
|
|
12
|
-
readonly expose?: DevExposeConfig;
|
|
13
7
|
}
|
|
14
8
|
export interface PortForwardMapping {
|
|
15
9
|
readonly serviceName: string;
|
|
16
10
|
readonly namespace: string;
|
|
17
11
|
readonly remotePort: number;
|
|
18
12
|
readonly localPort: number;
|
|
19
|
-
readonly envVar: string;
|
|
20
|
-
readonly protocol: string;
|
|
21
13
|
}
|
|
22
14
|
export interface PortForwardHandle {
|
|
23
15
|
readonly kill: () => void;
|
|
@@ -39,28 +31,18 @@ export interface DevOrchestratorConfig {
|
|
|
39
31
|
readonly rootPath: string;
|
|
40
32
|
readonly stackName: string;
|
|
41
33
|
readonly devServices: string[];
|
|
34
|
+
readonly kubeContext?: string;
|
|
35
|
+
readonly onLog?: (message: string) => void;
|
|
42
36
|
readonly onOutput?: (message: string) => void;
|
|
43
37
|
}
|
|
44
|
-
export interface ServiceSwapHandle {
|
|
45
|
-
readonly serviceName: string;
|
|
46
|
-
readonly namespace: string;
|
|
47
|
-
readonly localPort: number;
|
|
48
|
-
readonly restore: () => Promise<void>;
|
|
49
|
-
}
|
|
50
38
|
export interface DevOrchestratorResult {
|
|
51
39
|
readonly success: boolean;
|
|
52
40
|
readonly stack: string;
|
|
53
|
-
readonly namespace
|
|
54
|
-
readonly baseDomain?: string;
|
|
41
|
+
readonly namespace: string;
|
|
55
42
|
readonly devServices: LocalDevService[];
|
|
56
43
|
readonly portForwards: PortForwardMapping[];
|
|
57
44
|
readonly devServerHandles: DevServerHandle[];
|
|
58
45
|
readonly portForwardHandles: PortForwardHandle[];
|
|
59
|
-
readonly serviceSwapHandles?: ServiceSwapHandle[];
|
|
60
|
-
readonly ingressUrls?: string[];
|
|
61
46
|
}
|
|
62
|
-
export declare const STANDARD_PORTS: Record<string, number>;
|
|
63
|
-
export declare const PROTOCOL_PREFIXES: Record<string, string>;
|
|
64
|
-
export declare const HTTP_PORT_BASE = 10001;
|
|
65
47
|
export declare const DEV_SERVER_PORT_BASE = 3000;
|
|
66
48
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/dev/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dev/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAKpD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dev/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAKpD,MAAM,WAAW,SAAS;IAExB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAKD,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAKD,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IAEzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAEhC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CACrC;AAKD,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IAEzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAEhC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAKD,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IAEnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAKD,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;IAE9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAE7B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAE1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C;AAKD,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAA;IAEvC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAA;IAE3C,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;IAE5C,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;CACjD;AAMD,eAAO,MAAM,oBAAoB,OAAO,CAAA"}
|
package/dist/dev/types.js
CHANGED
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEV_SERVER_PORT_BASE =
|
|
4
|
-
exports.STANDARD_PORTS = {
|
|
5
|
-
postgres: 5432,
|
|
6
|
-
postgresql: 5432,
|
|
7
|
-
mysql: 3306,
|
|
8
|
-
redis: 6379,
|
|
9
|
-
mongodb: 27017,
|
|
10
|
-
mongo: 27017,
|
|
11
|
-
rabbitmq: 5672,
|
|
12
|
-
kafka: 9092,
|
|
13
|
-
elasticsearch: 9200,
|
|
14
|
-
memcached: 11211,
|
|
15
|
-
};
|
|
16
|
-
exports.PROTOCOL_PREFIXES = {
|
|
17
|
-
postgres: 'postgres',
|
|
18
|
-
postgresql: 'postgres',
|
|
19
|
-
mysql: 'mysql',
|
|
20
|
-
redis: 'redis',
|
|
21
|
-
mongodb: 'mongodb',
|
|
22
|
-
mongo: 'mongodb',
|
|
23
|
-
http: 'http',
|
|
24
|
-
https: 'https',
|
|
25
|
-
};
|
|
26
|
-
exports.HTTP_PORT_BASE = 10001;
|
|
3
|
+
exports.DEV_SERVER_PORT_BASE = void 0;
|
|
27
4
|
exports.DEV_SERVER_PORT_BASE = 3000;
|
|
28
5
|
//# sourceMappingURL=types.js.map
|
package/dist/dev/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dev/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dev/types.ts"],"names":[],"mappings":";;;AAkHa,QAAA,oBAAoB,GAAG,IAAI,CAAA"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAG9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AAGrC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,UAAU,CAAA;AAGxB,cAAc,OAAO,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAG9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AAGrC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,UAAU,CAAA;AAGxB,cAAc,OAAO,CAAA;AAGrB,cAAc,OAAO,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -26,5 +26,6 @@ __exportStar(require("./orchestrator"), exports);
|
|
|
26
26
|
__exportStar(require("./orchestrator/events"), exports);
|
|
27
27
|
__exportStar(require("./utils/kubernetes"), exports);
|
|
28
28
|
__exportStar(require("./docker"), exports);
|
|
29
|
+
__exportStar(require("./k8s"), exports);
|
|
29
30
|
__exportStar(require("./dev"), exports);
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOa,QAAA,OAAO,GAAG,OAAO,CAAA;AAG9B,kDAA+B;AAC/B,mDAAgC;AAChC,iDAA8B;AAC9B,iDAA8B;AAG9B,wDAAqC;AACrC,uDAAoC;AAGpC,iDAA8B;AAC9B,wDAAqC;AAGrC,qDAAkC;AAGlC,2CAAwB;AAGxB,wCAAqB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOa,QAAA,OAAO,GAAG,OAAO,CAAA;AAG9B,kDAA+B;AAC/B,mDAAgC;AAChC,iDAA8B;AAC9B,iDAA8B;AAG9B,wDAAqC;AACrC,uDAAoC;AAGpC,iDAA8B;AAC9B,wDAAqC;AAGrC,qDAAkC;AAGlC,2CAAwB;AAGxB,wCAAqB;AAGrB,wCAAqB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as k8s from '@kubernetes/client-node';
|
|
2
|
+
export interface K8sClients {
|
|
3
|
+
readonly coreV1: k8s.CoreV1Api;
|
|
4
|
+
readonly appsV1: k8s.AppsV1Api;
|
|
5
|
+
readonly kubeConfig: k8s.KubeConfig;
|
|
6
|
+
}
|
|
7
|
+
export declare function createK8sClients(kubeContext?: string): K8sClients;
|
|
8
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/k8s/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAE9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAA;CACpC;AAKD,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAYjE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createK8sClients = createK8sClients;
|
|
37
|
+
const k8s = __importStar(require("@kubernetes/client-node"));
|
|
38
|
+
function createK8sClients(kubeContext) {
|
|
39
|
+
const kc = new k8s.KubeConfig();
|
|
40
|
+
kc.loadFromDefault();
|
|
41
|
+
if (kubeContext) {
|
|
42
|
+
kc.setCurrentContext(kubeContext);
|
|
43
|
+
}
|
|
44
|
+
const coreV1 = kc.makeApiClient(k8s.CoreV1Api);
|
|
45
|
+
const appsV1 = kc.makeApiClient(k8s.AppsV1Api);
|
|
46
|
+
return { coreV1, appsV1, kubeConfig: kc };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/k8s/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,4CAYC;AAvBD,6DAA8C;AAW9C,SAAgB,gBAAgB,CAAC,WAAoB;IACnD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAA;IAC/B,EAAE,CAAC,eAAe,EAAE,CAAA;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;AAC3C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createK8sClients } from './client';
|
|
2
|
+
export type { K8sClients } from './client';
|
|
3
|
+
export { listNamespaceServices, getDeploymentEnvVars, resolveConfigMapValue, resolveSecretValue, resolveDeploymentEnv, } from './inspect';
|
|
4
|
+
export type { ClusterServiceInfo, ClusterServicePort, DeploymentEnvVar, } from './inspect';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/k8s/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveDeploymentEnv = exports.resolveSecretValue = exports.resolveConfigMapValue = exports.getDeploymentEnvVars = exports.listNamespaceServices = exports.createK8sClients = void 0;
|
|
4
|
+
var client_1 = require("./client");
|
|
5
|
+
Object.defineProperty(exports, "createK8sClients", { enumerable: true, get: function () { return client_1.createK8sClients; } });
|
|
6
|
+
var inspect_1 = require("./inspect");
|
|
7
|
+
Object.defineProperty(exports, "listNamespaceServices", { enumerable: true, get: function () { return inspect_1.listNamespaceServices; } });
|
|
8
|
+
Object.defineProperty(exports, "getDeploymentEnvVars", { enumerable: true, get: function () { return inspect_1.getDeploymentEnvVars; } });
|
|
9
|
+
Object.defineProperty(exports, "resolveConfigMapValue", { enumerable: true, get: function () { return inspect_1.resolveConfigMapValue; } });
|
|
10
|
+
Object.defineProperty(exports, "resolveSecretValue", { enumerable: true, get: function () { return inspect_1.resolveSecretValue; } });
|
|
11
|
+
Object.defineProperty(exports, "resolveDeploymentEnv", { enumerable: true, get: function () { return inspect_1.resolveDeploymentEnv; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/k8s/index.ts"],"names":[],"mappings":";;;AAMA,mCAA2C;AAAlC,0GAAA,gBAAgB,OAAA;AAGzB,qCAMkB;AALhB,gHAAA,qBAAqB,OAAA;AACrB,+GAAA,oBAAoB,OAAA;AACpB,gHAAA,qBAAqB,OAAA;AACrB,6GAAA,kBAAkB,OAAA;AAClB,+GAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { K8sClients } from './client';
|
|
2
|
+
export interface ClusterServiceInfo {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly namespace: string;
|
|
5
|
+
readonly clusterIP: string;
|
|
6
|
+
readonly ports: readonly ClusterServicePort[];
|
|
7
|
+
readonly dnsNames: readonly string[];
|
|
8
|
+
}
|
|
9
|
+
export interface ClusterServicePort {
|
|
10
|
+
readonly name?: string;
|
|
11
|
+
readonly port: number;
|
|
12
|
+
readonly targetPort: number | string;
|
|
13
|
+
readonly protocol: string;
|
|
14
|
+
}
|
|
15
|
+
export interface DeploymentEnvVar {
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly value?: string;
|
|
18
|
+
readonly valueFrom?: {
|
|
19
|
+
readonly configMapKeyRef?: {
|
|
20
|
+
name: string;
|
|
21
|
+
key: string;
|
|
22
|
+
};
|
|
23
|
+
readonly secretKeyRef?: {
|
|
24
|
+
name: string;
|
|
25
|
+
key: string;
|
|
26
|
+
};
|
|
27
|
+
readonly fieldRef?: {
|
|
28
|
+
fieldPath: string;
|
|
29
|
+
};
|
|
30
|
+
readonly resourceFieldRef?: {
|
|
31
|
+
resource: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export declare function listNamespaceServices(clients: K8sClients, namespace: string): Promise<ClusterServiceInfo[]>;
|
|
36
|
+
export declare function getDeploymentEnvVars(clients: K8sClients, namespace: string, deploymentName: string): Promise<DeploymentEnvVar[]>;
|
|
37
|
+
export declare function resolveConfigMapValue(clients: K8sClients, namespace: string, configMapName: string, key: string): Promise<string | undefined>;
|
|
38
|
+
export declare function resolveSecretValue(clients: K8sClients, namespace: string, secretName: string, key: string): Promise<string | undefined>;
|
|
39
|
+
export declare function resolveDeploymentEnv(clients: K8sClients, namespace: string, deploymentName: string, onWarn?: (msg: string) => void): Promise<Record<string, string>>;
|
|
40
|
+
//# sourceMappingURL=inspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/k8s/inspect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAK1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAE7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAKD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,eAAe,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;QACxD,QAAQ,CAAC,YAAY,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;QACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;QACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KACjD,CAAA;CACF;AAKD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2B/B;AAMD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8B7B;AAMD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAMD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B;AAMD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiDjC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listNamespaceServices = listNamespaceServices;
|
|
4
|
+
exports.getDeploymentEnvVars = getDeploymentEnvVars;
|
|
5
|
+
exports.resolveConfigMapValue = resolveConfigMapValue;
|
|
6
|
+
exports.resolveSecretValue = resolveSecretValue;
|
|
7
|
+
exports.resolveDeploymentEnv = resolveDeploymentEnv;
|
|
8
|
+
async function listNamespaceServices(clients, namespace) {
|
|
9
|
+
const response = await clients.coreV1.listNamespacedService({ namespace });
|
|
10
|
+
const services = [];
|
|
11
|
+
for (const svc of response.items) {
|
|
12
|
+
const name = svc.metadata?.name;
|
|
13
|
+
if (!name)
|
|
14
|
+
continue;
|
|
15
|
+
const clusterIP = svc.spec?.clusterIP ?? '';
|
|
16
|
+
const ports = (svc.spec?.ports ?? []).map(p => ({
|
|
17
|
+
name: p.name,
|
|
18
|
+
port: p.port,
|
|
19
|
+
targetPort: p.targetPort ?? p.port,
|
|
20
|
+
protocol: p.protocol ?? 'TCP',
|
|
21
|
+
}));
|
|
22
|
+
const dnsNames = [
|
|
23
|
+
name,
|
|
24
|
+
`${name}.${namespace}`,
|
|
25
|
+
`${name}.${namespace}.svc`,
|
|
26
|
+
`${name}.${namespace}.svc.cluster.local`,
|
|
27
|
+
];
|
|
28
|
+
services.push({ name, namespace, clusterIP, ports, dnsNames });
|
|
29
|
+
}
|
|
30
|
+
return services;
|
|
31
|
+
}
|
|
32
|
+
async function getDeploymentEnvVars(clients, namespace, deploymentName) {
|
|
33
|
+
const deployment = await clients.appsV1.readNamespacedDeployment({
|
|
34
|
+
name: deploymentName,
|
|
35
|
+
namespace,
|
|
36
|
+
});
|
|
37
|
+
const containers = deployment.spec?.template?.spec?.containers ?? [];
|
|
38
|
+
if (containers.length === 0)
|
|
39
|
+
return [];
|
|
40
|
+
const envVars = containers[0].env ?? [];
|
|
41
|
+
return envVars.map(e => ({
|
|
42
|
+
name: e.name,
|
|
43
|
+
value: e.value ?? undefined,
|
|
44
|
+
valueFrom: e.valueFrom ? {
|
|
45
|
+
configMapKeyRef: e.valueFrom.configMapKeyRef
|
|
46
|
+
? { name: e.valueFrom.configMapKeyRef.name ?? '', key: e.valueFrom.configMapKeyRef.key }
|
|
47
|
+
: undefined,
|
|
48
|
+
secretKeyRef: e.valueFrom.secretKeyRef
|
|
49
|
+
? { name: e.valueFrom.secretKeyRef.name ?? '', key: e.valueFrom.secretKeyRef.key }
|
|
50
|
+
: undefined,
|
|
51
|
+
fieldRef: e.valueFrom.fieldRef
|
|
52
|
+
? { fieldPath: e.valueFrom.fieldRef.fieldPath }
|
|
53
|
+
: undefined,
|
|
54
|
+
resourceFieldRef: e.valueFrom.resourceFieldRef
|
|
55
|
+
? { resource: e.valueFrom.resourceFieldRef.resource }
|
|
56
|
+
: undefined,
|
|
57
|
+
} : undefined,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
async function resolveConfigMapValue(clients, namespace, configMapName, key) {
|
|
61
|
+
try {
|
|
62
|
+
const cm = await clients.coreV1.readNamespacedConfigMap({
|
|
63
|
+
name: configMapName,
|
|
64
|
+
namespace,
|
|
65
|
+
});
|
|
66
|
+
return cm.data?.[key];
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async function resolveSecretValue(clients, namespace, secretName, key) {
|
|
73
|
+
try {
|
|
74
|
+
const secret = await clients.coreV1.readNamespacedSecret({
|
|
75
|
+
name: secretName,
|
|
76
|
+
namespace,
|
|
77
|
+
});
|
|
78
|
+
const raw = secret.data?.[key];
|
|
79
|
+
if (!raw)
|
|
80
|
+
return undefined;
|
|
81
|
+
return Buffer.from(raw, 'base64').toString('utf-8');
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async function resolveDeploymentEnv(clients, namespace, deploymentName, onWarn) {
|
|
88
|
+
let envVars;
|
|
89
|
+
try {
|
|
90
|
+
envVars = await getDeploymentEnvVars(clients, namespace, deploymentName);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
94
|
+
onWarn?.(`Could not read deployment '${deploymentName}': ${message}`);
|
|
95
|
+
return {};
|
|
96
|
+
}
|
|
97
|
+
const resolved = {};
|
|
98
|
+
for (const envVar of envVars) {
|
|
99
|
+
if (envVar.value !== undefined) {
|
|
100
|
+
resolved[envVar.name] = envVar.value;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (!envVar.valueFrom)
|
|
104
|
+
continue;
|
|
105
|
+
if (envVar.valueFrom.fieldRef || envVar.valueFrom.resourceFieldRef) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (envVar.valueFrom.configMapKeyRef) {
|
|
109
|
+
const { name, key } = envVar.valueFrom.configMapKeyRef;
|
|
110
|
+
const val = await resolveConfigMapValue(clients, namespace, name, key);
|
|
111
|
+
if (val !== undefined) {
|
|
112
|
+
resolved[envVar.name] = val;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
onWarn?.(`Could not resolve ConfigMap '${name}' key '${key}' for ${envVar.name}`);
|
|
116
|
+
}
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (envVar.valueFrom.secretKeyRef) {
|
|
120
|
+
const { name, key } = envVar.valueFrom.secretKeyRef;
|
|
121
|
+
const val = await resolveSecretValue(clients, namespace, name, key);
|
|
122
|
+
if (val !== undefined) {
|
|
123
|
+
resolved[envVar.name] = val;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
onWarn?.(`Could not resolve Secret '${name}' key '${key}' for ${envVar.name} (possible RBAC restriction)`);
|
|
127
|
+
}
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return resolved;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/k8s/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,12 @@ export interface OrchestratorResult {
|
|
|
16
16
|
readonly duration: number;
|
|
17
17
|
readonly outputs: Record<string, Record<string, unknown>>;
|
|
18
18
|
}
|
|
19
|
+
export interface PreviewResult {
|
|
20
|
+
readonly success: boolean;
|
|
21
|
+
readonly stack: string;
|
|
22
|
+
readonly changeSummary: Record<string, number>;
|
|
23
|
+
readonly duration: number;
|
|
24
|
+
}
|
|
19
25
|
export declare const discoverServices: (rootPath: string) => Promise<Either<DeployError, readonly DiscoveredService[]>>;
|
|
20
26
|
export declare const discoverPublishedServices: (rootPath: string, allowlist: string[]) => Promise<Either<DeployError, readonly DiscoveredService[]>>;
|
|
21
27
|
export declare const sortByDependencies: (services: readonly DiscoveredService[]) => readonly DiscoveredService[];
|
|
@@ -25,7 +31,11 @@ export declare class Orchestrator {
|
|
|
25
31
|
constructor(eventEmitter?: OrchestratorEventEmitter);
|
|
26
32
|
getEventEmitter(): OrchestratorEventEmitter;
|
|
27
33
|
private validateEnvironment;
|
|
34
|
+
private prepareDeployment;
|
|
28
35
|
deploy(config: OrchestratorConfig): EitherAsync<DeployError, OrchestratorResult>;
|
|
36
|
+
preview(config: OrchestratorConfig): EitherAsync<DeployError, PreviewResult>;
|
|
37
|
+
status(config: OrchestratorConfig): EitherAsync<DeployError, OrchestratorResult>;
|
|
38
|
+
refresh(config: OrchestratorConfig): EitherAsync<DeployError, OrchestratorResult>;
|
|
29
39
|
destroy(config: OrchestratorConfig): EitherAsync<DeployError, OrchestratorResult>;
|
|
30
40
|
}
|
|
31
41
|
export declare const createOrchestrator: (eventEmitter?: OrchestratorEventEmitter) => Orchestrator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAA;AAItD,OAAO,EAGL,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,wBAAwB,EAAsB,MAAM,UAAU,CAAA;AACvE,OAAO,EACL,iBAAiB,EACjB,eAAe,EAGhB,MAAM,kBAAkB,CAAA;AAgCzB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAE7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C;AAKD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC1D;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAA;AAItD,OAAO,EAGL,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,wBAAwB,EAAsB,MAAM,UAAU,CAAA;AACvE,OAAO,EACL,iBAAiB,EACjB,eAAe,EAGhB,MAAM,kBAAkB,CAAA;AAgCzB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAE7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C;AAKD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC1D;AAKD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAoND,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC,CAqGlH,CAAA;AAqBD,eAAO,MAAM,yBAAyB,GACpC,UAAU,MAAM,EAChB,WAAW,MAAM,EAAE,KAClB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC,CAwH3D,CAAA;AAKD,eAAO,MAAM,kBAAkB,GAC7B,UAAU,SAAS,iBAAiB,EAAE,KACrC,SAAS,iBAAiB,EAwB5B,CAAA;AAKD,eAAO,MAAM,kBAAkB,GAC7B,SAAS,iBAAiB,EAC1B,WAAW,MAAM,KAChB,eAUF,CAAA;AAmKD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;gBAE3C,YAAY,CAAC,EAAE,wBAAwB;IAInD,eAAe,IAAI,wBAAwB;IAO3C,OAAO,CAAC,mBAAmB;YAyBb,iBAAiB;IAoQ/B,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAqFhF,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC;IAyC5E,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAkChF,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAAC,WAAW,EAAE,kBAAkB,CAAC;IA2CjF,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAyDlF;AAKD,eAAO,MAAM,kBAAkB,GAAI,eAAe,wBAAwB,KAAG,YAC7C,CAAA"}
|