@alwaysai/device-agent 0.1.5 → 0.2.0

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 (41) hide show
  1. package/lib/application-control/install.d.ts.map +1 -1
  2. package/lib/application-control/install.js +13 -0
  3. package/lib/application-control/install.js.map +1 -1
  4. package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
  5. package/lib/cloud-connection/passthrough-handler.js +4 -2
  6. package/lib/cloud-connection/passthrough-handler.js.map +1 -1
  7. package/lib/environment.d.ts +3 -0
  8. package/lib/environment.d.ts.map +1 -1
  9. package/lib/environment.js +4 -1
  10. package/lib/environment.js.map +1 -1
  11. package/lib/index.js +0 -0
  12. package/lib/local-connection/constants.d.ts +4 -0
  13. package/lib/local-connection/constants.d.ts.map +1 -0
  14. package/lib/local-connection/constants.js +14 -0
  15. package/lib/local-connection/constants.js.map +1 -0
  16. package/lib/local-connection/rabbitmq-connection.d.ts +1 -1
  17. package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -1
  18. package/lib/local-connection/rabbitmq-connection.js +13 -2
  19. package/lib/local-connection/rabbitmq-connection.js.map +1 -1
  20. package/lib/secure-tunneling/index.js +5 -7
  21. package/lib/secure-tunneling/index.js.map +1 -1
  22. package/lib/subcommands/device/clean.d.ts.map +1 -1
  23. package/lib/subcommands/device/clean.js +13 -0
  24. package/lib/subcommands/device/clean.js.map +1 -1
  25. package/lib/urls.d.ts +1 -1
  26. package/lib/urls.d.ts.map +1 -1
  27. package/lib/urls.js +2 -1
  28. package/lib/urls.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/application-control/install.ts +19 -0
  31. package/src/cloud-connection/passthrough-handler.ts +12 -2
  32. package/src/environment.ts +7 -0
  33. package/src/local-connection/constants.ts +16 -0
  34. package/src/local-connection/rabbitmq-connection.ts +18 -2
  35. package/src/secure-tunneling/index.ts +5 -7
  36. package/src/subcommands/device/clean.ts +21 -1
  37. package/src/urls.ts +3 -1
  38. package/lib/docker/secure-tunnel-docker.d.ts +0 -2
  39. package/lib/docker/secure-tunnel-docker.d.ts.map +0 -1
  40. package/lib/docker/secure-tunnel-docker.js +0 -49
  41. package/lib/docker/secure-tunnel-docker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAoBlE,aAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,EAAE;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAQpE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,oBAAoB,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DhB;AA+ED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AA0BlE,aAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,EAAE;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAQpE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,oBAAoB,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DhB;AAyFD,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
@@ -16,6 +16,8 @@ const constants_1 = require("alwaysai/lib/constants");
16
16
  const run_in_dir_1 = require("../util/run-in-dir");
17
17
  const models_1 = require("./models");
18
18
  const logger_1 = require("../util/logger");
19
+ const config_1 = require("./config");
20
+ const constants_2 = require("../local-connection/constants");
19
21
  const paths_1 = require("alwaysai/lib/paths");
