@dbos-inc/dbos-cloud 0.10.3-preview → 0.10.4-preview.ga76ab0b78c

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 (43) hide show
  1. package/applications/delete-app.ts +7 -6
  2. package/applications/deploy-app-code.ts +7 -8
  3. package/applications/get-app-info.ts +6 -6
  4. package/applications/get-app-logs.ts +6 -6
  5. package/applications/list-apps.ts +2 -2
  6. package/applications/register-app.ts +7 -6
  7. package/applications/update-app.ts +7 -6
  8. package/cli.ts +30 -48
  9. package/cloudutils.ts +0 -17
  10. package/dist/packages/dbos-cloud/applications/delete-app.d.ts.map +1 -1
  11. package/dist/packages/dbos-cloud/applications/delete-app.js +6 -5
  12. package/dist/packages/dbos-cloud/applications/delete-app.js.map +1 -1
  13. package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +1 -1
  14. package/dist/packages/dbos-cloud/applications/deploy-app-code.js +6 -7
  15. package/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +1 -1
  16. package/dist/packages/dbos-cloud/applications/get-app-info.d.ts.map +1 -1
  17. package/dist/packages/dbos-cloud/applications/get-app-info.js +5 -5
  18. package/dist/packages/dbos-cloud/applications/get-app-info.js.map +1 -1
  19. package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +1 -1
  20. package/dist/packages/dbos-cloud/applications/get-app-logs.js +5 -5
  21. package/dist/packages/dbos-cloud/applications/get-app-logs.js.map +1 -1
  22. package/dist/packages/dbos-cloud/applications/list-apps.js +2 -2
  23. package/dist/packages/dbos-cloud/applications/list-apps.js.map +1 -1
  24. package/dist/packages/dbos-cloud/applications/register-app.d.ts.map +1 -1
  25. package/dist/packages/dbos-cloud/applications/register-app.js +6 -5
  26. package/dist/packages/dbos-cloud/applications/register-app.js.map +1 -1
  27. package/dist/packages/dbos-cloud/applications/update-app.d.ts.map +1 -1
  28. package/dist/packages/dbos-cloud/applications/update-app.js +6 -5
  29. package/dist/packages/dbos-cloud/applications/update-app.js.map +1 -1
  30. package/dist/packages/dbos-cloud/cli.js +28 -45
  31. package/dist/packages/dbos-cloud/cli.js.map +1 -1
  32. package/dist/packages/dbos-cloud/cloudutils.d.ts +0 -2
  33. package/dist/packages/dbos-cloud/cloudutils.d.ts.map +1 -1
  34. package/dist/packages/dbos-cloud/cloudutils.js +1 -18
  35. package/dist/packages/dbos-cloud/cloudutils.js.map +1 -1
  36. package/dist/packages/dbos-cloud/register.d.ts.map +1 -1
  37. package/dist/packages/dbos-cloud/register.js +2 -8
  38. package/dist/packages/dbos-cloud/register.js.map +1 -1
  39. package/dist/packages/dbos-cloud/userdb.js +4 -4
  40. package/dist/packages/dbos-cloud/userdb.js.map +1 -1
  41. package/package.json +1 -1
  42. package/register.ts +2 -7
  43. package/userdb.ts +4 -4
@@ -1,19 +1,20 @@
1
1
  import axios, { AxiosError } from "axios";
2
- import { isCloudAPIErrorResponse, handleAPIErrors, getCloudCredentials, getLogger, retrieveApplicationName } from "../cloudutils";
2
+ import { isCloudAPIErrorResponse, handleAPIErrors, getCloudCredentials, getLogger } from "../cloudutils";
3
+ import path from "node:path";
3
4
 
