hotstaq 0.6.91 → 0.6.92

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 (62) hide show
  1. package/README.md +6 -0
  2. package/build/src/HotBuilder.d.ts +1 -5
  3. package/build/src/HotBuilder.d.ts.map +1 -1
  4. package/build/src/HotBuilder.js +43 -48
  5. package/build/src/HotBuilder.js.map +1 -1
  6. package/build/src/HotCLI.d.ts +8 -0
  7. package/build/src/HotCLI.d.ts.map +1 -1
  8. package/build/src/HotCLI.js +95 -18
  9. package/build/src/HotCLI.js.map +1 -1
  10. package/build/src/HotCreator.d.ts.map +1 -1
  11. package/build/src/HotCreator.js.map +1 -1
  12. package/build/src/HotGenerator.d.ts +2 -1
  13. package/build/src/HotGenerator.d.ts.map +1 -1
  14. package/build/src/HotGenerator.js.map +1 -1
  15. package/build/src/HotSite.d.ts +311 -0
  16. package/build/src/HotSite.d.ts.map +1 -0
  17. package/build/src/HotSite.js +3 -0
  18. package/build/src/HotSite.js.map +1 -0
  19. package/build/src/HotStaq.d.ts +1 -310
  20. package/build/src/HotStaq.d.ts.map +1 -1
  21. package/build/src/HotStaq.js +2 -2
  22. package/build/src/HotStaq.js.map +1 -1
  23. package/build/src/HotTestMap.d.ts +1 -1
  24. package/build/src/HotTesterServer.d.ts.map +1 -1
  25. package/build/src/HotTesterServer.js +1 -1
  26. package/build/src/HotTesterServer.js.map +1 -1
  27. package/build/src/api-web.js.map +1 -1
  28. package/build/src/api.d.ts +2 -1
  29. package/build/src/api.d.ts.map +1 -1
  30. package/build/src/api.js.map +1 -1
  31. package/build-web/HotStaq.js +2 -2
  32. package/build-web/HotStaq.min.js +2 -2
  33. package/builder/docker/Dockerfile.hardened.linux.gen +0 -2
  34. package/builder/docker/Dockerfile.linux.gen +1 -1
  35. package/builder/docker/README.md +9 -2
  36. package/builder/docker/app/start-pkg.sh +8 -1
  37. package/builder/docker/app/start.sh +8 -1
  38. package/builder/{docker-compose → docker}/docker-compose.gen.yaml +17 -14
  39. package/builder/{docker-compose → docker}/env-skeleton +2 -0
  40. package/builder/docker/scripts/start.bat +9 -0
  41. package/builder/docker/scripts/start.sh +9 -0
  42. package/builder/docker/scripts/stop.bat +9 -0
  43. package/builder/docker/scripts/stop.sh +9 -0
  44. package/package.json +1 -1
  45. package/src/HotBuilder.ts +24 -44
  46. package/src/HotCLI.ts +82 -6
  47. package/src/HotCreator.ts +2 -2
  48. package/src/HotGenerator.ts +2 -1
  49. package/src/HotSite.ts +314 -0
  50. package/src/HotStaq.ts +4 -316
  51. package/src/HotTestMap.ts +1 -1
  52. package/src/HotTesterServer.ts +1 -1
  53. package/src/api-web.ts +2 -2
  54. package/src/api.ts +2 -2
  55. package/builder/docker/scripts/start-app.bat +0 -10
  56. package/builder/docker/scripts/start-app.sh +0 -10
  57. package/builder/docker/scripts/stop-app.bat +0 -5
  58. package/builder/docker/scripts/stop-app.sh +0 -5
  59. package/builder/docker-compose/scripts/start.bat +0 -3
  60. package/builder/docker-compose/scripts/start.sh +0 -3
  61. package/builder/docker-compose/scripts/stop.bat +0 -3
  62. package/builder/docker-compose/scripts/stop.sh +0 -3
package/README.md CHANGED
@@ -101,6 +101,12 @@ You can configure how HotStaq starts by using:
101
101
  * Default: 10
102
102
  * Accepted values:
103
103
  * Any integer.
104
+ * JSON_LIMIT
105
+ * Type: string
106
+ * Description: The maximum amount of JSON that can be uploaded.
107
+ * Default: 1mb
108
+ * Accepted values:
109
+ * Any string.
104
110
  * LOGGING_LEVEL
105
111
  * Type: string
106
112
  * Description: The logging level to use.
@@ -1,4 +1,4 @@
1
- import { HotSite } from "./HotStaq";
1
+ import { HotSite } from "./HotSite";
2
2
  import { HotLog } from "./HotLog";
3
3
  /**
4
4
  * Builds stuff for the CLI like docker images and Kubernetes Helm charts.
@@ -33,10 +33,6 @@ export declare class HotBuilder {
33
33
  * Will append the docker documentation to the existing README.md.
34
34
  */
35
35
  appendReadMe: boolean;
