anycloud 0.0.3 → 0.0.5

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 (68) hide show
  1. package/dist/cli/commands/config/edit.js +15 -0
  2. package/dist/cli/commands/config/edit.js.map +1 -1
  3. package/dist/cli/commands/config/list.js +53 -18
  4. package/dist/cli/commands/config/list.js.map +1 -1
  5. package/dist/cli/commands/config/new.js +21 -0
  6. package/dist/cli/commands/config/new.js.map +1 -1
  7. package/dist/cli/commands/config/remove.js +10 -0
  8. package/dist/cli/commands/config/remove.js.map +1 -1
  9. package/dist/cli/commands/credentials/delete.js +10 -0
  10. package/dist/cli/commands/credentials/delete.js.map +1 -1
  11. package/dist/cli/commands/credentials/edit.js +16 -0
  12. package/dist/cli/commands/credentials/edit.js.map +1 -1
  13. package/dist/cli/commands/credentials/list.js +35 -13
  14. package/dist/cli/commands/credentials/list.js.map +1 -1
  15. package/dist/cli/commands/credentials/new.js +25 -0
  16. package/dist/cli/commands/credentials/new.js.map +1 -1
  17. package/dist/cli/commands/daemon/index.js +8 -6
  18. package/dist/cli/commands/daemon/index.js.map +1 -1
  19. package/dist/cli/commands/list.js +70 -19
  20. package/dist/cli/commands/list.js.map +1 -1
  21. package/dist/cli/commands/login.js +10 -0
  22. package/dist/cli/commands/login.js.map +1 -1
  23. package/dist/cli/commands/logs.js +95 -10
  24. package/dist/cli/commands/logs.js.map +1 -1
  25. package/dist/cli/commands/run.js +110 -0
  26. package/dist/cli/commands/run.js.map +1 -0
  27. package/dist/cli/commands/serve.js +15 -0
  28. package/dist/cli/commands/serve.js.map +1 -0
  29. package/dist/cli/commands/status.js +113 -0
  30. package/dist/cli/commands/status.js.map +1 -0
  31. package/dist/cli/commands/terminate.js +122 -8
  32. package/dist/cli/commands/terminate.js.map +1 -1
  33. package/dist/cli/commands/upgrade.js +66 -8
  34. package/dist/cli/commands/upgrade.js.map +1 -1
  35. package/dist/cli/index.js +6 -4
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/cli/services/api-client.js +51 -49
  38. package/dist/cli/services/api-client.js.map +1 -1
  39. package/dist/cli/services/config.js +2 -0
  40. package/dist/cli/services/config.js.map +1 -1
  41. package/dist/cli/services/non-interactive.js +3 -3
  42. package/dist/cli/services/non-interactive.js.map +1 -1
  43. package/dist/cli/services/oauth.js +4 -5
  44. package/dist/cli/services/oauth.js.map +1 -1
  45. package/dist/cli/utils/env-parser.js +27 -0
  46. package/dist/cli/utils/env-parser.js.map +1 -0
  47. package/dist/cli/utils/output.js +42 -0
  48. package/dist/cli/utils/output.js.map +1 -1
  49. package/dist/daemon/cluster.js +122 -17
  50. package/dist/daemon/cluster.js.map +1 -1
  51. package/dist/daemon/docker.js +62 -21
  52. package/dist/daemon/docker.js.map +1 -1
  53. package/dist/daemon/preemption.js +127 -0
  54. package/dist/daemon/preemption.js.map +1 -0
  55. package/dist/daemon/server.js +128 -16
  56. package/dist/daemon/server.js.map +1 -1
  57. package/dist/shared/assets/clouds/azure/regions-per-type.json +21584 -1117
  58. package/dist/shared/id-generator.js +20 -0
  59. package/dist/shared/id-generator.js.map +1 -0
  60. package/dist/shared/types.js +5 -1
  61. package/dist/shared/types.js.map +1 -1
  62. package/package.json +16 -8
  63. package/dist/cli/commands/daemon/start.js +0 -32
  64. package/dist/cli/commands/daemon/start.js.map +0 -1
  65. package/dist/cli/commands/job.js +0 -71
  66. package/dist/cli/commands/job.js.map +0 -1
  67. package/dist/cli/commands/new.js +0 -15
  68. package/dist/cli/commands/new.js.map +0 -1
