anycloud 0.0.8 → 0.0.10

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 (38) hide show
  1. package/binaries/anycloud-darwin-arm64 +0 -0
  2. package/binaries/anycloud-darwin-x64 +0 -0
  3. package/binaries/anycloud-linux-arm64 +0 -0
  4. package/binaries/anycloud-linux-x64 +0 -0
  5. package/dist/cli/commands/build.js +48 -0
  6. package/dist/cli/commands/build.js.map +1 -0
  7. package/dist/cli/commands/config/edit.js +35 -47
  8. package/dist/cli/commands/config/edit.js.map +1 -1
  9. package/dist/cli/commands/config/list.js +1 -0
  10. package/dist/cli/commands/config/list.js.map +1 -1
  11. package/dist/cli/commands/config/new.js +136 -145
  12. package/dist/cli/commands/config/new.js.map +1 -1
  13. package/dist/cli/commands/credentials/new.js +273 -101
  14. package/dist/cli/commands/credentials/new.js.map +1 -1
  15. package/dist/cli/commands/logs.js +1 -1
  16. package/dist/cli/commands/logs.js.map +1 -1
  17. package/dist/cli/commands/run.js +187 -33
  18. package/dist/cli/commands/run.js.map +1 -1
  19. package/dist/cli/commands/status.js +5 -2
  20. package/dist/cli/commands/status.js.map +1 -1
  21. package/dist/cli/commands/terminate.js +1 -1
  22. package/dist/cli/commands/terminate.js.map +1 -1
  23. package/dist/cli/commands/update.js +100 -0
  24. package/dist/cli/commands/update.js.map +1 -0
  25. package/dist/cli/index.js +4 -0
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/services/config.js +9 -5
  28. package/dist/cli/services/config.js.map +1 -1
  29. package/dist/cli/services/docker.js +149 -40
  30. package/dist/cli/services/docker.js.map +1 -1
  31. package/dist/cli/services/slurp/azure.js +168 -1
  32. package/dist/cli/services/slurp/azure.js.map +1 -1
  33. package/dist/cli/utils/output.js +7 -4
  34. package/dist/cli/utils/output.js.map +1 -1
  35. package/dist/daemon/server.js +0 -14
  36. package/dist/daemon/server.js.map +1 -1
  37. package/dist/shared/types.js.map +1 -1
  38. package/package.json +6 -2
@@ -1,15 +1,38 @@
1
1
  import Docker from 'dockerode';
2
2
  import { execSync } from 'child_process';
3
- import { existsSync } from 'fs';
3
+ import { existsSync, readdirSync } from 'fs';
4
4
  import prompts from 'prompts';
5
5
  import { printInfo, printError, createSpinner } from '../utils/output.js';
6
6
  import { isNonInteractive } from './non-interactive.js';
7
7
  const docker = new Docker();