4
5
  export async function deleteApp(host: string): Promise<number> {
5
6
  const logger = getLogger()
6
7
  const userCredentials = getCloudCredentials();
7
8
  const bearerToken = "Bearer " + userCredentials.token;
8
9
 
9
- const appName = retrieveApplicationName(logger);
10
- if (appName === null) {
11
- return 1;
12
- }
10
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
11
+ const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
12
+ const appName = packageJson.name;
13
+ logger.info(`Loaded application name from package.json: ${appName}`)
13
14
  logger.info(`Deleting application: ${appName}`)
14
15
 
15
16
  try {
16
- await axios.delete(`https://${host}/${userCredentials.userName}/application/${appName}`, {
17
+ await axios.delete(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
17
18
  headers: {
18
19
  "Content-Type": "application/json",
19
20
  Authorization: bearerToken,
@@ -1,7 +1,7 @@
1
1
  import axios, { AxiosError } from "axios";
2
2
  import { execSync } from "child_process";
3
3
  import { writeFileSync, existsSync } from 'fs';
4
- import { handleAPIErrors, createDirectory, dbosConfigFilePath, getCloudCredentials, getLogger, readFileSync, runCommand, sleep, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils";
4
+ import { handleAPIErrors, createDirectory, dbosConfigFilePath, getCloudCredentials, getLogger, readFileSync, runCommand, sleep, isCloudAPIErrorResponse } from "../cloudutils";
5
5
  import path from "path";
6
6
  import { Application } from "./types";
7
7
 
@@ -17,10 +17,9 @@ export async function deployAppCode(host: string, docker: boolean): Promise<numb
17
17
  const userCredentials = getCloudCredentials();
18
18
  const bearerToken = "Bearer " + userCredentials.token;
19
19
 
20
- const appName = retrieveApplicationName(logger);
21
- if (appName === null) {
22
- return 1;
23
- }
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
22
+ const appName = packageJson.name;
24
23
  logger.info(`Loaded application name from package.json: ${appName}`)
25
24
 
26
25
  createDirectory(deployDirectoryName);
@@ -53,7 +52,7 @@ export async function deployAppCode(host: string, docker: boolean): Promise<numb
53
52
  // Submit the deploy request
54
53
  logger.info(`Submitting deploy request for ${appName}`)
55
54
  const response = await axios.post(
56
- `https://${host}/${userCredentials.userName}/application/${appName}`,
55
+ `https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`,
57
56
  {
58
57
  application_archive: zipData,
59
58
  },
@@ -85,7 +84,7 @@ export async function deployAppCode(host: string, docker: boolean): Promise<numb
85
84
 
86
85
  // Retrieve the application status, check if it is "AVAILABLE"
87
86
  const list = await axios.get(
88
- `https://${host}/${userCredentials.userName}/application`,
87
+ `https://${host}/v1alpha1/${userCredentials.userName}/applications`,
89
88
  {
90
89
  headers: {
91
90
  Authorization: bearerToken,
@@ -102,7 +101,7 @@ export async function deployAppCode(host: string, docker: boolean): Promise<numb
102
101
  }
103
102
  await sleep(5000); // Leave time for route cache updates
104
103
  logger.info(`Application ${appName} successfuly deployed`)
105
- logger.info(`Access your application at https://${host}/${userCredentials.userName}/application/${appName}`)
104
+ logger.info(`Access your application at https://${host}/apps/${userCredentials.userName}/${appName}`)
106
105
  return 0;
107
106
  } catch (e) {
108
107
  const errorLabel = `Failed to deploy application ${appName}`;
@@ -1,5 +1,6 @@
1
1
  import axios , { AxiosError } from "axios";
2
- import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils";
2
+ import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse } from "../cloudutils";
3
+ import path from "node:path";
3
4
  import { Application } from "./types";
4
5
 
5
6
  export async function getAppInfo(host: string, json: boolean): Promise<number> {
@@ -7,16 +8,15 @@ export async function getAppInfo(host: string, json: boolean): Promise<number> {
7
8
  const userCredentials = getCloudCredentials();
8
9
  const bearerToken = "Bearer " + userCredentials.token;
9
10
 
10
- const appName = retrieveApplicationName(logger);
11
- if (appName === null) {
12
- return 1;
13
- }
11
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
12
+ const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
13
+ const appName = packageJson.name;
14
14
  if (!json) {
15
15
  logger.info(`Retrieving info for application: ${appName}`)
16
16
  }
17
17
 
18
18
  try {
19
- const res = await axios.get(`https://${host}/${userCredentials.userName}/application/${appName}`, {
19
+ const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
20
20
  headers: {
21
21
  "Content-Type": "application/json",
22
22
  Authorization: bearerToken,
@@ -1,5 +1,6 @@
1
1
  import axios , { AxiosError } from "axios";
2
- import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils";
2
+ import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse } from "../cloudutils";
3
+ import path from "node:path";
3
4
 
4
5
  export async function getAppLogs(host: string, last: number): Promise<number> {
5
6
  if (last != undefined && (isNaN(last) || last <= 0)) {
@@ -12,14 +13,13 @@ export async function getAppLogs(host: string, last: number): Promise<number> {
12
13
  const userCredentials = getCloudCredentials();
13
14
  const bearerToken = "Bearer " + userCredentials.token;
14
15
 
15
- const appName = retrieveApplicationName(logger);
16
- if (appName === null) {
17
- return 1;
18
- }
16
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
17
+ const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
18
+ const appName = packageJson.name;
19
19
  logger.info(`Retrieving logs for application: ${appName}`)
20
20
 
21
21
  try {
22
- const res = await axios.get(`https://${host}/${userCredentials.userName}/logs/application/${appName}?last=${last}`, {
22
+ const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/logs/applications/${appName}?last=${last}`, {
23
23
  headers: {
24
24
  "Content-Type": "application/json",
25
25
  Authorization: bearerToken,
@@ -9,7 +9,7 @@ export async function listApps(host: string, json: boolean): Promise<number> {
9
9
 
10
10
  try {
11
11
  const list = await axios.get(
12
- `https://${host}/${userCredentials.userName}/application`,
12
+ `https://${host}/v1alpha1/${userCredentials.userName}/applications`,
13
13
  {
14
14
  headers: {
15
15
  Authorization: bearerToken,
@@ -28,7 +28,7 @@ export async function listApps(host: string, json: boolean): Promise<number> {
28
28
  applications.forEach(app => {
29
29
  console.log(`Application Name: ${app.Name}`);
30
30
  console.log(`ID: ${app.ID}`);
31
- console.log(`Postgres Instance Name: ${app.PostgresInstanceName}`);
31
+ console.log(`Postgres Instance Name: ${app.ApplicationDatabaseName}`);
32
32
  console.log(`Application Database Name: ${app.ApplicationDatabaseName}`);
33
33
  console.log(`Status: ${app.Status}`);
34
34
  console.log(`Version: ${app.Version}`);
@@ -1,20 +1,21 @@
1
1
  import axios, { AxiosError } from "axios";
2
- import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils";
2
+ import { handleAPIErrors, getCloudCredentials, getLogger, isCloudAPIErrorResponse } from "../cloudutils";
3
+ import path from "node:path";
3
4
 
4
5
  export async function registerApp(dbname: string, host: string): Promise<number> {
5
6
  const logger = getLogger();
6
7
  const userCredentials = getCloudCredentials();
7
8
  const bearerToken = "Bearer " + userCredentials.token;
8
9
 
9
- const appName = retrieveApplicationName(logger);
10
- if (appName === null) {
11
- return 1;
12
- }
10
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
11
+ const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
12
+ const appName = packageJson.name;
13
+ logger.info(`Loaded application name from package.json: ${appName}`)
13
14
  logger.info(`Registering application: ${appName}`)
14
15
 
15
16
  try {
16
17
  const register = await axios.put(
17
- `https://${host}/${userCredentials.userName}/application`,
18
+ `https://${host}/v1alpha1/${userCredentials.userName}/applications`,
18
19
  {
19
20
  name: appName,
20
21
  database: dbname,
@@ -1,22 +1,23 @@
1
1
  import axios, { AxiosError } from "axios";
2
- import { getCloudCredentials, getLogger, handleAPIErrors, isCloudAPIErrorResponse, retrieveApplicationName } from "../cloudutils";
2
+ import { getCloudCredentials, getLogger, handleAPIErrors, isCloudAPIErrorResponse } from "../cloudutils";
3
3
  import { Application } from "./types";
4
+ import path from "node:path";
4
5
 
5
6
  export async function updateApp(host: string): Promise<number> {
6
7
  const logger = getLogger();
7
8
  const userCredentials = getCloudCredentials();
8
9
  const bearerToken = "Bearer " + userCredentials.token;
9
10
 
10
- const appName = retrieveApplicationName(logger);
11
- if (appName === null) {
12
- return 1;
13
- }
11
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
12
+ const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
13
+ const appName = packageJson.name;
14
+ logger.info(`Loaded application name from package.json: ${appName}`)
14
15
  logger.info(`Updating application: ${appName}`)
15
16
 
16
17
  try {
17
18
  logger.info(`Updating application ${appName}`);
18
19
  const update = await axios.patch(
19
- `https://${host}/${userCredentials.userName}/application/${appName}`,
20
+ `https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`,
20
21
  {
21
22
  name: appName,
22
23
  },
package/cli.ts CHANGED
@@ -12,7 +12,7 @@ import { Command } from 'commander';
12
12
  import { login } from "./login";
13
13
  import { registerUser } from "./register";
14
14
  import { createUserDb, getUserDb, deleteUserDb, listUserDB } from "./userdb";
15
- import { DBOSCloudHost, credentialsExist, deleteCredentials } from "./cloudutils";
15
+ import { DBOSCloudHost } from "./cloudutils";
16
16
  import { getAppInfo } from "./applications/get-app-info";
17
17
 
18
18
  const program = new Command();
@@ -37,38 +37,25 @@ program
37
37
 
38
38
  program
39
39
  .command('register')
40
- .description('Register a user with DBOS cloud')
40
+ .description('Register a user and log in to DBOS cloud')
41
41
  .requiredOption('-u, --username <string>', 'Username')
42
42
  .action(async (options: { username: string}) => {
43
43
  const exitCode = await registerUser(options.username, DBOSCloudHost);
44
44
  process.exit(exitCode);
45
45
  });
46
46
 
47
- program
48
- .command('logout')
49
- .description('Log out of DBOS cloud')
50
- .action(() => {
51
- if (credentialsExist()) {
52
- deleteCredentials();
53
- }
54
- process.exit(0);
55
- });
56
-
57
47
  /////////////////////////////
58
48
  /* APPLICATIONS MANAGEMENT */
59
49
  /////////////////////////////
60
50
 
61
51
  const applicationCommands = program
62
- .command('application')
63
- .alias('applications')
64
- .alias('app')
65
- .alias('apps')
52
+ .command('applications')
66
53
  .description('Manage your DBOS applications')
67
54
 
68
55
  applicationCommands
69
56
  .command('register')
70
- .description('Register this application')
71
- .requiredOption('-d, --database <string>', 'Specify a Postgres database instance for this application')
57
+ .description('Register a new application')
58
+ .requiredOption('-d, --database <string>', 'Specify the app database name')
72
59
  .action(async (options: { database: string }) => {
73
60
  const exitCode = await registerApp(options.database, DBOSCloudHost);
74
61
  process.exit(exitCode);
@@ -76,7 +63,7 @@ applicationCommands
76
63
 
77
64
  applicationCommands
78
65
  .command('update')
79
- .description('Update this application')
66
+ .description('Update an application')
80
67
  .action(async () => {
81
68
  const exitCode = await updateApp(DBOSCloudHost);
82
69
  process.exit(exitCode);
@@ -84,7 +71,7 @@ applicationCommands
84
71
 
85
72
  applicationCommands
86
73
  .command('deploy')
87
- .description('Deploy this application to the cloud')
74
+ .description('Deploy an application code to the cloud')
88
75
  .option('--no-docker', 'Build the code locally without using Docker')
89
76
  .action(async (options: { docker: boolean }) => {
90
77
  const exitCode = await deployAppCode(DBOSCloudHost, options.docker);
@@ -93,7 +80,7 @@ applicationCommands
93
80
 
94
81
  applicationCommands
95
82
  .command('delete')
96
- .description('Delete this application')
83
+ .description('Delete a previously deployed application')
97
84
  .action(async () => {
98
85
  const exitCode = await deleteApp(DBOSCloudHost);
99
86
  process.exit(exitCode);
@@ -101,7 +88,7 @@ applicationCommands
101
88
 
102
89
  applicationCommands
103
90
  .command('list')
104
- .description('List all applications')
91
+ .description('List all deployed applications')
105
92
  .option('--json', 'Emit JSON output')
106
93
  .action(async (options: { json: boolean }) => {
107
94
  const exitCode = await listApps(DBOSCloudHost, options.json);
@@ -109,8 +96,8 @@ applicationCommands
109
96
  });
110
97
 
111
98
  applicationCommands
112
- .command('status')
113
- .description("Retrieve this application's status")
99
+ .command('get')
100
+ .description('Get application info')
114
101
  .option('--json', 'Emit JSON output')
115
102
  .action(async (options: { json: boolean }) => {
116
103
  const exitCode = await getAppInfo(DBOSCloudHost, options.json);
@@ -119,57 +106,52 @@ applicationCommands
119
106
 
120
107
  applicationCommands
121
108
  .command('logs')
122
- .description("Print this application's logs")
109
+ .description('Print the microVM logs of a deployed application')
123
110
  .option('-l, --last <integer>', 'How far back to query, in seconds from current time. By default, we retrieve all data', parseInt)
124
111
  .action(async (options: { last: number}) => {
125
112
  const exitCode = await getAppLogs(DBOSCloudHost, options.last);
126
113
  process.exit(exitCode);
127
114
  });
128
115
 
129
- //////////////////////////////////
130
- /* DATABASE INSTANCE MANAGEMENT */
131
- //////////////////////////////////
116
+ //////////////////////////////
117
+ /* USER DATABASE MANAGEMENT */
118
+ //////////////////////////////
132
119
 
133
- const databaseCommands = program
134
- .command('database')
135
- .alias('databases')
136
- .alias('db')
137
- .description('Manage Postgres database instances')
120
+ const userdbCommands = program
121
+ .command('userdb')
122
+ .description('Manage your databases')
138
123
 
139
- databaseCommands
140
- .command('provision')
141
- .description("Provision a Postgres database instance")
142
- .argument('<string>', 'database instance name')
124
+ userdbCommands
125
+ .command('create')
126
+ .argument('<string>', 'database name')
143
127
  .requiredOption('-a, --admin <string>', 'Specify the admin user')
144
128
  .requiredOption('-W, --password <string>', 'Specify the admin password')
145
- .action((async (dbname: string, options: { admin: string, password: string }) => {
146
- const exitCode = await createUserDb(DBOSCloudHost, dbname, options.admin, options.password, true)
129
+ .option('-s, --sync', 'make synchronous call', true)
130
+ .action((async (dbname: string, options: { admin: string, password: string, sync: boolean }) => {
131
+ const exitCode = await createUserDb(DBOSCloudHost, dbname, options.admin, options.password, options.sync)
147
132
  process.exit(exitCode);
148
133
  }))
149
134
 
150
- databaseCommands
135
+ userdbCommands
151
136
  .command('status')
152
- .description("Retrieve the status of a Postgres database instance")
153
- .argument('<string>', 'database instance name')
137
+ .argument('<string>', 'database name')
154
138
  .option('--json', 'Emit JSON output')
155
139
  .action((async (dbname: string, options: { json: boolean}) => {
156
140
  const exitCode = await getUserDb(DBOSCloudHost, dbname, options.json)
157
141
  process.exit(exitCode);
158
142
  }))
159
143
 
160
- databaseCommands
144
+ userdbCommands
161
145
  .command('list')
162
- .description("List all your Postgres database instances")
163
146
  .option('--json', 'Emit JSON output')
164
147
  .action((async (options: { json: boolean}) => {
165
148
  const exitCode = await listUserDB(DBOSCloudHost, options.json)
166
149
  process.exit(exitCode);
167
150
  }))
168
151
 
169
- databaseCommands
170
- .command('destroy')
171
- .description("Destroy a Postgres database instance")
172
- .argument('<string>', 'database instance name')
152
+ userdbCommands
153
+ .command('delete')
154
+ .argument('<string>', 'database name')
173
155
  .action((async (dbname: string) => {
174
156
  const exitCode = await deleteUserDb(DBOSCloudHost, dbname)
175
157
  process.exit(exitCode);
package/cloudutils.ts CHANGED
@@ -4,7 +4,6 @@ import { transports, createLogger, format, Logger } from "winston";
4
4
  import fs from "fs";
5
5
  import { AxiosError } from "axios";
6
6
  import jwt from 'jsonwebtoken';
7
- import path from "node:path";
8
7
 
9
8
  export interface DBOSCloudCredentials {
10
9
  token: string;
@@ -15,18 +14,6 @@ export const dbosConfigFilePath = "dbos-config.yaml";
15
14
  export const DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
16
15
  export const dbosEnvPath = ".dbos";
17
16
 
18
- export function retrieveApplicationName(logger: Logger): string | null {
19
- // eslint-disable-next-line @typescript-eslint/no-var-requires
20
- const packageJson = require(path.join(process.cwd(), 'package.json')) as { name: string };
21
- const appName = packageJson.name;
22
- if (appName === undefined) {
23
- logger.error("Error: cannot find a valid package.json file. Please run this command in an application root directory.")
24
- return null;
25
- }
26
- logger.info(`Loaded application name from package.json: ${appName}`)
27
- return appName
28
- }
29
-
30
17
  // FIXME: we should have a global instance of the logger created in cli.ts
31
18
  export function getLogger(): Logger {
32
19
  const winstonTransports: TransportStream[] = [];
@@ -90,10 +77,6 @@ export function credentialsExist(): boolean {
90
77
  return fs.existsSync(`./${dbosEnvPath}/credentials`);
91
78
  }
92
79
 
93
- export function deleteCredentials() {
94
- fs.unlinkSync(`./${dbosEnvPath}/credentials`);
95
- }
96
-
97
80
  // Run a command, streaming its output to stdout
98
81
  export function runCommand(command: string, args: string[] = []): Promise<number> {
99
82
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"delete-app.d.ts","sourceRoot":"","sources":["../../../../applications/delete-app.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B7D"}
1
+ {"version":3,"file":"delete-app.d.ts","sourceRoot":"","sources":["../../../../applications/delete-app.ts"],"names":[],"mappings":"AAIA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B7D"}
@@ -6,17 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.deleteApp = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const cloudutils_1 = require("../cloudutils");
9
+ const node_path_1 = __importDefault(require("node:path"));
9
10
  async function deleteApp(host) {
10
11
  const logger = (0, cloudutils_1.getLogger)();
11
12
  const userCredentials = (0, cloudutils_1.getCloudCredentials)();
12
13
  const bearerToken = "Bearer " + userCredentials.token;
13
- const appName = (0, cloudutils_1.retrieveApplicationName)(logger);
14
- if (appName === null) {
15
- return 1;
16
- }
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const packageJson = require(node_path_1.default.join(process.cwd(), 'package.json'));
16
+ const appName = packageJson.name;
17
+ logger.info(`Loaded application name from package.json: ${appName}`);
17
18
  logger.info(`Deleting application: ${appName}`);
18
19
  try {
19
- await axios_1.default.delete(`https://${host}/${userCredentials.userName}/application/${appName}`, {
20
+ await axios_1.default.delete(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
20
21
  headers: {
21
22
  "Content-Type": "application/json",
22
23
  Authorization: bearerToken,
@@ -1 +1 @@
1
- {"version":3,"file":"delete-app.js","sourceRoot":"","sources":["../../../../applications/delete-app.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,8CAAkI;AAE3H,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,eAAK,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,eAAe,CAAC,QAAQ,gBAAgB,OAAO,EAAE,EAAE;YACvF,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,gCAAgC,OAAO,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AA/BD,8BA+BC"}
1
+ {"version":3,"file":"delete-app.js","sourceRoot":"","sources":["../../../../applications/delete-app.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,8CAAyG;AACzG,0DAA6B;AAEtB,KAAK,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAqB,CAAC;IAC1F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAA;IACpE,MAAM,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,eAAK,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,iBAAiB,OAAO,EAAE,EAAE;YACjG,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,gCAAgC,OAAO,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AA/BD,8BA+BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-app-code.d.ts","sourceRoot":"","sources":["../../../../applications/deploy-app-code.ts"],"names":[],"mappings":"AAcA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAsGlF"}
1
+ {"version":3,"file":"deploy-app-code.d.ts","sourceRoot":"","sources":["../../../../applications/deploy-app-code.ts"],"names":[],"mappings":"AAcA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAqGlF"}
@@ -14,10 +14,9 @@ async function deployAppCode(host, docker) {
14
14
  const logger = (0, cloudutils_1.getLogger)();
15
15
  const userCredentials = (0, cloudutils_1.getCloudCredentials)();
16
16
  const bearerToken = "Bearer " + userCredentials.token;
17
- const appName = (0, cloudutils_1.retrieveApplicationName)(logger);
18
- if (appName === null) {
19
- return 1;
20
- }
17
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
18
+ const packageJson = require(path_1.default.join(process.cwd(), 'package.json'));
19
+ const appName = packageJson.name;
21
20
  logger.info(`Loaded application name from package.json: ${appName}`);
22
21
  (0, cloudutils_1.createDirectory)(deployDirectoryName);
23
22
  // Verify that package-lock.json exists
@@ -44,7 +43,7 @@ async function deployAppCode(host, docker) {
44
43
  const zipData = (0, cloudutils_1.readFileSync)(`${deployDirectoryName}/${appName}.zip`, "base64");
45
44
  // Submit the deploy request
46
45
  logger.info(`Submitting deploy request for ${appName}`);
47
- const response = await axios_1.default.post(`https://${host}/${userCredentials.userName}/application/${appName}`, {
46
+ const response = await axios_1.default.post(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
48
47
  application_archive: zipData,
49
48
  }, {
50
49
  headers: {
@@ -70,7 +69,7 @@ async function deployAppCode(host, docker) {
70
69
  return 1;
71
70
  }
72
71
  // Retrieve the application status, check if it is "AVAILABLE"
73
- const list = await axios_1.default.get(`https://${host}/${userCredentials.userName}/application`, {
72
+ const list = await axios_1.default.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications`, {
74
73
  headers: {
75
74
  Authorization: bearerToken,
76
75
  },
@@ -85,7 +84,7 @@ async function deployAppCode(host, docker) {
85
84
  }
86
85
  await (0, cloudutils_1.sleep)(5000); // Leave time for route cache updates
87
86
  logger.info(`Application ${appName} successfuly deployed`);
88
- logger.info(`Access your application at https://${host}/${userCredentials.userName}/application/${appName}`);
87
+ logger.info(`Access your application at https://${host}/apps/${userCredentials.userName}/${appName}`);
89
88
  return 0;
90
89
  }
91
90
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../../../applications/deploy-app-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../../../applications/deploy-app-code.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,iDAAyC;AACzC,2BAA+C;AAC/C,8CAA+K;AAC/K,gDAAwB;AAGxB,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAOnC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,MAAe;IAC/D,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAqB,CAAC;IAC1F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAA;IAEpE,IAAA,4BAAe,EAAC,mBAAmB,CAAC,CAAC;IAErC,uCAAuC;IACvC,IAAI,CAAC,IAAA,eAAU,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAA;QACvF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,+FAA+F;QAC/F,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,eAAe,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;SAAM,CAAC;QACN,8GAA8G;QAC9G,IAAA,wBAAQ,EAAC,WAAW,mBAAmB,IAAI,OAAO,eAAe,mBAAmB,gBAAgB,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,+BAAkB,CAAC,CAAA;IACrE,IAAA,kBAAa,EAAC,GAAG,mBAAmB,IAAI,+BAAkB,EAAE,EAAE,kBAAkB,CAAC,CAAA;IACjF,IAAA,wBAAQ,EAAC,UAAU,mBAAmB,IAAI,OAAO,QAAQ,mBAAmB,IAAI,+BAAkB,cAAc,CAAC,CAAC;IAElH,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,GAAG,mBAAmB,IAAI,OAAO,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEhF,4BAA4B;QAC5B,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,iBAAiB,OAAO,EAAE,EAC9E;YACE,mBAAmB,EAAE,OAAO;SAC7B,EACD;YACE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CACF,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAoB,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,uBAAuB,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAE7G,+CAA+C;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,oBAAoB,GAAG,KAAK,CAAA;QAChC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,CAAA;YACV,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,iBAAiB,YAAY,CAAC,kBAAkB,kBAAkB,CAAC,CAAC;gBACtG,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,6FAA6F,CAAC,CAAC;gBAC1H,CAAC;YACH,CAAC;YACD,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;gBAC/D,OAAO,CAAC,CAAC;YACX,CAAC;YAED,8DAA8D;YAC9D,MAAM,IAAI,GAAG,MAAM,eAAK,CAAC,GAAG,CAC1B,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,eAAe,EACnE;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,WAAW;iBAC3B;aACF,CACF,CAAC;YACF,MAAM,YAAY,GAAkB,IAAI,CAAC,IAAqB,CAAC;YAC/D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACvE,oBAAoB,GAAG,IAAI,CAAA;gBAC7B,CAAC;YACH,CAAC;YACD,MAAM,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;QACxD,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,uBAAuB,CAAC,CAAA;QAC1D,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,SAAS,eAAe,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAA;QACrG,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,gCAAgC,OAAO,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AArGD,sCAqGC;AAED,SAAS,sBAAsB,CAAC,cAAsB;IACpD,MAAM,iBAAiB,GAAG,IAAA,yBAAY,EAAC,cAAc,CAAW,CAAC;IACjE,MAAM,KAAK,GAAG,cAAc,CAAC,CAAE,gDAAgD;IAC/E,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAU,EAAE,EAAE;QACxD,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAE,0DAA0D;IAC7F,CAAC,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAe;IAC7C,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,yBAAyB,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,uHAAuH,CAAC,CAAA;QACrI,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,mBAAmB,kBAAkB,CAAC;IAChE,MAAM,aAAa,GAAG,gBAAgB,OAAO,EAAE,CAAC;IAEhD,qBAAqB;IACrB,MAAM,iBAAiB,GAAG;;;;;;;;;cASd,OAAO,gBAAgB,OAAO,aAAa,mBAAmB;CAC3E,CAAC;IACA,MAAM,mBAAmB,GAAG;;EAE5B,mBAAmB;;;CAGpB,CAAC;IACA,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAA,kBAAa,EAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACjD,IAAA,kBAAa,EAAC,GAAG,mBAAmB,+BAA+B,EAAE,mBAAmB,CAAC,CAAC;QAC1F,sGAAsG;QACtG,MAAM,IAAA,uBAAU,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAA;QAC/E,oBAAoB;QACpB,IAAA,wBAAQ,EAAC,wBAAwB,aAAa,IAAI,OAAO,EAAE,CAAC,CAAC;QAC7D,oEAAoE;QACpE,IAAA,wBAAQ,EAAC,aAAa,aAAa,SAAS,OAAO,QAAQ,mBAAmB,IAAI,OAAO,MAAM,CAAC,CAAC;QACjG,gCAAgC;QAChC,IAAA,wBAAQ,EAAC,eAAe,aAAa,EAAE,CAAC,CAAC;QACzC,IAAA,wBAAQ,EAAC,aAAa,aAAa,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,+BAA+B,OAAO,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-app-info.d.ts","sourceRoot":"","sources":["../../../../applications/get-app-info.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA0C7E"}
1
+ {"version":3,"file":"get-app-info.d.ts","sourceRoot":"","sources":["../../../../applications/get-app-info.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAyC7E"}
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getAppInfo = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const cloudutils_1 = require("../cloudutils");
9
+ const node_path_1 = __importDefault(require("node:path"));
9
10
  async function getAppInfo(host, json) {
10
11
  const logger = (0, cloudutils_1.getLogger)();
11
12
  const userCredentials = (0, cloudutils_1.getCloudCredentials)();
12
13
  const bearerToken = "Bearer " + userCredentials.token;
13
- const appName = (0, cloudutils_1.retrieveApplicationName)(logger);
14
- if (appName === null) {
15
- return 1;
16
- }
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const packageJson = require(node_path_1.default.join(process.cwd(), 'package.json'));
16
+ const appName = packageJson.name;
17
17
  if (!json) {
18
18
  logger.info(`Retrieving info for application: ${appName}`);
19
19
  }
20
20
  try {
21
- const res = await axios_1.default.get(`https://${host}/${userCredentials.userName}/application/${appName}`, {
21
+ const res = await axios_1.default.get(`https://${host}/v1alpha1/${userCredentials.userName}/applications/${appName}`, {
22
22
  headers: {
23
23
  "Content-Type": "application/json",
24
24
  Authorization: bearerToken,
@@ -1 +1 @@
1
- {"version":3,"file":"get-app-info.js","sourceRoot":"","sources":["../../../../applications/get-app-info.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2C;AAC3C,8CAAkI;AAG3H,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAa;IAC1D,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,eAAe,CAAC,QAAQ,gBAAgB,OAAO,EAAE,EAAE;YAChG,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAmB,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,2CAA2C,OAAO,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AA1CD,gCA0CC"}
1
+ {"version":3,"file":"get-app-info.js","sourceRoot":"","sources":["../../../../applications/get-app-info.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2C;AAC3C,8CAAyG;AACzG,0DAA6B;AAGtB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAa;IAC1D,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAqB,CAAC;IAC1F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,iBAAiB,OAAO,EAAE,EAAE;YAC1G,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAmB,CAAA;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,2CAA2C,OAAO,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAzCD,gCAyCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-app-logs.d.ts","sourceRoot":"","sources":["../../../../applications/get-app-logs.ts"],"names":[],"mappings":"AAGA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyC5E"}
1
+ {"version":3,"file":"get-app-logs.d.ts","sourceRoot":"","sources":["../../../../applications/get-app-logs.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwC5E"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getAppLogs = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const cloudutils_1 = require("../cloudutils");
9
+ const node_path_1 = __importDefault(require("node:path"));
9
10
  async function getAppLogs(host, last) {
10
11
  if (last != undefined && (isNaN(last) || last <= 0)) {
11
12
  throw new Error('The --last parmameter must be an integer greater than 0');
@@ -16,13 +17,12 @@ async function getAppLogs(host, last) {
16
17
  const logger = (0, cloudutils_1.getLogger)();
17
18
  const userCredentials = (0, cloudutils_1.getCloudCredentials)();
18
19
  const bearerToken = "Bearer " + userCredentials.token;
19
- const appName = (0, cloudutils_1.retrieveApplicationName)(logger);
20
- if (appName === null) {
21
- return 1;
22
- }
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ const packageJson = require(node_path_1.default.join(process.cwd(), 'package.json'));
22
+ const appName = packageJson.name;
23
23
  logger.info(`Retrieving logs for application: ${appName}`);
24
24
  try {
25
- const res = await axios_1.default.get(`https://${host}/${userCredentials.userName}/logs/application/${appName}?last=${last}`, {
25
+ const res = await axios_1.default.get(`https://${host}/v1alpha1/${userCredentials.userName}/logs/applications/${appName}?last=${last}`, {
26
26
  headers: {
27
27
  "Content-Type": "application/json",
28
28
  Authorization: bearerToken,
@@ -1 +1 @@
1
- {"version":3,"file":"get-app-logs.js","sourceRoot":"","sources":["../../../../applications/get-app-logs.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2C;AAC3C,8CAAkI;AAE3H,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,CAAA,CAAM,8DAA8D;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;IAE1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,eAAe,CAAC,QAAQ,qBAAqB,OAAO,SAAS,IAAI,EAAE,EAAE;YAClH,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,0CAA0C,OAAO,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAzCD,gCAyCC"}
1
+ {"version":3,"file":"get-app-logs.js","sourceRoot":"","sources":["../../../../applications/get-app-logs.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2C;AAC3C,8CAAyG;AACzG,0DAA6B;AAEtB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,CAAA,CAAM,8DAA8D;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,sBAAS,GAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAA,gCAAmB,GAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IAEtD,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAqB,CAAC;IAC1F,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;IAE1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,sBAAsB,OAAO,SAAS,IAAI,EAAE,EAAE;YAC5H,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,0CAA0C,OAAO,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,IAAA,oCAAuB,EAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACvD,IAAA,4BAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAxCD,gCAwCC"}