@dbos-inc/dbos-sdk 0.8.26-preview → 0.8.28-preview

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -27,4 +27,4 @@ Our documentation has the following sections:
27
27
 
28
28
  ## Community
29
29
 
30
- Please join our community on [Discord](https://discord.gg/VrYtAZD5v)! If you see a bug or have a feature request, don't hesitate to open an issue here on GitHub.
30
+ Please join our community on [Discord](https://discord.gg/fMwQjeW5zg)! If you see a bug or have a feature request, don't hesitate to open an issue here on GitHub.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-app-code.d.ts","sourceRoot":"","sources":["../../../../src/cloud-cli/applications/deploy-app-code.ts"],"names":[],"mappings":"AAiBA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkEjE"}
1
+ {"version":3,"file":"deploy-app-code.d.ts","sourceRoot":"","sources":["../../../../src/cloud-cli/applications/deploy-app-code.ts"],"names":[],"mappings":"AAeA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6EjE"}
@@ -5,13 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.deployAppCode = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
- const yaml_1 = __importDefault(require("yaml"));
9
8
  const child_process_1 = require("child_process");
10
- const fs_1 = __importDefault(require("fs"));
11
9
  const logs_1 = require("../../telemetry/logs");
12
10
  const utils_1 = require("../utils");
13
11
  const utils_2 = require("../../utils");
14
- const config_1 = require("../../dbos-runtime/config");
15
12
  const path_1 = __importDefault(require("path"));
16
13
  const deployDirectoryName = "dbos_deploy";
17
14
  async function deployAppCode(host) {
@@ -22,33 +19,15 @@ async function deployAppCode(host) {
22
19
  const packageJson = require(path_1.default.join(process.cwd(), 'package.json'));
23
20
  const appName = packageJson.name;
24
21
  logger.info(`Loaded application name from package.json: ${appName}`);
25
- logger.info(`Deploying application: ${appName}`);
22
+ logger.info(`Submitting deploy request for ${appName}`);
26
23
  try {
27
24
  (0, utils_2.createDirectory)(deployDirectoryName);
28
- const configFile = (0, config_1.loadConfigFile)(config_1.dbosConfigFilePath);
29
- if (!configFile) {
30
- logger.error(`failed to parse ${config_1.dbosConfigFilePath}`);
31
- return 1;
32
- }
33
- // Inject OTel export configuration
34
- if (!configFile.telemetry) {
35
- configFile.telemetry = {};
36
- }
37
- configFile.telemetry.OTLPExporter = {
38
- logsEndpoint: "http://otel-collector:4318/v1/logs",
39
- tracesEndpoint: "http://otel-collector:4318/v1/traces",
40
- };
41
- try {
42
- fs_1.default.writeFileSync(`${deployDirectoryName}/${config_1.dbosConfigFilePath}`, yaml_1.default.stringify(configFile));
43
- }
44
- catch (e) {
45
- logger.error(`failed to write ${config_1.dbosConfigFilePath}: ${e.message}`);
46
- return 1;
47
- }
25
+ // Prune unnecessary dependencies
48
26
  (0, child_process_1.execSync)(`npm prune --omit=dev node_modules/* `);
49
- (0, child_process_1.execSync)(`zip -ry ${deployDirectoryName}/${appName}.zip ./* -x ${deployDirectoryName}/* ${config_1.dbosConfigFilePath} > /dev/null`);
50
- (0, child_process_1.execSync)(`zip -j ${deployDirectoryName}/${appName}.zip ${deployDirectoryName}/${config_1.dbosConfigFilePath} > /dev/null`);
27
+ // Package the application into a .zip file
28
+ (0, child_process_1.execSync)(`zip -ry ${deployDirectoryName}/${appName}.zip ./* -x ${deployDirectoryName}/* > /dev/null`);
51
29
  const zipData = (0, utils_2.readFileSync)(`${deployDirectoryName}/${appName}.zip`, "base64");
30
+ // Submit the deploy request
52
31
  const response = await axios_1.default.post(`https://${host}/${userCredentials.userName}/application/${appName}`, {
53
32
  application_archive: zipData,
54
33
  }, {
@@ -58,7 +37,33 @@ async function deployAppCode(host) {
58
37
  },
59
38
  });
60
39
  const deployOutput = response.data;
61
- logger.info(`Successfully deployed ${appName} with version ${deployOutput.ApplicationVersion}`);
40
+ logger.info(`Submitted deploy request for ${appName}. Assigned version: ${deployOutput.ApplicationVersion}`);
41
+ // Wait for the application to become available
42
+ let count = 0;
43
+ let applicationAvailable = false;
44
+ while (!applicationAvailable) {
45
+ count += 1;
46
+ if (count % 5 === 0) {
47
+ logger.info(`Waiting for ${appName} with version ${deployOutput.ApplicationVersion} to be available`);
48
+ if (count > 20) {
49
+ logger.info(`If ${appName} takes too long to become available, check its logs at...`);
50
+ }
51
+ }
52
+ // Retrieve the application status, check if it is "AVAILABLE"
53
+ const list = await axios_1.default.get(`https://${host}/${userCredentials.userName}/application`, {
54
+ headers: {
55
+ Authorization: bearerToken,
56
+ },
57
+ });
58
+ const applications = list.data;
59
+ for (const application of applications) {
60
+ if (application.Name === appName && application.Status === "AVAILABLE") {
61
+ applicationAvailable = true;
62
+ }
63
+ }
64
+ await (0, utils_2.sleep)(1000);
65
+ }
66
+ logger.info(`Application ${appName} successfuly deployed`);
62
67
  logger.info(`Access your application at https://${host}/${userCredentials.userName}/application/${appName}`);
63
68
  return 0;
64
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../../../src/cloud-cli/applications/deploy-app-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-app-code.js","sourceRoot":"","sources":["../../../../src/cloud-cli/applications/deploy-app-code.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dbos-inc/dbos-sdk",
3
- "version": "0.8.26-preview",
3
+ "version": "0.8.28-preview",
4
4
  "description": "A Typescript framework built on the database",
5
5
  "license": "MIT",
6
6
  "repository": {