@alwaysai/device-agent 0.0.8 → 0.0.10
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/backup.d.ts.map +1 -1
- package/lib/application-control/backup.js +2 -0
- package/lib/application-control/backup.js.map +1 -1
- package/lib/application-control/config.d.ts +17 -0
- package/lib/application-control/config.d.ts.map +1 -0
- package/lib/application-control/config.js +62 -0
- package/lib/application-control/config.js.map +1 -0
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js +4 -12
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/index.d.ts +2 -1
- package/lib/application-control/index.d.ts.map +1 -1
- package/lib/application-control/index.js +6 -1
- package/lib/application-control/index.js.map +1 -1
- package/lib/application-control/install.d.ts +12 -10
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +79 -41
- package/lib/application-control/install.js.map +1 -1
- package/lib/application-control/models.d.ts +3 -0
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +92 -19
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/utils.d.ts +4 -3
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +30 -10
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +16 -9
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +165 -89
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/infrastructure/agent-config.js +7 -18
- package/lib/infrastructure/agent-config.js.map +1 -1
- package/lib/infrastructure/agent-config.test.js +47 -0
- package/lib/infrastructure/agent-config.test.js.map +1 -1
- package/lib/subcommands/login.d.ts.map +1 -1
- package/lib/subcommands/login.js +4 -3
- package/lib/subcommands/login.js.map +1 -1
- package/lib/util/copy-dir.d.ts.map +1 -1
- package/lib/util/copy-dir.js +3 -1
- package/lib/util/copy-dir.js.map +1 -1
- package/lib/util/run-in-dir.d.ts +2 -0
- package/lib/util/run-in-dir.d.ts.map +1 -0
- package/lib/util/run-in-dir.js +17 -0
- package/lib/util/run-in-dir.js.map +1 -0
- package/package.json +4 -3
- package/src/application-control/backup.ts +3 -0
- package/src/application-control/config.ts +61 -0
- package/src/application-control/environment-variables.ts +4 -10
- package/src/application-control/index.ts +5 -0
- package/src/application-control/install.ts +121 -52
- package/src/application-control/models.ts +132 -22
- package/src/application-control/utils.ts +37 -12
- package/src/cloud-connection/device-agent-cloud-connection.ts +197 -105
- package/src/infrastructure/agent-config.test.ts +56 -0
- package/src/infrastructure/agent-config.ts +10 -19
- package/src/subcommands/login.ts +6 -4
- package/src/util/copy-dir.ts +3 -1
- package/src/util/run-in-dir.ts +15 -0
- package/lib/util/run-cli-cmd.d.ts +0 -5
- package/lib/util/run-cli-cmd.d.ts.map +0 -1
- package/lib/util/run-cli-cmd.js +0 -24
- package/lib/util/run-cli-cmd.js.map +0 -1
- package/src/util/run-cli-cmd.ts +0 -18
|
@@ -108,14 +108,12 @@ function AgentConfigFile(dir = ALWAYSAI_CONFIG_DIR) {
|
|
|
108
108
|
if (app) {
|
|
109
109
|
await removeApp({ projectId });
|
|
110
110
|
const config = configFile.read();
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
version,
|
|
114
|
-
ready: false,
|
|
115
|
-
});
|
|
111
|
+
// NOTE: do not update the version for an existing app until it is installed
|
|
112
|
+
config.applications.push(Object.assign(Object.assign({}, app), { ready: false }));
|
|
116
113
|
configFile.write(config);
|
|
117
114
|
}
|
|
118
115
|
else {
|
|
116
|
+
// NOTE: for a brand-new app, we need to specify the version
|
|
119
117
|
const config = configFile.read();
|
|
120
118
|
config.applications.push({
|
|
121
119
|
projectId,
|
|
@@ -131,22 +129,13 @@ function AgentConfigFile(dir = ALWAYSAI_CONFIG_DIR) {
|
|
|
131
129
|
if (app) {
|
|
132
130
|
await removeApp({ projectId });
|
|
133
131
|
const config = configFile.read();
|
|
134
|
-
app
|
|
135
|
-
config.applications.push({
|
|
136
|
-
projectId,
|
|
137
|
-
version,
|
|
138
|
-
ready: true,
|
|
139
|
-
});
|
|
132
|
+
config.applications.push(Object.assign(Object.assign({}, app), { version, ready: true }));
|
|
140
133
|
configFile.write(config);
|
|
141
134
|
}
|
|
142
135
|
else {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
version,
|
|
147
|
-
ready: true,
|
|
148
|
-
});
|
|
149
|
-
configFile.write(config);
|
|
136
|
+
// NOTE: we should never be setting an app as installed
|
|
137
|
+
// if it doesn't exist (setAppInstalling was never called)
|
|
138
|
+
throw new Error(`App ${projectId} was not previously configured and could not be set to installed!`);
|
|
150
139
|
}
|
|
151
140
|
}
|
|
152
141
|
async function setAppUninstalled(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../src/infrastructure/agent-config.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAE3D,2BAA6B;AAC7B,+BAA4B;
|
|
1
|
+
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../src/infrastructure/agent-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,9 @@ describe('Test Agent Config', () => {
|
|
|
88
88
|
const projectId = 'add-me';
|
|
89
89
|
const version = 'im-a-version';
|
|
90
90
|
await configFile.setAppInstalling({ projectId, version });
|
|
91
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version);
|
|
91
92
|
await configFile.setAppInstalled({ projectId, version });
|
|
93
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version);
|
|
92
94
|
await configFile.setAppUninstalled({ projectId });
|
|
93
95
|
const apps = await configFile.getApps();
|
|
94
96
|
expect(apps).toEqual([]);
|
|
@@ -102,8 +104,12 @@ describe('Test Agent Config', () => {
|
|
|
102
104
|
test('Set and get backup', async () => {
|
|
103
105
|
const projectId = 'add-me';
|
|
104
106
|
const version = 'im-a-version';
|
|
107
|
+
const version2 = 'newer-version';
|
|
108
|
+
// first installation, we use the version
|
|
105
109
|
await configFile.setAppInstalling({ projectId, version });
|
|
110
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version);
|
|
106
111
|
await configFile.setAppInstalled({ projectId, version });
|
|
112
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version);
|
|
107
113
|
const backup1 = await configFile.getAppBackup({ projectId });
|
|
108
114
|
expect(backup1).toBeNull();
|
|
109
115
|
await configFile.setAppBackup({ projectId });
|
|
@@ -129,6 +135,47 @@ describe('Test Agent Config', () => {
|
|
|
129
135
|
});
|
|
130
136
|
const backup2 = await configFile.getAppBackup({ projectId });
|
|
131
137
|
expect(backup2).toEqual({ version });
|
|
138
|
+
await configFile.setAppInstalling({ projectId, version: version2 });
|
|
139
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version);
|
|
140
|
+
await configFile.setAppInstalled({ projectId, version: version2 });
|
|
141
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version2);
|
|
142
|
+
const backup3 = await configFile.getAppBackup({ projectId });
|
|
143
|
+
expect(backup3).toEqual({ version });
|
|
144
|
+
});
|
|
145
|
+
test('Test app rollback', async () => {
|
|
146
|
+
var _a, _b, _c;
|
|
147
|
+
const projectId = 'add-me';
|
|
148
|
+
const version1 = 'original-version';
|
|
149
|
+
const version2 = 'newer-version';
|
|
150
|
+
await configFile.setAppInstalling({ projectId, version: version1 });
|
|
151
|
+
await configFile.setAppInstalled({ projectId, version: version1 });
|
|
152
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version1);
|
|
153
|
+
expect(await configFile.getAppBackup({ projectId })).toBeNull();
|
|
154
|
+
// next installation - verify app is present and ready
|
|
155
|
+
expect(await configFile.isAppPresent({ projectId })).toBe(true);
|
|
156
|
+
expect(await configFile.isAppReady({ projectId })).toBe(true);
|
|
157
|
+
// test to see if app has backup
|
|
158
|
+
await configFile.setAppBackup({ projectId });
|
|
159
|
+
const expectedBackupVersion = (_a = (await configFile.getAppBackup({ projectId }))) === null || _a === void 0 ? void 0 : _a.version;
|
|
160
|
+
expect(expectedBackupVersion).toEqual(version1);
|
|
161
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version1);
|
|
162
|
+
// simulate second version install
|
|
163
|
+
await configFile.setAppInstalling({ projectId, version: version2 });
|
|
164
|
+
const newExpectedBackupVersion = (_b = (await configFile.getAppBackup({ projectId }))) === null || _b === void 0 ? void 0 : _b.version;
|
|
165
|
+
expect(newExpectedBackupVersion).toEqual(version1);
|
|
166
|
+
await configFile.setAppInstalled({ projectId, version: version2 });
|
|
167
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version2);
|
|
168
|
+
// simulate the rollback step: set the version that we will roll back to
|
|
169
|
+
await configFile.setAppInstalling({ projectId, version: version1 });
|
|
170
|
+
// test state during rollback
|
|
171
|
+
expect(await configFile.isAppReady({ projectId })).toEqual(false);
|
|
172
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version2);
|
|
173
|
+
// test final state of rolled-back app
|
|
174
|
+
await configFile.setAppInstalled({ projectId, version: version1 });
|
|
175
|
+
const finalBackupVersion = (_c = (await configFile.getAppBackup({ projectId }))) === null || _c === void 0 ? void 0 : _c.version;
|
|
176
|
+
expect(finalBackupVersion).toEqual(version1);
|
|
177
|
+
expect(await configFile.isAppReady({ projectId })).toEqual(true);
|
|
178
|
+
expect(await configFile.getAppVersion({ projectId })).toEqual(version1);
|
|
132
179
|
});
|
|
133
180
|
});
|
|
134
181
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.test.js","sourceRoot":"","sources":["../../src/infrastructure/agent-config.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-config.test.js","sourceRoot":"","sources":["../../src/infrastructure/agent-config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;4DA4BvB,CAAC"}
|
package/lib/subcommands/login.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loginCliLeaf = void 0;
|
|
4
4
|
const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
5
|
+
const user_1 = require("alwaysai/lib/components/user");
|
|
5
6
|
const certificates_and_tokens_1 = require("../infrastructure/certificates-and-tokens");
|
|
6
|
-
const run_cli_cmd_1 = require("../util/run-cli-cmd");
|
|
7
7
|
exports.loginCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
8
8
|
name: 'login',
|
|
9
9
|
description: 'Login to alwaysAI (this is meant for scripted environments)',
|
|
@@ -23,8 +23,9 @@ exports.loginCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
23
23
|
},
|
|
24
24
|
async action(_, opts) {
|
|
25
25
|
const { email, password, device } = opts;
|
|
26
|
-
await (0,
|
|
27
|
-
|
|
26
|
+
await (0, user_1.alwaysaiUserLoginYesComponent)({
|
|
27
|
+
alwaysaiUserEmail: email,
|
|
28
|
+
alwaysaiUserPassword: password,
|
|
28
29
|
});
|
|
29
30
|
if (device) {
|
|
30
31
|
await (0, certificates_and_tokens_1.writeCertificateAndToken)({ deviceUuid: device });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":";;;AAAA,mDAA8D;AAC9D,uDAA6E;AAC7E,uFAAqF;AAExE,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE;QACX,KAAK,EAAE,IAAA,0BAAc,EAAC;YACpB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,IAAA,0BAAc,EAAC;YACvB,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,IAAA,0BAAc,EAAC;YACrB,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEzC,MAAM,IAAA,oCAA6B,EAAC;YAClC,iBAAiB,EAAE,KAAK;YACxB,oBAAoB,EAAE,QAAQ;SAC/B,CAAC,CAAC;QACH,IAAI,MAAM,EAAE;YACV,MAAM,IAAA,kDAAwB,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-dir.d.ts","sourceRoot":"","sources":["../../src/util/copy-dir.ts"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"copy-dir.d.ts","sourceRoot":"","sources":["../../src/util/copy-dir.ts"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,iBASzE"}
|
package/lib/util/copy-dir.js
CHANGED
|
@@ -8,7 +8,9 @@ async function copyDir(props) {
|
|
|
8
8
|
const allFileNames = await src.readdir();
|
|
9
9
|
const dest = (0, util_1.JsSpawner)({ path: destPath });
|
|
10
10
|
await dest.mkdirp();
|
|
11
|
-
|
|
11
|
+
if (allFileNames.length) {
|
|
12
|
+
await dest.untar(await src.tar(...allFileNames));
|
|
13
|
+
}
|
|
12
14
|
}
|
|
13
15
|
exports.copyDir = copyDir;
|
|
14
16
|
//# sourceMappingURL=copy-dir.js.map
|
package/lib/util/copy-dir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-dir.js","sourceRoot":"","sources":["../../src/util/copy-dir.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAEvC,KAAK,UAAU,OAAO,CAAC,KAA4C;IACxE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"copy-dir.js","sourceRoot":"","sources":["../../src/util/copy-dir.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAEvC,KAAK,UAAU,OAAO,CAAC,KAA4C;IACxE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACpB,IAAI,YAAY,CAAC,MAAM,EAAE;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;KAClD;AACH,CAAC;AATD,0BASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-in-dir.d.ts","sourceRoot":"","sources":["../../src/util/run-in-dir.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAC3D,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EACvB,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,cAWZ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runInDir = void 0;
|
|
4
|
+
async function runInDir(func, args, dir) {
|
|
5
|
+
const origCwd = process.cwd();
|
|
6
|
+
let out;
|
|
7
|
+
try {
|
|
8
|
+
process.chdir(dir);
|
|
9
|
+
out = await func(...args);
|
|
10
|
+
}
|
|
11
|
+
finally {
|
|
12
|
+
process.chdir(origCwd);
|
|
13
|
+
}
|
|
14
|
+
return out;
|
|
15
|
+
}
|
|
16
|
+
exports.runInDir = runInDir;
|
|
17
|
+
//# sourceMappingURL=run-in-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-in-dir.js","sourceRoot":"","sources":["../../src/util/run-in-dir.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,QAAQ,CAC5B,IAAuB,EACvB,IAAO,EACP,GAAW;IAEX,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,IAAI,GAAM,CAAC;IACX,IAAI;QACF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;KAC3B;YAAS;QACR,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACxB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,4BAcC"}
|
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.0.
|
|
4
|
+
"version": "0.0.10",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"publishConfig": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@alwaysai/alwayscli": "0.3.1",
|
|
33
33
|
"@alwaysai/config-nodejs": "0.1.0",
|
|
34
|
-
"@alwaysai/device-agent-schemas": "
|
|
34
|
+
"@alwaysai/device-agent-schemas": "1.1.0",
|
|
35
35
|
"@carnesen/coded-error": "0.4.0",
|
|
36
36
|
"@types/mkdirp": "1.0.2",
|
|
37
37
|
"@types/pump": "1.1.1",
|
|
@@ -39,10 +39,11 @@
|
|
|
39
39
|
"@types/signal-exit": "3.0.1",
|
|
40
40
|
"@types/tar": "6.1.1",
|
|
41
41
|
"ajv": "8.11.0",
|
|
42
|
-
"alwaysai": "1.
|
|
42
|
+
"alwaysai": "1.10.0",
|
|
43
43
|
"aws-iot-device-sdk": "2.2.12",
|
|
44
44
|
"docker-compose": "0.23.17",
|
|
45
45
|
"express": "4.17.3",
|
|
46
|
+
"lodash": "^4.17.21",
|
|
46
47
|
"mkdirp": "1.0.4",
|
|
47
48
|
"node-fetch": "2.6.1",
|
|
48
49
|
"node-os-utils": "1.3.6",
|
|
@@ -3,6 +3,7 @@ import * as rimraf from 'rimraf';
|
|
|
3
3
|
import { copyDir } from '../util/copy-dir';
|
|
4
4
|
import { buildApp, getAppDir } from './utils';
|
|
5
5
|
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
6
|
+
import { runInDir } from '../util/run-in-dir';
|
|
6
7
|
|
|
7
8
|
export const BACKUP_EXT = '.bak';
|
|
8
9
|
|
|
@@ -22,6 +23,8 @@ export async function rollbackApp(props: { projectId: string }) {
|
|
|
22
23
|
if (!config) {
|
|
23
24
|
throw new Error(`Backup doesn't exist for ${projectId}`);
|
|
24
25
|
}
|
|
26
|
+
console.log(`Rolling back app ${projectId} to ${config.version}`);
|
|
27
|
+
await AgentConfigFile().setAppInstalling({ projectId, version: config.version });
|
|
25
28
|
const appDir = getAppDir(projectId);
|
|
26
29
|
const backupAppDir = `${appDir}${BACKUP_EXT}`;
|
|
27
30
|
rimraf.sync(appDir);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AppConfig, AppJsonFile } from 'alwaysai/lib/core/app';
|
|
2
|
+
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
3
|
+
import { parse, stringify } from 'yaml';
|
|
4
|
+
import { getAppDir } from './utils';
|
|
5
|
+
import { JsSpawner } from 'alwaysai/lib/util';
|
|
6
|
+
import compose from 'docker-compose';
|
|
7
|
+
import { assign, merge } from 'lodash';
|
|
8
|
+
|
|
9
|
+
export async function readAppCfg(props: { projectId: string }): Promise<AppConfig> {
|
|
10
|
+
const { projectId } = props;
|
|
11
|
+
if (!(await AgentConfigFile().isAppReady({ projectId }))) {
|
|
12
|
+
throw new Error(`App ${projectId} is not ready!`);
|
|
13
|
+
}
|
|
14
|
+
const appDir = getAppDir(projectId);
|
|
15
|
+
const appJson = AppJsonFile(appDir);
|
|
16
|
+
return appJson.read();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export async function writeAppCfg(props: { projectId: string; appCfg: AppConfig }) {
|
|
20
|
+
const { projectId, appCfg } = props;
|
|
21
|
+
if (!(await AgentConfigFile().isAppReady({ projectId }))) {
|
|
22
|
+
throw new Error(`App ${projectId} is not ready!`);
|
|
23
|
+
}
|
|
24
|
+
const appDir = getAppDir(projectId);
|
|
25
|
+
const appJson = AppJsonFile(appDir);
|
|
26
|
+
appJson.write(appCfg);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export async function updateAppConfig(appDir: string, newAppCfg: AppConfig) {
|
|
30
|
+
const existingAppCfg = await readAppCfg({ projectId: appDir });
|
|
31
|
+
const appCfg = assign(existingAppCfg, merge(existingAppCfg, newAppCfg));
|
|
32
|
+
await writeAppCfg({ projectId: appDir, appCfg });
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export async function readDockerCompose(props: { projectId: string }) {
|
|
36
|
+
const { projectId } = props;
|
|
37
|
+
if (!(await AgentConfigFile().isAppReady({ projectId }))) {
|
|
38
|
+
throw new Error(`App ${projectId} is not ready!`);
|
|
39
|
+
}
|
|
40
|
+
const appDir = getAppDir(projectId);
|
|
41
|
+
const spawner = JsSpawner({ path: appDir });
|
|
42
|
+
const composeContents = await spawner.readFile('docker-compose.yaml');
|
|
43
|
+
const composeParsed = parse(composeContents);
|
|
44
|
+
return composeParsed;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export async function writeDockerCompose(props: {
|
|
48
|
+
projectId: string;
|
|
49
|
+
dockerCompose: any;
|
|
50
|
+
}) {
|
|
51
|
+
const { projectId, dockerCompose } = props;
|
|
52
|
+
if (!(await AgentConfigFile().isAppReady({ projectId }))) {
|
|
53
|
+
throw new Error(`App ${projectId} is not ready!`);
|
|
54
|
+
}
|
|
55
|
+
const appDir = getAppDir(projectId);
|
|
56
|
+
const spawner = JsSpawner({ path: appDir });
|
|
57
|
+
const composeOutput = stringify(dockerCompose);
|
|
58
|
+
// Validate new contents
|
|
59
|
+
await compose.config({ cwd: appDir, configAsString: composeOutput });
|
|
60
|
+
await spawner.writeFile('docker-compose.yaml', composeOutput);
|
|
61
|
+
}
|
|
@@ -2,6 +2,7 @@ import { JsSpawner } from 'alwaysai/lib/util';
|
|
|
2
2
|
import compose from 'docker-compose';
|
|
3
3
|
import { parse, stringify } from 'yaml';
|
|
4
4
|
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
5
|
+
import { readDockerCompose, writeDockerCompose } from './config';
|
|
5
6
|
import { getAppDir } from './utils';
|
|
6
7
|
|
|
7
8
|
export async function setEnv(props: {
|
|
@@ -13,10 +14,7 @@ export async function setEnv(props: {
|
|
|
13
14
|
if (!(await AgentConfigFile().isAppReady({ projectId }))) {
|
|
14
15
|
throw new Error(`App ${projectId} is not ready!`);
|
|
15
16
|
}
|
|
16
|
-
const
|
|
17
|
-
const spawner = JsSpawner({ path: appDir });
|
|
18
|
-
const composeContents = await spawner.readFile('docker-compose.yaml');
|
|
19
|
-
const composeParsed = parse(composeContents);
|
|
17
|
+
const composeParsed = await readDockerCompose({ projectId });
|
|
20
18
|
if ('services' in composeParsed) {
|
|
21
19
|
let services: string[] = Object.keys(composeParsed['services']);
|
|
22
20
|
if (props.service) {
|
|
@@ -38,10 +36,7 @@ export async function setEnv(props: {
|
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
|
-
|
|
42
|
-
// Validate new contents
|
|
43
|
-
await compose.config({ cwd: appDir, configAsString: composeOutput });
|
|
44
|
-
await spawner.writeFile('docker-compose.yaml', composeOutput);
|
|
39
|
+
await writeDockerCompose({ projectId, dockerCompose: composeParsed });
|
|
45
40
|
}
|
|
46
41
|
|
|
47
42
|
export async function getAllEnvs(props: { projectId: string }) {
|
|
@@ -52,8 +47,7 @@ export async function getAllEnvs(props: { projectId: string }) {
|
|
|
52
47
|
const appDir = getAppDir(projectId);
|
|
53
48
|
const spawner = JsSpawner({ path: appDir });
|
|
54
49
|
const envVars = {};
|
|
55
|
-
const
|
|
56
|
-
const composeParsed = parse(composeContents);
|
|
50
|
+
const composeParsed = await readDockerCompose({ projectId });
|
|
57
51
|
if ('services' in composeParsed) {
|
|
58
52
|
const services = Object.keys(composeParsed['services']);
|
|
59
53
|
for (const s of services) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readAppCfg, writeAppCfg, readDockerCompose, writeDockerCompose } from './config';
|
|
1
2
|
import { installApp, uninstallApp } from './install';
|
|
2
3
|
import { rollbackApp } from './backup';
|
|
3
4
|
import {
|
|
@@ -13,6 +14,10 @@ import { ModelDetails } from './types';
|
|
|
13
14
|
import { getAllEnvs, setEnv } from './environment-variables';
|
|
14
15
|
|
|
15
16
|
export {
|
|
17
|
+
readAppCfg,
|
|
18
|
+
writeAppCfg,
|
|
19
|
+
readDockerCompose,
|
|
20
|
+
writeDockerCompose,
|
|
16
21
|
installApp,
|
|
17
22
|
uninstallApp,
|
|
18
23
|
rollbackApp,
|