anycloud 0.0.2 → 0.0.4

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.
@@ -1,9 +1,31 @@
1
1
  import { Command } from 'commander';
2
- import { createStartCommand } from './start.js';
2
+ import { startServer } from '../../../daemon/server.js';
3
+ import { log } from '../../../daemon/logger.js';
3
4
  export function createDaemonCommand() {
4
- const daemon = new Command('daemon').description('Manage the AnyCloud daemon (runs on VMs)');
5
- // Add subcommands
6
- daemon.addCommand(createStartCommand());
7
- return daemon;
5
+ return new Command('daemon')
6
+ .description('Start the AnyCloud daemon (runs on VMs)')
7
+ .argument('<secret>', 'Deployment secret for authentication')
8
+ .argument('<conductor-url>', 'URL of the conductor to connect to')
9
+ .requiredOption('--type <type>', 'Deployment type: app or job')
10
+ .action(async (secret, conductorUrl, options) => {
11
+ try {
12
+ // Validate deployment type
13
+ if (options.type !== 'app' && options.type !== 'job') {
14
+ log.error('Invalid deployment type. Must be either "app" or "job"');
15
+ process.exit(1);
16
+ }
17
+ const deploymentType = options.type;
18
+ log.info('Starting AnyCloud Daemon', {
19
+ deploymentType,
20
+ nodeVersion: process.version,
21
+ });
22
+ await startServer(secret, conductorUrl);
23
+ log.info('Daemon started successfully');
24
+ }
25
+ catch (error) {
26
+ log.error('Failed to start daemon', error);
27
+ process.exit(1);
28
+ }
29
+ });
8
30
  }
9
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAC9C,0CAA0C,CAC3C,CAAC;IAEF,kBAAkB;IAClB,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAGhD,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,UAAU,EAAE,sCAAsC,CAAC;SAC5D,QAAQ,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SACjE,cAAc,CAAC,eAAe,EAAE,6BAA6B,CAAC;SAC9D,MAAM,CACL,KAAK,EACH,MAAc,EACd,YAAoB,EACpB,OAAyB,EACzB,EAAE;QACF,IAAI,CAAC;YACH,2BAA2B;YAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrD,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,cAAc,GAAG,OAAO,CAAC,IAA2B,CAAC;YAE3D,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACnC,cAAc;gBACd,WAAW,EAAE,OAAO,CAAC,OAAO;aAC7B,CAAC,CAAC;YAEH,MAAM,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAExC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { Command } from 'commander';
2
+ import prompts from 'prompts';
3
+ import { getGitHubToken } from '../services/auth.js';
4
+ import { resolveDeploymentProfile, loadDeploymentProfiles, } from '../services/config.js';
5
+ import { createDeployment } from '../services/api-client.js';
6
+ import { printInfo, printError, createSpinner } from '../utils/output.js';
7
+ import { isNonInteractive, getConfigFromEnv, } from '../services/non-interactive.js';
8
+ export function createJobCommand() {
9
+ return new Command('job')
10
+ .description('Create a new job deployment')
11
+ .argument('<image>', 'Container image (e.g., alpine:latest, ghcr.io/user/job:latest)')
12
+ .option('--config <name>', 'Config name from anycloud.json')
13
+ .requiredOption('--name <name>', 'Job name')
14
+ .action(async (image, options) => {
15
+ try {
16
+ printInfo(`Creating job deployment for image: ${image}`);
17
+ // Determine config name
18
+ let configName = options.config;
19
+ // Check for environment variable in non-interactive mode
20
+ if (!configName && isNonInteractive()) {
21
+ configName = getConfigFromEnv();
22
+ if (!configName) {
23
+ printError('Non-interactive mode: Config name required.\n' +
24
+ ' Provide --config flag or set ANYCLOUD_CONFIG environment variable.');
25
+ process.exit(1);
26
+ }
27
+ }
28
+ // If --config not provided and not in non-interactive mode, prompt for config selection
29
+ if (!configName) {
30
+ const profiles = await loadDeploymentProfiles();
31
+ const profileNames = Object.keys(profiles);
32
+ if (profileNames.length === 0) {
33
+ printError('No deployment profiles found in anycloud.json');
34
+ printInfo('Please create anycloud.json with deployment profiles.');
35
+ process.exit(1);
36
+ }
37
+ const selection = await prompts({
38
+ type: 'select',
39
+ name: 'profile',
40
+ message: 'Select config:',
41
+ choices: profileNames.map((name) => ({
42
+ title: name,
43
+ value: name,
44
+ description: `${profiles[name].length} config(s)`,
45
+ })),
46
+ });
47
+ if (!selection.profile) {
48
+ process.exit(0); // User cancelled
49
+ }
50
+ configName = selection.profile;
51
+ }
52
+ printInfo(`Using config: ${configName}`);
53
+ // Get GitHub token
54
+ const accessToken = await getGitHubToken();
55
+ // Resolve deployment profile and credentials
56
+ const cloudConfigs = await resolveDeploymentProfile(configName);
57
+ // Create deployment with hardcoded 'job' type
58
+ const spinner = createSpinner('Creating job deployment...').start();
59
+ const response = await createDeployment(image, cloudConfigs, accessToken, configName, 'job', options.name);
60
+ spinner.succeed('Job deployment created!');
61
+ console.log('');
62
+ printInfo(`ID: ${response.id}`);
63
+ console.log('');
64
+ }
65
+ catch (error) {
66
+ printError(`Failed to create job deployment: ${error.message}`);
67
+ process.exit(1);
68
+ }
69
+ });
70
+ }
71
+ //# sourceMappingURL=job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/cli/commands/job.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { Command } from 'commander';
2
2
  import { getGitHubToken } from '../services/auth.js';
