@alwaysai/device-agent 0.1.6 → 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.
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +13 -0
- package/lib/application-control/install.js.map +1 -1
- package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
- package/lib/cloud-connection/passthrough-handler.js +4 -2
- package/lib/cloud-connection/passthrough-handler.js.map +1 -1
- package/lib/environment.d.ts +3 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +4 -1
- package/lib/environment.js.map +1 -1
- package/lib/index.js +0 -0
- package/lib/local-connection/constants.d.ts +4 -0
- package/lib/local-connection/constants.d.ts.map +1 -0
- package/lib/local-connection/constants.js +14 -0
- package/lib/local-connection/constants.js.map +1 -0
- package/lib/local-connection/rabbitmq-connection.d.ts +1 -1
- package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -1
- package/lib/local-connection/rabbitmq-connection.js +13 -2
- package/lib/local-connection/rabbitmq-connection.js.map +1 -1
- package/lib/secure-tunneling/index.js +1 -4
- package/lib/secure-tunneling/index.js.map +1 -1
- package/lib/subcommands/device/clean.d.ts.map +1 -1
- package/lib/subcommands/device/clean.js +13 -0
- package/lib/subcommands/device/clean.js.map +1 -1
- package/lib/subcommands/index.d.ts +2 -2
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/urls.d.ts +1 -1
- package/lib/urls.d.ts.map +1 -1
- package/lib/urls.js +2 -1
- package/lib/urls.js.map +1 -1
- package/package.json +1 -1
- package/src/application-control/install.ts +19 -0
- package/src/cloud-connection/passthrough-handler.ts +12 -2
- package/src/environment.ts +7 -0
- package/src/local-connection/constants.ts +16 -0
- package/src/local-connection/rabbitmq-connection.ts +18 -2
- package/src/secure-tunneling/index.ts +1 -4
- package/src/subcommands/device/clean.ts +21 -1
- package/src/urls.ts +3 -1
- package/lib/docker/secure-tunnel-docker.d.ts +0 -2
- package/lib/docker/secure-tunnel-docker.d.ts.map +0 -1
- package/lib/docker/secure-tunnel-docker.js +0 -49
- 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;
|
|
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":"
|
|
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(
|
|
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 =
|
|
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":";;;AAAA,2BAA2B;AAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAChC,iFAAiF;AACjF,2CAAwC;AACxC,yCAAkC;AAGlC,MAAM,YAAY,GAAU,EAAE,CAAC;AAC/B,MAAM,QAAQ,GAAU,EAAE,CAAC;AAC3B,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEzC,MAAa,kBAAkB;IAM7B,YAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAA,4CAAsB,GAAE,CAAC;QAC/B,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OACE,eAAe,IAAI,6BAA6B;YAChD,IAAI,CAAC,UAAU,KAAK,SAAS,EAC7B;YACA,IAAI;gBACF,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"passthrough-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/passthrough-handler.ts"],"names":[],"mappings":"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"}
|
package/lib/environment.d.ts
CHANGED
|
@@ -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
|
package/lib/environment.d.ts.map
CHANGED
|
@@ -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"}
|
package/lib/environment.js
CHANGED
|
@@ -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':
|
package/lib/environment.js.map
CHANGED
|
@@ -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;
|
|
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 @@
|
|
|
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
|
|
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":"
|
|
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: [
|
|
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":";;;AAAA,2CAAwC;AACxC,yCAAkC;AAClC,mDAAqC;AACrC,6BAA6B;AAE7B,qDAG6B;AAC7B,4CAA8C;
|
|
1
|
+
{"version":3,"file":"rabbitmq-connection.js","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,6 @@ async function downloadSecureTunnel() {
|
|
|
38
38
|
const osVersion = await (0, system_info_1.getOsVersion)();
|
|
39
39
|
const url = `${urls_1.aaiArtifactsBucketUrl}/securetunnel/${linuxDistro}/${osVersion}/${arch}/${directories_1.SECURE_TUNNEL_BIN_NAME}`;
|
|
40
40
|
await (0, util_1.JsSpawner)().mkdirp((0, path_1.join)(paths_1.AAI_DIR, directories_1.SECURE_TUNNEL_BIN_DIR));
|
|
41
|
-
//fix this error message
|
|
42
41
|
await (0, download_file_1.downloadFile)({
|
|
43
42
|
url,
|
|
44
43
|
path: directories_1.SECURE_TUNNEL_BIN_PATH,
|
|
@@ -59,9 +58,7 @@ async function terminateSecureTunnelProcess() {
|
|
|
59
58
|
});
|
|
60
59
|
}
|
|
61
60
|
catch (e) {
|
|
62
|
-
|
|
63
|
-
//check exit codes
|
|
64
|
-
console.log('No secure tunnel process to kill');
|
|
61
|
+
logger_1.logger.debug('Proccess terminated if status code is 1');
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
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,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,
|
|
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":"
|
|
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,
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const subcommands: (import("@alwaysai/alwayscli/lib/types").CliBranch | import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<string, true>, {
|
|
1
|
+
export declare const subcommands: (import("@alwaysai/alwayscli/lib/types").CliBranch | import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<undefined, false>, {}, import("@alwaysai/alwayscli").CliInput<undefined, false>> | import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<string, true>, {
|
|
2
2
|
version: import("@alwaysai/alwayscli").CliInput<number | undefined, boolean>;
|
|
3
3
|
path: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
|
|
4
|
-
}, import("@alwaysai/alwayscli").CliInput<undefined, false>>
|
|
4
|
+
}, import("@alwaysai/alwayscli").CliInput<undefined, false>>)[];
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subcommands/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subcommands/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW;;;+DAMvB,CAAC"}
|
package/lib/urls.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const aaiArtifactsBucketUrl
|
|
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":"
|
|
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
|
-
|
|
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":";;;
|
|
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
|
@@ -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(
|
|
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 =
|
|
57
|
+
this.packetQueue = `${LOCAL_CONNECTION_ROUTING_KEY}`;
|
|
48
58
|
await this.channel.assertQueue(this.packetQueue, {
|
|
49
59
|
durable: true
|
|
50
60
|
});
|
package/src/environment.ts
CHANGED
|
@@ -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: [
|
|
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
|
|
@@ -48,7 +48,6 @@ async function downloadSecureTunnel() {
|
|
|
48
48
|
const url = `${aaiArtifactsBucketUrl}/securetunnel/${linuxDistro}/${osVersion}/${arch}/${SECURE_TUNNEL_BIN_NAME}`;
|
|
49
49
|
|
|
50
50
|
await JsSpawner().mkdirp(join(AAI_DIR, SECURE_TUNNEL_BIN_DIR));
|
|
51
|
-
//fix this error message
|
|
52
51
|
await downloadFile({
|
|
53
52
|
url,
|
|
54
53
|
path: SECURE_TUNNEL_BIN_PATH,
|
|
@@ -70,8 +69,6 @@ async function terminateSecureTunnelProcess() {
|
|
|
70
69
|
args: [SECURE_TUNNEL_BIN_NAME]
|
|
71
70
|
});
|
|
72
71
|
} catch (e) {
|
|
73
|
-
|
|
74
|
-
//check exit codes
|
|
75
|
-
console.log('No secure tunnel process to kill');
|
|
72
|
+
logger.debug('Proccess terminated if status code is 1');
|
|
76
73
|
}
|
|
77
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 {
|
|
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 +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"}
|