@pulumix/core 0.11.0 → 0.12.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 (46) hide show
  1. package/dist/dev/dev-pod.d.ts +11 -0
  2. package/dist/dev/dev-pod.d.ts.map +1 -0
  3. package/dist/dev/dev-pod.js +252 -0
  4. package/dist/dev/dev-pod.js.map +1 -0
  5. package/dist/dev/index.d.ts +4 -4
  6. package/dist/dev/index.d.ts.map +1 -1
  7. package/dist/dev/index.js +64 -108
  8. package/dist/dev/index.js.map +1 -1
  9. package/dist/dev/port-forward.js +1 -1
  10. package/dist/dev/port-forward.js.map +1 -1
  11. package/dist/dev/types.d.ts +12 -13
  12. package/dist/dev/types.d.ts.map +1 -1
  13. package/dist/dev/types.js +0 -2
  14. package/dist/dev/types.js.map +1 -1
  15. package/dist/docker.d.ts +1 -0
  16. package/dist/docker.d.ts.map +1 -1
  17. package/dist/docker.js +20 -0
  18. package/dist/docker.js.map +1 -1
  19. package/dist/k8s/client.d.ts.map +1 -1
  20. package/dist/k8s/client.js +1 -34
  21. package/dist/k8s/client.js.map +1 -1
  22. package/dist/k8s/index.d.ts +2 -2
  23. package/dist/k8s/index.d.ts.map +1 -1
  24. package/dist/k8s/index.js +6 -1
  25. package/dist/k8s/index.js.map +1 -1
  26. package/dist/k8s/inspect.d.ts +25 -0
  27. package/dist/k8s/inspect.d.ts.map +1 -1
  28. package/dist/k8s/inspect.js +181 -0
  29. package/dist/k8s/inspect.js.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/dev/env-builder.d.ts +0 -9
  32. package/dist/dev/env-builder.d.ts.map +0 -1
  33. package/dist/dev/env-builder.js +0 -67
  34. package/dist/dev/env-builder.js.map +0 -1
  35. package/dist/dev/env-compute.d.ts +0 -15
  36. package/dist/dev/env-compute.d.ts.map +0 -1
  37. package/dist/dev/env-compute.js +0 -92
  38. package/dist/dev/env-compute.js.map +0 -1
  39. package/dist/dev/local-runner.d.ts +0 -14
  40. package/dist/dev/local-runner.d.ts.map +0 -1
  41. package/dist/dev/local-runner.js +0 -175
  42. package/dist/dev/local-runner.js.map +0 -1
  43. package/dist/dev/service-swap.d.ts +0 -27
  44. package/dist/dev/service-swap.d.ts.map +0 -1
  45. package/dist/dev/service-swap.js +0 -272
  46. package/dist/dev/service-swap.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ import type { K8sClients } from '../k8s/client';