20
22
  async function getInstalledApps() {
21
23
  const apps = await (0, agent_config_1.AgentConfigFile)().getApps();
@@ -64,6 +66,8 @@ async function installApp(props) {
64
66
  // calls that check the user is logged in and also for project collaboration
65
67
  // NOTE: this process no longer checks project collaboration
66
68
  await checkValidProjectFiles({ appDir });
69
+ const DACfg = await createAppCfgDeviceAgentConnection();
70
+ await (0, config_1.updateAppCfgFile)({ projectId, newAppCfg: DACfg });
67
71
  await installAppBuildReqs({ appDir });
68
72
  await (0, models_1.installModelsWithPresignedURLs)(signedUrlsPayload.modelsInstallPayload, path.join(appDir, 'models'));
69
73
  await (0, utils_1.buildApp)({ appDir });
@@ -75,6 +79,15 @@ async function installApp(props) {
75
79
  logger_1.logger.info(`Completed installing ${projectId}:${appReleaseHash}`);
76
80
  }
77
81
  exports.installApp = installApp;
82
+ async function createAppCfgDeviceAgentConnection() {
83
+ return {
84
+ device_agent_connection: {
85
+ host: `${constants_2.LOCAL_CONNECTION_HOST}`,
86
+ port: constants_2.LOCAL_CONNECTION_PORT,
87
+ routing_key: `${constants_2.LOCAL_CONNECTION_ROUTING_KEY}`
88
+ }
89
+ };
90
+ }
78
91
  async function installAppBuildReqs(props) {
79
92
  const { appDir } = props;
80
93
  const targetJsonFile = (0, app_1.TargetJsonFile)(appDir);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"passthrough-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,qBAAa,kBAAkB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,MAAC;IACX,OAAO,MAAC;IACR,WAAW,MAAC;gBAEP,SAAS,EAAE,SAAS;IAInB,KAAK;CAmCnB;AAqBD,wBAAsB,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,iBAetE"}
1
+ {"version":3,"file":"passthrough-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,qBAAa,kBAAkB;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,MAAC;IACX,OAAO,MAAC;IACR,WAAW,MAAC;gBAEP,SAAS,EAAE,SAAS;IAInB,KAAK;CAwCnB;AAqBD,wBAAsB,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,iBAetE"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runChannel = exports.PassthroughHandler = void 0;
4
4
  // eslint-disable-next-line
5
5
  const amqp = require('amqplib');
6
+ const constants_1 = require("../local-connection/constants");
6
7
  const rabbitmq_connection_1 = require("../local-connection/rabbitmq-connection");
7
8
  const logger_1 = require("../util/logger");
8
9
  const sleep_1 = require("../util/sleep");
@@ -17,10 +18,11 @@ class PassthroughHandler {
17
18
  await (0, rabbitmq_connection_1.setupRabbitMQContainer)();
18
19
  let connectAttempts = 0;
19
20
  let connected = false;
21
+ logger_1.logger.debug(`Setting up alwaysAI Local Connection on host: ${constants_1.LOCAL_CONNECTION_HOST} and channel key: ${constants_1.LOCAL_CONNECTION_ROUTING_KEY}`);
20
22
  while (connectAttempts <= MAX_LOCAL_CONNECTION_ATTEMPTS &&
21
23
  this.connection === undefined) {
22
24
  try {
23
- this.connection = await amqp.connect('amqp://localhost');
25
+ this.connection = await amqp.connect(`amqp://${constants_1.LOCAL_CONNECTION_HOST}:${constants_1.LOCAL_CONNECTION_PORT}`);
24
26
  this.channel = await this.connection.createChannel();
25
27
  connected = true;
26
28
  }
@@ -33,7 +35,7 @@ class PassthroughHandler {
33
35
  }
34
36
  if (connected === true) {
35
37
  this.channel.prefetch(1); // This ensures we only get one packet at a time! This appears to have prevented throttling
36
- this.packetQueue = 'edgeiq-analytics-publish';
38
+ this.packetQueue = `${constants_1.LOCAL_CONNECTION_ROUTING_KEY}`;
37
39
  await this.channel.assertQueue(this.packetQueue, {
38
40
  durable: true
39
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"passthrough-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passthrough-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,7 @@ export declare const ALWAYSAI_LOG_LEVEL: string | undefined;
6
6
  export declare const ALWAYSAI_LOG_TO_CONSOLE: string | undefined;
7
7
  export declare const ALWAYSAI_ANALYTICS_PASSTHROUGH: boolean;
8
8
  export declare const ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS: string | undefined;
9
+ export declare const ALWAYSAI_LOCAL_CONNECTION_HOST: string | undefined;
10
+ export declare const ALWAYSAI_LOCAL_CONNECTION_PORT: string | undefined;
11
+ export declare const ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY: string | undefined;
9
12
  //# sourceMappingURL=environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,oBAAoB,iBAEhC,CAAC;AACF,eAAO,MAAM,oBAAoB,SAEhC,CAAC;AACF,eAAO,MAAM,0BAA0B,oBACC,CAAC;AACzC,eAAO,MAAM,kBAAkB,oBAAiC,CAAC;AACjE,eAAO,MAAM,uBAAuB,oBAAsC,CAAC;AAC3E,eAAO,MAAM,8BAA8B,SAE1C,CAAC;AACF,eAAO,MAAM,gCAAgC,oBACC,CAAC"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,oBAAoB,iBAEhC,CAAC;AACF,eAAO,MAAM,oBAAoB,SAEhC,CAAC;AACF,eAAO,MAAM,0BAA0B,oBACC,CAAC;AACzC,eAAO,MAAM,kBAAkB,oBAAiC,CAAC;AACjE,eAAO,MAAM,uBAAuB,oBAAsC,CAAC;AAC3E,eAAO,MAAM,8BAA8B,SAE1C,CAAC;AACF,eAAO,MAAM,gCAAgC,oBACC,CAAC;AAE/C,eAAO,MAAM,8BAA8B,oBACC,CAAC;AAC7C,eAAO,MAAM,8BAA8B,oBACC,CAAC;AAC7C,eAAO,MAAM,+CAA+C,oBACC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS = exports.ALWAYSAI_ANALYTICS_PASSTHROUGH = exports.ALWAYSAI_LOG_TO_CONSOLE = exports.ALWAYSAI_LOG_LEVEL = exports.ALWAYSAI_DEVICE_AGENT_MODE = exports.ALWAYSAI_SHOW_HIDDEN = exports.ALWAYSAI_OS_PLATFORM = void 0;
3
+ exports.ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY = exports.ALWAYSAI_LOCAL_CONNECTION_PORT = exports.ALWAYSAI_LOCAL_CONNECTION_HOST = exports.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS = exports.ALWAYSAI_ANALYTICS_PASSTHROUGH = exports.ALWAYSAI_LOG_TO_CONSOLE = exports.ALWAYSAI_LOG_LEVEL = exports.ALWAYSAI_DEVICE_AGENT_MODE = exports.ALWAYSAI_SHOW_HIDDEN = exports.ALWAYSAI_OS_PLATFORM = void 0;
4
4
  const os_1 = require("os");
5
5
  exports.ALWAYSAI_OS_PLATFORM = parseOsPlatform(process.env.ALWAYSAI_OS_PLATFORM);
6
6
  exports.ALWAYSAI_SHOW_HIDDEN = parseBoolean(process.env.ALWAYSAI_SHOW_HIDDEN);
@@ -9,6 +9,9 @@ exports.ALWAYSAI_LOG_LEVEL = process.env.ALWAYSAI_LOG_LEVEL;
9
9
  exports.ALWAYSAI_LOG_TO_CONSOLE = process.env.ALWAYSAI_LOG_TO_CONSOLE;
10
10
  exports.ALWAYSAI_ANALYTICS_PASSTHROUGH = parseBoolean(process.env.ALWAYSAI_ANALYTICS_PASSTHROUGH);
11
11
  exports.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS = process.env.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS;
12
+ exports.ALWAYSAI_LOCAL_CONNECTION_HOST = process.env.ALWAYSAI_LOCAL_CONNECTION_HOST;
13
+ exports.ALWAYSAI_LOCAL_CONNECTION_PORT = process.env.ALWAYSAI_LOCAL_CONNECTION_PORT;
14
+ exports.ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY = process.env.ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY;
12
15
  function parseOsPlatform(str) {
13
16
  switch (str) {
14
17
  case 'win32':
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAEjB,QAAA,oBAAoB,GAAG,eAAe,CACjD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACjC,CAAC;AACW,QAAA,oBAAoB,GAAG,YAAY,CAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACjC,CAAC;AACW,QAAA,0BAA0B,GACrC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAC5B,QAAA,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACpD,QAAA,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AAC9D,QAAA,8BAA8B,GAAG,YAAY,CACxD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAC3C,CAAC;AACW,QAAA,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;AAE/C,SAAS,eAAe,CAAC,GAAuB;IAC9C,QAAQ,GAAG,EAAE;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,GAAG,CAAC;SACZ;QACD;YACE,OAAO,IAAA,aAAQ,GAAE,CAAC;KACrB;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB;IAC3C,OAAO,GAAG,KAAK,GAAG,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAEjB,QAAA,oBAAoB,GAAG,eAAe,CACjD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACjC,CAAC;AACW,QAAA,oBAAoB,GAAG,YAAY,CAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CACjC,CAAC;AACW,QAAA,0BAA0B,GACrC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAC5B,QAAA,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACpD,QAAA,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AAC9D,QAAA,8BAA8B,GAAG,YAAY,CACxD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAC3C,CAAC;AACW,QAAA,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;AAElC,QAAA,8BAA8B,GACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;AAChC,QAAA,8BAA8B,GACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;AAChC,QAAA,+CAA+C,GAC1D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;AAE9D,SAAS,eAAe,CAAC,GAAuB;IAC9C,QAAQ,GAAG,EAAE;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,GAAG,CAAC;SACZ;QACD;YACE,OAAO,IAAA,aAAQ,GAAE,CAAC;KACrB;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB;IAC3C,OAAO,GAAG,KAAK,GAAG,CAAC;AACrB,CAAC"}
package/lib/index.js CHANGED
File without changes
@@ -0,0 +1,4 @@
1
+ export declare const LOCAL_CONNECTION_HOST: string;
2
+ export declare const LOCAL_CONNECTION_PORT: number;
3
+ export declare const LOCAL_CONNECTION_ROUTING_KEY: string;
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/local-connection/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,QAEnB,CAAC;AAChB,eAAO,MAAM,qBAAqB,QAE1B,CAAC;AACT,eAAO,MAAM,4BAA4B,QAGT,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOCAL_CONNECTION_ROUTING_KEY = exports.LOCAL_CONNECTION_PORT = exports.LOCAL_CONNECTION_HOST = void 0;
4
+ const environment_1 = require("../environment");
5
+ exports.LOCAL_CONNECTION_HOST = environment_1.ALWAYSAI_LOCAL_CONNECTION_HOST
6
+ ? environment_1.ALWAYSAI_LOCAL_CONNECTION_HOST
7
+ : 'localhost';
8
+ exports.LOCAL_CONNECTION_PORT = environment_1.ALWAYSAI_LOCAL_CONNECTION_PORT
9
+ ? parseInt(environment_1.ALWAYSAI_LOCAL_CONNECTION_PORT)
10
+ : 5672;
11
+ exports.LOCAL_CONNECTION_ROUTING_KEY = environment_1.ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY
12
+ ? environment_1.ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY
13
+ : 'edgeiq-analytics-publish';
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/local-connection/constants.ts"],"names":[],"mappings":";;;AAAA,gDAIwB;AAEX,QAAA,qBAAqB,GAAG,4CAA8B;IACjE,CAAC,CAAC,4CAA8B;IAChC,CAAC,CAAC,WAAW,CAAC;AACH,QAAA,qBAAqB,GAAG,4CAA8B;IACjE,CAAC,CAAC,QAAQ,CAAC,4CAA8B,CAAC;IAC1C,CAAC,CAAC,IAAI,CAAC;AACI,QAAA,4BAA4B,GACvC,6DAA+C;IAC7C,CAAC,CAAC,6DAA+C;IACjD,CAAC,CAAC,0BAA0B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export declare const rabbitMQServiceName = "alwaysAIRabbitMQ";
2
2
  export declare const rabbitMQContainerName = "alwaysAIRabbitMQContainer";
3
- export declare function checkRabbitMQContainerRunning(): Promise<boolean | undefined>;
3
+ export declare function checkRabbitMQContainerRunning(): Promise<boolean>;
4
4
  export declare function writeRabbitMQDockerComposeFile(): Promise<void>;
5
5
  export declare function setupRabbitMQContainer(): Promise<void>;
6
6
  export declare function stopRabbitMQContainer(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-connection.d.ts","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-connection.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE,wBAAsB,6BAA6B,iCAelD;AAED,wBAAsB,8BAA8B,kBAuBnD;AAED,wBAAsB,sBAAsB,kBA2B3C;AAED,wBAAsB,qBAAqB,kBAa1C"}
1
+ {"version":3,"file":"rabbitmq-connection.d.ts","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-connection.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE,wBAAsB,6BAA6B,qBAwBlD;AAED,wBAAsB,8BAA8B,kBA4BnD;AAED,wBAAsB,sBAAsB,kBA2B3C;AAED,wBAAsB,qBAAqB,kBAc1C"}
@@ -7,10 +7,16 @@ const docker_compose_1 = require("docker-compose");
7
7
  const YAML = require("yaml");
8
8
  const directories_1 = require("../util/directories");
9
9
  const util_1 = require("alwaysai/lib/util");
10
+ const constants_1 = require("./constants");
10
11
  exports.rabbitMQServiceName = 'alwaysAIRabbitMQ';
11
12
  exports.rabbitMQContainerName = 'alwaysAIRabbitMQContainer';
12
13
  async function checkRabbitMQContainerRunning() {
13
14
  logger_1.logger.debug('Checking alwaysAI Local Connection Container status');
15
+ const spawner = (0, util_1.JsSpawner)();
16
+ if (!(await spawner.exists(directories_1.DEVICE_AGENT_DOCKER_COMPOSE_PATH))) {
17
+ logger_1.logger.warn('alwaysAI Location Connection configuration file is not present');
18
+ return false;
19
+ }
14
20
  const containerData = await docker_compose_1.default.ps({ cwd: directories_1.DEVICE_AGENT_CFG_PATH });
15
21
  if (!(containerData === undefined)) {
16
22
  const rabbitmqService = containerData.data.services[0];
@@ -22,6 +28,8 @@ async function checkRabbitMQContainerRunning() {
22
28
  logger_1.logger.debug('alwaysAI Local Connection is not running');
23
29
  return false;
24
30
  }
31
+ logger_1.logger.warn('alwaysAI Local Connection container was undefined');
32
+ return false;
25
33
  }
26
34
  exports.checkRabbitMQContainerRunning = checkRabbitMQContainerRunning;
27
35
  async function writeRabbitMQDockerComposeFile() {
@@ -29,14 +37,16 @@ async function writeRabbitMQDockerComposeFile() {
29
37
  if (!(await spawner.exists(directories_1.DEVICE_AGENT_CFG_PATH))) {
30
38
  await (0, util_1.JsSpawner)().mkdirp(directories_1.DEVICE_AGENT_CFG_PATH);
31
39
  }
40
+ logger_1.logger.debug(`Writing Local Connection Docker compose files with Local Connection port: ${constants_1.LOCAL_CONNECTION_PORT}`);
32
41
  const rabbitmqDockerComposeCmd = {
33
42
  services: {
34
43
  [exports.rabbitMQServiceName]: {
35
44
  container_name: exports.rabbitMQContainerName,
36
45
  image: 'rabbitmq:3.11',
37
- ports: ['5672:5672'],
46
+ ports: [`${constants_1.LOCAL_CONNECTION_PORT}:${constants_1.LOCAL_CONNECTION_PORT}`],
38
47
  hostname: 'my-rabbit',
39
- restart: 'on-failure'
48
+ restart: 'on-failure',
49
+ environment: [`RABBITMQ_NODE_PORT=${constants_1.LOCAL_CONNECTION_PORT}`]
40
50
  }
41
51
  }
42
52
  };
@@ -70,6 +80,7 @@ exports.setupRabbitMQContainer = setupRabbitMQContainer;
70
80
  async function stopRabbitMQContainer() {
71
81
  try {
72
82
  const downOut = await docker_compose_1.default.down({ cwd: directories_1.DEVICE_AGENT_CFG_PATH });
83
+ logger_1.logger.debug(`Stopping alwaysAI Local Connection container`);
73
84
  logger_1.logger.debug(`Docker compose down for alwaysAI Local Connection:\n${JSON.stringify(downOut)}`);
74
85
  }
75
86
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-connection.js","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rabbitmq-connection.js","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-connection.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,yCAAkC;AAClC,mDAAqC;AACrC,6BAA6B;AAE7B,qDAG6B;AAC7B,4CAA8C;AAC9C,2CAAoD;AAEvC,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,qBAAqB,GAAG,2BAA2B,CAAC;AAE1D,KAAK,UAAU,6BAA6B;IACjD,eAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,8CAAgC,CAAC,CAAC,EAAE;QAC7D,eAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;QACF,OAAO,KAAK,CAAC;KACd;IACD,MAAM,aAAa,GAAG,MAAM,wBAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,mCAAqB,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,EAAE;QAClC,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvD,IACE,eAAe,CAAC,IAAI,KAAK,6BAAqB;YAC9C,eAAe,CAAC,KAAK,KAAK,IAAI,EAC9B;YACA,eAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;SACb;QACD,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;KACd;IACD,eAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC;AAxBD,sEAwBC;AAEM,KAAK,UAAU,8BAA8B;IAClD,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,mCAAqB,CAAC,CAAC,EAAE;QAClD,MAAM,IAAA,gBAAS,GAAE,CAAC,MAAM,CAAC,mCAAqB,CAAC,CAAC;KACjD;IAED,eAAM,CAAC,KAAK,CACV,6EAA6E,iCAAqB,EAAE,CACrG,CAAC;IAEF,MAAM,wBAAwB,GAAG;QAC/B,QAAQ,EAAE;YACR,CAAC,2BAAmB,CAAC,EAAE;gBACrB,cAAc,EAAE,6BAAqB;gBACrC,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC,GAAG,iCAAqB,IAAI,iCAAqB,EAAE,CAAC;gBAC5D,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,YAAY;gBACrB,WAAW,EAAE,CAAC,sBAAsB,iCAAqB,EAAE,CAAC;aAC7D;SACF;KACF,CAAC;IAEF,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC3E,MAAM,OAAO,CAAC,SAAS,CACrB,8CAAgC,EAChC,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AA5BD,wEA4BC;AAEM,KAAK,UAAU,sBAAsB;IAC1C,eAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC5E,IAAI;QACF,MAAM,8BAA8B,EAAE,CAAC;KACxC;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CACV,8FAA8F,CAC/F,CAAC;KACH;IACD,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,wBAAO,CAAC,KAAK,CAAC;YAChC,GAAG,EAAE,mCAAqB;SAC3B,CAAC,CAAC;QACH,eAAM,CAAC,KAAK,CACV,qDAAqD,IAAI,CAAC,SAAS,CACjE,KAAK,CACN,EAAE,CACJ,CAAC;QACF,+BAA+B;QAC/B,OAAO,CAAC,CAAC,MAAM,6BAA6B,EAAE,CAAC,EAAE;YAC/C,MAAM,IAAA,eAAK,EAAC,EAAE,CAAC,CAAC;SACjB;KACF;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CACV,sEAAsE,CAAC,CAAC,QAAQ,EAAE,CACnF,CAAC;KACH;AACH,CAAC;AA3BD,wDA2BC;AAEM,KAAK,UAAU,qBAAqB;IACzC,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,wBAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mCAAqB,EAAE,CAAC,CAAC;QACnE,eAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,eAAM,CAAC,KAAK,CACV,uDAAuD,IAAI,CAAC,SAAS,CACnE,OAAO,CACR,EAAE,CACJ,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CACV,qEAAqE,CAAC,CAAC,OAAO,EAAE,CACjF,CAAC;KACH;AACH,CAAC;AAdD,sDAcC"}
@@ -26,8 +26,8 @@ async function secureTunnelNotifyHandler(message) {
26
26
  '-t',
27
27
  clientAccessToken
28
28
  ];
29
- await (0, util_1.JsSpawner)({ path: directories_1.SECURE_TUNNEL_BIN_DIR }).run({
30
- exe: `./${directories_1.SECURE_TUNNEL_BIN_NAME}`,
29
+ await (0, util_1.JsSpawner)().run({
30
+ exe: `${directories_1.SECURE_TUNNEL_BIN_PATH}`,
31
31
  args
32
32
  });
33
33
  }
@@ -43,10 +43,10 @@ async function downloadSecureTunnel() {
43
43
  path: directories_1.SECURE_TUNNEL_BIN_PATH,
44
44
  errorMessage: `Secure Tunnel bin for ${linuxDistro} ${osVersion} ${arch} not found}`
45
45
  });
46
- const spawner = (0, util_1.JsSpawner)({ path: directories_1.SECURE_TUNNEL_BIN_DIR });
46
+ const spawner = (0, util_1.JsSpawner)();
47
47
  await spawner.run({
48
48
  exe: 'chmod',
49
- args: ['+x', directories_1.SECURE_TUNNEL_BIN_NAME]
49
+ args: ['+x', directories_1.SECURE_TUNNEL_BIN_PATH]
50
50
  });
51
51
  }
52
52
  async function terminateSecureTunnelProcess() {
@@ -58,9 +58,7 @@ async function terminateSecureTunnelProcess() {
58
58
  });
59
59
  }
60
60
  catch (e) {
61
- console.log(e);
62
- //check exit codes
63
- console.log('No secure tunnel process to kill');
61
+ logger_1.logger.debug('Proccess terminated if status code is 1');
64
62
  }
65
63
  }
66
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/secure-tunneling/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,qDAK6B;AAC7B,8CAA6C;AAC7C,4CAA8C;AAC9C,+BAA4B;AAC5B,2CAAwC;AACxC,kCAAgD;AAChD,qDAA6E;AAEtE,KAAK,UAAU,yBAAyB,CAAC,OAG/C;IACC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,4BAA4B,EAAE,CAAC;IACrC,MAAM,oBAAoB,EAAE,CAAC;IAC7B,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG;QACX,mBAAmB;QACnB,IAAI;QACJ,UAAU;QACV,MAAM;QACN,UAAU;QACV,4CAA8B;QAC9B,sBAAsB;QACtB,SAAS;QACT,IAAI;QACJ,iBAAiB;KAClB,CAAC;IAEF,MAAM,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,mCAAqB,EAAE,CAAC,CAAC,GAAG,CAAC;QACnD,GAAG,EAAE,KAAK,oCAAsB,EAAE;QAClC,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AA1BD,8DA0BC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAO,GAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAe,GAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAY,GAAE,CAAC;IAEvC,MAAM,GAAG,GAAG,GAAG,4BAAqB,iBAAiB,WAAW,IAAI,SAAS,IAAI,IAAI,IAAI,oCAAsB,EAAE,CAAC;IAElH,MAAM,IAAA,gBAAS,GAAE,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,eAAO,EAAE,mCAAqB,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAA,4BAAY,EAAC;QACjB,GAAG;QACH,IAAI,EAAE,oCAAsB;QAC5B,YAAY,EAAE,yBAAyB,WAAW,IAAI,SAAS,IAAI,IAAI,aAAa;KACrF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,mCAAqB,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,CAAC,IAAI,EAAE,oCAAsB,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,4BAA4B;IACzC,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,IAAI;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,CAAC,oCAAsB,CAAC;SAC/B,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;KACjD;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/secure-tunneling/index.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,qDAK6B;AAC7B,8CAA6C;AAC7C,4CAA8C;AAC9C,+BAA4B;AAC5B,2CAAwC;AACxC,kCAAgD;AAChD,qDAA6E;AAEtE,KAAK,UAAU,yBAAyB,CAAC,OAG/C;IACC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,4BAA4B,EAAE,CAAC;IACrC,MAAM,oBAAoB,EAAE,CAAC;IAC7B,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG;QACX,mBAAmB;QACnB,IAAI;QACJ,UAAU;QACV,MAAM;QACN,UAAU;QACV,4CAA8B;QAC9B,sBAAsB;QACtB,SAAS;QACT,IAAI;QACJ,iBAAiB;KAClB,CAAC;IAEF,MAAM,IAAA,gBAAS,GAAE,CAAC,GAAG,CAAC;QACpB,GAAG,EAAE,GAAG,oCAAsB,EAAE;QAChC,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AA1BD,8DA0BC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAO,GAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAe,GAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAY,GAAE,CAAC;IAEvC,MAAM,GAAG,GAAG,GAAG,4BAAqB,iBAAiB,WAAW,IAAI,SAAS,IAAI,IAAI,IAAI,oCAAsB,EAAE,CAAC;IAElH,MAAM,IAAA,gBAAS,GAAE,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,eAAO,EAAE,mCAAqB,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAA,4BAAY,EAAC;QACjB,GAAG;QACH,IAAI,EAAE,oCAAsB;QAC5B,YAAY,EAAE,yBAAyB,WAAW,IAAI,SAAS,IAAI,IAAI,aAAa;KACrF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,CAAC,IAAI,EAAE,oCAAsB,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,4BAA4B;IACzC,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,IAAI;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,CAAC,oCAAsB,CAAC;SAC/B,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;KACzD;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,yKAiBvB,CAAC"}
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,YAAY,yKA4BvB,CAAC"}
@@ -7,11 +7,24 @@ const logger_1 = require("../../util/logger");
7
7
  const agent_config_1 = require("../../infrastructure/agent-config");
8
8
  const device_1 = require("alwaysai/lib/core/device");
9
9
  const directories_1 = require("../../util/directories");
10
+ const rabbitmq_connection_1 = require("../../local-connection/rabbitmq-connection");
11
+ const application_control_1 = require("../../application-control");
10
12
  const paths_1 = require("alwaysai/lib/paths");
11
13
  exports.cleanCliLeaf = (0, alwayscli_1.CliLeaf)({
12
14
  name: 'clean',
13
15
  description: 'Remove all provisioning files',
14
16
  async action(_, opts) {
17
+ if (await (0, rabbitmq_connection_1.checkRabbitMQContainerRunning)()) {
18
+ await (0, rabbitmq_connection_1.stopRabbitMQContainer)();
19
+ }
20
+ logger_1.logger.debug(`Removing ${directories_1.DEVICE_AGENT_CFG_PATH}`);
21
+ await (0, rimraf_1.rimraf)(directories_1.DEVICE_AGENT_CFG_PATH);
22
+ logger_1.logger.debug('Checking for alwaysAI applications still running');
23
+ const apps = await (0, agent_config_1.AgentConfigFile)().getApps();
24
+ for (const app of apps) {
25
+ const { projectId } = app;
26
+ await (0, application_control_1.stopApp)({ projectId });
27
+ }
15
28
  logger_1.logger.info('Cleaning device configuration');
16
29
  logger_1.logger.debug(`Removing ${paths_1.LOCAL_CERT_AND_KEY_DIR}`);
17
30
  await (0, rimraf_1.rimraf)(paths_1.LOCAL_CERT_AND_KEY_DIR);
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,mCAAgC;AAChC,8CAA2C;AAC3C,oEAAoE;AACpE,qDAA4D;AAC5D,wDAAyE;AACzE,8CAA4D;AAE/C,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,+BAA+B;IAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,eAAM,CAAC,KAAK,CAAC,YAAY,8BAAsB,EAAE,CAAC,CAAC;QACnD,MAAM,IAAA,eAAM,EAAC,8BAAsB,CAAC,CAAC;QACrC,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,8BAAe,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAA,8BAAe,GAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,yBAAgB,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,yBAAgB,GAAE,CAAC,MAAM,EAAE,CAAC;QAC5B,eAAM,CAAC,KAAK,CAAC,YAAY,mCAAqB,EAAE,CAAC,CAAC;QAClD,MAAM,IAAA,eAAM,EAAC,mCAAqB,CAAC,CAAC;QACpC,eAAM,CAAC,KAAK,CAAC,YAAY,sBAAQ,EAAE,CAAC,CAAC;QACrC,MAAM,IAAA,eAAM,EAAC,sBAAQ,CAAC,CAAC;QACvB,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/subcommands/device/clean.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,mCAAgC;AAChC,8CAA2C;AAC3C,oEAAoE;AACpE,qDAA4D;AAC5D,wDAIgC;AAChC,oFAGoD;AACpD,mEAAoD;AACpD,8CAA4D;AAE/C,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,+BAA+B;IAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,IAAI,MAAM,IAAA,mDAA6B,GAAE,EAAE;YACzC,MAAM,IAAA,2CAAqB,GAAE,CAAC;SAC/B;QACD,eAAM,CAAC,KAAK,CAAC,YAAY,mCAAqB,EAAE,CAAC,CAAC;QAClD,MAAM,IAAA,eAAM,EAAC,mCAAqB,CAAC,CAAC;QACpC,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAA,8BAAe,GAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YAC1B,MAAM,IAAA,6BAAO,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SAC9B;QACD,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,eAAM,CAAC,KAAK,CAAC,YAAY,8BAAsB,EAAE,CAAC,CAAC;QACnD,MAAM,IAAA,eAAM,EAAC,8BAAsB,CAAC,CAAC;QACrC,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,8BAAe,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAA,8BAAe,GAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,YAAY,IAAA,yBAAgB,GAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,yBAAgB,GAAE,CAAC,MAAM,EAAE,CAAC;QAC5B,eAAM,CAAC,KAAK,CAAC,YAAY,mCAAqB,EAAE,CAAC,CAAC;QAClD,MAAM,IAAA,eAAM,EAAC,mCAAqB,CAAC,CAAC;QACpC,eAAM,CAAC,KAAK,CAAC,YAAY,sBAAQ,EAAE,CAAC,CAAC;QACrC,MAAM,IAAA,eAAM,EAAC,sBAAQ,CAAC,CAAC;QACvB,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
package/lib/urls.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const aaiArtifactsBucketUrl = "https://alwaysai-artifacts-prod.s3.us-west-1.amazonaws.com";
1
+ export declare const aaiArtifactsBucketUrl: string;
2
2
  //# sourceMappingURL=urls.d.ts.map
package/lib/urls.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../src/urls.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+DAA+D,CAAC"}
1
+ {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../src/urls.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,QAA+E,CAAC"}
package/lib/urls.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.aaiArtifactsBucketUrl = void 0;
4
- exports.aaiArtifactsBucketUrl = `https://alwaysai-artifacts-prod.s3.us-west-1.amazonaws.com`;
4
+ const directories_1 = require("./util/directories");
5
+ exports.aaiArtifactsBucketUrl = `https://alwaysai-artifacts-${(0, directories_1.shortenSystemId)()}.s3.us-west-1.amazonaws.com`;
5
6
  //# sourceMappingURL=urls.js.map
package/lib/urls.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"urls.js","sourceRoot":"","sources":["../src/urls.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,4DAA4D,CAAC"}
1
+ {"version":3,"file":"urls.js","sourceRoot":"","sources":["../src/urls.ts"],"names":[],"mappings":";;;AAAA,oDAAqD;AAExC,QAAA,qBAAqB,GAAG,8BAA8B,IAAA,6BAAe,GAAE,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alwaysai/device-agent",
3
3
  "description": "The alwaysAI Device Agent",
4
- "version": "0.1.5",
4
+ "version": "0.2.0",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "publishConfig": {
@@ -22,6 +22,12 @@ import { DOCKER_IMAGE_ID_INITIAL_VALUE } from 'alwaysai/lib/constants';
22
22
  import { runInDir } from '../util/run-in-dir';
23
23
  import { installModelsWithPresignedURLs } from './models';
24
24
  import { logger } from '../util/logger';
25
+ import { updateAppCfgFile } from './config';
26
+ import {
27
+ LOCAL_CONNECTION_HOST,
28
+ LOCAL_CONNECTION_PORT,
29
+ LOCAL_CONNECTION_ROUTING_KEY
30
+ } from '../local-connection/constants';
25
31
  import { DOCKERFILE, PYTHON_REQUIREMENTS_FILE_NAME } from 'alwaysai/lib/paths';
26
32
 
27
33
  type SignedUrlPayloadType = {
@@ -91,6 +97,9 @@ export async function installApp(props: {
91
97
  // NOTE: this process no longer checks project collaboration
92
98
  await checkValidProjectFiles({ appDir });
93
99
 
100
+ const DACfg = await createAppCfgDeviceAgentConnection();
101
+ await updateAppCfgFile({ projectId, newAppCfg: DACfg });
102
+
94
103
  await installAppBuildReqs({ appDir });
95
104
  await installModelsWithPresignedURLs(
96
105
  signedUrlsPayload.modelsInstallPayload,
@@ -109,6 +118,16 @@ export async function installApp(props: {
109
118
  logger.info(`Completed installing ${projectId}:${appReleaseHash}`);
110
119
  }
111
120
 
121
+ async function createAppCfgDeviceAgentConnection() {
122
+ return {
123
+ device_agent_connection: {
124
+ host: `${LOCAL_CONNECTION_HOST}`,
125
+ port: LOCAL_CONNECTION_PORT,
126
+ routing_key: `${LOCAL_CONNECTION_ROUTING_KEY}`
127
+ }
128
+ };
129
+ }
130
+
112
131
  async function installAppBuildReqs(props: { appDir: string }) {
113
132
  const { appDir } = props;
114
133
  const targetJsonFile = TargetJsonFile(appDir);
@@ -1,5 +1,10 @@
1
1
  // eslint-disable-next-line
2
2
  const amqp = require('amqplib');
3
+ import {
4
+ LOCAL_CONNECTION_HOST,
5
+ LOCAL_CONNECTION_PORT,
6
+ LOCAL_CONNECTION_ROUTING_KEY
7
+ } from '../local-connection/constants';
3
8
  import { setupRabbitMQContainer } from '../local-connection/rabbitmq-connection';
4
9
  import { logger } from '../util/logger';
5
10
  import sleep from '../util/sleep';
@@ -23,12 +28,17 @@ export class PassthroughHandler {
23
28
  await setupRabbitMQContainer();
24
29
  let connectAttempts = 0;
25
30
  let connected = false;
31
+ logger.debug(
32
+ `Setting up alwaysAI Local Connection on host: ${LOCAL_CONNECTION_HOST} and channel key: ${LOCAL_CONNECTION_ROUTING_KEY}`
33
+ );
26
34
  while (
27
35
  connectAttempts <= MAX_LOCAL_CONNECTION_ATTEMPTS &&
28
36
  this.connection === undefined
29
37
  ) {
30
38
  try {
31
- this.connection = await amqp.connect('amqp://localhost');
39
+ this.connection = await amqp.connect(
40
+ `amqp://${LOCAL_CONNECTION_HOST}:${LOCAL_CONNECTION_PORT}`
41
+ );
32
42
  this.channel = await this.connection.createChannel();
33
43
  connected = true;
34
44
  } catch (e) {
@@ -44,7 +54,7 @@ export class PassthroughHandler {
44
54
  }
45
55
  if (connected === true) {
46
56
  this.channel.prefetch(1); // This ensures we only get one packet at a time! This appears to have prevented throttling
47
- this.packetQueue = 'edgeiq-analytics-publish';
57
+ this.packetQueue = `${LOCAL_CONNECTION_ROUTING_KEY}`;
48
58
  await this.channel.assertQueue(this.packetQueue, {
49
59
  durable: true
50
60
  });
@@ -16,6 +16,13 @@ export const ALWAYSAI_ANALYTICS_PASSTHROUGH = parseBoolean(
16
16
  export const ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS =
17
17
  process.env.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS;
18
18
 
19
+ export const ALWAYSAI_LOCAL_CONNECTION_HOST =
20
+ process.env.ALWAYSAI_LOCAL_CONNECTION_HOST;
21
+ export const ALWAYSAI_LOCAL_CONNECTION_PORT =
22
+ process.env.ALWAYSAI_LOCAL_CONNECTION_PORT;
23
+ export const ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY =
24
+ process.env.ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY;
25
+
19
26
  function parseOsPlatform(str: string | undefined): NodeJS.Platform {
20
27
  switch (str) {
21
28
  case 'win32':
@@ -0,0 +1,16 @@
1
+ import {
2
+ ALWAYSAI_LOCAL_CONNECTION_HOST,
3
+ ALWAYSAI_LOCAL_CONNECTION_PORT,
4
+ ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY
5
+ } from '../environment';
6
+
7
+ export const LOCAL_CONNECTION_HOST = ALWAYSAI_LOCAL_CONNECTION_HOST
8
+ ? ALWAYSAI_LOCAL_CONNECTION_HOST
9
+ : 'localhost';
10
+ export const LOCAL_CONNECTION_PORT = ALWAYSAI_LOCAL_CONNECTION_PORT
11
+ ? parseInt(ALWAYSAI_LOCAL_CONNECTION_PORT)
12
+ : 5672;
13
+ export const LOCAL_CONNECTION_ROUTING_KEY =
14
+ ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY
15
+ ? ALWAYSAI_LOCAL_CONNECTION_ANALYTICS_ROUTING_KEY
16
+ : 'edgeiq-analytics-publish';
@@ -8,12 +8,20 @@ import {
8
8
  DEVICE_AGENT_DOCKER_COMPOSE_PATH
9
9
  } from '../util/directories';
10
10
  import { JsSpawner } from 'alwaysai/lib/util';
11
+ import { LOCAL_CONNECTION_PORT } from './constants';
11
12
 
12
13
  export const rabbitMQServiceName = 'alwaysAIRabbitMQ';
13
14
  export const rabbitMQContainerName = 'alwaysAIRabbitMQContainer';
14
15
 
15
16
  export async function checkRabbitMQContainerRunning() {
16
17
  logger.debug('Checking alwaysAI Local Connection Container status');
18
+ const spawner = JsSpawner();
19
+ if (!(await spawner.exists(DEVICE_AGENT_DOCKER_COMPOSE_PATH))) {
20
+ logger.warn(
21
+ 'alwaysAI Location Connection configuration file is not present'
22
+ );
23
+ return false;
24
+ }
17
25
  const containerData = await compose.ps({ cwd: DEVICE_AGENT_CFG_PATH });
18
26
  if (!(containerData === undefined)) {
19
27
  const rabbitmqService = containerData.data.services[0];
@@ -27,6 +35,8 @@ export async function checkRabbitMQContainerRunning() {
27
35
  logger.debug('alwaysAI Local Connection is not running');
28
36
  return false;
29
37
  }
38
+ logger.warn('alwaysAI Local Connection container was undefined');
39
+ return false;
30
40
  }
31
41
 
32
42
  export async function writeRabbitMQDockerComposeFile() {
@@ -35,14 +45,19 @@ export async function writeRabbitMQDockerComposeFile() {
35
45
  await JsSpawner().mkdirp(DEVICE_AGENT_CFG_PATH);
36
46
  }
37
47
 
48
+ logger.debug(
49
+ `Writing Local Connection Docker compose files with Local Connection port: ${LOCAL_CONNECTION_PORT}`
50
+ );
51
+
38
52
  const rabbitmqDockerComposeCmd = {
39
53
  services: {
40
54
  [rabbitMQServiceName]: {
41
55
  container_name: rabbitMQContainerName,
42
56
  image: 'rabbitmq:3.11',
43
- ports: ['5672:5672'],
57
+ ports: [`${LOCAL_CONNECTION_PORT}:${LOCAL_CONNECTION_PORT}`],
44
58
  hostname: 'my-rabbit',
45
- restart: 'on-failure'
59
+ restart: 'on-failure',
60
+ environment: [`RABBITMQ_NODE_PORT=${LOCAL_CONNECTION_PORT}`]
46
61
  }
47
62
  }
48
63
  };
@@ -86,6 +101,7 @@ export async function setupRabbitMQContainer() {
86
101
  export async function stopRabbitMQContainer() {
87
102
  try {
88
103
  const downOut = await compose.down({ cwd: DEVICE_AGENT_CFG_PATH });
104
+ logger.debug(`Stopping alwaysAI Local Connection container`);
89
105
  logger.debug(
90
106
  `Docker compose down for alwaysAI Local Connection:\n${JSON.stringify(
91
107
  downOut
@@ -34,8 +34,8 @@ export async function secureTunnelNotifyHandler(message: {
34
34
  clientAccessToken
35
35
  ];
36
36
 
37
- await JsSpawner({ path: SECURE_TUNNEL_BIN_DIR }).run({
38
- exe: `./${SECURE_TUNNEL_BIN_NAME}`,
37
+ await JsSpawner().run({
38
+ exe: `${SECURE_TUNNEL_BIN_PATH}`,
39
39
  args
40
40
  });
41
41
  }
@@ -54,10 +54,10 @@ async function downloadSecureTunnel() {
54
54
  errorMessage: `Secure Tunnel bin for ${linuxDistro} ${osVersion} ${arch} not found}`
55
55
  });
56
56
 
57
- const spawner = JsSpawner({ path: SECURE_TUNNEL_BIN_DIR });
57
+ const spawner = JsSpawner();
58
58
  await spawner.run({
59
59
  exe: 'chmod',
60
- args: ['+x', SECURE_TUNNEL_BIN_NAME]
60
+ args: ['+x', SECURE_TUNNEL_BIN_PATH]
61
61
  });
62
62
  }
63
63
 
@@ -69,8 +69,6 @@ async function terminateSecureTunnelProcess() {
69
69
  args: [SECURE_TUNNEL_BIN_NAME]
70
70
  });
71
71
  } catch (e) {
72
- console.log(e);
73
- //check exit codes
74
- console.log('No secure tunnel process to kill');
72
+ logger.debug('Proccess terminated if status code is 1');
75
73
  }
76
74
  }
@@ -3,13 +3,33 @@ import { rimraf } from 'rimraf';
3
3
  import { logger } from '../../util/logger';
4
4
  import { AgentConfigFile } from '../../infrastructure/agent-config';
5
5
  import { DeviceConfigFile } from 'alwaysai/lib/core/device';
6
- import { APP_ROOT, CREDENTIALS_FILE_PATH } from '../../util/directories';
6
+ import {
7
+ APP_ROOT,
8
+ CREDENTIALS_FILE_PATH,
9
+ DEVICE_AGENT_CFG_PATH
10
+ } from '../../util/directories';
11
+ import {
12
+ checkRabbitMQContainerRunning,
13
+ stopRabbitMQContainer
14
+ } from '../../local-connection/rabbitmq-connection';
15
+ import { stopApp } from '../../application-control';
7
16
  import { LOCAL_CERT_AND_KEY_DIR } from 'alwaysai/lib/paths';
8
17
 
9
18
  export const cleanCliLeaf = CliLeaf({
10
19
  name: 'clean',
11
20
  description: 'Remove all provisioning files',
12
21
  async action(_, opts) {
22
+ if (await checkRabbitMQContainerRunning()) {
23
+ await stopRabbitMQContainer();
24
+ }
25
+ logger.debug(`Removing ${DEVICE_AGENT_CFG_PATH}`);
26
+ await rimraf(DEVICE_AGENT_CFG_PATH);
27
+ logger.debug('Checking for alwaysAI applications still running');
28
+ const apps = await AgentConfigFile().getApps();
29
+ for (const app of apps) {
30
+ const { projectId } = app;
31
+ await stopApp({ projectId });
32
+ }
13
33
  logger.info('Cleaning device configuration');
14
34
  logger.debug(`Removing ${LOCAL_CERT_AND_KEY_DIR}`);
15
35
  await rimraf(LOCAL_CERT_AND_KEY_DIR);
package/src/urls.ts CHANGED
@@ -1 +1,3 @@
1
- export const aaiArtifactsBucketUrl = `https://alwaysai-artifacts-prod.s3.us-west-1.amazonaws.com`;
1
+ import { shortenSystemId } from './util/directories';
2
+
3
+ export const aaiArtifactsBucketUrl = `https://alwaysai-artifacts-${shortenSystemId()}.s3.us-west-1.amazonaws.com`;
@@ -1,2 +0,0 @@
1
- export declare const handleSecureTunnelTopic: (clientAccessToken: string) => Promise<void>;
2
- //# sourceMappingURL=secure-tunnel-docker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-tunnel-docker.d.ts","sourceRoot":"","sources":["../../src/docker/secure-tunnel-docker.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,sBAA6B,MAAM,kBA+BtE,CAAC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleSecureTunnelTopic = void 0;
4
- const util_1 = require("alwaysai/lib/util");
5
- const handleSecureTunnelTopic = async (clientAccessToken) => {
6
- await dockerPull();
7
- const dockerImage = `alwaysai/securetunneling-localproxy:latest`;
8
- const cmd = [
9
- 'run',
10
- '--rm',
11
- '--detach',
12
- '--name',
13
- 'secure-tunnel',
14
- '--expose',
15
- '5555',
16
- '-p',
17
- '5555:5555',
18
- dockerImage,
19
- '-r',
20
- 'us-west-2',
21
- '-d',
22
- '5555',
23
- '-b',
24
- '0.0.0.0',
25
- '-t',
26
- clientAccessToken
27
- ];
28
- const spawner = (0, util_1.JsSpawner)();
29
- const output = await spawner.run({
30
- exe: 'docker',
31
- args: cmd
32
- });
33
- console.log(output);
34
- console.log(cmd);
35
- };
36
- exports.handleSecureTunnelTopic = handleSecureTunnelTopic;
37
- async function dockerPull() {
38
- //ASK ALEX TO RENAME TO PROD
39
- const dockerImage = `alwaysai/securetunneling-localproxy:latest`;
40
- const cmd = ['pull', dockerImage];
41
- const spawner = (0, util_1.JsSpawner)();
42
- const output = await spawner.run({
43
- exe: 'docker',
44
- args: cmd
45
- });
46
- console.log(output);
47
- console.log(cmd);
48
- }
49
- //# sourceMappingURL=secure-tunnel-docker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-tunnel-docker.js","sourceRoot":"","sources":["../../src/docker/secure-tunnel-docker.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAEvC,MAAM,uBAAuB,GAAG,KAAK,EAAE,iBAAyB,EAAE,EAAE;IACzE,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,WAAW,GAAG,4CAA4C,CAAC;IACjE,MAAM,GAAG,GAAG;QACV,KAAK;QACL,MAAM;QACN,UAAU;QACV,QAAQ;QACR,eAAe;QACf,UAAU;QACV,MAAM;QACN,IAAI;QACJ,WAAW;QACX,WAAW;QACX,IAAI;QACJ,WAAW;QACX,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,SAAS;QACT,IAAI;QACJ,iBAAiB;KAClB,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AA/BW,QAAA,uBAAuB,2BA+BlC;AAEF,KAAK,UAAU,UAAU;IACvB,4BAA4B;IAC5B,MAAM,WAAW,GAAG,4CAA4C,CAAC;IACjE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC"}