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.
- package/binaries/anycloud-darwin-arm64 +0 -0
- package/binaries/anycloud-darwin-x64 +0 -0
- package/binaries/anycloud-linux-arm64 +0 -0
- package/binaries/anycloud-linux-x64 +0 -0
- package/dist/cli/commands/build.js +48 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/config/edit.js +35 -47
- package/dist/cli/commands/config/edit.js.map +1 -1
- package/dist/cli/commands/config/list.js +1 -0
- package/dist/cli/commands/config/list.js.map +1 -1
- package/dist/cli/commands/config/new.js +136 -145
- package/dist/cli/commands/config/new.js.map +1 -1
- package/dist/cli/commands/credentials/new.js +273 -101
- package/dist/cli/commands/credentials/new.js.map +1 -1
- package/dist/cli/commands/logs.js +1 -1
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/run.js +187 -33
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/status.js +5 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/terminate.js +1 -1
- package/dist/cli/commands/terminate.js.map +1 -1
- package/dist/cli/commands/update.js +100 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/services/config.js +9 -5
- package/dist/cli/services/config.js.map +1 -1
- package/dist/cli/services/docker.js +149 -40
- package/dist/cli/services/docker.js.map +1 -1
- package/dist/cli/services/slurp/azure.js +168 -1
- package/dist/cli/services/slurp/azure.js.map +1 -1
- package/dist/cli/utils/output.js +7 -4
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/daemon/server.js +0 -14
- package/dist/daemon/server.js.map +1 -1
- package/dist/shared/types.js.map +1 -1
- 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
|
|
33
|
+
* @param onProgress - Optional callback for progress events (for updating spinner text)
|
|
11
34
|
*/
|
|
12
|
-
async function waitForStream(stream, spinner, successMessage, failMessage,
|
|
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
|
-
},
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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,
|
|
73
|
-
const spinner = createSpinner('Building
|
|
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:
|
|
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
|
|
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',
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../src/cli/services/slurp/azure.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/utils/output.js
CHANGED
|
@@ -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,
|
|
50
|
-
: [20, 12, 18,
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,qCAAqC;AAErC,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe,CAAC;IAC7D,UAAU,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,GAAG,CAAC;QACT,IAAI;QACJ,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/server.js
CHANGED
|
@@ -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
|