2
+ import type { DiscoveredService } from '../types/service';
3
+ import type { DevConfig, DevRootConfig, DevPodHandle } from './types';
4
+ export interface LogStreamHandle {
5
+ readonly kill: () => void;
6
+ readonly exited: Promise<number>;
7
+ }
8
+ export declare function startDevPod(clients: K8sClients, service: DiscoveredService, devConfig: DevConfig, devRootConfig: DevRootConfig, rootPath: string, namespace: string, stackName: string, kubeContext?: string, onLog?: (message: string) => void): Promise<DevPodHandle>;
9
+ export declare function stopDevPod(clients: K8sClients, handle: DevPodHandle, namespace: string, onLog?: (message: string) => void): Promise<void>;
10
+ export declare function streamPodLogs(podName: string, namespace: string, kubeContext: string | undefined, onOutput: (line: string) => void): LogStreamHandle;
11
+ //# sourceMappingURL=dev-pod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-pod.d.ts","sourceRoot":"","sources":["../../src/dev/dev-pod.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAUzD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,YAAY,EAEb,MAAM,SAAS,CAAA;AAQhB,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;IAEzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACjC;AAaD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,YAAY,CAAC,CA4FvB;AASD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAQD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC/B,eAAe,CAsCjB"}
@@ -0,0 +1,252 @@
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.startDevPod = startDevPod;
37
+ exports.stopDevPod = stopDevPod;
38
+ exports.streamPodLogs = streamPodLogs;
39
+ const child_process_1 = require("child_process");
40
+ const path = __importStar(require("path"));
41
+ const k8s_1 = require("../k8s");
42
+ const docker_1 = require("../docker");
43
+ const port_forward_1 = require("./port-forward");
44
+ const DEV_POD_ANNOTATION = 'pulumix.dev/managed';
45
+ const DEFAULT_DEV_PORT = 3000;
46
+ async function startDevPod(clients, service, devConfig, devRootConfig, rootPath, namespace, stackName, kubeContext, onLog) {
47
+ const log = onLog ?? (() => { });
48
+ const devPodName = `${service.name}-dev`;
49
+ const devPort = devConfig.port ?? DEFAULT_DEV_PORT;
50
+ log(`Looking up deployment for '${service.name}'...`);
51
+ const deployment = await (0, k8s_1.findDeploymentByLabels)(clients, namespace, {
52
+ 'app.kubernetes.io/name': service.name,
53
+ 'app.kubernetes.io/managed-by': 'pulumix',
54
+ });
55
+ if (!deployment) {
56
+ throw new Error(`No deployment found for service '${service.name}' in namespace '${namespace}'.\n` +
57
+ `Deploy the service first with: pulumix deploy ${stackName}`);
58
+ }
59
+ log(`Cleaning up stale dev pod if present...`);
60
+ await (0, k8s_1.deletePod)(clients, namespace, devPodName);
61
+ const devImage = await resolveDevImage(service, devConfig);
62
+ log(`Using dev image: ${devImage}`);
63
+ log(`Scaling deployment '${deployment.name}' to 0...`);
64
+ const originalReplicas = await (0, k8s_1.scaleDeployment)(clients, namespace, deployment.name, 0);
65
+ const workingDir = computeWorkingDir(devRootConfig.hostPath, rootPath, service.path, devConfig.cwd);
66
+ const podSpec = buildDevPodSpec({
67
+ podName: devPodName,
68
+ namespace,
69
+ deployment,
70
+ devImage,
71
+ devCommand: devConfig.command,
72
+ workingDir,
73
+ hostPath: devRootConfig.hostPath,
74
+ devEnv: devConfig.env,
75
+ });
76
+ log(`Creating dev pod '${devPodName}'...`);
77
+ await (0, k8s_1.createPod)(clients, namespace, podSpec);
78
+ log(`Waiting for dev pod to start...`);
79
+ try {
80
+ await (0, k8s_1.waitForPodRunning)(clients, namespace, devPodName, 120_000, onLog);
81
+ }
82
+ catch (err) {
83
+ log(`Dev pod failed to start, restoring deployment replicas...`);
84
+ await (0, k8s_1.scaleDeployment)(clients, namespace, deployment.name, originalReplicas).catch(() => { });
85
+ await (0, k8s_1.deletePod)(clients, namespace, devPodName).catch(() => { });
86
+ throw err;
87
+ }
88
+ const startPort = devPort < 1024 ? 10000 + devPort : devPort;
89
+ const localPort = await (0, port_forward_1.findAvailablePort)(startPort);
90
+ let portForwardHandle;
91
+ const pfResult = await (0, port_forward_1.startPortForward)({
92
+ serviceName: devPodName,
93
+ namespace,
94
+ remotePort: devPort,
95
+ localPort,
96
+ resourceType: 'pod',
97
+ }, kubeContext);
98
+ if (pfResult.isRight()) {
99
+ portForwardHandle = pfResult.extract();
100
+ }
101
+ else {
102
+ log(`Warning: Could not start port-forward for dev pod (port ${devPort} -> ${localPort})`);
103
+ }
104
+ log(`Dev pod '${devPodName}' running`);
105
+ return {
106
+ serviceName: service.name,
107
+ podName: devPodName,
108
+ deploymentName: deployment.name,
109
+ originalReplicas,
110
+ portForward: portForwardHandle,
111
+ devPort,
112
+ localPort,
113
+ };
114
+ }
115
+ async function stopDevPod(clients, handle, namespace, onLog) {
116
+ const log = onLog ?? (() => { });
117
+ if (handle.portForward) {
118
+ try {
119
+ handle.portForward.kill();
120
+ }
121
+ catch {
122
+ }
123
+ }
124
+ log(`Deleting dev pod '${handle.podName}'...`);
125
+ await (0, k8s_1.deletePod)(clients, namespace, handle.podName).catch(() => { });
126
+ log(`Restoring deployment '${handle.deploymentName}' to ${handle.originalReplicas} replicas...`);
127
+ await (0, k8s_1.scaleDeployment)(clients, namespace, handle.deploymentName, handle.originalReplicas).catch((err) => {
128
+ log(`Warning: Could not restore replicas for '${handle.deploymentName}': ${err instanceof Error ? err.message : String(err)}`);
129
+ });
130
+ }
131
+ function streamPodLogs(podName, namespace, kubeContext, onOutput) {
132
+ const args = ['logs', '-f', '--tail=100', '-n', namespace, podName];
133
+ if (kubeContext) {
134
+ args.unshift('--context', kubeContext);
135
+ }
136
+ const proc = (0, child_process_1.spawn)('kubectl', args, {
137
+ stdio: ['ignore', 'pipe', 'pipe'],
138
+ });
139
+ const handleData = (data) => {
140
+ const lines = data.toString().split('\n');
141
+ for (const line of lines) {
142
+ if (line.trim()) {
143
+ onOutput(line);
144
+ }
145
+ }
146
+ };
147
+ proc.stdout?.on('data', handleData);
148
+ proc.stderr?.on('data', handleData);
149
+ const exited = new Promise((resolve) => {
150
+ proc.on('close', (code) => resolve(code ?? 1));
151
+ proc.on('error', () => resolve(1));
152
+ });
153
+ return {
154
+ kill: () => {
155
+ try {
156
+ proc.kill('SIGTERM');
157
+ }
158
+ catch {
159
+ }
160
+ },
161
+ exited,
162
+ };
163
+ }
164
+ async function resolveDevImage(service, devConfig) {
165
+ if (devConfig.image) {
166
+ return devConfig.image;
167
+ }
168
+ if (service.hasDockerfile) {
169
+ const dockerfilePath = path.join(service.path, 'Dockerfile');
170
+ const baseImage = await (0, docker_1.parseBaseImage)(dockerfilePath);
171
+ if (baseImage) {
172
+ return baseImage;
173
+ }
174
+ }
175
+ throw new Error(`Cannot determine dev image for '${service.name}'.\n` +
176
+ `Either add 'dev.image' to pulumix.yaml or ensure Dockerfile has a FROM instruction:\n\n` +
177
+ `dev:\n command: npm run dev\n image: node:20-alpine`);
178
+ }
179
+ function computeWorkingDir(hostPath, rootPath, servicePath, cwd) {
180
+ const basePath = cwd ? path.resolve(servicePath, cwd) : servicePath;
181
+ const relativePath = path.relative(rootPath, basePath);
182
+ return path.posix.join(hostPath, relativePath.split(path.sep).join('/'));
183
+ }
184
+ function buildDevPodSpec(opts) {
185
+ const { podName, namespace, deployment, devImage, devCommand, workingDir, hostPath, devEnv } = opts;
186
+ const container = deployment.containers[0];
187
+ const env = [
188
+ ...(container?.env ?? []),
189
+ ];
190
+ const hasNodeEnv = env.some(e => e.name === 'NODE_ENV');
191
+ if (!hasNodeEnv) {
192
+ env.push({ name: 'NODE_ENV', value: 'development' });
193
+ }
194
+ if (devEnv) {
195
+ for (const [key, value] of Object.entries(devEnv)) {
196
+ const idx = env.findIndex(e => e.name === key);
197
+ if (idx >= 0) {
198
+ env[idx] = { name: key, value };
199
+ }
200
+ else {
201
+ env.push({ name: key, value });
202
+ }
203
+ }
204
+ }
205
+ return {
206
+ apiVersion: 'v1',
207
+ kind: 'Pod',
208
+ metadata: {
209
+ name: podName,
210
+ namespace,
211
+ labels: {
212
+ ...deployment.podLabels,
213
+ },
214
+ annotations: {
215
+ [DEV_POD_ANNOTATION]: 'true',
216
+ },
217
+ },
218
+ spec: {
219
+ serviceAccountName: deployment.serviceAccount,
220
+ restartPolicy: 'Never',
221
+ containers: [
222
+ {
223
+ name: 'dev',
224
+ image: devImage,
225
+ command: ['sh', '-c', devCommand],
226
+ workingDir,
227
+ env,
228
+ ports: container?.ports?.map(p => ({
229
+ containerPort: p.containerPort,
230
+ protocol: p.protocol ?? 'TCP',
231
+ })),
232
+ volumeMounts: [
233
+ {
234
+ name: 'source',
235
+ mountPath: hostPath,
236
+ },
237
+ ],
238
+ },
239
+ ],
240
+ volumes: [
241
+ {
242
+ name: 'source',
243
+ hostPath: {
244
+ path: hostPath,
245
+ type: 'Directory',
246
+ },
247
+ },
248
+ ],
249
+ },
250
+ };
251
+ }
252
+ //# sourceMappingURL=dev-pod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-pod.js","sourceRoot":"","sources":["../../src/dev/dev-pod.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import { DeployError } from '../types/errors';
3
3
  import { DevOrchestratorConfig, DevOrchestratorResult } from './types';