36
- /**
37
- * Will build the Docker compose file.
38
- */
39
- dockerCompose: boolean;
40
36
  /**
41
37
  * Will build a Kubernetes Helm Chart.
42
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HotBuilder.d.ts","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,qBAAa,UAAU;IAEtB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;gBAEL,MAAM,EAAE,MAAM;IAe3B;;;;OAIG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAwJ7B;;OAEG;cACa,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAatG"}
1
+ {"version":3,"file":"HotBuilder.d.ts","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,qBAAa,UAAU;IAEtB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;gBAEL,MAAM,EAAE,MAAM;IAc3B;;;;OAIG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAwI7B;;OAEG;cACa,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAatG"}
@@ -70,7 +70,6 @@ var HotBuilder = /** @class */ (function () {
70
70
  this.dockerFiles = true;
71
71
  this.dockerHardenSecurity = true;
72
72
  this.appendReadMe = true;
73
- this.dockerCompose = false;
74
73
  this.helmChart = false;
75
74
  this.hotsites = [];
76
75
  this.logger = logger;
@@ -83,7 +82,7 @@ var HotBuilder = /** @class */ (function () {
83
82
  */
84
83
  HotBuilder.prototype.build = function () {
85
84
  return __awaiter(this, void 0, void 0, function () {
86
- var hotPackageJSONStr, hotPackageJSONObj, dockerDir, dockerFilePath, iIdx, hotsite, hotsiteName, outputDir, dockerfilePortsStr, dockercomposeAppPortsStr, dockercomposeAppAPIPortsStr, httpPort, httpsPort, hotsitePath, replaceKeys, prevREADME, dockerREADME, dockerDir, dockerFileContent, startFileContent, iIdx, hotsite;
85
+ var hotPackageJSONStr, hotPackageJSONObj, dockerDir, dockerFilePath, iIdx, hotsite, hotsiteName, outputDir, dockerfilePortsStr, httpPort, httpsPort, httpApiPort, httpsApiPort, hotsitePath, appCmds, replaceKeys, prevREADME, dockerREADME;
87
86
  return __generator(this, function (_a) {
88
87
  switch (_a.label) {
89
88
  case 0: return [4 /*yield*/, HotIO_1.HotIO.readTextFile(ppath.normalize("".concat(__dirname, "/../../package.json")))];
@@ -98,7 +97,7 @@ var HotBuilder = /** @class */ (function () {
98
97
  /// @todo Finish this...
99
98
  this.logger.info("Finished building web API...");
100
99
  }
101
- if (!(this.dockerFiles === true)) return [3 /*break*/, 24];
100
+ if (!(this.dockerFiles === true)) return [3 /*break*/, 27];
102
101
  this.logger.info("Building docker files...");
103
102
  dockerDir = ppath.normalize("".concat(__dirname, "/../../builder/docker"));
104
103
  dockerFilePath = "";
@@ -113,7 +112,7 @@ var HotBuilder = /** @class */ (function () {
113
112
  iIdx = 0;
114
113
  _a.label = 2;
115
114
  case 2:
116
- if (!(iIdx < this.hotsites.length)) return [3 /*break*/, 23];
115
+ if (!(iIdx < this.hotsites.length)) return [3 /*break*/, 26];
117
116
  hotsite = this.hotsites[iIdx];
118
117
  this.logger.info("Building Dockerfile \"".concat(hotsite.name, "\"..."));
119
118
  if (hotsite.name == null)
@@ -122,33 +121,37 @@ var HotBuilder = /** @class */ (function () {
122
121
  hotsiteName = hotsite.name;
123
122
  outputDir = ppath.normalize("".concat(this.outputDir, "/"));
124
123
  dockerfilePortsStr = "";
125
- dockercomposeAppPortsStr = "";
126
- dockercomposeAppAPIPortsStr = "";
127
124
  httpPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "http"]);
128
125
  httpsPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "https"]);
126
+ httpApiPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "apiHttp"]);
127
+ httpsApiPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "apiHttps"]);
129
128
  hotsitePath = "/app/".concat(hotsiteName, "/HotSite.json");
130
129
  return [4 /*yield*/, HotIO_1.HotIO.mkdir("".concat(outputDir, "/docker/").concat(hotsiteName, "/app/"))];
131
130
  case 3:
132
131
  _a.sent();
133
132
  if (httpPort != null) {
134
133
  dockerfilePortsStr += "ARG HTTP_PORT=".concat(httpPort, "\nENV HTTP_PORT ${HTTP_PORT}\nEXPOSE ${HTTP_PORT}");
135
- dockercomposeAppPortsStr += "\n ports:\n - \"".concat(httpPort, ":").concat(httpPort, "\"");
136
134
  }
137
135
  if (httpsPort != null) {
138
136
  dockerfilePortsStr += "ARG HTTPS_PORT=".concat(httpsPort, "\nENV HTTPS_PORT ${HTTPS_PORT}\nEXPOSE ${HTTPS_PORT}");
139
- dockercomposeAppPortsStr += "\n\t\t\t\t\t- \"".concat(httpsPort, ":").concat(httpsPort, "\"");
140
137
  }
141
138
  if (dockerfilePortsStr === "") {
142
- dockerfilePortsStr += "ARG HTTP_PORT=80\nENV HTTP_PORT ${HTTP_PORT}\nEXPOSE ${HTTP_PORT}";
143
- dockercomposeAppPortsStr += "\nports:\n- \"80:80\"";
139
+ httpPort = 5000;
140
+ dockerfilePortsStr += "ARG HTTP_PORT=5000\nENV HTTP_PORT ${HTTP_PORT}\nEXPOSE ${HTTP_PORT}";
144
141
  }
142
+ if (httpApiPort == null)
143
+ httpApiPort = 5001;
144
+ appCmds = "\"/app/hotapp\",";
145
+ if (this.dockerHardenSecurity === false)
146
+ appCmds = "\"node\", \"./cli.js\",";
145
147
  replaceKeys = {
148
+ APP_CMDS: appCmds,
146
149
  NAMESPACE: this.dockerNamespace,
147
150
  HOTSITE_NAME: hotsiteName,
148
151
  REAL_HOTSTAQ_VERSION: this.hotstaqVersion,
149
152
  DOCKERFILE_PORTS: dockerfilePortsStr,
150
- DOCKER_COMPOSE_APP_PORTS: dockercomposeAppPortsStr,
151
- DOCKER_COMPOSE_APP_API_PORTS: dockercomposeAppAPIPortsStr,
153
+ HTTP_PORT: httpPort.toString(),
154
+ API_HTTP_PORT: httpApiPort.toString(),
152
155
  HOTSITE_PATH: hotsitePath
153
156
  };
154
157
  return [4 /*yield*/, HotIO_1.HotIO.copyFile(dockerFilePath, "".concat(outputDir, "/docker/").concat(hotsiteName, "/Dockerfile"))];
@@ -166,69 +169,61 @@ var HotBuilder = /** @class */ (function () {
166
169
  return [4 /*yield*/, HotIO_1.HotIO.copyFile("".concat(dockerDir, "/dockerignore"), "".concat(outputDir, "/.dockerignore"))];
167
170
  case 8:
168
171
  _a.sent();
169
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/docker/").concat(hotsiteName, "/app/start.sh"), replaceKeys)];
172
+ return [4 /*yield*/, HotIO_1.HotIO.copyFile("".concat(dockerDir, "/docker-compose.gen.yaml"), "".concat(outputDir, "/docker-compose.yaml"))];
170
173
  case 9:
171
174
  _a.sent();
172
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/docker/").concat(hotsiteName, "/app/start-pkg.sh"), replaceKeys)];
175
+ return [4 /*yield*/, HotIO_1.HotIO.copyFile("".concat(dockerDir, "/env-skeleton"), "".concat(outputDir, "/env-skeleton"))];
173
176
  case 10:
174
177
  _a.sent();
175
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/build.bat"), replaceKeys)];
178
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/docker/").concat(hotsiteName, "/app/start.sh"), replaceKeys)];
176
179
  case 11:
177
180
  _a.sent();
178
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/build.sh"), replaceKeys)];
181
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/docker/").concat(hotsiteName, "/app/start-pkg.sh"), replaceKeys)];
179
182
  case 12:
180
183
  _a.sent();
181
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/start-app.bat"), replaceKeys)];
184
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/docker-compose.yaml"), replaceKeys)];
182
185
  case 13:
183
186
  _a.sent();
184
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/start-app.sh"), replaceKeys)];
187
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/build.bat"), replaceKeys)];
185
188
  case 14:
186
189
  _a.sent();
187
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/stop-app.bat"), replaceKeys)];
190
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/build.sh"), replaceKeys)];
188
191
  case 15:
189
192
  _a.sent();
190
- return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/stop-app.sh"), replaceKeys)];
193
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/start.bat"), replaceKeys)];
191
194
  case 16:
192
195
  _a.sent();
193
- return [4 /*yield*/, HotIO_1.HotIO.exists("".concat(outputDir, "/README.md"))];
196
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/start.sh"), replaceKeys)];
194
197
  case 17:
195
- if (!((_a.sent()) === true)) return [3 /*break*/, 21];
196
- return [4 /*yield*/, HotIO_1.HotIO.readTextFile("".concat(outputDir, "/README.md"))];
198
+ _a.sent();
199
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/stop.bat"), replaceKeys)];
197
200
  case 18:
198
- prevREADME = _a.sent();
199
- return [4 /*yield*/, HotIO_1.HotIO.readTextFile("".concat(dockerDir, "/README.md"))];
201
+ _a.sent();
202
+ return [4 /*yield*/, this.replaceKeysInFile("".concat(outputDir, "/stop.sh"), replaceKeys)];
200
203
  case 19:
201
- dockerREADME = _a.sent();
202
- if (!(prevREADME.indexOf("Docker Getting Started") < 0)) return [3 /*break*/, 21];
203
- return [4 /*yield*/, HotIO_1.HotIO.writeTextFile("".concat(outputDir, "/README.md"), "".concat(prevREADME, "\n").concat(dockerREADME))];
204
- case 20:
205
204
  _a.sent();
206
- _a.label = 21;
205
+ return [4 /*yield*/, HotIO_1.HotIO.exists("".concat(outputDir, "/README.md"))];
206
+ case 20:
207
+ if (!((_a.sent()) === true)) return [3 /*break*/, 24];
208
+ return [4 /*yield*/, HotIO_1.HotIO.readTextFile("".concat(outputDir, "/README.md"))];
207
209
  case 21:
208
- this.logger.info("Finished building Dockerfile \"".concat(hotsite.name, "\"..."));
209
- _a.label = 22;
210
+ prevREADME = _a.sent();
211
+ return [4 /*yield*/, HotIO_1.HotIO.readTextFile("".concat(dockerDir, "/README.md"))];
210
212
  case 22:
211
- iIdx++;
212
- return [3 /*break*/, 2];
213
+ dockerREADME = _a.sent();
214
+ if (!(prevREADME.indexOf("Docker Getting Started") < 0)) return [3 /*break*/, 24];
215
+ return [4 /*yield*/, HotIO_1.HotIO.writeTextFile("".concat(outputDir, "/README.md"), "".concat(prevREADME, "\n").concat(dockerREADME))];
213
216
  case 23:
214
- this.logger.info("Finished building docker files...");
217
+ _a.sent();
215
218
  _a.label = 24;
216
219
  case 24:
217
- if (!(this.dockerCompose === true)) return [3 /*break*/, 27];
218
- this.logger.info("Building Docker Compose files...");
219
- dockerDir = ppath.normalize("".concat(__dirname, "/../../builder/docker-compose"));
220
- return [4 /*yield*/, HotIO_1.HotIO.readTextFile(ppath.normalize("".concat(dockerDir, "/docker-compose.gen.yaml")))];
220
+ this.logger.info("Finished building Dockerfile \"".concat(hotsite.name, "\"..."));
221
+ _a.label = 25;
221
222
  case 25:
222
- dockerFileContent = _a.sent();
223
- return [4 /*yield*/, HotIO_1.HotIO.readTextFile(ppath.normalize("".concat(dockerDir, "/app/start.sh")))];
223
+ iIdx++;
224
+ return [3 /*break*/, 2];
224
225
  case 26:
225
- startFileContent = _a.sent();
226
- for (iIdx = 0; iIdx < this.hotsites.length; iIdx++) {
227
- hotsite = this.hotsites[iIdx];
228
- this.logger.info("Building Docker Compose files...");
229
- this.logger.info("Finished building Docker Compose \"".concat(hotsite.name, "\"..."));
230
- }
231
- this.logger.info("Finished building Docker Compose files...");
226
+ this.logger.info("Finished building docker files...");
232
227
  _a.label = 27;
233
228
  case 27: return [2 /*return*/];
234
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HotBuilder.js","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HotBuilder.js","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA8B;AAC9B,iCAAgC;AAEhC,qCAAoC;AAIpC;;GAEG;AACH;IA4CC,oBAAa,MAAc;QAE1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAE,UAAG,OAAO,CAAC,GAAG,EAAG,MAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACG,0BAAK,GAAX;;;;;4BAEiC,qBAAM,aAAK,CAAC,YAAY,CAAE,KAAK,CAAC,SAAS,CAAE,UAAG,SAAS,wBAAqB,CAAC,CAAC,EAAA;;wBAA1G,iBAAiB,GAAW,SAA8E;wBAC1G,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAE,iBAAiB,CAAC,CAAC;wBAEvD,IAAI,IAAI,CAAC,cAAc,KAAK,EAAE;4BAC7B,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;wBAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,4CAAqC,IAAI,CAAC,cAAc,CAAE,CAAC,CAAC;wBAE9E,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EACrB;4BACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,qBAAqB,CAAC,CAAC;4BAEzC,wBAAwB;4BAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,8BAA8B,CAAC,CAAC;yBAClD;6BAEG,CAAA,IAAI,CAAC,WAAW,KAAK,IAAI,CAAA,EAAzB,yBAAyB;wBAE5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,CAAC,CAAC;wBAExC,SAAS,GAAW,KAAK,CAAC,SAAS,CAAE,UAAG,SAAS,0BAAuB,CAAC,CAAC;wBAC5E,cAAc,GAAW,EAAE,CAAC;wBAEhC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EACtC;4BACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,yBAAyB,CAAC,CAAC;4BAC7C,cAAc,GAAG,KAAK,CAAC,SAAS,CAAE,UAAG,SAAS,mCAAgC,CAAC,CAAC;yBAChF;6BAED;4BACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,6BAA6B,CAAC,CAAC;4BACjD,cAAc,GAAG,KAAK,CAAC,SAAS,CAAE,UAAG,SAAS,0BAAuB,CAAC,CAAC;yBACvE;wBAEQ,IAAI,GAAG,CAAC;;;6BAAE,CAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;wBAEvC,OAAO,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,gCAAwB,OAAO,CAAC,IAAI,UAAM,CAAC,CAAC;wBAE9D,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI;4BACvB,MAAM,IAAI,KAAK,CAAE,kBAAW,OAAO,CAAC,WAAW,wBAAqB,CAAC,CAAC;wBAEvE,iBAAO,CAAC,gBAAgB,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAExC,WAAW,GAAW,OAAO,CAAC,IAAI,CAAC;wBACrC,SAAS,GAAW,KAAK,CAAC,SAAS,CAAE,UAAG,IAAI,CAAC,SAAS,MAAG,CAAC,CAAC;wBAC3D,kBAAkB,GAAW,EAAE,CAAC;wBAChC,QAAQ,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;wBACzF,SAAS,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC3F,WAAW,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;wBAC/F,YAAY,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;wBACjG,WAAW,GAAW,eAAQ,WAAW,kBAAe,CAAC;wBAE7D,qBAAM,aAAK,CAAC,KAAK,CAAE,UAAG,SAAS,qBAAW,WAAW,UAAO,CAAC,EAAA;;wBAA7D,SAA6D,CAAC;wBAE9D,IAAI,QAAQ,IAAI,IAAI,EACpB;4BACC,kBAAkB,IAAI,wBAAiB,QAAQ,sDAE/B,CAAC;yBACjB;wBAED,IAAI,SAAS,IAAI,IAAI,EACrB;4BACC,kBAAkB,IAAI,yBAAkB,SAAS,yDAEhC,CAAC;yBAClB;wBAED,IAAI,kBAAkB,KAAK,EAAE,EAC7B;4BACC,QAAQ,GAAG,IAAI,CAAC;4BAChB,kBAAkB,IAAI,qEAEN,CAAC;yBACjB;wBAED,IAAI,WAAW,IAAI,IAAI;4BACtB,WAAW,GAAG,IAAI,CAAC;wBAEhB,OAAO,GAAW,kBAAgB,CAAC;wBAEvC,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK;4BACtC,OAAO,GAAG,yBAAqB,CAAC;wBAE7B,WAAW,GAAG;4BAChB,QAAQ,EAAE,OAAO;4BACjB,SAAS,EAAE,IAAI,CAAC,eAAe;4BAC/B,YAAY,EAAE,WAAW;4BACzB,oBAAoB,EAAE,IAAI,CAAC,cAAc;4BACzC,gBAAgB,EAAE,kBAAkB;4BACpC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAG;4BAC/B,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAG;4BACtC,YAAY,EAAE,WAAW;yBACzB,CAAC;wBAEH,qBAAM,aAAK,CAAC,QAAQ,CAAE,cAAc,EAAE,UAAG,SAAS,qBAAW,WAAW,gBAAa,CAAC,EAAA;;wBAAtF,SAAsF,CAAC;wBACvF,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,qBAAW,WAAW,gBAAa,EAAE,WAAW,CAAC,EAAA;;wBAA3F,SAA2F,CAAC;wBAC5F,qBAAM,aAAK,CAAC,SAAS,CAAE,UAAG,SAAS,cAAW,EAAE,UAAG,SAAS,MAAG,CAAC,EAAA;;wBAAhE,SAAgE,CAAC;wBACjE,qBAAM,aAAK,CAAC,SAAS,CAAE,UAAG,SAAS,UAAO,EAAE,UAAG,SAAS,qBAAW,WAAW,UAAO,CAAC,EAAA;;wBAAtF,SAAsF,CAAC;wBACvF,qBAAM,aAAK,CAAC,QAAQ,CAAE,UAAG,SAAS,kBAAe,EAAE,UAAG,SAAS,mBAAgB,CAAC,EAAA;;wBAAhF,SAAgF,CAAC;wBACjF,qBAAM,aAAK,CAAC,QAAQ,CAAE,UAAG,SAAS,6BAA0B,EAAE,UAAG,SAAS,yBAAsB,CAAC,EAAA;;wBAAjG,SAAiG,CAAC;wBAClG,qBAAM,aAAK,CAAC,QAAQ,CAAE,UAAG,SAAS,kBAAe,EAAE,UAAG,SAAS,kBAAe,CAAC,EAAA;;wBAA/E,SAA+E,CAAC;wBAEhF,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,qBAAW,WAAW,kBAAe,EAAE,WAAW,CAAC,EAAA;;wBAA7F,SAA6F,CAAC;wBAC9F,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,qBAAW,WAAW,sBAAmB,EAAE,WAAW,CAAC,EAAA;;wBAAjG,SAAiG,CAAC;wBAElG,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,yBAAsB,EAAE,WAAW,CAAC,EAAA;;wBAA9E,SAA8E,CAAC;wBAC/E,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,eAAY,EAAE,WAAW,CAAC,EAAA;;wBAApE,SAAoE,CAAC;wBACrE,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,cAAW,EAAE,WAAW,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;wBACpE,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,eAAY,EAAE,WAAW,CAAC,EAAA;;wBAApE,SAAoE,CAAC;wBACrE,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,cAAW,EAAE,WAAW,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;wBACpE,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,cAAW,EAAE,WAAW,CAAC,EAAA;;wBAAnE,SAAmE,CAAC;wBACpE,qBAAM,IAAI,CAAC,iBAAiB,CAAE,UAAG,SAAS,aAAU,EAAE,WAAW,CAAC,EAAA;;wBAAlE,SAAkE,CAAC;wBAE/D,qBAAM,aAAK,CAAC,MAAM,CAAE,UAAG,SAAS,eAAY,CAAC,EAAA;;6BAA7C,CAAA,CAAA,SAA6C,MAAK,IAAI,CAAA,EAAtD,yBAAsD;wBAE9B,qBAAM,aAAK,CAAC,YAAY,CAAE,UAAG,SAAS,eAAY,CAAC,EAAA;;wBAAxE,UAAU,GAAW,SAAmD;wBACjD,qBAAM,aAAK,CAAC,YAAY,CAAE,UAAG,SAAS,eAAY,CAAC,EAAA;;wBAA1E,YAAY,GAAW,SAAmD;6BAG5E,CAAA,UAAU,CAAC,OAAO,CAAE,wBAAwB,CAAC,GAAG,CAAC,CAAA,EAAjD,yBAAiD;wBACpD,qBAAM,aAAK,CAAC,aAAa,CAAE,UAAG,SAAS,eAAY,EAAE,UAAG,UAAU,eAAK,YAAY,CAAE,CAAC,EAAA;;wBAAtF,SAAsF,CAAC;;;wBAGzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,yCAAiC,OAAO,CAAC,IAAI,UAAM,CAAC,CAAC;;;wBA5FxB,IAAI,EAAE,CAAA;;;wBA+FtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,mCAAmC,CAAC,CAAC;;;;;;KAExD;IAED;;OAEG;IACa,sCAAiB,GAAjC,UAAmC,QAAgB,EAAE,IAAiC;;;;;4BAE9D,qBAAM,aAAK,CAAC,YAAY,CAAE,QAAQ,CAAC,EAAA;;wBAAtD,QAAQ,GAAW,SAAmC;wBAE1D,KAAS,GAAG,IAAI,IAAI,EACpB;4BACK,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC;4BAE9B,QAAQ,GAAG,iBAAO,CAAC,UAAU,CAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;yBACrD;wBAED,qBAAM,aAAK,CAAC,aAAa,CAAE,QAAQ,EAAE,QAAQ,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;;;;;KAC/C;IACF,iBAAC;AAAD,CAAC,AAvND,IAuNC;AAvNY,gCAAU"}
@@ -59,6 +59,10 @@ export declare class HotCLI {
59
59
  * The build action to execute.
60
60
  */
61
61
  onBuildAction: () => Promise<void>;
62
+ /**
63
+ * The healthcheck action to execute.
64
+ */
65
+ onHealthcheckAction: () => Promise<void>;
62
66
  constructor();
63
67
  /**
64
68
  * Start the API server.
@@ -97,6 +101,10 @@ export declare class HotCLI {
97
101
  * Handle any agent commands.
98
102
  */
99
103
  handleAgentCommands(): Promise<commander.Command>;
104
+ /**
105
+ * Handle any healthcheck commands.
106
+ */
107
+ handleHealthcheckCommands(): Promise<commander.Command>;
100
108
  /**
101
109
  * Handle any generate commands.
102
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HotCLI.d.ts","sourceRoot":"","sources":["../../src/HotCLI.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAY7C;;GAEG;AACH,qBAAa,MAAM;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,EAAE,WAAW,CAAC;IAC5B;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE,CAAC;IACrC;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC;;OAEG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;;IAqBnC;;OAEG;IACG,cAAc,CAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAC5E,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA6E/E;;OAEG;IACH,eAAe,CAAE,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE;IAe9D;;OAEG;IACG,mBAAmB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IA+FxD;;OAEG;IACG,oBAAoB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAsJzD;;OAEG;IACH,QAAQ,CAAE,SAAS,EAAE,OAAO,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE;IA8B7D;;;;;;OAMG;IACG,iBAAiB,CAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAyvBrE;;OAEG;IACG,mBAAmB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAmFxD;;OAEG;IACG,sBAAsB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAsF3D;;OAEG;IACG,KAAK,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8K3C;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;CAiB7B"}
1
+ {"version":3,"file":"HotCLI.d.ts","sourceRoot":"","sources":["../../src/HotCLI.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAY7C;;GAEG;AACH,qBAAa,MAAM;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,EAAE,WAAW,CAAC;IAC5B;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE,CAAC;IACrC;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC;;OAEG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC;;OAEG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;;IAqBzC;;OAEG;IACG,cAAc,CAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAC5E,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA6E/E;;OAEG;IACH,eAAe,CAAE,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE;IAe9D;;OAEG;IACG,mBAAmB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAyFxD;;OAEG;IACG,oBAAoB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAsJzD;;OAEG;IACH,QAAQ,CAAE,SAAS,EAAE,OAAO,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE;IA8B7D;;;;;;OAMG;IACG,iBAAiB,CAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAyvBrE;;OAEG;IACG,mBAAmB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAmFxD;;OAEG;IACG,yBAAyB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAiE9D;;OAEG;IACG,sBAAsB,IAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAsF3D;;OAEG;IACG,KAAK,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoL3C;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;CAoB7B"}
@@ -54,12 +54,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
54
54
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
55
  }
56
56
  };
57
+ var __importDefault = (this && this.__importDefault) || function (mod) {
58
+ return (mod && mod.__esModule) ? mod : { "default": mod };
59
+ };
57
60
  Object.defineProperty(exports, "__esModule", { value: true });
58
61
  exports.HotCLI = void 0;
59
62
  var ppath = __importStar(require("path"));
60
63
  var fs = __importStar(require("fs"));
61
64
  var dotenv = __importStar(require("dotenv"));
62
65
  var commander = __importStar(require("commander"));
66
+ var node_fetch_1 = __importDefault(require("node-fetch"));
63
67
  var HotStaq_1 = require("./HotStaq");
64
68
  var HotHTTPServer_1 = require("./HotHTTPServer");
65
69
  var HotLog_1 = require("./HotLog");
@@ -253,10 +257,6 @@ var HotCLI = /** @class */ (function () {
253
257
  createHotBuilder();
254
258
  builder.appendReadMe = true;
255
259
  });
256
- buildCmd.option("--docker-compose", "Build the docker compose file from the given HotSite.json.", function (arg, previous) {
257
- createHotBuilder();
258
- builder.dockerCompose = true;
259
- });
260
260
  /*buildCmd.option ("--helm-chart", "Build a Kubernetes Helm Chart from the given HotSite.json.",
261
261
  (arg: string, previous: any) =>
262
262
  {
@@ -1050,6 +1050,71 @@ var HotCLI = /** @class */ (function () {
1050
1050
  });
1051
1051
  });
1052
1052
  };
1053
+ /**
1054
+ * Handle any healthcheck commands.
1055
+ */
1056
+ HotCLI.prototype.handleHealthcheckCommands = function () {
1057
+ return __awaiter(this, void 0, void 0, function () {
1058
+ var timeout, outputResult, healthcheckCmd;
1059
+ var _this = this;
1060
+ return __generator(this, function (_a) {
1061
+ timeout = 10000;
1062
+ outputResult = true;
1063
+ healthcheckCmd = new commander.Command("healthcheck");
1064
+ healthcheckCmd.description("Execute a healthcheck. Will exit with error code 1 if an HTTP status other than 200 returns.");
1065
+ healthcheckCmd.arguments("<url>");
1066
+ healthcheckCmd.action(function (url, cmdr) {
1067
+ _this.onHealthcheckAction = function () { return __awaiter(_this, void 0, void 0, function () {
1068
+ var controller_1, signalTimeout, res, text, ex_1;
1069
+ var _this = this;
1070
+ return __generator(this, function (_a) {
1071
+ switch (_a.label) {
1072
+ case 0:
1073
+ _a.trys.push([0, 3, , 4]);
1074
+ controller_1 = new AbortController();
1075
+ signalTimeout = setTimeout(function () {
1076
+ _this.processor.logger.error("Error: Timeout");
1077
+ controller_1.abort();
1078
+ process.exit(1);
1079
+ }, timeout);
1080
+ this.processor.logger.verbose("Starting healthcheck at ".concat(url));
1081
+ return [4 /*yield*/, (0, node_fetch_1.default)(url, {
1082
+ "signal": controller_1.signal
1083
+ })];
1084
+ case 1:
1085
+ res = _a.sent();
1086
+ clearTimeout(signalTimeout);
1087
+ if (res.status !== 200) {
1088
+ this.processor.logger.error("Error: Received ".concat(res.status));
1089
+ process.exit(1);
1090
+ }
1091
+ return [4 /*yield*/, res.text()];
1092
+ case 2:
1093
+ text = _a.sent();
1094
+ if (outputResult === true)
1095
+ this.processor.logger.info(text);
1096
+ process.exit(0);
1097
+ return [3 /*break*/, 4];
1098
+ case 3:
1099
+ ex_1 = _a.sent();
1100
+ this.processor.logger.error("Error: ".concat(ex_1.message));
1101
+ process.exit(1);
1102
+ return [3 /*break*/, 4];
1103
+ case 4: return [2 /*return*/];
1104
+ }
1105
+ });
1106
+ }); };
1107
+ });
1108
+ healthcheckCmd.option("--timeout <value>", "The number of milliseconds before timing out.", function (value, previous) {
1109
+ timeout = parseInt(value);
1110
+ });
1111
+ healthcheckCmd.option("--dont-output-result", "If set to true, the output from the url healthcheck will not output.", function (value, previous) {
1112
+ outputResult = false;
1113
+ });
1114
+ return [2 /*return*/, (healthcheckCmd)];
1115
+ });
1116
+ });
1117
+ };
1053
1118
  /**
1054
1119
  * Handle any generate commands.
1055
1120
  */
@@ -1140,12 +1205,12 @@ var HotCLI = /** @class */ (function () {
1140
1205
  */
1141
1206
  HotCLI.prototype.setup = function (args) {
1142
1207
  return __awaiter(this, void 0, void 0, function () {
1143
- var packageJSON, logLevel, envPath_1, program, command, hotsiteExists, foundHotsitePath, createCmd, runCmd, buildCmd, generateCmd, agentCmd, content, envVars, key, value, ex_1;
1208
+ var packageJSON, logLevel, envPath_1, program, command, hotsiteExists, foundHotsitePath, createCmd, runCmd, buildCmd, generateCmd, agentCmd, healthcheckCmd, content, envVars, key, value, ex_2;
1144
1209
  var _this = this;
1145
1210
  return __generator(this, function (_a) {
1146
1211
  switch (_a.label) {
1147
1212
  case 0:
1148
- _a.trys.push([0, 18, , 19]);
1213
+ _a.trys.push([0, 19, , 20]);
1149
1214
  return [4 /*yield*/, HotIO_1.HotIO.exists(this.packagePath)];
1150
1215
  case 1:
1151
1216
  if (!((_a.sent()) === false)) return [3 /*break*/, 3];
@@ -1264,11 +1329,15 @@ var HotCLI = /** @class */ (function () {
1264
1329
  case 14:
1265
1330
  agentCmd = _a.sent();
1266
1331
  command.addCommand(agentCmd);
1267
- return [4 /*yield*/, HotIO_1.HotIO.exists(envPath_1)];
1332
+ return [4 /*yield*/, this.handleHealthcheckCommands()];
1268
1333
  case 15:
1269
- if (!((_a.sent()) === true)) return [3 /*break*/, 17];
1270
- return [4 /*yield*/, HotIO_1.HotIO.readTextFile(envPath_1)];
1334
+ healthcheckCmd = _a.sent();
1335
+ command.addCommand(healthcheckCmd);
1336
+ return [4 /*yield*/, HotIO_1.HotIO.exists(envPath_1)];
1271
1337
  case 16:
1338
+ if (!((_a.sent()) === true)) return [3 /*break*/, 18];
1339
+ return [4 /*yield*/, HotIO_1.HotIO.readTextFile(envPath_1)];
1340
+ case 17:
1272
1341
  content = _a.sent();
1273
1342
  envVars = dotenv.parse(content);
1274
1343
  for (key in envVars) {
@@ -1276,16 +1345,18 @@ var HotCLI = /** @class */ (function () {
1276
1345
  if (value != null)
1277
1346
  process.env[key] = value;
1278
1347
  }
1279
- _a.label = 17;
1280
- case 17:
1348
+ _a.label = 18;
1349
+ case 18:
1281
1350
  if (args.length > 2)
1282
1351
  program.parse(args);
1283
- return [3 /*break*/, 19];
1284
- case 18:
1285
- ex_1 = _a.sent();
1286
- this.processor.logger.error(ex_1.stack);
1287
- return [3 /*break*/, 19];
1288
- case 19: return [2 /*return*/];
1352
+ if (this.globalLogLevel != null)
1353
+ this.processor.logger.logLevel = this.globalLogLevel;
1354
+ return [3 /*break*/, 20];
1355
+ case 19:
1356
+ ex_2 = _a.sent();
1357
+ this.processor.logger.error(ex_2.stack);
1358
+ return [3 /*break*/, 20];
1359
+ case 20: return [2 /*return*/];
1289
1360
  }
1290
1361
  });
1291
1362
  });
@@ -1327,7 +1398,13 @@ var HotCLI = /** @class */ (function () {
1327
1398
  case 9:
1328
1399
  _a.sent();
1329
1400
  _a.label = 10;
1330
- case 10: return [2 /*return*/];
1401
+ case 10:
1402
+ if (!(this.onHealthcheckAction != null)) return [3 /*break*/, 12];
1403
+ return [4 /*yield*/, this.onHealthcheckAction()];
1404
+ case 11:
1405
+ _a.sent();
1406
+ _a.label = 12;
1407
+ case 12: return [2 /*return*/];
1331
1408
  }
1332
1409
  });
1333
1410
  });