@goldstack/template-hetzner-vps-cli 0.1.4 → 0.1.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.
@@ -1,3 +1,6 @@
1
1
  import { HetznerVPSDeployment } from '@goldstack/template-hetzner-vps';
2
+ export declare const build: (deployment: HetznerVPSDeployment) => Promise<{
3
+ zipPath: string;
4
+ }>;
2
5
  export declare const sshDeploy: (deployment: HetznerVPSDeployment) => Promise<void>;
3
6
  //# sourceMappingURL=sshDeploy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sshDeploy.d.ts","sourceRoot":"","sources":["../../src/sshDeploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAwCvE,eAAO,MAAM,SAAS,eAAsB,oBAAoB,kBAsE/D,CAAC"}
1
+ {"version":3,"file":"sshDeploy.d.ts","sourceRoot":"","sources":["../../src/sshDeploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAQvE,eAAO,MAAM,KAAK,eAAsB,oBAAoB;;EA+D3D,CAAC;AAmBF,eAAO,MAAM,SAAS,eAAsB,oBAAoB,kBAgC/D,CAAC"}
@@ -1,44 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sshDeploy = void 0;
3
+ exports.sshDeploy = exports.build = void 0;
4
4
  const utils_cli_1 = require("@goldstack/utils-cli");
5
5
  const utils_sh_1 = require("@goldstack/utils-sh");
6
6
  const fs_1 = require("fs");
7
7
  const promises_1 = require("fs/promises");
8
8
  const path_1 = require("path");
9
- // Helper function to execute commands remotely via SSH
10
- const sshExec = (host, command) => {
11
- const sshCmd = `ssh -o StrictHostKeyChecking=no ${host} "${command}"`;
12
- return (0, utils_sh_1.exec)(sshCmd);
13
- };
14
- // Helper function to upload files via SCP
15
- const scpUpload = (localPath, remotePath, host) => {
16
- const scpCmd = `scp -o StrictHostKeyChecking=no ${localPath} ${host}:${remotePath}`;
17
- return (0, utils_sh_1.exec)(scpCmd);
18
- };
19
- // Method to create the zip file
20
- const createZip = async (sourceDir, outputZip) => {
21
- (0, utils_cli_1.logger)().info(`Creating zip from ${sourceDir}...`);
22
- await (0, utils_sh_1.zip)({
23
- directory: sourceDir,
24
- target: outputZip,
25
- });
26
- // Get the size of the zip file
27
- const stats = await (0, promises_1.stat)(outputZip);
28
- const fileSizeInBytes = stats.size;
29
- const fileSizeInMegabytes = (fileSizeInBytes / 1024).toFixed(2);
30
- (0, utils_cli_1.logger)().info(`Zip file size: ${fileSizeInMegabytes} kB`);
31
- };
32
- // Deploy function
33
- const sshDeploy = async (deployment) => {
34
- const deploymentsInfo = JSON.parse((0, utils_sh_1.read)('src/state/deployments.json'));
35
- const deploymentState = deploymentsInfo.find((e) => e.name === deployment.name);
36
- if (!deploymentState) {
37
- (0, utils_cli_1.logger)().error('Cannot deploy ' +
38
- deployment.name +
39
- ' since infrastructure not provisioned yet.');
40
- }
41
- const host = 'goldstack@' + deploymentState.terraform.ipv4_address.value;
9
+ // Method to build the deployment files (preparing the staging directory, secrets, and creating the zip)
10
+ const build = async (deployment) => {
42
11
  const sourceDir = 'server/';
43
12
  const stagingDir = 'dist/server';
44
13
  const zipPath = 'dist/server.zip';
@@ -72,8 +41,52 @@ const sshDeploy = async (deployment) => {
72
41
  }
73
42
  }
74
43
  }
75
- // Step 1: Create the zip file
76
- await createZip(stagingDir, zipPath);
44
+ // Create the zip file
45
+ (0, utils_cli_1.logger)().info(`Creating zip from ${stagingDir}...`);
46
+ await (0, utils_sh_1.zip)({
47
+ directory: stagingDir,
48
+ target: zipPath,
49
+ });
50
+ // Get the size of the zip file
51
+ const stats = await (0, promises_1.stat)(zipPath);
52
+ const fileSizeInBytes = stats.size;
53
+ const fileSizeInMegabytes = (fileSizeInBytes / 1024).toFixed(2);
54
+ (0, utils_cli_1.logger)().info(`Zip file size: ${fileSizeInMegabytes} kB`);
55
+ (0, utils_cli_1.logger)().info('Build completed successfully.');
56
+ return {
57
+ zipPath,
58
+ };
59
+ }
60
+ catch (error) {
61
+ (0, utils_cli_1.logger)().error(`Error during build: ${error}`);
62
+ throw error;
63
+ }
64
+ };
65
+ exports.build = build;
66
+ // Helper function to execute commands remotely via SSH
67
+ const sshExec = (host, command) => {
68
+ const sshCmd = `ssh -o StrictHostKeyChecking=no ${host} "${command}"`;
69
+ return (0, utils_sh_1.exec)(sshCmd);
70
+ };
71
+ // Helper function to upload files via SCP
72
+ const scpUpload = (localPath, remotePath, host) => {
73
+ const scpCmd = `scp -o StrictHostKeyChecking=no ${localPath} ${host}:${remotePath}`;
74
+ return (0, utils_sh_1.exec)(scpCmd);
75
+ };
76
+ // Deploy function
77
+ const sshDeploy = async (deployment) => {
78
+ try {
79
+ const deploymentsInfo = JSON.parse((0, utils_sh_1.read)('src/state/deployments.json'));
80
+ const deploymentState = deploymentsInfo.find((e) => e.name === deployment.name);
81
+ if (!deploymentState) {
82
+ (0, utils_cli_1.logger)().error('Cannot build ' +
83
+ deployment.name +
84
+ ' since infrastructure not provisioned yet.');
85
+ throw new Error(`No deployment state found for ${deployment.name}`);
86
+ }
87
+ const host = 'goldstack@' + deploymentState.terraform.ipv4_address.value;
88
+ // Ensure build was completed separately and get the zip path and host
89
+ const { zipPath } = await (0, exports.build)(deployment);
77
90
  // Step 2: Upload the zip file via SCP
78
91
  (0, utils_cli_1.logger)().info('Uploading zip file...');
79
92
  scpUpload(zipPath, '/home/goldstack', host);
@@ -1 +1 @@
1
- {"version":3,"file":"sshDeploy.js","sourceRoot":"","sources":["../../src/sshDeploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sshDeploy.js","sourceRoot":"","sources":["../../src/sshDeploy.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export declare const buildZip: () => Promise<void>;
1
2
  export declare const run: (args: string[]) => Promise<void>;
2
3
  //# sourceMappingURL=templateHetznerVPSCli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templateHetznerVPSCli.d.ts","sourceRoot":"","sources":["../../src/templateHetznerVPSCli.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,KAAG,QAAQ,IAAI,CA4CtD,CAAC"}
1
+ {"version":3,"file":"templateHetznerVPSCli.d.ts","sourceRoot":"","sources":["../../src/templateHetznerVPSCli.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,QAAQ,QAAa,QAAQ,IAAI,CAY7C,CAAC;AAEF,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,KAAG,QAAQ,IAAI,CA6CtD,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.run = void 0;
6
+ exports.run = exports.buildZip = void 0;
7
7
  const utils_package_1 = require("@goldstack/utils-package");
8
8
  const utils_cli_1 = require("@goldstack/utils-cli");
9
9
  const utils_terraform_1 = require("@goldstack/utils-terraform");
@@ -13,6 +13,16 @@ const utils_package_config_1 = require("@goldstack/utils-package-config");
13
13
  const yargs_1 = __importDefault(require("yargs"));
14
14
  const utils_cli_2 = require("@goldstack/utils-cli");
15
15
  const sshDeploy_1 = require("./sshDeploy");
16
+ const buildZip = async () => {
17
+ const args = process.argv.slice(2); // Skip the first two default args (node and script path)
18
+ const deploymentName = args[0]; // The first argument after `yarn build` will be `prod` if passed
19
+ const packageConfig = new utils_package_config_1.PackageConfig({
20
+ packagePath: './',
21
+ });
22
+ const deployment = packageConfig.getDeployment(deploymentName);
23
+ await (0, sshDeploy_1.build)(deployment);
24
+ };
25
+ exports.buildZip = buildZip;
16
26
  const run = async (args) => {
17
27
  await (0, utils_cli_1.wrapCli)(async () => {
18
28
  const argv = await (0, utils_package_1.buildCli)({
@@ -31,6 +41,7 @@ const run = async (args) => {
31
41
  if (command === 'deploy') {
32
42
  (0, utils_cli_2.logger)().info('Starting deployment to Hetzner VPS.');
33
43
  const deployment = packageConfig.getDeployment(opArgs[0]);
44
+ await (0, sshDeploy_1.build)(deployment);
34
45
  await (0, sshDeploy_1.sshDeploy)(deployment);
35
46
  return;
36
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templateHetznerVPSCli.js","sourceRoot":"","sources":["../../src/templateHetznerVPSCli.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAyE;AACzE,oDAA+C;AAE/C,gEAA2D;AAC3D,wEAGwC;AACxC,gFAAyE;AACzE,0EAAgE;AAKhE,kDAA0B;AAE1B,oDAA8C;AAC9C,2CAAwC;AAEjC,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAiB,EAAE;IACzD,MAAM,IAAA,mBAAO,EAAC,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAQ,EAAC;YAC1B,KAAK,EAAL,eAAK;YACL,cAAc,EAAE,IAAA,mCAAmB,GAAE;YACrC,aAAa,EAAE,IAAA,+BAAa,GAAE;SAC/B,CAAC;aACC,IAAI,EAAE;aACN,KAAK,EAAE,CAAC;QAEX,MAAM,aAAa,GAAG,IAAI,oCAAa,CAGrC;YACA,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;QAE/B,IAAI,OAAO,KAAK,QAAQ,EAAE;YACxB,IAAA,kBAAM,GAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,IAAA,qBAAS,EAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;SACR;QAED,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAA,kBAAM,GAAE,CAAC,IAAI,CACX,oCAAoC,gBAAgB,QAAQ,UAAU,CAAC,IAAI,EAAE,CAC9E,CAAC;YACF,0CAA0C;YAC1C,MAAM,IAAA,qCAAe,EAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,8CAAwB,EAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,IAAA,6CAAmB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE/C,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA5CW,QAAA,GAAG,OA4Cd"}
1
+ {"version":3,"file":"templateHetznerVPSCli.js","sourceRoot":"","sources":["../../src/templateHetznerVPSCli.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAyE;AACzE,oDAA+C;AAE/C,gEAA2D;AAC3D,wEAGwC;AACxC,gFAAyE;AACzE,0EAAgE;AAKhE,kDAA0B;AAE1B,oDAA8C;AAC9C,2CAA+C;AAExC,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yDAAyD;IAC7F,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iEAAiE;IAEjG,MAAM,aAAa,GAAG,IAAI,oCAAa,CAGrC;QACA,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAA,iBAAK,EAAC,UAAU,CAAC,CAAC;AAC1B,CAAC,CAAC;AAZW,QAAA,QAAQ,YAYnB;AAEK,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAiB,EAAE;IACzD,MAAM,IAAA,mBAAO,EAAC,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAQ,EAAC;YAC1B,KAAK,EAAL,eAAK;YACL,cAAc,EAAE,IAAA,mCAAmB,GAAE;YACrC,aAAa,EAAE,IAAA,+BAAa,GAAE;SAC/B,CAAC;aACC,IAAI,EAAE;aACN,KAAK,EAAE,CAAC;QAEX,MAAM,aAAa,GAAG,IAAI,oCAAa,CAGrC;YACA,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;QAE/B,IAAI,OAAO,KAAK,QAAQ,EAAE;YACxB,IAAA,kBAAM,GAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,IAAA,iBAAK,EAAC,UAAU,CAAC,CAAC;YACxB,MAAM,IAAA,qBAAS,EAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;SACR;QAED,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAA,kBAAM,GAAE,CAAC,IAAI,CACX,oCAAoC,gBAAgB,QAAQ,UAAU,CAAC,IAAI,EAAE,CAC9E,CAAC;YACF,0CAA0C;YAC1C,MAAM,IAAA,qCAAe,EAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,8CAAwB,EAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,IAAA,6CAAmB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE/C,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7CW,QAAA,GAAG,OA6Cd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldstack/template-hetzner-vps-cli",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Utilities for packages that allows provisioning a Hetzner server with Docker",
5
5
  "keywords": [
6
6
  "goldstack",