4
4
  export * from './types';
5
5
  export * from './port-forward';
6
- export * from './local-runner';
7
- export * from './env-compute';
6
+ export * from './dev-pod';
8
7
  export declare class DevOrchestrator {
9
- private portForwardHandles;
10
- private devServerHandles;
8
+ private devPodHandles;
9
+ private logStreamHandles;
10
+ private namespace;
11
11
  private stopped;
12
12
  dev(config: DevOrchestratorConfig): EitherAsync<DeployError, DevOrchestratorResult>;
13
13
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,EAGL,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EAMtB,MAAM,SAAS,CAAA;AAIhB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AA2H7B,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,OAAO,CAAQ;IAKvB,GAAG,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAsJ7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,EAGL,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EAGL,qBAAqB,EACrB,qBAAqB,EAGtB,MAAM,SAAS,CAAA;AAIhB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AAwEzB,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAQ;IAKvB,GAAG,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAoI7E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B5B"}
package/dist/dev/index.js CHANGED
@@ -43,14 +43,11 @@ const yaml = __importStar(require("yaml"));
43
43
  const errors_1 = require("../types/errors");
44
44
  const orchestrator_1 = require("../orchestrator");
45
45
  const k8s_1 = require("../k8s");
46
- const env_compute_1 = require("./env-compute");
47
- const types_1 = require("./types");
48
46
  const port_forward_1 = require("./port-forward");
49
- const local_runner_1 = require("./local-runner");
47
+ const dev_pod_1 = require("./dev-pod");
50
48
  __exportStar(require("./types"), exports);
51
49
  __exportStar(require("./port-forward"), exports);
52
- __exportStar(require("./local-runner"), exports);
53
- __exportStar(require("./env-compute"), exports);
50
+ __exportStar(require("./dev-pod"), exports);
54
51
  function getDevConfig(service) {
55
52
  const dev = service.rawConfig.dev;
56
53
  if (!dev)
@@ -76,27 +73,9 @@ function getDevConfig(service) {
76
73
  port: dev.port,
77
74
  env: dev.env,
78
75
  cwd: dev.cwd,
76
+ image: dev.image,
79
77
  };
80
78
  }
81
- function computeTransitiveDependencies(services, targetNames) {
82
- const serviceMap = new Map(services.map(s => [s.name, s]));
83
- const deps = new Set();
84
- const visit = (name) => {
85
- const service = serviceMap.get(name);
86
- if (!service)
87
- return;
88
- for (const dep of service.dependencies) {
89
- if (!deps.has(dep)) {
90
- deps.add(dep);
91
- visit(dep);
92
- }
93
- }
94
- };
95
- for (const name of targetNames) {
96
- visit(name);
97
- }
98
- return deps;
99
- }
100
79
  function readRootConfig(rootPath, stackName) {
101
80
  try {
102
81
  const rootConfigPath = `${rootPath}/pulumix.yaml`;
@@ -104,36 +83,22 @@ function readRootConfig(rootPath, stackName) {
104
83
  const config = yaml.parse(content);
105
84
  const stacks = config.stacks;
106
85
  const stackConfig = stacks?.[stackName];
86
+ const devSection = stackConfig?.dev;
87
+ const hostPath = devSection?.hostPath;
107
88
  return {
108
89
  namespace: stackConfig?.namespace ?? stackName,
109
90
  kubeContext: stackConfig?.kubeContext,
91
+ devRootConfig: hostPath ? { hostPath } : null,
110
92
  };
111
93
  }
112
94
  catch {
113
- return { namespace: stackName };
114
- }
115
- }
116
- async function buildPortForwardMappings(clusterServices, dependencyNames, namespace) {
117
- const mappings = [];
118
- const clusterMap = new Map(clusterServices.map(s => [s.name, s]));
119
- for (const depName of dependencyNames) {
120
- const svc = clusterMap.get(depName);
121
- if (!svc || svc.ports.length === 0)
122
- continue;
123
- const port = svc.ports[0];
124
- const localPort = await (0, port_forward_1.findAvailablePort)(port.port);
125
- mappings.push({
126
- serviceName: depName,
127
- namespace,
128
- remotePort: port.port,
129
- localPort,
130
- });
95
+ return { namespace: stackName, devRootConfig: null };
131
96
  }
132
- return mappings;
133
97
  }
134
98
  class DevOrchestrator {
135
- portForwardHandles = [];
136
- devServerHandles = [];
99
+ devPodHandles = [];
100
+ logStreamHandles = [];
101
+ namespace = 'default';
137
102
  stopped = false;
138
103
  dev(config) {
139
104
  return (0, EitherAsync_1.EitherAsync)(async ({ liftEither, throwE }) => {
@@ -143,11 +108,17 @@ class DevOrchestrator {
143
108
  const rootConfig = readRootConfig(rootPath, stackName);
144
109
  const namespace = rootConfig.namespace;
145
110
  const kubeContext = config.kubeContext ?? rootConfig.kubeContext;
111
+ const devRootConfig = rootConfig.devRootConfig;
112
+ if (!devRootConfig) {
113
+ return throwE((0, errors_1.createConfigError)('MissingRequiredField', `Missing 'dev.hostPath' in root pulumix.yaml for stack '${stackName}'.\n\n` +
114
+ `Add the following to your root pulumix.yaml:\n\n` +
115
+ `stacks:\n ${stackName}:\n dev:\n hostPath: /src # mount point on k3d nodes\n\n` +
116
+ `And create your k3d cluster with:\n k3d cluster create --volume /path/to/project:/src@all`, stackName, 'dev.hostPath'));
117
+ }
146
118
  log('Discovering services...');
147
119
  const allServices = await liftEither(await (0, orchestrator_1.discoverServices)(rootPath));
148
120
  const serviceMap = new Map(allServices.map(s => [s.name, s]));
149
- const localServices = [];
150
- let devPortCounter = types_1.DEV_SERVER_PORT_BASE;
121
+ const targetServices = [];
151
122
  for (const name of devServiceNames) {
152
123
  const service = serviceMap.get(name);
153
124
  if (!service) {
@@ -157,75 +128,44 @@ class DevOrchestrator {
157
128
  if (!devConfig) {
158
129
  return throwE((0, errors_1.createConfigError)('MissingRequiredField', `Service '${name}' missing 'dev.command' in pulumix.yaml. Add:\n\ndev:\n command: npm run dev`, stackName, 'dev.command'));
159
130
  }
160
- localServices.push({
161
- service,
162
- devConfig,
163
- localPort: devConfig.port ?? devPortCounter++,
164
- });
165
- }
166
- const devServiceNamesSet = new Set(devServiceNames);
167
- const transitiveDeps = computeTransitiveDependencies(allServices, devServiceNames);
168
- const dependencyNames = [...transitiveDeps].filter(name => !devServiceNamesSet.has(name));
169
- log('Inspecting cluster...');
170
- let clusterServices = [];
171
- try {
172
- const k8s = await (0, k8s_1.createK8sClients)(kubeContext);
173
- clusterServices = await (0, k8s_1.listNamespaceServices)(k8s, namespace);
131
+ targetServices.push({ service, devConfig });
174
132
  }
175
- catch (err) {
176
- const message = err instanceof Error ? err.message : String(err);
177
- log(`Warning: Could not inspect cluster: ${message}`);
178
- }
179
- const portForwardMappings = await buildPortForwardMappings(clusterServices, dependencyNames, namespace);
180
- if (portForwardMappings.length > 0) {
181
- log(`Setting up port-forwards for: ${portForwardMappings.map(m => m.serviceName).join(', ')}`);
182
- const pfResult = await (0, port_forward_1.startPortForwards)(portForwardMappings, kubeContext);
183
- if (pfResult.isLeft()) {
184
- return throwE(pfResult.extract());
133
+ this.namespace = namespace;
134
+ log('Connecting to cluster...');
135
+ const k8s = await (0, k8s_1.createK8sClients)(kubeContext);
136
+ const portForwards = [];
137
+ for (const { service, devConfig } of targetServices) {
138
+ log(`Setting up dev pod for '${service.name}'...`);
139
+ try {
140
+ const handle = await (0, dev_pod_1.startDevPod)(k8s, service, devConfig, devRootConfig, rootPath, namespace, stackName, kubeContext, onLog);
141
+ this.devPodHandles.push(handle);
142
+ if (handle.portForward) {
143
+ portForwards.push(handle.portForward.mapping);
144
+ }
185
145
  }
186
- this.portForwardHandles = pfResult.extract();
187
- for (const handle of this.portForwardHandles) {
188
- log(` ${handle.mapping.serviceName}:${handle.mapping.remotePort} -> localhost:${handle.mapping.localPort}`);
146
+ catch (err) {
147
+ for (const h of this.devPodHandles) {
148
+ await (0, dev_pod_1.stopDevPod)(k8s, h, namespace, onLog).catch(() => { });
149
+ }
150
+ this.devPodHandles = [];
151
+ const message = err instanceof Error ? err.message : String(err);
152
+ return throwE((0, errors_1.createConfigError)('MissingRequiredField', `Failed to start dev pod for '${service.name}': ${message}`, stackName, 'dev'));
189
153
  }
190
154
  }
191
- const envs = new Map();
192
- const lookups = (0, env_compute_1.buildDependencyLookups)(clusterServices, portForwardMappings);
193
- let envK8s;
194
- try {
195
- envK8s = await (0, k8s_1.createK8sClients)(kubeContext);
196
- }
197
- catch {
198
- log('Warning: Could not create k8s clients for env resolution');
199
- }
200
- for (const ls of localServices) {
201
- let deploymentEnv = {};
202
- if (envK8s) {
203
- try {
204
- deploymentEnv = await (0, k8s_1.resolveDeploymentEnv)(envK8s, namespace, ls.service.name, (msg) => log(`Warning: ${msg}`));
205
- }
206
- catch {
207
- log(`Warning: Could not read deployment env for '${ls.service.name}', using overrides only`);
155
+ for (const handle of this.devPodHandles) {
156
+ const logStream = (0, dev_pod_1.streamPodLogs)(handle.podName, namespace, kubeContext, (line) => {
157
+ if (onOutput) {
158
+ onOutput(`[${handle.serviceName}] ${line}`);
208
159
  }
209
- }
210
- const computed = (0, env_compute_1.computeDevEnvVars)(deploymentEnv, lookups, ls.devConfig.env);
211
- computed.NODE_ENV = computed.NODE_ENV ?? 'development';
212
- envs.set(ls.service.name, computed);
160
+ });
161
+ this.logStreamHandles.push(logStream);
213
162
  }
214
- const devServerNames = localServices.map(s => s.service.name).join(', ');
215
- log(`Starting dev servers: ${devServerNames}`);
216
- this.devServerHandles = (0, local_runner_1.runDevServers)(localServices, envs, (serviceName, line) => {
217
- if (onOutput) {
218
- onOutput(`[${serviceName}] ${line}`);
219
- }
220
- });
221
163
  return {
222
164
  success: true,
223
165
  stack: stackName,
224
166
  namespace,
225
- devServices: localServices,
226
- portForwards: portForwardMappings,
227
- devServerHandles: this.devServerHandles,
228
- portForwardHandles: this.portForwardHandles,
167
+ devPods: this.devPodHandles,
168
+ portForwards,
229
169
  };
230
170
  });
231
171
  }
@@ -233,8 +173,24 @@ class DevOrchestrator {
233
173
  if (this.stopped)
234
174
  return;
235
175
  this.stopped = true;
236
- (0, local_runner_1.stopDevServers)(this.devServerHandles);
237
- (0, port_forward_1.stopPortForwards)(this.portForwardHandles);
176
+ for (const handle of this.logStreamHandles) {
177
+ try {
178
+ handle.kill();
179
+ }
180
+ catch {
181
+ }
182
+ }
183
+ let clients;
184
+ try {
185
+ clients = await (0, k8s_1.createK8sClients)();
186
+ }
187
+ catch {
188
+ }
189
+ if (clients && this.devPodHandles.length > 0) {
190
+ for (const handle of this.devPodHandles) {
191
+ await (0, dev_pod_1.stopDevPod)(clients, handle, this.namespace).catch(() => { });
192
+ }
193
+ }
238
194
  await new Promise(resolve => setTimeout(resolve, 500));
239
195
  }
240
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dev/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dev/index.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ async function startPortForward(mapping, kubeContext) {
93
93
  const args = [
94
94
  'port-forward',
95
95
  '-n', mapping.namespace,
96
- `svc/${mapping.serviceName}`,
96
+ `${mapping.resourceType ?? 'svc'}/${mapping.serviceName}`,
97
97
  `${mapping.localPort}:${mapping.remotePort}`
98
98
  ];
99
99
  if (kubeContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"port-forward.js","sourceRoot":"","sources":["../../src/dev/port-forward.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port-forward.js","sourceRoot":"","sources":["../../src/dev/port-forward.ts"],"names":[],"mappings":"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"}