3
- import { getDeploymentInfo } from '../services/api-client.js';
3
+ import { listDeployments } from '../services/api-client.js';
4
4
  import { resolveAllDeploymentProfiles } from '../services/config.js';
5
5
  import { printSuccess, printInfo, printError } from '../utils/output.js';
6
+ import packageJson from '../../../package.json' with { type: 'json' };
6
7
  export function createListCommand() {
7
8
  return new Command('list')
8
9
  .description('List all deployments across all profiles')
@@ -11,13 +12,13 @@ export function createListCommand() {
11
12
  // Get GitHub token
12
13
  const accessToken = await getGitHubToken();
13
14
  // Get all deployment configs with resolved credentials
14
- const deployConfigs = await resolveAllDeploymentProfiles();
15
- if (Object.keys(deployConfigs).length === 0) {
15
+ const anycloudConfigs = await resolveAllDeploymentProfiles();
16
+ if (Object.keys(anycloudConfigs).length === 0) {
16
17
  printInfo('No deployment profiles found in anycloud.json');
17
18
  return;
18
19
  }
19
- // Get deployment info for all profiles
20
- const deployments = await getDeploymentInfo(deployConfigs, accessToken);
20
+ // List all deployments
21
+ const deployments = await listDeployments(anycloudConfigs, accessToken, packageJson.version);
21
22
  if (deployments.length === 0) {
22
23
  printInfo('No deployments found.');
23
24
  return;
@@ -26,12 +27,12 @@ export function createListCommand() {
26
27
  console.log('');
27
28
  // Display deployments in a simple table format
28
29
  deployments.forEach((deployment, index) => {
29
- console.log(`${index + 1}. Cluster ID: ${deployment.id}`);
30
- printInfo(` URL: ${deployment.url}`);
31
- printInfo(` Deploy Name: ${deployment.deployName}`);
30
+ console.log(`${index + 1}. ID: ${deployment.id}`);
31
+ // printInfo(` URL: ${deployment.url}`);
32
+ printInfo(` Config Name: ${deployment.configName}`);
32
33
  printInfo(` Status: ${deployment.status}`);
33
34
  printInfo(` Size: ${deployment.size} VM(s)`);
34
- printInfo(` Cloud Configs: ${deployment.cloudConfigs.length} config(s)`);
35
+ printInfo(`${deployment.cloudConfigs.length} Cloud Config(s)`);
35
36
  deployment.cloudConfigs.forEach((config, i) => {
36
37
  printInfo(` ${i + 1}. ${config.cloudProvider} - ${config.region || 'default region'} (${config.vmType || 'default VM'})`);
37
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAE3C,uDAAuD;YACvD,MAAM,aAAa,GAAG,MAAM,4BAA4B,EAAE,CAAC;YAE3D,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,+CAA+C,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAExE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,uBAAuB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,YAAY,CAAC,SAAS,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,+CAA+C;YAC/C,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBACxC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,iBAAiB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,SAAS,CAAC,qBAAqB,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjD,SAAS,CAAC,qBAAqB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxD,SAAS,CAAC,qBAAqB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpD,SAAS,CAAC,qBAAqB,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC;gBACxD,SAAS,CACP,qBAAqB,UAAU,CAAC,YAAY,CAAC,MAAM,YAAY,CAChE,CAAC;gBACF,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,SAAS,CACP,SAAS,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,aAAa,MAAM,MAAM,CAAC,MAAM,IAAI,gBAAgB,KAAK,MAAM,CAAC,MAAM,IAAI,YAAY,GAAG,CACpH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,+BAAgC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEtE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAE3C,uDAAuD;YACvD,MAAM,eAAe,GAAG,MAAM,4BAA4B,EAAE,CAAC;YAE7D,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9C,SAAS,CAAC,+CAA+C,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,uBAAuB;YACvB,MAAM,WAAW,GAAG,MAAM,eAAe,CACvC,eAAe,EACf,WAAW,EACX,WAAW,CAAC,OAAO,CACpB,CAAC;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,uBAAuB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,YAAY,CAAC,SAAS,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,+CAA+C;YAC/C,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBACxC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClD,oDAAoD;gBACpD,SAAS,CAAC,qBAAqB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxD,SAAS,CAAC,qBAAqB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpD,SAAS,CAAC,qBAAqB,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC;gBACxD,SAAS,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAC/D,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,SAAS,CACP,SAAS,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,aAAa,MAAM,MAAM,CAAC,MAAM,IAAI,gBAAgB,KAAK,MAAM,CAAC,MAAM,IAAI,YAAY,GAAG,CACpH,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,+BAAgC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,21 +2,22 @@ import { Command } from 'commander';
2
2
  import { getGitHubToken } from '../services/auth.js';
3
3
  import { getDeploymentLogs } from '../services/api-client.js';
4
4
  import { printInfo, printError } from '../utils/output.js';
5
+ import packageJson from '../../../package.json' with { type: 'json' };
5
6
  export function createLogsCommand() {
6
7
  return new Command('logs')
7
8
  .description('Get deployment logs')
8
- .argument('<clusterId>', 'Cluster ID of the deployment')
9
- .action(async (clusterId) => {
9
+ .argument('<id>', 'Deployment ID')
10
+ .action(async (id) => {
10
11
  try {
11
- printInfo(`Fetching logs for cluster: ${clusterId}`);
12
+ printInfo(`Fetching logs for: ${id}`);
12
13
  // Get GitHub token
13
14
  const accessToken = await getGitHubToken();
14
15
  // Get logs
15
- const response = await getDeploymentLogs(clusterId, accessToken);
16
+ const response = await getDeploymentLogs(id, accessToken, packageJson.version);
16
17
  console.log('');
17
18
  console.log('Logs:');
18
19
  console.log('─────────────────────────────────────────────────────');
19
- console.log(response.logs);
20
+ console.log(response.message);
20
21
  console.log('─────────────────────────────────────────────────────');
21
22
  console.log('');
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,qBAAqB,CAAC;SAClC,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,SAAS,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;YAErD,mBAAmB;YACnB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAE3C,WAAW;YACX,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAEjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,yBAA0B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEtE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,qBAAqB,CAAC;SAClC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,SAAS,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAEtC,mBAAmB;YACnB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAE3C,WAAW;YACX,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,EAAE,EACF,WAAW,EACX,WAAW,CAAC,OAAO,CACpB,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,yBAA0B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,71 +1,15 @@
1
1
  import { Command } from 'commander';
2
- import prompts from 'prompts';
3
- import { getGitHubToken } from '../services/auth.js';
4
- import { resolveDeploymentProfile, loadDeploymentProfiles, } from '../services/config.js';
5
- import { createDeployment } from '../services/api-client.js';
6
- import { printInfo, printError, createSpinner } from '../utils/output.js';
7
- import { isNonInteractive, getDeployProfileFromEnv, } from '../services/non-interactive.js';
2
+ import { printError } from '../utils/output.js';
8
3
  export function createNewCommand() {
9
4
  return new Command('new')
10
- .description('Create a new deployment')
5
+ .description('Create a new app deployment (not yet supported)')
11
6
  .argument('<image>', 'Container image (e.g., nginx:alpine, ghcr.io/user/repo:latest)')
12
7
  .option('--deploy <profile>', 'Deployment profile name from anycloud.json')
13
- .option('--name <name>', 'Deployment name', '0')
14
- .action(async (image, options) => {
15
- try {
16
- printInfo(`Creating deployment for image: ${image}`);
17
- // Determine deployment profile
18
- let deployProfile = options.deploy;
19
- // Check for environment variable in non-interactive mode
20
- if (!deployProfile && isNonInteractive()) {
21
- deployProfile = getDeployProfileFromEnv();
22
- if (!deployProfile) {
23
- printError('Non-interactive mode: Deployment profile required.\n' +
24
- ' Provide --deploy flag or set ANYCLOUD_DEPLOY_PROFILE environment variable.');
25
- process.exit(1);
26
- }
27
- }
28
- // If --deploy not provided and not in non-interactive mode, prompt for profile selection
29
- if (!deployProfile) {
30
- const profiles = await loadDeploymentProfiles();
31
- const profileNames = Object.keys(profiles);
32
- if (profileNames.length === 0) {
33
- printError('No deployment profiles found in anycloud.json');
34
- printInfo('Please create anycloud.json with deployment profiles.');
35
- process.exit(1);
36
- }
37
- const selection = await prompts({
38
- type: 'select',
39
- name: 'profile',
40
- message: 'Select deployment profile:',
41
- choices: profileNames.map((name) => ({
42
- title: name,
43
- value: name,
44
- description: `${profiles[name].length} config(s)`,
45
- })),
46
- });
47
- if (!selection.profile) {
48
- process.exit(0); // User cancelled
49
- }
50
- deployProfile = selection.profile;
51
- }
52
- printInfo(`Using deployment profile: ${deployProfile}`);
53
- // Get GitHub token
54
- const accessToken = await getGitHubToken();
55
- // Resolve deployment profile and credentials
56
- const deployConfig = await resolveDeploymentProfile(deployProfile);
57
- // Create deployment
58
- const spinner = createSpinner('Creating deployment...').start();
59
- const response = await createDeployment(image, deployConfig, accessToken, options.name);
60
- spinner.succeed('Deployment created!');
61
- console.log('');
62
- printInfo(`Cluster ID: ${response.clusterId}`);
63
- console.log('');
64
- }
65
- catch (error) {
66
- printError(`Failed to create deployment: ${error.message}`);
67
- process.exit(1);
68
- }
8
+ .option('--name <name>', 'Deployment name')
9
+ .action(() => {
10
+ printError('App deployments are not yet supported.');
11
+ printError('Use "anycloud job" for job deployments.');
12
+ process.exit(1);
69
13
  });
70
14
  }
71
15
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,QAAQ,CACP,SAAS,EACT,gEAAgE,CACjE;SACA,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,GAAG,EAAE;QACX,UAAU,CAAC,wCAAwC,CAAC,CAAC;QACrD,UAAU,CAAC,yCAAyC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,16 +1,61 @@
1
1
  import { Command } from 'commander';
2
+ import prompts from 'prompts';
2
3
  import { terminateDeployment } from '../services/api-client.js';
4
+ import { getGitHubToken } from '../services/auth.js';
5
+ import { resolveDeploymentProfile, loadDeploymentProfiles, } from '../services/config.js';
3
6
  import { printSuccess, printInfo, printError } from '../utils/output.js';
7
+ import { isNonInteractive, getConfigFromEnv, } from '../services/non-interactive.js';
8
+ import packageJson from '../../../package.json' with { type: 'json' };
4
9
  export function createTerminateCommand() {
5
10
  return new Command('terminate')
6
11
  .description('Terminate a deployment')
7
- .argument('<clusterId>', 'Cluster ID of the deployment')
8
- .argument('<conductorToken>', 'Conductor token for the deployment')
9
- .action(async (clusterId, conductorToken) => {
12
+ .argument('<id>', 'Deployment ID')
13
+ .option('--config <name>', 'Config name from anycloud.json')
14
+ .action(async (id, options) => {
10
15
  try {
11
- printInfo(`Terminating cluster: ${clusterId}`);
16
+ printInfo(`Terminating: ${id}`);
17
+ // Determine config name
18
+ let configName = options.config;
19
+ // Check for environment variable in non-interactive mode
20
+ if (!configName && isNonInteractive()) {
21
+ configName = getConfigFromEnv();
22
+ if (!configName) {
23
+ printError('Non-interactive mode: Config name required.\n' +
24
+ ' Provide --config flag or set ANYCLOUD_CONFIG environment variable.');
25
+ process.exit(1);
26
+ }
27
+ }
28
+ // If --config not provided and not in non-interactive mode, prompt for config selection
29
+ if (!configName) {
30
+ const profiles = await loadDeploymentProfiles();
31
+ const profileNames = Object.keys(profiles);
32
+ if (profileNames.length === 0) {
33
+ printError('No deployment profiles found in anycloud.json');
34
+ printInfo('Please create anycloud.json with deployment profiles.');
35
+ process.exit(1);
36
+ }
37
+ const selection = await prompts({
38
+ type: 'select',
39
+ name: 'profile',
40
+ message: 'Select config:',
41
+ choices: profileNames.map((name) => ({
42
+ title: name,
43
+ value: name,
44
+ description: `${profiles[name].length} config(s)`,
45
+ })),
46
+ });
47
+ if (!selection.profile) {
48
+ process.exit(0); // User cancelled
49
+ }
50
+ configName = selection.profile;
51
+ }
52
+ printInfo(`Using config: ${configName}`);
53
+ // Get GitHub token
54
+ const accessToken = await getGitHubToken();
55
+ // Resolve deployment profile and credentials
56
+ const cloudConfigs = await resolveDeploymentProfile(configName);
12
57
  // Terminate deployment
13
- const response = await terminateDeployment(clusterId, conductorToken);
58
+ const response = await terminateDeployment(id, cloudConfigs, accessToken, configName, packageJson.version);
14
59
  printSuccess('Deployment terminated successfully!');
15
60
  if (response.message) {
16
61
  printInfo(response.message);
@@ -1 +1 @@
1
- {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../src/cli/commands/terminate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;SAC5B,WAAW,CAAC,wBAAwB,CAAC;SACrC,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACvD,QAAQ,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,cAAsB,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,SAAS,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;YAE/C,uBAAuB;YACvB,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEtE,YAAY,CAAC,qCAAqC,CAAC,CAAC;YACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CACR,mCAAoC,KAAe,CAAC,OAAO,EAAE,CAC9D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../src/cli/commands/terminate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEtE,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;SAC5B,WAAW,CAAC,wBAAwB,CAAC;SACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;SACjC,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAA4B,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAEhC,wBAAwB;YACxB,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAEhC,yDAAyD;YACzD,IAAI,CAAC,UAAU,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACtC,UAAU,GAAG,gBAAgB,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,CACR,+CAA+C;wBAC7C,uEAAuE,CAC1E,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,wFAAwF;YACxF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;gBAChD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE3C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,UAAU,CAAC,+CAA+C,CAAC,CAAC;oBAC5D,SAAS,CAAC,uDAAuD,CAAC,CAAC;oBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;oBAC9B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gBAAgB;oBACzB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACnC,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,IAAI;wBACX,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,YAAY;qBAClD,CAAC,CAAC;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;gBACpC,CAAC;gBAED,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;YACjC,CAAC;YAED,SAAS,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;YAEzC,mBAAmB;YACnB,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;YAE3C,6CAA6C;YAC7C,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAEhE,uBAAuB;YACvB,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,EAAE,EACF,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,CAAC,OAAO,CACpB,CAAC;YAEF,YAAY,CAAC,qCAAqC,CAAC,CAAC;YACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CACR,mCAAoC,KAAe,CAAC,OAAO,EAAE,CAC9D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -4,15 +4,15 @@ import { printSuccess, printInfo, printError } from '../utils/output.js';
4
4
  export function createUpgradeCommand() {
5
5
  return new Command('upgrade')
6
6
  .description('Upgrade a deployment to a new container image')
7
- .argument('<clusterId>', 'Cluster ID of the deployment')
7
+ .argument('<id>', 'Deployment ID')
8
8
  .argument('<image>', 'New container image (e.g., nginx:latest, ghcr.io/user/repo:v2)')
9
9
  .argument('<conductorToken>', 'Conductor token for the deployment')
10
- .action(async (clusterId, image, conductorToken) => {
10
+ .action(async (id, image, conductorToken) => {
11
11
  try {
12
- printInfo(`Upgrading cluster: ${clusterId}`);
12
+ printInfo(`Upgrading: ${id}`);
13
13
  printInfo(`New image: ${image}`);
14
14
  // Upgrade deployment
15
- const response = await upgradeDeployment(clusterId, image, conductorToken);
15
+ const response = await upgradeDeployment(id, image, conductorToken);
16
16
  printSuccess('Deployment upgraded successfully!');
17
17
  if (response.message) {
18
18
  printInfo(response.message);
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACvD,QAAQ,CACP,SAAS,EACT,gEAAgE,CACjE;SACA,QAAQ,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAClE,MAAM,CACL,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAE,cAAsB,EAAE,EAAE;QACjE,IAAI,CAAC;YACH,SAAS,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YAC7C,SAAS,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;YAEjC,qBAAqB;YACrB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,SAAS,EACT,KAAK,EACL,cAAc,CACf,CAAC;YAEF,YAAY,CAAC,mCAAmC,CAAC,CAAC;YAClD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CACR,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAC5D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;SACjC,QAAQ,CACP,SAAS,EACT,gEAAgE,CACjE;SACA,QAAQ,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAa,EAAE,cAAsB,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC9B,SAAS,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;YAEjC,qBAAqB;YACrB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAEpE,YAAY,CAAC,mCAAmC,CAAC,CAAC;YAClD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
3
  import { createNewCommand } from './commands/new.js';
4
+ import { createJobCommand } from './commands/job.js';
4
5
  import { createListCommand } from './commands/list.js';
5
6
  import { createLogsCommand } from './commands/logs.js';
6
7
  import { createTerminateCommand } from './commands/terminate.js';
@@ -19,6 +20,7 @@ program
19
20
  // Register commands
20
21
  program.addCommand(createLoginCommand());
21
22
  program.addCommand(createNewCommand());
23
+ program.addCommand(createJobCommand());
22
24
  program.addCommand(createListCommand());
23
25
  program.addCommand(createLogsCommand());
24
26
  program.addCommand(createTerminateCommand());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE,0BAA0B;AAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC/C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,+BAA+B;AAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE,0BAA0B;AAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC/C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,+BAA+B;AAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -4,62 +4,43 @@ import { exitWithError } from '../utils/output.js';
4
4
  * Create a new deployment
5
5
  * POST /v1/new
6
6
  */
7
- export async function createDeployment(image, deployConfig, accessToken, deployName = '0') {
7
+ export async function createDeployment(image, cloudConfigs, accessToken, configName, deploymentType, id) {
8
8
  const payload = {
9
9
  image,
10
- deployConfig: { [deployName]: deployConfig },
11
- deployName,
10
+ anycloudConfigs: { [configName]: cloudConfigs },
11
+ configName,
12
12
  accessToken,
13
- appId: generateAppId(),
13
+ id,
14
+ deploymentType,
15
+ };
16
+ const response = await apiRequest('/v1/new', 'POST', payload);
17
+ return {
18
+ id: response.id,
19
+ message: `Deployment created successfully`,
14
20
  };
15
- const url = `${CONDUCTOR_URL}/v1/new`;
16
- try {
17
- const response = await fetch(url, {
18
- method: 'POST',
19
- headers: {
20
- 'Content-Type': 'application/json',
21
- },
22
- body: JSON.stringify(payload),
23
- });
24
- if (!response.ok) {
25
- const errorText = await response.text();
26
- exitWithError(`API request failed: ${errorText || `HTTP ${response.status}`}`);
27
- }
28
- // Server returns plain text clusterId
29
- const clusterId = await response.text();
30
- return {
31
- clusterId,
32
- message: `Deployment created successfully`,
33
- };
34
- }
35
- catch (error) {
36
- if (error instanceof Error && error.message.includes('fetch')) {
37
- exitWithError(`Failed to connect to AnyCloud API at ${CONDUCTOR_URL}\n`);
38
- }
39
- throw error;
40
- }
41
21
  }
42
22
  /**
43
- * Get deployment info for a specific deployment config
44
- * POST /v1/info
23
+ * List deployments for a specific deployment config
24
+ * POST /v1/list
45
25
  */
46
- export async function getDeploymentInfo(deployConfig, accessToken, daemonVersion = '0.1.0', status = true) {
26
+ export async function listDeployments(anycloudConfigs, accessToken, daemonVersion, status = true) {
47
27
  const payload = {
48
- deployConfig,
28
+ anycloudConfigs,
49
29
  accessToken,
50
30
  daemonVersion,
51
31
  status,
52
32
  };
53
- return await apiRequest('/v1/info', 'POST', payload);
33
+ return await apiRequest('/v1/list', 'POST', payload);
54
34
  }
55
35
  /**
56
36
  * Get deployment logs
57
37
  * POST /v1/logs
58
38
  */
59
- export async function getDeploymentLogs(clusterId, accessToken) {
39
+ export async function getDeploymentLogs(id, accessToken, daemonVersion) {
60
40
  const payload = {
61
- clusterId,
41
+ id,
62
42
  accessToken,
43
+ daemonVersion,
63
44
  };
64
45
  return await apiRequest('/v1/logs', 'POST', payload);
65
46
  }
@@ -67,16 +48,22 @@ export async function getDeploymentLogs(clusterId, accessToken) {
67
48
  * Terminate a deployment
68
49
  * POST /v1/terminate
69
50
  */
70
- export async function terminateDeployment(clusterId, conductorToken) {
71
- const payload = { clusterId, conductorToken };
51
+ export async function terminateDeployment(id, cloudConfigs, accessToken, configName, daemonVersion) {
52
+ const payload = {
53
+ id,
54
+ anycloudConfigs: { [configName]: cloudConfigs },
55
+ configName,
56
+ accessToken,
57
+ daemonVersion,
58
+ };
72
59
  return await apiRequest('/v1/terminate', 'POST', payload);
73
60
  }
74
61
  /**
75
62
  * Upgrade a deployment to a new image
76
63
  * POST /v1/upgrade
77
64
  */
78
- export async function upgradeDeployment(clusterId, image, conductorToken) {
79
- const payload = { clusterId, image, conductorToken };
65
+ export async function upgradeDeployment(id, image, conductorToken) {
66
+ const payload = { id, image, conductorToken };
80
67
  return await apiRequest('/v1/upgrade', 'POST', payload);
81
68
  }
82
69
  /**
@@ -108,10 +95,4 @@ async function apiRequest(endpoint, method, body) {
108
95
  throw error;
109
96
  }
110
97
  }
111
- /**
112
- * Generate a unique app ID for new deployments
113
- */
114
- function generateAppId() {
115
- return `app-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
116
- }
117
98
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/services/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/services/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,YAA2B,EAC3B,WAAmB,EACnB,UAAkB,EAClB,cAAsB,EACtB,EAAW;IAEX,MAAM,OAAO,GAAG;QACd,KAAK;QACL,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE;QAC/C,UAAU;QACV,WAAW;QACX,EAAE;QACF,cAAc;KACf,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,SAAS,EACT,MAAM,EACN,OAAO,CACR,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,OAAO,EAAE,iCAAiC;KAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,eAA8C,EAC9C,WAAmB,EACnB,aAAqB,EACrB,SAAkB,IAAI;IAEtB,MAAM,OAAO,GAAG;QACd,eAAe;QACf,WAAW;QACX,aAAa;QACb,MAAM;KACP,CAAC;IACF,OAAO,MAAM,UAAU,CAAe,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,WAAmB,EACnB,aAAqB;IAErB,MAAM,OAAO,GAAG;QACd,EAAE;QACF,WAAW;QACX,aAAa;KACd,CAAC;IACF,OAAO,MAAM,UAAU,CAAe,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAU,EACV,YAA2B,EAC3B,WAAmB,EACnB,UAAkB,EAClB,aAAqB;IAErB,MAAM,OAAO,GAAG;QACd,EAAE;QACF,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE;QAC/C,UAAU;QACV,WAAW;QACX,aAAa;KACd,CAAC;IACF,OAAO,MAAM,UAAU,CAAoB,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,KAAa,EACb,cAAsB;IAEtB,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAC9C,OAAO,MAAM,UAAU,CAAkB,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,MAAc,EACd,IAAa;IAEb,MAAM,GAAG,GAAG,GAAG,aAAa,GAAG,QAAQ,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,oEAAoE;YACpE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,aAAa,CACX,uBAAuB,SAAS,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,IAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,aAAa,CAAC,wCAAwC,aAAa,IAAI,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -95,10 +95,10 @@ function getGCPCredentialsFromEnv() {
95
95
  };
96
96
  }
97
97
  /**
98
- * Get deployment profile name from environment variable
98
+ * Get config name from environment variable
99
99
  */
100
- export function getDeployProfileFromEnv() {
101
- return getEnvOptional('ANYCLOUD_DEPLOY_PROFILE');
100
+ export function getConfigFromEnv() {
101
+ return getEnvOptional('ANYCLOUD_CONFIG');
102
102
  }
103
103
  /**
104
104
  * Get credentials name from environment variable
@@ -1 +1 @@
1
- {"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../../../src/cli/services/non-interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../../../src/cli/services/non-interactive.ts"],"names":[],"mappings":"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"}