@@ -1,17 +1,131 @@
1
1
  import { Command } from 'commander';
2
- import { terminateDeployment } from '../services/api-client.js';
3
- import { printSuccess, printInfo, printError } from '../utils/output.js';
2
+ import prompts from 'prompts';
3
+ import { terminateDeployment, listDeployments, } from '../services/api-client.js';
4
+ import { getGitHubToken } from '../services/auth.js';
5
+ import { resolveDeploymentProfile, loadDeploymentProfiles, resolveAllDeploymentProfiles, } from '../services/config.js';
6
+ import { printInfo, printError, createSpinner } from '../utils/output.js';
7
+ import { isNonInteractive, getConfigFromEnv, getEnvOptional, } 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 (optional - will prompt to select if not provided)')
13
+ .option('--config <name>', 'Config name from anycloud.json')
14
+ .addHelpText('after', `
15
+ Examples:
16
+ $ anycloud terminate abc123-def456-ghi789
17
+ $ anycloud terminate abc123-def456-ghi789 --config my-app
18
+ $ anycloud terminate
19
+
20
+ Output:
21
+ Terminating: abc123-def456-ghi789
22
+ Using config: my-app
23
+ ✓ Deployment terminated successfully!
24
+ `)
25
+ .action(async (id, options) => {
10
26
  try {
11
- printInfo(`Terminating cluster: ${clusterId}`);
27
+ let deploymentId = id;
28
+ let configName = options?.config;
29
+ // If no ID provided, fetch and prompt for selection
30
+ if (!deploymentId) {
31
+ // Check for environment variable in non-interactive mode
32
+ if (isNonInteractive()) {
33
+ deploymentId = getEnvOptional('ANYCLOUD_DEPLOYMENT_ID');
34
+ if (!deploymentId) {
35
+ printError('Non-interactive mode: Deployment ID required.\n' +
36
+ ' Provide ID as argument or set ANYCLOUD_DEPLOYMENT_ID environment variable.');
37
+ process.exit(1);
38
+ }
39
+ }
40
+ else {
41
+ // Get GitHub token
42
+ const accessToken = await getGitHubToken();
43
+ // Get all deployment configs with resolved credentials
44
+ const anycloudConfigs = await resolveAllDeploymentProfiles();
45
+ if (Object.keys(anycloudConfigs).length === 0) {
46
+ printError('No deployment profiles found in anycloud.json');
47
+ printInfo('Please create anycloud.json with deployment profiles.');
48
+ process.exit(1);
49
+ }
50
+ // List all deployments
51
+ const loadingSpinner = createSpinner('Loading deployments...').start();
52
+ const deployments = await listDeployments(anycloudConfigs, accessToken, packageJson.version);
53
+ loadingSpinner.stop();
54
+ if (deployments.length === 0) {
55
+ printError('No deployments found.');
56
+ printInfo('Create a deployment first using: anycloud run --config <config-name>');
57
+ process.exit(1);
58
+ }
59
+ // Prompt for deployment selection
60
+ const selection = await prompts({
61
+ type: 'select',
62
+ name: 'deployment',
63
+ message: 'Select deployment to terminate:',
64
+ choices: deployments.map((deployment) => {
65
+ const hasSpot = deployment.cloudConfigs.some((config) => config.spot === true);
66
+ const spotText = hasSpot ? ' | Spot' : '';
67
+ return {
68
+ title: deployment.id,
69
+ value: deployment.id,
70
+ description: `${deployment.configName} | ${deployment.size} VMs${spotText}`,
71
+ };
72
+ }),
73
+ });
74
+ if (!selection.deployment) {
75
+ process.exit(0); // User cancelled
76
+ }
77
+ deploymentId = selection.deployment;
78
+ // Auto-detect config from the selected deployment if not provided
79
+ const selectedDeployment = deployments.find((d) => d.id === deploymentId);
80
+ if (selectedDeployment && !configName) {
81
+ configName = selectedDeployment.configName;
82
+ }
83
+ }
84
+ }
85
+ printInfo(`Terminating: ${deploymentId}`);
86
+ // Determine config name if not already set
87
+ // Check for environment variable in non-interactive mode
88
+ if (!configName && isNonInteractive()) {
89
+ configName = getConfigFromEnv();
90
+ if (!configName) {
91
+ printError('Non-interactive mode: Config name required.\n' +
92
+ ' Provide --config flag or set ANYCLOUD_CONFIG environment variable.');
93
+ process.exit(1);
94
+ }
95
+ }
96
+ // If --config not provided and not in non-interactive mode, prompt for config selection
97
+ if (!configName) {
98
+ const profiles = await loadDeploymentProfiles();
99
+ const profileNames = Object.keys(profiles);
100
+ if (profileNames.length === 0) {
101
+ printError('No deployment profiles found in anycloud.json');
102
+ printInfo('Please create anycloud.json with deployment profiles.');
103
+ process.exit(1);
104
+ }
105
+ const selection = await prompts({
106
+ type: 'select',
107
+ name: 'profile',
108
+ message: 'Select config:',
109
+ choices: profileNames.map((name) => ({
110
+ title: name,
111
+ value: name,
112
+ description: `${profiles[name].length} config(s)`,
113
+ })),
114
+ });
115
+ if (!selection.profile) {
116
+ process.exit(0); // User cancelled
117
+ }
118
+ configName = selection.profile;
119
+ }
120
+ printInfo(`Using config: ${configName}`);
121
+ // Get GitHub token
122
+ const accessToken = await getGitHubToken();
123
+ // Resolve deployment profile and credentials
124
+ const cloudConfigs = await resolveDeploymentProfile(configName);
12
125
  // Terminate deployment
13
- const response = await terminateDeployment(clusterId, conductorToken);
14
- printSuccess('Deployment terminated successfully!');
126
+ const spinner = createSpinner('Terminating deployment...').start();
127
+ const response = await terminateDeployment(deploymentId, cloudConfigs, accessToken, configName, packageJson.version);
128
+ spinner.succeed('Deployment terminated successfully!');
15
129
  if (response.message) {
16
130
  printInfo(response.message);
17
131
  }
@@ -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":"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"}
@@ -1,19 +1,77 @@
1
1
  import { Command } from 'commander';
2
+ import prompts from 'prompts';
2
3
  import { upgradeDeployment } from '../services/api-client.js';
3
- import { printSuccess, printInfo, printError } from '../utils/output.js';
4
+ import { printInfo, printError, createSpinner } from '../utils/output.js';
5
+ import { getGitHubToken } from '../services/auth.js';
6
+ import { resolveDeploymentProfile, loadDeploymentProfiles, } from '../services/config.js';
7
+ import { isNonInteractive, getConfigFromEnv, } from '../services/non-interactive.js';
8
+ import { DeploymentType } from '../../shared/types.js';
9
+ import packageJson from '../../../package.json' with { type: 'json' };
4
10
  export function createUpgradeCommand() {
5
11
  return new Command('upgrade')
6
- .description('Upgrade a deployment to a new container image')
7
- .argument('<clusterId>', 'Cluster ID of the deployment')
12
+ .description('Upgrade a server deployment to a new container image')
13
+ .argument('<id>', 'Deployment ID')
8
14
  .argument('<image>', 'New container image (e.g., nginx:latest, ghcr.io/user/repo:v2)')
9
- .argument('<conductorToken>', 'Conductor token for the deployment')
10
- .action(async (clusterId, image, conductorToken) => {
15
+ .option('--config <name>', 'Config name from anycloud.json')
16
+ .addHelpText('after', `
17
+ Examples:
18
+ $ anycloud upgrade abc123-def456-ghi789 nginx:latest
19
+ $ anycloud upgrade abc123-def456-ghi789 myapp:v2.0 --config prod
20
+
21
+ Output:
22
+ Upgrading: abc123-def456-ghi789
23
+ New image: nginx:latest
24
+ Using config: prod
25
+ ✓ Deployment upgraded successfully!
26
+ `)
27
+ .action(async (id, image, options) => {
11
28
  try {
12
- printInfo(`Upgrading cluster: ${clusterId}`);
29
+ printInfo(`Upgrading: ${id}`);
13
30
  printInfo(`New image: ${image}`);
31
+ // Determine config name
32
+ let configName = options.config;
33
+ // Check for environment variable in non-interactive mode
34
+ if (!configName && isNonInteractive()) {
35
+ configName = getConfigFromEnv();
36
+ if (!configName) {
37
+ printError('Non-interactive mode: Config name required.\n' +
38
+ ' Provide --config flag or set ANYCLOUD_CONFIG environment variable.');
39
+ process.exit(1);
40
+ }
41
+ }
42
+ // If --config not provided and not in non-interactive mode, prompt for config selection
43
+ if (!configName) {
44
+ const profiles = await loadDeploymentProfiles();
45
+ const profileNames = Object.keys(profiles);
46
+ if (profileNames.length === 0) {
47
+ printError('No deployment profiles found in anycloud.json');
48
+ printInfo('Please create anycloud.json with deployment profiles.');
49
+ process.exit(1);
50
+ }
51
+ const selection = await prompts({
52
+ type: 'select',
53
+ name: 'profile',
54
+ message: 'Select config:',
55
+ choices: profileNames.map((name) => ({
56
+ title: name,
57
+ value: name,
58
+ description: `${profiles[name].length} config(s)`,
59
+ })),
60
+ });
61
+ if (!selection.profile) {
62
+ process.exit(0); // User cancelled
63
+ }
64
+ configName = selection.profile;
65
+ }
66
+ printInfo(`Using config: ${configName}`);
67
+ // Get GitHub token
68
+ const accessToken = await getGitHubToken();
69
+ // Resolve deployment profile and credentials
70
+ const cloudConfigs = await resolveDeploymentProfile(configName);
14
71
  // Upgrade deployment
15
- const response = await upgradeDeployment(clusterId, image, conductorToken);
16
- printSuccess('Deployment upgraded successfully!');
72
+ const spinner = createSpinner('Upgrading deployment...').start();
73
+ const response = await upgradeDeployment(id, image, cloudConfigs, configName, accessToken, DeploymentType.Server, packageJson.version);
74
+ spinner.succeed('Deployment upgraded successfully!');
17
75
  if (response.message) {
18
76
  printInfo(response.message);
19
77
  }
@@ -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":"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"}
package/dist/cli/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import { createNewCommand } from './commands/new.js';
4
- import { createJobCommand } from './commands/job.js';
3
+ import { createServeCommand } from './commands/serve.js';
4
+ import { createRunCommand } from './commands/run.js';
5
5
  import { createListCommand } from './commands/list.js';
6
+ import { createStatusCommand } from './commands/status.js';
6
7
  import { createLogsCommand } from './commands/logs.js';
7
8
  import { createTerminateCommand } from './commands/terminate.js';
8
9
  import { createUpgradeCommand } from './commands/upgrade.js';
@@ -19,9 +20,10 @@ program
19
20
  .version(packageJson.version);
20
21
  // Register commands
21
22
  program.addCommand(createLoginCommand());
22
- program.addCommand(createNewCommand());
23
- program.addCommand(createJobCommand());
23
+ program.addCommand(createServeCommand());
24
+ program.addCommand(createRunCommand());
24
25
  program.addCommand(createListCommand());
26
+ program.addCommand(createStatusCommand());
25
27
  program.addCommand(createLogsCommand());
26
28
  program.addCommand(createTerminateCommand());
27
29
  program.addCommand(createUpgradeCommand());
@@ -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,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"}
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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,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,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,mBAAmB,EAAE,CAAC,CAAC;AAC1C,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,63 +4,57 @@ 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, deploymentType) {
7
+ export async function createDeployment(image, cloudConfigs, accessToken, configName, deploymentType, daemonVersion, id, env) {
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
14
  deploymentType,
15
+ daemonVersion,
16
+ env,
15
17
  };
16
- const url = `${CONDUCTOR_URL}/v1/new`;
17
- try {
18
- const response = await fetch(url, {
19
- method: 'POST',
20
- headers: {
21
- 'Content-Type': 'application/json',
22
- },
23
- body: JSON.stringify(payload),
24
- });
25
- if (!response.ok) {
26
- const errorText = await response.text();
27
- exitWithError(`API request failed: ${errorText || `HTTP ${response.status}`}`);
28
- }
29
- // Server returns plain text clusterId
30
- const clusterId = await response.text();
31
- return {
32
- clusterId,
33
- message: `Deployment created successfully`,
34
- };
35
- }
36
- catch (error) {
37
- if (error instanceof Error && error.message.includes('fetch')) {
38
- exitWithError(`Failed to connect to AnyCloud API at ${CONDUCTOR_URL}\n`);
39
- }
40
- throw error;
41
- }
18
+ const response = await apiRequest('/v1/new', 'POST', payload);
19
+ return {
20
+ id: response.id,
21
+ message: `Deployment created successfully`,
22
+ };
23
+ }
24
+ /**
25
+ * List deployments for a specific deployment config
26
+ * POST /v1/list
27
+ */
28
+ export async function listDeployments(anycloudConfigs, accessToken, daemonVersion) {
29
+ const payload = {
30
+ anycloudConfigs,
31
+ accessToken,
32
+ daemonVersion,
33
+ };
34
+ return await apiRequest('/v1/list', 'POST', payload);
42
35
  }
43
36
  /**
44
- * Get deployment info for a specific deployment config
45
- * POST /v1/info
37
+ * Get deployment status logs
38
+ * POST /v1/status
46
39
  */
47
- export async function getDeploymentInfo(deployConfig, accessToken, daemonVersion = '0.1.0', status = true) {
40
+ export async function getDeploymentStatus(id, accessToken, daemonVersion) {
48
41
  const payload = {
49
- deployConfig,
42
+ id,
50
43
  accessToken,
51
44
  daemonVersion,
52
- status,
53
45
  };
54
- return await apiRequest('/v1/info', 'POST', payload);
46
+ return await apiRequest('/v1/status', 'POST', payload);
55
47
  }
56
48
  /**
57
- * Get deployment logs
49
+ * Get Docker container logs
58
50
  * POST /v1/logs
59
51
  */
60
- export async function getDeploymentLogs(clusterId, accessToken) {
52
+ export async function getDockerLogs(id, accessToken, daemonVersion, tail) {
61
53
  const payload = {
62
- clusterId,
54
+ id,
63
55
  accessToken,
56
+ daemonVersion,
57
+ tail,
64
58
  };
65
59
  return await apiRequest('/v1/logs', 'POST', payload);
66
60
  }
@@ -68,16 +62,30 @@ export async function getDeploymentLogs(clusterId, accessToken) {
68
62
  * Terminate a deployment
69
63
  * POST /v1/terminate
70
64
  */
71
- export async function terminateDeployment(clusterId, conductorToken) {
72
- const payload = { clusterId, conductorToken };
65
+ export async function terminateDeployment(id, cloudConfigs, accessToken, configName, daemonVersion) {
66
+ const payload = {
67
+ id,
68
+ anycloudConfigs: { [configName]: cloudConfigs },
69
+ configName,
70
+ accessToken,
71
+ daemonVersion,
72
+ };
73
73
  return await apiRequest('/v1/terminate', 'POST', payload);
74
74
  }
75
75
  /**
76
76
  * Upgrade a deployment to a new image
77
77
  * POST /v1/upgrade
78
78
  */
79
- export async function upgradeDeployment(clusterId, image, conductorToken) {
80
- const payload = { clusterId, image, conductorToken };
79
+ export async function upgradeDeployment(id, image, cloudConfigs, configName, accessToken, deploymentType, daemonVersion) {
80
+ const payload = {
81
+ id,
82
+ image,
83
+ anycloudConfigs: { [configName]: cloudConfigs },
84
+ configName,
85
+ accessToken,
86
+ deploymentType,
87
+ daemonVersion,
88
+ };
81
89
  return await apiRequest('/v1/upgrade', 'POST', payload);
82
90
  }
83
91
  /**
@@ -109,10 +117,4 @@ async function apiRequest(endpoint, method, body) {
109
117
  throw error;
110
118
  }
111
119
  }
112
- /**
113
- * Generate a unique app ID for new deployments
114
- */
115
- function generateAppId() {
116
- return `app-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
117
- }
118
120
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
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;AAgCnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,YAA2B,EAC3B,WAAmB,EACnB,UAAkB,EAClB,cAAsB;IAEtB,MAAM,OAAO,GAAG;QACd,KAAK;QACL,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE;QAC5C,UAAU;QACV,WAAW;QACX,KAAK,EAAE,aAAa,EAAE;QACtB,cAAc;KACf,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,aAAa,SAAS,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,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,sCAAsC;QACtC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAExC,OAAO;YACL,SAAS;YACT,OAAO,EAAE,iCAAiC;SAC3C,CAAC;IACJ,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;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAA2C,EAC3C,WAAmB,EACnB,gBAAwB,OAAO,EAC/B,SAAkB,IAAI;IAEtB,MAAM,OAAO,GAAG;QACd,YAAY;QACZ,WAAW;QACX,aAAa;QACb,MAAM;KACP,CAAC;IACF,OAAO,MAAM,UAAU,CAAmB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,WAAmB;IAEnB,MAAM,OAAO,GAAG;QACd,SAAS;QACT,WAAW;KACZ,CAAC;IACF,OAAO,MAAM,UAAU,CAAe,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,cAAsB;IAEtB,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAC9C,OAAO,MAAM,UAAU,CAAoB,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,KAAa,EACb,cAAsB;IAEtB,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACrD,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;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/services/api-client.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,8 @@ function buildCloudConfig(profile, credentials) {
80
80
  config.minReplicas = profile.minReplicas;
81
81
  if (profile.maxReplicas)
82
82
  config.maxReplicas = profile.maxReplicas;
83
+ if (profile.spot !== undefined)
84
+ config.spot = profile.spot;
83
85
  return config;
84
86
  }
85
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/services/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/services/config.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -7,7 +7,7 @@ import { printSuccess, printInfo, printError, printHighlight, createSpinner, } f
7
7
  const DEVICE_CODE_URL = 'https://github.com/login/device/code';
8
8
  const TOKEN_POLL_URL = 'https://github.com/login/oauth/access_token';
9
9
  const CLIENT_ID = 'Iv1.91e9d535ca6ade31';
10
- const SCOPE = 'user:email';
10
+ const SCOPE = 'user:email read:packages';
11
11
  /**
12
12
  * Initiate GitHub OAuth Device Flow
13
13
  * Returns an access token after user authorization
@@ -22,6 +22,8 @@ export async function authenticateWithGitHub() {
22
22
  console.log('');
23
23
  printHighlight(`Your one-time code: ${deviceCodeData.user_code}`);
24
24
  console.log('');
25
+ printInfo(`Verification URL: ${deviceCodeData.verification_uri}`);
26
+ console.log('');
25
27
  // Step 3: Prompt to open browser
26
28
  const shouldOpenBrowser = await prompts({
27
29
  type: 'confirm',
@@ -37,12 +39,9 @@ export async function authenticateWithGitHub() {
37
39
  printSuccess('Browser opened');
38
40
  }
39
41
  catch (error) {
40
- printInfo(`Please open this URL in your browser: ${deviceCodeData.verification_uri}`);
42
+ printInfo('If the browser did not open, use the URL above');
41
43
  }
42
44
  }
43
- else {
44
- printInfo(`Please open this URL in your browser: ${deviceCodeData.verification_uri}`);
45
- }
46
45
  console.log('');
47
46
  printInfo('Waiting for authorization...');
48
47
  console.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/cli/services/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/cli/services/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { readFileSync, existsSync } from 'fs';
2
+ import { resolve } from 'path';
3
+ import { parse as parseDotenv } from 'dotenv';
4
+ /**
5
+ * Parse environment variables from a .env file
6
+ * @param filePath Path to the .env file (relative or absolute)
7
+ * @returns Record of environment variables
8
+ * @throws Error if file doesn't exist or can't be parsed
9
+ */
10
+ export function parseEnvFile(filePath) {
11
+ const absolutePath = resolve(process.cwd(), filePath);
12
+ if (!existsSync(absolutePath)) {
13
+ throw new Error(`Environment file not found: ${filePath}`);
14
+ }
15
+ try {
16
+ const fileContent = readFileSync(absolutePath, 'utf-8');
17
+ const parsed = parseDotenv(Buffer.from(fileContent));
18
+ if (parsed && typeof parsed === 'object') {
19
+ return parsed;
20
+ }
21
+ return {};
22
+ }
23
+ catch (error) {
24
+ throw new Error(`Failed to parse environment file: ${error.message}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=env-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-parser.js","sourceRoot":"","sources":["../../../src/cli/utils/env-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAErD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,MAAgC,CAAC;QAC1C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAChE,CAAC;IACJ,CAAC;AACH,CAAC"}