8
+ /**
9
+ * Find Dockerfile in current directory
10
+ * Supports: Dockerfile, dockerfile, Dockerfile.*, *.Dockerfile
11
+ */
12
+ export function findDockerfile() {
13
+ // Check standard names first
14
+ if (existsSync('Dockerfile'))
15
+ return 'Dockerfile';
16
+ if (existsSync('dockerfile'))
17
+ return 'dockerfile';
18
+ // Look for variants (Dockerfile.prod, prod.Dockerfile, etc.)
19
+ try {
20
+ const files = readdirSync('.');
21
+ const dockerfile = files.find((f) => f.startsWith('Dockerfile.') ||
22
+ f.startsWith('dockerfile.') ||
23
+ f.endsWith('.Dockerfile') ||
24
+ f.endsWith('.dockerfile'));
25
+ return dockerfile || null;
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
8
31
  /**
9
32
  * Helper to wait for Docker stream completion
10
- * @param trackEventErrors - If true, monitors event.error in progress events (needed for push operations)
33
+ * @param onProgress - Optional callback for progress events (for updating spinner text)
11
34
  */
12
- async function waitForStream(stream, spinner, successMessage, failMessage, trackEventErrors = false) {
35
+ async function waitForStream(stream, spinner, successMessage, failMessage, onProgress) {
13
36
  return new Promise((resolve, reject) => {
14
37
  let streamError = null;
15
38
  docker.modem.followProgress(stream, (err) => {
@@ -18,7 +41,6 @@ async function waitForStream(stream, spinner, successMessage, failMessage, track
18
41
  reject(err);
19
42
  }
20
43
  else if (streamError) {
21
- // Stream completed but had errors (e.g., GHCR rejection)
22
44
  spinner.fail(failMessage);
23
45
  reject(new Error(streamError));
24
46
  }
@@ -26,15 +48,17 @@ async function waitForStream(stream, spinner, successMessage, failMessage, track
26
48
  spinner.succeed(successMessage);
27
49
  resolve();
28
50
  }
29
- }, trackEventErrors
30
- ? (event) => {
31
- // Track errors from event stream (GHCR rejections come here)
32
- if (event.error && !streamError) {
33
- streamError = event.error;
34
- printError(`Error: ${event.error}`);
35
- }
51
+ }, (event) => {
52
+ // Always track errors
53
+ if (event.error && !streamError) {
54
+ streamError = event.error;
55
+ printError(`Error: ${event.error}`);
56
+ }
57
+ // Call progress handler if provided
58
+ if (onProgress) {
59
+ onProgress(event);
36
60
  }
37
- : undefined);
61
+ });
38
62
  });
39
63
  }
40
64
  /**
@@ -69,18 +93,26 @@ export async function imageExistsLocally(imageName) {
69
93
  * Build Docker image from Dockerfile
70
94
  * Always builds for linux/amd64 platform (deployment target)
71
95
  */
72
- export async function buildImage(tag, dockerfilePath = '.', labels) {
73
- const spinner = createSpinner('Building Docker image...').start();
96
+ export async function buildImage(tag, contextPath = '.', labels, dockerfile) {
97
+ const spinner = createSpinner('Building...').start();
74
98
  try {
75
99
  const stream = await docker.buildImage({
76
- context: dockerfilePath,
100
+ context: contextPath,
77
101
  src: ['.'], // Include all files in context
78
102
  }, {
79
103
  t: tag,
80
104
  platform: 'linux/amd64',
81
105
  labels,
106
+ dockerfile,
107
+ });
108
+ await waitForStream(stream, spinner, 'Build complete', 'Build failed', (event) => {
109
+ if (event.stream) {
110
+ const stepMatch = event.stream.match(/^Step (\d+)\/(\d+)/);
111
+ if (stepMatch) {
112
+ spinner.text = `Building... Step ${stepMatch[1]}/${stepMatch[2]}`;
113
+ }
114
+ }
82
115
  });
83
- await waitForStream(stream, spinner, 'Build complete', 'Build failed');
84
116
  }
85
117
  catch (error) {
86
118
  spinner.fail('Build failed');
@@ -102,7 +134,8 @@ export async function tagImage(sourceImage, targetImage) {
102
134
  * Push Docker image to registry with authentication
103
135
  */
104
136
  export async function pushImage(imageName, username, token, registry = 'ghcr.io') {
105
- const spinner = createSpinner(`Pushing ${imageName}...`).start();
137
+ const spinner = createSpinner(`Pushing...`).start();
138
+ const layerProgress = new Map();
106
139
  try {
107
140
  const image = docker.getImage(imageName);
108
141
  const stream = await image.push({
@@ -112,7 +145,27 @@ export async function pushImage(imageName, username, token, registry = 'ghcr.io'
112
145
  serveraddress: registry,
113
146
  },
114
147
  });
115
- await waitForStream(stream, spinner, `Pushed ${imageName}`, 'Push failed', true);
148
+ await waitForStream(stream, spinner, `Pushed ${imageName}`, 'Push failed', (event) => {
149
+ if (event.id &&
150
+ event.progressDetail?.current &&
151
+ event.progressDetail?.total) {
152
+ layerProgress.set(event.id, {
153
+ current: event.progressDetail.current,
154
+ total: event.progressDetail.total,
155
+ });
156
+ // Calculate aggregate progress
157
+ let totalBytes = 0;
158
+ let currentBytes = 0;
159
+ for (const p of layerProgress.values()) {
160
+ totalBytes += p.total;
161
+ currentBytes += p.current;
162
+ }
163
+ if (totalBytes > 0) {
164
+ const percent = Math.round((currentBytes / totalBytes) * 100);
165
+ spinner.text = `Pushing... ${percent}%`;
166
+ }
167
+ }
168
+ });
116
169
  }
117
170
  catch (error) {
118
171
  spinner.fail('Push failed');
@@ -226,10 +279,10 @@ async function getImageCommitHash(imageName) {
226
279
  }
227
280
  }
228
281
  /**
229
- * Get GitHub Container Registry path from git remote
282
+ * Get owner and repo from git remote
230
283
  * Throws error if not in git repo or no GitHub remote
231
284
  */
232
- export function getGitRemoteRegistry() {
285
+ export function getGitRemoteOwnerAndRepo() {
233
286
  if (!existsSync('.git')) {
234
287
  throw new Error('Not in a git repository');
235
288
  }
@@ -246,12 +299,12 @@ export function getGitRemoteRegistry() {
246
299
  // SSH format
247
300
  match = remoteUrl.match(/git@github\.com:(.+?)\/(.+?)(\.git)?$/);
248
301
  if (match) {
249
- return `ghcr.io/${match[1]}/${match[2].replace('.git', '')}`;
302
+ return { owner: match[1], repo: match[2].replace('.git', '') };
250
303
  }
251
304
  // HTTPS format
252
305
  match = remoteUrl.match(/https?:\/\/github\.com\/(.+?)\/(.+?)(\.git)?$/);
253
306
  if (match) {
254
- return `ghcr.io/${match[1]}/${match[2].replace('.git', '')}`;
307
+ return { owner: match[1], repo: match[2].replace('.git', '') };
255
308
  }
256
309
  throw new Error('Git remote is not a GitHub repository');
257
310
  }
@@ -262,6 +315,14 @@ export function getGitRemoteRegistry() {
262
315
  throw new Error('No git remote origin found');
263
316
  }
264
317
  }
318
+ /**
319
+ * Get GitHub Container Registry path from git remote
320
+ * Throws error if not in git repo or no GitHub remote
321
+ */
322
+ export function getGitRemoteRegistry() {
323
+ const { owner, repo } = getGitRemoteOwnerAndRepo();
324
+ return `ghcr.io/${owner}/${repo}`;
325
+ }
265
326
  /**
266
327
  * Check if image string is a full registry path
267
328
  */
@@ -296,14 +357,45 @@ export async function resolveAndPushImage(imageArg, githubToken, githubUsername,
296
357
  spinner.succeed('Image verified');
297
358
  return imageArg;
298
359
  }
299
- // Step 3: Auto-build flow - get registry from git remote
300
- const registryBase = getGitRemoteRegistry();
301
- if (!registryBase) {
302
- printError('No git remote found');
303
- printInfo('Either specify a full image path: anycloud run ghcr.io/user/app:tag');
304
- printInfo('Or run from a git repository with a GitHub remote');
305
- process.exit(1);
360
+ // Step 3: Auto-build flow - get owner and repo from git remote
361
+ const gitInfo = getGitRemoteOwnerAndRepo();
362
+ const gitOwner = gitInfo.owner;
363
+ const repo = gitInfo.repo;
364
+ // Determine which owner to use for the image
365
+ let selectedOwner = gitOwner;
366
+ if (gitOwner.toLowerCase() !== githubUsername.toLowerCase()) {
367
+ // Owner mismatch - prompt user to choose
368
+ if (isNonInteractive()) {
369
+ // Non-interactive mode: default to git origin owner with info message
370
+ printInfo(`Git origin owner (${gitOwner}) differs from GitHub user (${githubUsername})`);
371
+ printInfo(`Using git origin owner: ${gitOwner}`);
372
+ }
373
+ else {
374
+ // Interactive mode: prompt user to select
375
+ console.log('');
376
+ const response = await prompts({
377
+ type: 'select',
378
+ name: 'owner',
379
+ message: `Git origin owner (${gitOwner}) differs from GitHub user (${githubUsername}). Which to use?`,
380
+ choices: [
381
+ {
382
+ title: `${gitOwner} (ghcr.io/${gitOwner}/${repo})`,
383
+ value: gitOwner,
384
+ },
385
+ {
386
+ title: `${githubUsername} (ghcr.io/${githubUsername}/${repo})`,
387
+ value: githubUsername,
388
+ },
389
+ ],
390
+ });
391
+ if (!response.owner) {
392
+ printError('No owner selected');
393
+ process.exit(1);
394
+ }
395
+ selectedOwner = response.owner;
396
+ }
306
397
  }
398
+ const registryBase = `ghcr.io/${selectedOwner}/${repo}`;
307
399
  // Step 4: Verify clean working directory (skip if allowDirty)
308
400
  if (!allowDirty) {
309
401
  try {
@@ -311,13 +403,26 @@ export async function resolveAndPushImage(imageArg, githubToken, githubUsername,
311
403
  encoding: 'utf-8',
312
404
  }).trim();
313
405
  if (status) {
314
- printError('Working directory has uncommitted changes');
315
- printInfo('Commit or stash changes before deploying to ensure image matches git state');
316
- printInfo('Or use --force to deploy anyway');
406
+ printInfo('Working directory has uncommitted changes');
317
407
  printInfo('');
318
408
  printInfo('Changed files:');
319
409
  status.split('\n').forEach((line) => printInfo(` ${line}`));
320
- process.exit(1);
410
+ console.log('');
411
+ if (isNonInteractive()) {
412
+ printError('Commit or stash changes before deploying to ensure image matches git state');
413
+ printInfo('Or use --force to deploy anyway');
414
+ process.exit(1);
415
+ }
416
+ // Prompt user to continue anyway
417
+ const continueAnyway = await prompts({
418
+ type: 'confirm',
419
+ name: 'value',
420
+ message: 'Continue anyway?',
421
+ initial: false,
422
+ });
423
+ if (!continueAnyway.value) {
424
+ process.exit(0);
425
+ }
321
426
  }
322
427
  }
323
428
  catch (error) {
@@ -333,7 +438,16 @@ export async function resolveAndPushImage(imageArg, githubToken, githubUsername,
333
438
  const latestTag = `${registryBase}:latest`;
334
439
  // Convert registry base to GitHub repo URL for package linking
335
440
  const repoUrl = registryBase.replace('ghcr.io/', 'https://github.com/');
441
+ // Find Dockerfile (supports Dockerfile, dockerfile, Dockerfile.*, *.Dockerfile)
442
+ const dockerfile = findDockerfile();
443
+ if (!dockerfile) {
444
+ printError('No Dockerfile found in current directory');
445
+ process.exit(1);
446
+ }
336
447
  printInfo(`Building and pushing to: ${latestTag} (${shortHash})`);
448
+ if (dockerfile !== 'Dockerfile') {
449
+ printInfo(`Using ${dockerfile}`);
450
+ }
337
451
  // Step 7: Check if hash-tagged image exists (already built this commit)
338
452
  const hashImageExists = await imageExistsLocally(hashTag);
339
453
  if (hashImageExists) {
@@ -347,20 +461,15 @@ export async function resolveAndPushImage(imageArg, githubToken, githubUsername,
347
461
  await buildImage(hashTag, '.', {
348
462
  'org.opencontainers.image.source': repoUrl,
349
463
  'org.opencontainers.image.revision': commitHash,
350
- });
464
+ }, dockerfile);
351
465
  }
352
466
  }
353
467
  else {
354
- // Check for Dockerfile
355
- if (!existsSync('Dockerfile')) {
356
- printError('No Dockerfile found in current directory');
357
- process.exit(1);
358
- }
359
468
  // Build with hash tag and OCI labels for repo linking
360
469
  await buildImage(hashTag, '.', {
361
470
  'org.opencontainers.image.source': repoUrl,
362
471
  'org.opencontainers.image.revision': commitHash,
363
- });
472
+ }, dockerfile);
364
473
  }
365
474
  // Step 8: Tag as latest
366
475
  printInfo(`Tagging as ${latestTag}`);
@@ -1 +1 @@
1
- {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/cli/services/docker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/cli/services/docker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { readFile } from 'fs/promises';
2
2
  import { join } from 'path';
3
- import { homedir } from 'os';
3
+ import { homedir, platform } from 'os';
4
+ import { exec, spawn } from 'child_process';
4
5
  /**
5
6
  * Get Azure directory path
6
7
  */
@@ -62,4 +63,170 @@ export function extractPartialCredentials(subscription) {
62
63
  subscriptionName: subscription.name,
63
64
  };
64
65
  }
66
+ /**
67
+ * Helper to execute a command and return stdout
68
+ */
69
+ function execAsync(command) {
70
+ return new Promise((resolve, reject) => {
71
+ exec(command, (error, stdout, stderr) => {
72
+ if (error) {
73
+ reject(new Error(stderr || error.message));
74
+ }
75
+ else {
76
+ resolve(stdout);
77
+ }
78
+ });
79
+ });
80
+ }
81
+ /**
82
+ * Check if Azure CLI is installed
83
+ */
84
+ export async function isAzureCLIInstalled() {
85
+ try {
86
+ await execAsync('az --version');
87
+ return true;
88
+ }
89
+ catch {
90
+ return false;
91
+ }
92
+ }
93
+ /**
94
+ * Check if user is logged in to Azure CLI
95
+ */
96
+ export async function isAzureCLILoggedIn() {
97
+ try {
98
+ await execAsync('az account show --output json');
99
+ return true;
100
+ }
101
+ catch {
102
+ return false;
103
+ }
104
+ }
105
+ /**
106
+ * Check if logged in as a service principal (can't create other SPs)
107
+ */
108
+ export async function isLoggedInAsServicePrincipal() {
109
+ try {
110
+ const output = await execAsync('az account show --output json');
111
+ const account = JSON.parse(output);
112
+ return account.user?.type === 'servicePrincipal';
113
+ }
114
+ catch {
115
+ return false;
116
+ }
117
+ }
118
+ /**
119
+ * Get install command for Azure CLI based on platform
120
+ */
121
+ export function getAzureCLIInstallCommand() {
122
+ const os = platform();
123
+ switch (os) {
124
+ case 'darwin':
125
+ return {
126
+ command: 'brew install azure-cli',
127
+ description: 'Installing via Homebrew',
128
+ requiresSudo: false,
129
+ };
130
+ case 'linux':
131
+ return {
132
+ command: 'curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash',
133
+ description: 'Installing via Microsoft install script',
134
+ requiresSudo: true,
135
+ };
136
+ case 'win32':
137
+ return {
138
+ command: 'winget install -e --id Microsoft.AzureCLI',
139
+ description: 'Installing via winget',
140
+ requiresSudo: false,
141
+ };
142
+ default:
143
+ throw new Error(`Unsupported platform: ${os}. Please install Azure CLI manually: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli`);
144
+ }
145
+ }
146
+ /**
147
+ * Install Azure CLI
148
+ */
149
+ export async function installAzureCLI() {
150
+ const { command, requiresSudo } = getAzureCLIInstallCommand();
151
+ const os = platform();
152
+ return new Promise((resolve, reject) => {
153
+ let proc;
154
+ if (os === 'linux') {
155
+ // For Linux, we need to use shell to handle the pipe
156
+ proc = spawn('sh', ['-c', command], {
157
+ stdio: 'inherit',
158
+ });
159
+ }
160
+ else {
161
+ const [cmd, ...args] = command.split(' ');
162
+ proc = spawn(cmd, args, {
163
+ stdio: 'inherit',
164
+ shell: os === 'win32',
165
+ });
166
+ }
167
+ proc.on('close', (code) => {
168
+ if (code === 0) {
169
+ resolve();
170
+ }
171
+ else {
172
+ reject(new Error(`Azure CLI installation failed with exit code ${code}. ` +
173
+ (requiresSudo
174
+ ? 'Make sure you have sudo privileges.'
175
+ : 'Please try installing manually.')));
176
+ }
177
+ });
178
+ proc.on('error', (error) => {
179
+ reject(new Error(`Failed to start installation: ${error.message}`));
180
+ });
181
+ });
182
+ }
183
+ /**
184
+ * Login to Azure CLI (opens browser for interactive login)
185
+ */
186
+ export async function loginToAzure() {
187
+ return new Promise((resolve, reject) => {
188
+ const proc = spawn('az', ['login'], {
189
+ stdio: 'inherit',
190
+ shell: platform() === 'win32',
191
+ });
192
+ proc.on('close', (code) => {
193
+ if (code === 0) {
194
+ resolve();
195
+ }
196
+ else {
197
+ reject(new Error(`Azure login failed with exit code ${code}`));
198
+ }
199
+ });
200
+ proc.on('error', (error) => {
201
+ reject(new Error(`Failed to start Azure login: ${error.message}`));
202
+ });
203
+ });
204
+ }
205
+ /**
206
+ * Generate a new Azure service principal with Contributor role
207
+ */
208
+ export async function generateAzureServicePrincipal(subscriptionId, name) {
209
+ const spName = `anycloud-${name}`;
210
+ const scope = `/subscriptions/${subscriptionId}`;
211
+ try {
212
+ const output = await execAsync(`az ad sp create-for-rbac --name "${spName}" --role Contributor --scopes "${scope}" --output json`);
213
+ const result = JSON.parse(output);
214
+ return {
215
+ applicationId: result.appId,
216
+ secret: result.password,
217
+ tenantId: result.tenant,
218
+ };
219
+ }
220
+ catch (error) {
221
+ const errorMessage = error.message;
222
+ if (errorMessage.includes('Insufficient privileges')) {
223
+ throw new Error('Insufficient privileges to create service principal. ' +
224
+ 'Your Azure account needs Owner or User Access Administrator role on the subscription.');
225
+ }
226
+ if (errorMessage.includes('does not exist')) {
227
+ throw new Error(`Subscription ${subscriptionId} not found. Please verify your subscription ID.`);
228
+ }
229
+ throw new Error(`Failed to create service principal: ${errorMessage}`);
230
+ }
231
+ }
65
232
  //# sourceMappingURL=azure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../src/cli/services/slurp/azure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAkC7B;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,mEAAmE;QACnE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,GAAiB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qCAAqC,WAAW,KAAM,KAAe,CAAC,OAAO,EAAE,CAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,aAAkC;IAElC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAA+B;IAE/B,OAAO;QACL,cAAc,EAAE,YAAY,CAAC,EAAE;QAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,gBAAgB,EAAE,YAAY,CAAC,IAAI;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../src/cli/services/slurp/azure.ts"],"names":[],"mappings":"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"}
@@ -43,11 +43,11 @@ export function printCloudConfigsTable(configs, options = {}) {
43
43
  console.log(chalk.bold(` ${title}`));
44
44
  console.log('');
45
45
  const headers = showCredentials
46
- ? ['Config', 'Credentials', 'Region', 'VM Type', 'Spot', 'Bucket']
47
- : ['Config', 'Provider', 'Region', 'VM Type', 'Spot', 'Bucket'];
46
+ ? ['Config', 'Credentials', 'Region', 'VM Type', 'Disk', 'Spot', 'Bucket']
47
+ : ['Config', 'Provider', 'Region', 'VM Type', 'Disk', 'Spot', 'Bucket'];
48
48
  const colWidths = showCredentials
49
- ? [20, 18, 18, 20, 8, 20]
50
- : [20, 12, 18, 20, 8, 20];
49
+ ? [20, 18, 18, 18, 10, 8, 18]
50
+ : [20, 12, 18, 18, 10, 8, 18];
51
51
  const table = new Table({
52
52
  head: headers.map((h) => chalk.cyan(h)),
53
53
  colWidths,
@@ -59,12 +59,14 @@ export function printCloudConfigsTable(configs, options = {}) {
59
59
  configs.forEach((config) => {
60
60
  const spotValue = config.spot ? 'Yes' : 'No';
61
61
  const bucketValue = config.bucketName || '-';
62
+ const diskValue = config.diskSizeGb ? `${config.diskSizeGb}GB` : 'default';
62
63
  const row = showCredentials
63
64
  ? [
64
65
  config.configName,
65
66
  config.credentialsName,
66
67
  config.region || 'default',
67
68
  config.vmType || 'default',
69
+ diskValue,
68
70
  spotValue,
69
71
  bucketValue,
70
72
  ]
@@ -73,6 +75,7 @@ export function printCloudConfigsTable(configs, options = {}) {
73
75
  config.provider || 'default',
74
76
  config.region || 'default',
75
77
  config.vmType || 'default',
78
+ diskValue,
76
79
  spotValue,
77
80
  bucketValue,
78
81
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
@@ -252,18 +252,4 @@ export async function startServer(deploymentSecret, conductorUrl) {
252
252
  });
253
253
  });
254
254
  }
255
- // ============================================================================
256
- // Server Startup (only when run directly)
257
- // ============================================================================
258
- // Only start server if this file is run directly (not imported)
259
- if (import.meta.url === `file://${process.argv[1]}`) {
260
- // Parse command line arguments
261
- const deploymentSecret = process.argv[2];
262
- const conductorUrl = process.argv[3];
263
- if (!deploymentSecret || !conductorUrl) {
264
- console.error('Usage: node server.js <deploymentSecret> <conductorUrl>');
265
- process.exit(1);
266
- }
267
- await startServer(deploymentSecret, conductorUrl);
268
- }
269
255
  //# sourceMappingURL=server.js.map