@start9labs/start-sdk 0.4.0-beta.2 → 0.4.0-beta.20
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/base/lib/Effects.d.ts +3 -21
- package/base/lib/actions/index.d.ts +5 -5
- package/base/lib/actions/index.js.map +1 -1
- package/base/lib/actions/input/builder/inputSpec.d.ts +10 -25
- package/base/lib/actions/input/builder/inputSpec.js +0 -17
- package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
- package/base/lib/actions/input/builder/list.d.ts +8 -23
- package/base/lib/actions/input/builder/list.js +0 -17
- package/base/lib/actions/input/builder/list.js.map +1 -1
- package/base/lib/actions/input/builder/value.d.ts +318 -53
- package/base/lib/actions/input/builder/value.js +280 -17
- package/base/lib/actions/input/builder/value.js.map +1 -1
- package/base/lib/actions/input/builder/variants.d.ts +8 -23
- package/base/lib/actions/input/builder/variants.js +0 -17
- package/base/lib/actions/input/builder/variants.js.map +1 -1
- package/base/lib/actions/input/inputSpecConstants.d.ts +6 -6
- package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
- package/base/lib/actions/setupActions.d.ts +8 -8
- package/base/lib/actions/setupActions.js +7 -7
- package/base/lib/actions/setupActions.js.map +1 -1
- package/base/lib/dependencies/setupDependencies.js +5 -7
- package/base/lib/dependencies/setupDependencies.js.map +1 -1
- package/base/lib/interfaces/setupInterfaces.js +7 -9
- package/base/lib/interfaces/setupInterfaces.js.map +1 -1
- package/base/lib/osBindings/AddCategoryParams.d.ts +0 -2
- package/base/lib/osBindings/AddPackageToCategoryParams.d.ts +5 -0
- package/base/lib/osBindings/AddPackageToCategoryParams.js +3 -0
- package/base/lib/osBindings/AddPackageToCategoryParams.js.map +1 -0
- package/base/lib/osBindings/Category.d.ts +0 -2
- package/base/lib/osBindings/Category.js +1 -0
- package/base/lib/osBindings/Category.js.map +1 -1
- package/base/lib/osBindings/FileType.d.ts +1 -0
- package/base/lib/osBindings/{UnsetPublicParams.js → FileType.js} +1 -1
- package/base/lib/osBindings/FileType.js.map +1 -0
- package/base/lib/osBindings/GetOsVersionParams.d.ts +4 -3
- package/base/lib/osBindings/GetPackageParams.d.ts +1 -1
- package/base/lib/osBindings/MountTarget.d.ts +2 -0
- package/base/lib/osBindings/RemoveAdminParams.d.ts +4 -0
- package/base/lib/osBindings/RemoveAdminParams.js +3 -0
- package/base/lib/osBindings/RemoveAdminParams.js.map +1 -0
- package/base/lib/osBindings/RemoveAssetParams.d.ts +4 -0
- package/base/lib/osBindings/{NetworkInterfaceSetPublicParams.js → RemoveAssetParams.js} +1 -1
- package/base/lib/osBindings/RemoveAssetParams.js.map +1 -0
- package/base/lib/osBindings/RemovePackageFromCategoryParams.d.ts +5 -0
- package/base/lib/osBindings/RemovePackageFromCategoryParams.js +3 -0
- package/base/lib/osBindings/RemovePackageFromCategoryParams.js.map +1 -0
- package/base/lib/osBindings/RemovePackageParams.d.ts +6 -0
- package/base/lib/osBindings/RemovePackageParams.js +3 -0
- package/base/lib/osBindings/RemovePackageParams.js.map +1 -0
- package/base/lib/osBindings/index.d.ts +6 -3
- package/base/lib/types.d.ts +13 -7
- package/base/lib/types.js +8 -0
- package/base/lib/types.js.map +1 -1
- package/base/lib/util/GetSystemSmtp.js +7 -2
- package/base/lib/util/GetSystemSmtp.js.map +1 -1
- package/base/lib/util/getServiceInterface.d.ts +10 -0
- package/base/lib/util/getServiceInterface.js +41 -1
- package/base/lib/util/getServiceInterface.js.map +1 -1
- package/base/lib/util/getServiceInterfaces.js +6 -1
- package/base/lib/util/getServiceInterfaces.js.map +1 -1
- package/base/lib/util/index.d.ts +0 -1
- package/base/lib/util/index.js +1 -3
- package/base/lib/util/index.js.map +1 -1
- package/package/lib/StartSdk.d.ts +70 -518
- package/package/lib/StartSdk.js +42 -390
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +13 -3
- package/package/lib/backup/Backups.js +41 -4
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/backup/setupBackups.js +2 -2
- package/package/lib/backup/setupBackups.js.map +1 -1
- package/package/lib/health/HealthCheck.js +1 -1
- package/package/lib/health/HealthCheck.js.map +1 -1
- package/package/lib/health/checkFns/runHealthScript.d.ts +2 -1
- package/package/lib/health/checkFns/runHealthScript.js +1 -1
- package/package/lib/health/checkFns/runHealthScript.js.map +1 -1
- package/package/lib/index.d.ts +0 -2
- package/package/lib/index.js +1 -5
- package/package/lib/index.js.map +1 -1
- package/package/lib/inits/setupInit.d.ts +2 -3
- package/package/lib/inits/setupInit.js +1 -6
- package/package/lib/inits/setupInit.js.map +1 -1
- package/package/lib/inits/setupInstall.d.ts +10 -10
- package/package/lib/inits/setupInstall.js.map +1 -1
- package/package/lib/inits/setupUninstall.d.ts +5 -5
- package/package/lib/inits/setupUninstall.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +8 -14
- package/package/lib/mainFn/CommandController.js +33 -48
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +11 -13
- package/package/lib/mainFn/Daemon.js +34 -7
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +32 -32
- package/package/lib/mainFn/Daemons.js +30 -10
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.d.ts +6 -6
- package/package/lib/mainFn/HealthDaemon.js +25 -6
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/mainFn/Mounts.d.ts +38 -43
- package/package/lib/mainFn/Mounts.js +19 -48
- package/package/lib/mainFn/Mounts.js.map +1 -1
- package/package/lib/mainFn/Oneshot.d.ts +21 -0
- package/package/lib/mainFn/Oneshot.js +28 -0
- package/package/lib/mainFn/Oneshot.js.map +1 -0
- package/package/lib/mainFn/index.d.ts +1 -1
- package/package/lib/store/getStore.js +7 -2
- package/package/lib/store/getStore.js.map +1 -1
- package/package/lib/test/inputSpecBuilder.test.js +0 -8
- package/package/lib/test/inputSpecBuilder.test.js.map +1 -1
- package/package/lib/test/output.d.ts +2 -38
- package/package/lib/test/output.js +386 -297
- package/package/lib/test/output.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +146 -456
- package/package/lib/test/output.sdk.js +0 -1
- package/package/lib/test/output.sdk.js.map +1 -1
- package/package/lib/util/Drop.d.ts +1 -0
- package/package/lib/util/Drop.js +17 -4
- package/package/lib/util/Drop.js.map +1 -1
- package/package/lib/util/GetSslCertificate.js +7 -2
- package/package/lib/util/GetSslCertificate.js.map +1 -1
- package/package/lib/util/SubContainer.d.ts +67 -14
- package/package/lib/util/SubContainer.js +138 -81
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package/lib/util/fileHelper.d.ts +41 -15
- package/package/lib/util/fileHelper.js +72 -27
- package/package/lib/util/fileHelper.js.map +1 -1
- package/package.json +10 -11
- package/base/lib/osBindings/NetworkInterfaceSetPublicParams.d.ts +0 -4
- package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +0 -1
- package/base/lib/osBindings/UnsetPublicParams.d.ts +0 -3
- package/base/lib/osBindings/UnsetPublicParams.js.map +0 -1
|
@@ -35,17 +35,22 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.Backups = exports.DEFAULT_OPTIONS = void 0;
|
|
37
37
|
const child_process = __importStar(require("child_process"));
|
|
38
|
+
const fs = __importStar(require("fs/promises"));
|
|
38
39
|
const util_1 = require("../util");
|
|
39
40
|
exports.DEFAULT_OPTIONS = {
|
|
40
41
|
delete: true,
|
|
41
42
|
exclude: [],
|
|
42
43
|
};
|
|
43
44
|
class Backups {
|
|
44
|
-
constructor(options = exports.DEFAULT_OPTIONS, restoreOptions = {}, backupOptions = {}, backupSet = []) {
|
|
45
|
+
constructor(options = exports.DEFAULT_OPTIONS, restoreOptions = {}, backupOptions = {}, backupSet = [], preBackup = async (effects) => { }, postBackup = async (effects) => { }, preRestore = async (effects) => { }, postRestore = async (effects) => { }) {
|
|
45
46
|
this.options = options;
|
|
46
47
|
this.restoreOptions = restoreOptions;
|
|
47
48
|
this.backupOptions = backupOptions;
|
|
48
49
|
this.backupSet = backupSet;
|
|
50
|
+
this.preBackup = preBackup;
|
|
51
|
+
this.postBackup = postBackup;
|
|
52
|
+
this.preRestore = preRestore;
|
|
53
|
+
this.postRestore = postRestore;
|
|
49
54
|
}
|
|
50
55
|
static withVolumes(...volumeNames) {
|
|
51
56
|
return Backups.withSyncs(...volumeNames.map((srcVolume) => ({
|
|
@@ -80,7 +85,23 @@ class Backups {
|
|
|
80
85
|
};
|
|
81
86
|
return this;
|
|
82
87
|
}
|
|
83
|
-
|
|
88
|
+
setPreBackup(fn) {
|
|
89
|
+
this.preBackup = fn;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
setPostBackup(fn) {
|
|
93
|
+
this.postBackup = fn;
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
setPreRestore(fn) {
|
|
97
|
+
this.preRestore = fn;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
setPostRestore(fn) {
|
|
101
|
+
this.postRestore = fn;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
mountVolume(volume, options) {
|
|
84
105
|
return this.addSync({
|
|
85
106
|
dataPath: `/media/startos/volumes/${volume}/`,
|
|
86
107
|
backupPath: `/media/startos/backup/${volume}/`,
|
|
@@ -94,7 +115,8 @@ class Backups {
|
|
|
94
115
|
});
|
|
95
116
|
return this;
|
|
96
117
|
}
|
|
97
|
-
async createBackup() {
|
|
118
|
+
async createBackup(effects) {
|
|
119
|
+
await this.preBackup(effects);
|
|
98
120
|
for (const item of this.backupSet) {
|
|
99
121
|
const rsyncResults = await runRsync({
|
|
100
122
|
srcPath: item.dataPath,
|
|
@@ -108,9 +130,16 @@ class Backups {
|
|
|
108
130
|
});
|
|
109
131
|
await rsyncResults.wait();
|
|
110
132
|
}
|
|
133
|
+
const dataVersion = await effects.getDataVersion();
|
|
134
|
+
if (dataVersion)
|
|
135
|
+
await fs.writeFile("/media/startos/backup/dataVersion.txt", dataVersion, {
|
|
136
|
+
encoding: "utf-8",
|
|
137
|
+
});
|
|
138
|
+
await this.postBackup(effects);
|
|
111
139
|
return;
|
|
112
140
|
}
|
|
113
|
-
async restoreBackup() {
|
|
141
|
+
async restoreBackup(effects) {
|
|
142
|
+
this.preRestore(effects);
|
|
114
143
|
for (const item of this.backupSet) {
|
|
115
144
|
const rsyncResults = await runRsync({
|
|
116
145
|
srcPath: item.backupPath,
|
|
@@ -124,6 +153,14 @@ class Backups {
|
|
|
124
153
|
});
|
|
125
154
|
await rsyncResults.wait();
|
|
126
155
|
}
|
|
156
|
+
const dataVersion = await fs
|
|
157
|
+
.readFile("/media/startos/backup/dataVersion.txt", {
|
|
158
|
+
encoding: "utf-8",
|
|
159
|
+
})
|
|
160
|
+
.catch((_) => null);
|
|
161
|
+
if (dataVersion)
|
|
162
|
+
await effects.setDataVersion({ version: dataVersion });
|
|
163
|
+
this.postRestore(effects);
|
|
127
164
|
return;
|
|
128
165
|
}
|
|
129
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Backups.js","sourceRoot":"","sources":["../../../../package/lib/backup/Backups.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6DAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"Backups.js","sourceRoot":"","sources":["../../../../package/lib/backup/Backups.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,12 @@ function setupBackups(options) {
|
|
|
13
13
|
const answer = {
|
|
14
14
|
get createBackup() {
|
|
15
15
|
return (async (options) => {
|
|
16
|
-
return (await backupsFactory(options)).createBackup();
|
|
16
|
+
return (await backupsFactory(options)).createBackup(options.effects);
|
|
17
17
|
});
|
|
18
18
|
},
|
|
19
19
|
get restoreBackup() {
|
|
20
20
|
return (async (options) => {
|
|
21
|
-
return (await backupsFactory(options)).restoreBackup();
|
|
21
|
+
return (await backupsFactory(options)).restoreBackup(options.effects);
|
|
22
22
|
});
|
|
23
23
|
},
|
|
24
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupBackups.js","sourceRoot":"","sources":["../../../../package/lib/backup/setupBackups.ts"],"names":[],"mappings":";;AAaA,oCAyBC;AAtCD,uCAAmC;AAanC,SAAgB,YAAY,CAC1B,OAA8B;IAE9B,IAAI,cAAkE,CAAA;IACtE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,cAAc,GAAG,OAAO,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,iBAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,MAAM,GAGR;QACF,IAAI,YAAY;YACd,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"setupBackups.js","sourceRoot":"","sources":["../../../../package/lib/backup/setupBackups.ts"],"names":[],"mappings":";;AAaA,oCAyBC;AAtCD,uCAAmC;AAanC,SAAgB,YAAY,CAC1B,OAA8B;IAE9B,IAAI,cAAkE,CAAA;IACtE,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,cAAc,GAAG,OAAO,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,iBAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAA;IAC9D,CAAC;IACD,MAAM,MAAM,GAGR;QACF,IAAI,YAAY;YACd,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACtE,CAAC,CAAmC,CAAA;QACtC,CAAC;QACD,IAAI,aAAa;YACf,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACvE,CAAC,CAAoC,CAAA;QACvC,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -18,7 +18,7 @@ class HealthCheck extends util_1.Drop {
|
|
|
18
18
|
this.currentValue = {};
|
|
19
19
|
this.promise = Promise.resolve().then(async () => {
|
|
20
20
|
const getCurrentValue = () => this.currentValue;
|
|
21
|
-
const gracePeriod = o.gracePeriod ??
|
|
21
|
+
const gracePeriod = o.gracePeriod ?? 10_000;
|
|
22
22
|
const trigger = (o.trigger ?? defaultTrigger_1.defaultTrigger)(getCurrentValue);
|
|
23
23
|
const triggerFirstSuccess = (0, util_1.once)(() => Promise.resolve("onFirstSuccess" in o && o.onFirstSuccess
|
|
24
24
|
? o.onFirstSuccess()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../../../package/lib/health/HealthCheck.ts"],"names":[],"mappings":";;;AAIA,8DAA0D;AAC1D,kCAA6C;AAC7C,2CAA4C;AAW5C,MAAa,WAAY,SAAQ,WAAI;IAWnC,YAAoB,OAAgB,EAAE,CAAoB;QACxD,KAAK,EAAE,CAAA;QAXD,YAAO,GAAkB,IAAI,CAAA;QAC7B,eAAU,GAAG,CAAC,OAAsB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC,CAAA;QACO,WAAM,GAAG,KAAK,CAAA;QACd,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QACpB,CAAC,CAAA;QACO,iBAAY,GAAiB,EAAE,CAAA;QAIrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAA;YAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../../../package/lib/health/HealthCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HealthCheckResult } from "./HealthCheckResult";
|
|
2
2
|
import { SubContainer } from "../../util/SubContainer";
|
|
3
|
+
import { SDKManifest } from "../../types";
|
|
3
4
|
/**
|
|
4
5
|
* Running a health script, is used when we want to have a simple
|
|
5
6
|
* script in bash or something like that. It should return something that is useful
|
|
@@ -7,7 +8,7 @@ import { SubContainer } from "../../util/SubContainer";
|
|
|
7
8
|
* @param param0
|
|
8
9
|
* @returns
|
|
9
10
|
*/
|
|
10
|
-
export declare const runHealthScript: (runCommand: string[], subcontainer: SubContainer
|
|
11
|
+
export declare const runHealthScript: <Manifest extends SDKManifest>(runCommand: string[], subcontainer: SubContainer<Manifest>, { timeout, errorMessage, message, }?: {
|
|
11
12
|
timeout?: number | undefined;
|
|
12
13
|
errorMessage?: string | undefined;
|
|
13
14
|
message?: ((res: string) => string) | undefined;
|
|
@@ -11,7 +11,7 @@ const index_1 = require("./index");
|
|
|
11
11
|
*/
|
|
12
12
|
const runHealthScript = async (runCommand, subcontainer, { timeout = 30000, errorMessage = `Error while running command: ${runCommand}`, message = (res) => `Have ran script ${runCommand} and the result: ${res}`, } = {}) => {
|
|
13
13
|
const res = await Promise.race([
|
|
14
|
-
subcontainer.
|
|
14
|
+
subcontainer.execFail(runCommand),
|
|
15
15
|
(0, index_1.timeoutPromise)(timeout),
|
|
16
16
|
]).catch((e) => {
|
|
17
17
|
console.warn(errorMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runHealthScript.js","sourceRoot":"","sources":["../../../../../package/lib/health/checkFns/runHealthScript.ts"],"names":[],"mappings":";;;AACA,mCAAwC;
|
|
1
|
+
{"version":3,"file":"runHealthScript.js","sourceRoot":"","sources":["../../../../../package/lib/health/checkFns/runHealthScript.ts"],"names":[],"mappings":";;;AACA,mCAAwC;AAIxC;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,UAAoB,EACpB,YAAoC,EACpC,EACE,OAAO,GAAG,KAAK,EACf,YAAY,GAAG,gCAAgC,UAAU,EAAE,EAC3D,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CACxB,mBAAmB,UAAU,oBAAoB,GAAG,EAAE,MACtD,EAAE,EACsB,EAAE;IAC9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAC7B,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,IAAA,sBAAc,EAAC,OAAO,CAAC;KACxB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAuB,CAAA;IACzE,CAAC,CAAC,CAAA;IACF,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KACnB,CAAA;AACxB,CAAC,CAAA;AAvBY,QAAA,eAAe,mBAuB3B"}
|
package/package/lib/index.d.ts
CHANGED
|
@@ -6,8 +6,6 @@ export { SubContainer } from "./util/SubContainer";
|
|
|
6
6
|
export { StartSdk } from "./StartSdk";
|
|
7
7
|
export { setupManifest, buildManifest } from "./manifest/setupManifest";
|
|
8
8
|
export { FileHelper } from "./util/fileHelper";
|
|
9
|
-
export { setupExposeStore } from "./store/setupExposeStore";
|
|
10
|
-
export { pathBuilder } from "../../base/lib/util/PathBuilder";
|
|
11
9
|
export * as actions from "../../base/lib/actions";
|
|
12
10
|
export * as backup from "./backup";
|
|
13
11
|
export * as daemons from "./mainFn/Daemons";
|
package/package/lib/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
36
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.TOML = exports.YAML = exports.startSdk = exports.yaml = exports.toml = exports.mainFn = exports.inits = exports.healthFns = exports.health = exports.daemons = exports.backup = exports.actions = exports.
|
|
39
|
+
exports.TOML = exports.YAML = exports.startSdk = exports.yaml = exports.toml = exports.mainFn = exports.inits = exports.healthFns = exports.health = exports.daemons = exports.backup = exports.actions = exports.FileHelper = exports.buildManifest = exports.setupManifest = exports.StartSdk = exports.SubContainer = exports.Daemons = exports.T = exports.utils = exports.matches = exports.types = exports.IST = exports.ISB = exports.inputSpec = exports.ExtendedVersion = exports.VersionRange = exports.Version = exports.S9pk = void 0;
|
|
40
40
|
const lib_1 = require("../../base/lib");
|
|
41
41
|
Object.defineProperty(exports, "S9pk", { enumerable: true, get: function () { return lib_1.S9pk; } });
|
|
42
42
|
Object.defineProperty(exports, "Version", { enumerable: true, get: function () { return lib_1.Version; } });
|
|
@@ -60,10 +60,6 @@ Object.defineProperty(exports, "setupManifest", { enumerable: true, get: functio
|
|
|
60
60
|
Object.defineProperty(exports, "buildManifest", { enumerable: true, get: function () { return setupManifest_1.buildManifest; } });
|
|
61
61
|
var fileHelper_1 = require("./util/fileHelper");
|
|
62
62
|
Object.defineProperty(exports, "FileHelper", { enumerable: true, get: function () { return fileHelper_1.FileHelper; } });
|
|
63
|
-
var setupExposeStore_1 = require("./store/setupExposeStore");
|
|
64
|
-
Object.defineProperty(exports, "setupExposeStore", { enumerable: true, get: function () { return setupExposeStore_1.setupExposeStore; } });
|
|
65
|
-
var PathBuilder_1 = require("../../base/lib/util/PathBuilder");
|
|
66
|
-
Object.defineProperty(exports, "pathBuilder", { enumerable: true, get: function () { return PathBuilder_1.pathBuilder; } });
|
|
67
63
|
exports.actions = __importStar(require("../../base/lib/actions"));
|
|
68
64
|
exports.backup = __importStar(require("./backup"));
|
|
69
65
|
exports.daemons = __importStar(require("./mainFn/Daemons"));
|
package/package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../package/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAWuB;AAGrB,qFAbA,UAAI,OAaA;AACJ,wFAbA,aAAO,OAaA;AACP,6FAbA,kBAAY,OAaA;AACZ,gGAbA,qBAAe,OAaA;AACf,0FAbA,eAAS,OAaA;AACT,oFAbA,SAAG,OAaA;AACH,oFAbA,SAAG,OAaA;AACH,sFAbA,WAAK,OAaA;AACL,wFAbA,aAAO,OAaA;AACP,sFAbA,WAAK,OAaA;AAEP,6CAA4B;AAC5B,4CAA0C;AAAjC,kGAAA,OAAO,OAAA;AAChB,oDAAkD;AAAzC,4GAAA,YAAY,OAAA;AACrB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,0DAAuE;AAA9D,8GAAA,aAAa,OAAA;AAAE,8GAAA,aAAa,OAAA;AACrC,gDAA8C;AAArC,wGAAA,UAAU,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../package/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAWuB;AAGrB,qFAbA,UAAI,OAaA;AACJ,wFAbA,aAAO,OAaA;AACP,6FAbA,kBAAY,OAaA;AACZ,gGAbA,qBAAe,OAaA;AACf,0FAbA,eAAS,OAaA;AACT,oFAbA,SAAG,OAaA;AACH,oFAbA,SAAG,OAaA;AACH,sFAbA,WAAK,OAaA;AACL,wFAbA,aAAO,OAaA;AACP,sFAbA,WAAK,OAaA;AAEP,6CAA4B;AAC5B,4CAA0C;AAAjC,kGAAA,OAAO,OAAA;AAChB,oDAAkD;AAAzC,4GAAA,YAAY,OAAA;AACrB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,0DAAuE;AAA9D,8GAAA,aAAa,OAAA;AAAE,8GAAA,aAAa,OAAA;AACrC,gDAA8C;AAArC,wGAAA,UAAU,OAAA;AAEnB,kEAAiD;AACjD,mDAAkC;AAClC,4DAA2C;AAC3C,mDAAkC;AAClC,+DAA8C;AAC9C,iDAAgC;AAChC,mDAAkC;AAClC,oDAAmC;AACnC,6CAA4B;AAC5B,uDAAsC;AACtC,6CAA4B;AAC5B,oDAAmC;AACnC,4CAAyB"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Actions } from "../../../base/lib/actions/setupActions";
|
|
2
2
|
import { UpdateServiceInterfaces } from "../../../base/lib/interfaces/setupInterfaces";
|
|
3
|
-
import { ExposedStorePaths } from "../../../base/lib/types";
|
|
4
3
|
import * as T from "../../../base/lib/types";
|
|
5
4
|
import { VersionGraph } from "../version/VersionGraph";
|
|
6
5
|
import { PostInstall, PreInstall } from "./setupInstall";
|
|
7
6
|
import { Uninstall } from "./setupUninstall";
|
|
8
|
-
export declare function setupInit<Manifest extends T.SDKManifest
|
|
7
|
+
export declare function setupInit<Manifest extends T.SDKManifest>(versions: VersionGraph<string>, preInstall: PreInstall<Manifest>, postInstall: PostInstall<Manifest>, uninstall: Uninstall<Manifest>, setServiceInterfaces: UpdateServiceInterfaces<any>, setDependencies: (options: {
|
|
9
8
|
effects: T.Effects;
|
|
10
|
-
}) => Promise<null | void | undefined>, actions: Actions<
|
|
9
|
+
}) => Promise<null | void | undefined>, actions: Actions<any>): {
|
|
11
10
|
packageInit: T.ExpectedExports.packageInit;
|
|
12
11
|
packageUninit: T.ExpectedExports.packageUninit;
|
|
13
12
|
containerInit: T.ExpectedExports.containerInit;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupInit = setupInit;
|
|
4
4
|
const exver_1 = require("../../../base/lib/exver");
|
|
5
|
-
function setupInit(versions, preInstall, postInstall, uninstall, setServiceInterfaces, setDependencies, actions
|
|
5
|
+
function setupInit(versions, preInstall, postInstall, uninstall, setServiceInterfaces, setDependencies, actions) {
|
|
6
6
|
return {
|
|
7
7
|
packageInit: async (opts) => {
|
|
8
8
|
const prev = await opts.effects.getDataVersion();
|
|
@@ -38,17 +38,12 @@ function setupInit(versions, preInstall, postInstall, uninstall, setServiceInter
|
|
|
38
38
|
containerInit: async (opts) => {
|
|
39
39
|
const prev = await opts.effects.getDataVersion();
|
|
40
40
|
if (!prev) {
|
|
41
|
-
await opts.effects.store.set({
|
|
42
|
-
path: "",
|
|
43
|
-
value: initStore,
|
|
44
|
-
});
|
|
45
41
|
await preInstall.preInstall(opts);
|
|
46
42
|
}
|
|
47
43
|
await setServiceInterfaces({
|
|
48
44
|
...opts,
|
|
49
45
|
});
|
|
50
46
|
await actions.update({ effects: opts.effects });
|
|
51
|
-
await opts.effects.exposeForDependents({ paths: exposedStore });
|
|
52
47
|
await setDependencies({ effects: opts.effects });
|
|
53
48
|
},
|
|
54
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupInit.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupInit.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"setupInit.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupInit.ts"],"names":[],"mappings":";;AAQA,8BAyDC;AAhED,mDAAyD;AAOzD,SAAgB,SAAS,CACvB,QAA8B,EAC9B,UAAgC,EAChC,WAAkC,EAClC,SAA8B,EAC9B,oBAAkD,EAClD,eAEsC,EACtC,OAAqB;IAMrB,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;YAChD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,QAAQ,CAAC,OAAO,CAAC;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,uBAAe,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjC,EAAE,EAAE,QAAQ,CAAC,cAAc,EAAE;iBAC9B,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;gBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;oBAChC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;iBAC1C,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;gBAChD,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,QAAQ,CAAC,OAAO,CAAC;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,uBAAe,CAAC,KAAK,CAAC,IAAI,CAAC;wBACjC,EAAE,EAAE,uBAAe,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;qBAC5C,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;YAChD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC;YACD,MAAM,oBAAoB,CAAC;gBACzB,GAAG,IAAI;aACR,CAAC,CAAA;YACF,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;YAC/C,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
|
-
export type InstallFn<Manifest extends T.SDKManifest
|
|
2
|
+
export type InstallFn<Manifest extends T.SDKManifest> = (opts: {
|
|
3
3
|
effects: T.Effects;
|
|
4
4
|
}) => Promise<null | void | undefined>;
|
|
5
|
-
export declare class Install<Manifest extends T.SDKManifest
|
|
6
|
-
readonly fn: InstallFn<Manifest
|
|
7
|
-
protected constructor(fn: InstallFn<Manifest
|
|
5
|
+
export declare class Install<Manifest extends T.SDKManifest> {
|
|
6
|
+
readonly fn: InstallFn<Manifest>;
|
|
7
|
+
protected constructor(fn: InstallFn<Manifest>);
|
|
8
8
|
}
|
|
9
|
-
export declare class PreInstall<Manifest extends T.SDKManifest
|
|
9
|
+
export declare class PreInstall<Manifest extends T.SDKManifest> extends Install<Manifest> {
|
|
10
10
|
private constructor();
|
|
11
|
-
static of<Manifest extends T.SDKManifest
|
|
11
|
+
static of<Manifest extends T.SDKManifest>(fn: InstallFn<Manifest>): PreInstall<Manifest>;
|
|
12
12
|
preInstall({ effects }: Parameters<T.ExpectedExports.packageInit>[0]): Promise<void>;
|
|
13
13
|
}
|
|
14
|
-
export declare function setupPreInstall<Manifest extends T.SDKManifest
|
|
15
|
-
export declare class PostInstall<Manifest extends T.SDKManifest
|
|
14
|
+
export declare function setupPreInstall<Manifest extends T.SDKManifest>(fn: InstallFn<Manifest>): PreInstall<Manifest>;
|
|
15
|
+
export declare class PostInstall<Manifest extends T.SDKManifest> extends Install<Manifest> {
|
|
16
16
|
private constructor();
|
|
17
|
-
static of<Manifest extends T.SDKManifest
|
|
17
|
+
static of<Manifest extends T.SDKManifest>(fn: InstallFn<Manifest>): PostInstall<Manifest>;
|
|
18
18
|
postInstall({ effects }: Parameters<T.ExpectedExports.packageInit>[0]): Promise<void>;
|
|
19
19
|
}
|
|
20
|
-
export declare function setupPostInstall<Manifest extends T.SDKManifest
|
|
20
|
+
export declare function setupPostInstall<Manifest extends T.SDKManifest>(fn: InstallFn<Manifest>): PostInstall<Manifest>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupInstall.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupInstall.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"setupInstall.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupInstall.ts"],"names":[],"mappings":";;;AA0BA,0CAIC;AAmBD,4CAIC;AAhDD,MAAa,OAAO;IAClB,YAA+B,EAAuB;QAAvB,OAAE,GAAF,EAAE,CAAqB;IAAG,CAAC;CAC3D;AAFD,0BAEC;AAED,MAAa,UAEX,SAAQ,OAAiB;IACzB,YAAoB,EAAuB;QACzC,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,CAAC;IACD,MAAM,CAAC,EAAE,CAAiC,EAAuB;QAC/D,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAgD;QACxE,MAAM,IAAI,CAAC,EAAE,CAAC;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AAfD,gCAeC;AAED,SAAgB,eAAe,CAC7B,EAAuB;IAEvB,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC;AAED,MAAa,WAEX,SAAQ,OAAiB;IACzB,YAAoB,EAAuB;QACzC,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,CAAC;IACD,MAAM,CAAC,EAAE,CAAiC,EAAuB;QAC/D,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAgD;QACzE,MAAM,IAAI,CAAC,EAAE,CAAC;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AAfD,kCAeC;AAED,SAAgB,gBAAgB,CAC9B,EAAuB;IAEvB,OAAO,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
|
-
export type UninstallFn<Manifest extends T.SDKManifest
|
|
2
|
+
export type UninstallFn<Manifest extends T.SDKManifest> = (opts: {
|
|
3
3
|
effects: T.Effects;
|
|
4
4
|
}) => Promise<null | void | undefined>;
|
|
5
|
-
export declare class Uninstall<Manifest extends T.SDKManifest
|
|
6
|
-
readonly fn: UninstallFn<Manifest
|
|
5
|
+
export declare class Uninstall<Manifest extends T.SDKManifest> {
|
|
6
|
+
readonly fn: UninstallFn<Manifest>;
|
|
7
7
|
private constructor();
|
|
8
|
-
static of<Manifest extends T.SDKManifest
|
|
8
|
+
static of<Manifest extends T.SDKManifest>(fn: UninstallFn<Manifest>): Uninstall<Manifest>;
|
|
9
9
|
uninstall({ effects, nextVersion, }: Parameters<T.ExpectedExports.packageUninit>[0]): Promise<void>;
|
|
10
10
|
}
|
|
11
|
-
export declare function setupUninstall<Manifest extends T.SDKManifest
|
|
11
|
+
export declare function setupUninstall<Manifest extends T.SDKManifest>(fn: UninstallFn<Manifest>): Uninstall<Manifest>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupUninstall.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupUninstall.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"setupUninstall.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupUninstall.ts"],"names":[],"mappings":";;;AAsBA,wCAIC;AArBD,MAAa,SAAS;IACpB,YAA6B,EAAyB;QAAzB,OAAE,GAAF,EAAE,CAAuB;IAAG,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAiC,EAAyB;QACjE,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EACd,OAAO,EACP,WAAW,GACoC;QAC/C,IAAI,CAAC,WAAW;YACd,MAAM,IAAI,CAAC,EAAE,CAAC;gBACZ,OAAO;aACR,CAAC,CAAA;IACN,CAAC;CACF;AAfD,8BAeC;AAED,SAAgB,cAAc,CAC5B,EAAyB;IAEzB,OAAO,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
|
-
import {
|
|
2
|
+
import { SubContainerHandle, SubContainer } from "../util/SubContainer";
|
|
3
3
|
import { Drop } from "../util";
|
|
4
|
-
export declare class CommandController extends Drop {
|
|
4
|
+
export declare class CommandController<Manifest extends T.SDKManifest> extends Drop {
|
|
5
5
|
readonly runningAnswer: Promise<unknown>;
|
|
6
6
|
private state;
|
|
7
7
|
private readonly subcontainer;
|
|
8
8
|
private process;
|
|
9
9
|
readonly sigtermTimeout: number;
|
|
10
10
|
private constructor();
|
|
11
|
-
static of<Manifest extends T.SDKManifest>():
|
|
12
|
-
imageId: keyof Manifest["images"] & T.ImageId;
|
|
13
|
-
sharedRun?: boolean;
|
|
14
|
-
} | SubContainer, command: T.CommandType, options: {
|
|
15
|
-
subcontainerName?: string;
|
|
11
|
+
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, command: T.CommandType, options: {
|
|
16
12
|
sigtermTimeout?: number;
|
|
17
|
-
mounts?: {
|
|
18
|
-
mountpoint: string;
|
|
19
|
-
options: MountOptions;
|
|
20
|
-
}[];
|
|
21
13
|
runAsInit?: boolean;
|
|
22
14
|
env?: {
|
|
23
15
|
[variable: string]: string;
|
|
@@ -26,14 +18,16 @@ export declare class CommandController extends Drop {
|
|
|
26
18
|
user?: string | undefined;
|
|
27
19
|
onStdout?: (chunk: Buffer | string | any) => void;
|
|
28
20
|
onStderr?: (chunk: Buffer | string | any) => void;
|
|
29
|
-
}) => Promise<CommandController
|
|
21
|
+
}) => Promise<CommandController<Manifest>>;
|
|
30
22
|
get subContainerHandle(): SubContainerHandle;
|
|
31
|
-
wait({ timeout }?: {
|
|
23
|
+
wait({ timeout, keepSubcontainer }?: {
|
|
32
24
|
timeout?: number | undefined;
|
|
25
|
+
keepSubcontainer?: boolean | undefined;
|
|
33
26
|
}): Promise<unknown>;
|
|
34
|
-
term({ signal, timeout }?: {
|
|
27
|
+
term({ signal, timeout, keepSubcontainer, }?: {
|
|
35
28
|
signal?: NodeJS.Signals | undefined;
|
|
36
29
|
timeout?: number | undefined;
|
|
30
|
+
keepSubcontainer?: boolean | undefined;
|
|
37
31
|
}): Promise<void>;
|
|
38
32
|
onDrop(): void;
|
|
39
33
|
}
|
|
@@ -51,43 +51,28 @@ class CommandController extends util_1.Drop {
|
|
|
51
51
|
}
|
|
52
52
|
static of() {
|
|
53
53
|
return async (effects, subcontainer, command, options) => {
|
|
54
|
-
let commands;
|
|
55
|
-
if (command instanceof T.UseEntrypoint) {
|
|
56
|
-
const imageMeta = await fs
|
|
57
|
-
.readFile(`/media/startos/images/${subcontainer.imageId}.json`, {
|
|
58
|
-
encoding: "utf8",
|
|
59
|
-
})
|
|
60
|
-
.catch(() => "{}")
|
|
61
|
-
.then(JSON.parse);
|
|
62
|
-
commands = imageMeta.entrypoint ?? [];
|
|
63
|
-
commands.concat(...(command.overridCmd ?? imageMeta.cmd ?? []));
|
|
64
|
-
}
|
|
65
|
-
else
|
|
66
|
-
commands = (0, util_1.splitCommand)(command);
|
|
67
|
-
const subc = subcontainer instanceof SubContainer_1.SubContainer
|
|
68
|
-
? subcontainer
|
|
69
|
-
: await (async () => {
|
|
70
|
-
const subc = await SubContainer_1.SubContainer.of(effects, subcontainer, options?.subcontainerName || commands.join(" "));
|
|
71
|
-
try {
|
|
72
|
-
for (let mount of options.mounts || []) {
|
|
73
|
-
await subc.mount(mount.options, mount.mountpoint);
|
|
74
|
-
}
|
|
75
|
-
return subc;
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
await subc.destroy();
|
|
79
|
-
throw e;
|
|
80
|
-
}
|
|
81
|
-
})();
|
|
82
54
|
try {
|
|
55
|
+
let commands;
|
|
56
|
+
if (command instanceof T.UseEntrypoint) {
|
|
57
|
+
const imageMeta = await fs
|
|
58
|
+
.readFile(`/media/startos/images/${subcontainer.imageId}.json`, {
|
|
59
|
+
encoding: "utf8",
|
|
60
|
+
})
|
|
61
|
+
.catch(() => "{}")
|
|
62
|
+
.then(JSON.parse);
|
|
63
|
+
commands = imageMeta.entrypoint ?? [];
|
|
64
|
+
commands = commands.concat(...(command.overridCmd ?? imageMeta.cmd ?? []));
|
|
65
|
+
}
|
|
66
|
+
else
|
|
67
|
+
commands = (0, util_1.splitCommand)(command);
|
|
83
68
|
let childProcess;
|
|
84
69
|
if (options.runAsInit) {
|
|
85
|
-
childProcess = await
|
|
70
|
+
childProcess = await subcontainer.launch(commands, {
|
|
86
71
|
env: options.env,
|
|
87
72
|
});
|
|
88
73
|
}
|
|
89
74
|
else {
|
|
90
|
-
childProcess = await
|
|
75
|
+
childProcess = await subcontainer.spawn(commands, {
|
|
91
76
|
env: options.env,
|
|
92
77
|
stdio: options.onStdout || options.onStderr ? "pipe" : "inherit",
|
|
93
78
|
});
|
|
@@ -113,10 +98,10 @@ class CommandController extends util_1.Drop {
|
|
|
113
98
|
}
|
|
114
99
|
});
|
|
115
100
|
});
|
|
116
|
-
return new CommandController(answer, state,
|
|
101
|
+
return new CommandController(answer, state, subcontainer, childProcess, options.sigtermTimeout);
|
|
117
102
|
}
|
|
118
103
|
catch (e) {
|
|
119
|
-
await
|
|
104
|
+
await subcontainer.destroy();
|
|
120
105
|
throw e;
|
|
121
106
|
}
|
|
122
107
|
};
|
|
@@ -124,44 +109,44 @@ class CommandController extends util_1.Drop {
|
|
|
124
109
|
get subContainerHandle() {
|
|
125
110
|
return new SubContainer_1.SubContainerHandle(this.subcontainer);
|
|
126
111
|
}
|
|
127
|
-
async wait({ timeout = types_1.NO_TIMEOUT } = {}) {
|
|
128
|
-
const self = this.weak();
|
|
112
|
+
async wait({ timeout = types_1.NO_TIMEOUT, keepSubcontainer = false } = {}) {
|
|
129
113
|
if (timeout > 0)
|
|
130
114
|
setTimeout(() => {
|
|
131
|
-
|
|
115
|
+
this.term({ keepSubcontainer });
|
|
132
116
|
}, timeout);
|
|
133
117
|
try {
|
|
134
|
-
return await
|
|
118
|
+
return await this.runningAnswer;
|
|
135
119
|
}
|
|
136
120
|
finally {
|
|
137
|
-
if (!
|
|
138
|
-
|
|
121
|
+
if (!this.state.exited) {
|
|
122
|
+
this.process.kill("SIGKILL");
|
|
139
123
|
}
|
|
140
|
-
|
|
124
|
+
if (!keepSubcontainer)
|
|
125
|
+
await this.subcontainer.destroy();
|
|
141
126
|
}
|
|
142
127
|
}
|
|
143
|
-
async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout } = {}) {
|
|
144
|
-
const self = this.weak();
|
|
128
|
+
async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout, keepSubcontainer = false, } = {}) {
|
|
145
129
|
try {
|
|
146
|
-
if (!
|
|
130
|
+
if (!this.state.exited) {
|
|
147
131
|
if (signal !== "SIGKILL") {
|
|
148
132
|
setTimeout(() => {
|
|
149
|
-
if (!
|
|
150
|
-
|
|
133
|
+
if (!this.state.exited)
|
|
134
|
+
this.process.kill("SIGKILL");
|
|
151
135
|
}, timeout);
|
|
152
136
|
}
|
|
153
|
-
if (!
|
|
137
|
+
if (!this.process.kill(signal)) {
|
|
154
138
|
console.error(`failed to send signal ${signal} to pid ${this.process.pid}`);
|
|
155
139
|
}
|
|
156
140
|
}
|
|
157
|
-
await
|
|
141
|
+
await this.runningAnswer;
|
|
158
142
|
}
|
|
159
143
|
finally {
|
|
160
|
-
|
|
144
|
+
if (!keepSubcontainer)
|
|
145
|
+
await this.subcontainer.destroy();
|
|
161
146
|
}
|
|
162
147
|
}
|
|
163
148
|
onDrop() {
|
|
164
|
-
this.term().catch(console.error);
|
|
149
|
+
this.term({ keepSubcontainer: true }).catch(console.error);
|
|
165
150
|
}
|
|
166
151
|
}
|
|
167
152
|
exports.CommandController = CommandController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAA2C;AAC3C,mDAA6D;AAE7D,2DAA4C;AAC5C,uDAI6B;AAC7B,kCAA4C;AAE5C,qDAAsC;
|
|
1
|
+
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAA2C;AAC3C,mDAA6D;AAE7D,2DAA4C;AAC5C,uDAI6B;AAC7B,kCAA4C;AAE5C,qDAAsC;AAGtC,MAAa,iBAAkD,SAAQ,WAAI;IACzE,YACW,aAA+B,EAChC,KAA0B,EACjB,YAAoC,EAC7C,OAAwB,EACvB,iBAAyB,0BAAuB;QAEzD,KAAK,EAAE,CAAA;QANE,kBAAa,GAAb,aAAa,CAAkB;QAChC,UAAK,GAAL,KAAK,CAAqB;QACjB,iBAAY,GAAZ,YAAY,CAAwB;QAC7C,YAAO,GAAP,OAAO,CAAiB;QACvB,mBAAc,GAAd,cAAc,CAAkC;IAG3D,CAAC;IACD,MAAM,CAAC,EAAE;QACP,OAAO,KAAK,EACV,OAAkB,EAClB,YAAoC,EACpC,OAAsB,EACtB,OAaC,EACD,EAAE;YACF,IAAI,CAAC;gBACH,IAAI,QAAkB,CAAA;gBACtB,IAAI,OAAO,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;oBACvC,MAAM,SAAS,GAAoB,MAAM,EAAE;yBACxC,QAAQ,CAAC,yBAAyB,YAAY,CAAC,OAAO,OAAO,EAAE;wBAC9D,QAAQ,EAAE,MAAM;qBACjB,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;yBACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACnB,QAAQ,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAA;oBACrC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAC/C,CAAA;gBACH,CAAC;;oBAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAA;gBAEvC,IAAI,YAA6B,CAAA;gBACjC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACjD,GAAG,EAAE,OAAO,CAAC,GAAG;qBACjB,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE;wBAChD,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;qBACjE,CAAC,CAAA;gBACJ,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ;oBAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACvE,IAAI,OAAO,CAAC,QAAQ;oBAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAEvE,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAC/B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;wBACnB,IACE,IAAI,KAAK,CAAC;4BACV,IAAI,KAAK,GAAG;4BACZ,CAAC,IAAI,KAAK,IAAI,IAAI,YAAY,CAAC,UAAU,IAAI,SAAS,CAAC,EACvD,CAAC;4BACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;wBACtB,CAAC;wBACD,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC,CACrD,CAAA;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,MAAM,CACX,IAAI,KAAK,CACP,GAAG,QAAQ,CAAC,CAAC,CAAC,uBAAuB,YAAY,CAAC,UAAU,EAAE,CAC/D,CACF,CAAA;wBACH,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBAEF,OAAO,IAAI,iBAAiB,CAC1B,MAAM,EACN,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,OAAO,CAAC,cAAc,CACvB,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;gBAC5B,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IACD,IAAI,kBAAkB;QACpB,OAAO,IAAI,iCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,kBAAU,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE;QAChE,IAAI,OAAO,GAAG,CAAC;YACb,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAA;YACjC,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,aAAa,CAAA;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC;YACD,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EACT,MAAM,GAAG,eAAO,EAChB,OAAO,GAAG,IAAI,CAAC,cAAc,EAC7B,gBAAgB,GAAG,KAAK,GACzB,GAAG,EAAE;QACJ,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;4BAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBACtD,CAAC,EAAE,OAAO,CAAC,CAAA;gBACb,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,yBAAyB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAC7D,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC;CACF;AA9ID,8CA8IC"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
|
-
import {
|
|
2
|
+
import { Drop } from "../util";
|
|
3
|
+
import { ExecSpawnable, SubContainer } from "../util/SubContainer";
|
|
3
4
|
import { CommandController } from "./CommandController";
|
|
4
5
|
/**
|
|
5
6
|
* This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
|
|
6
7
|
* and the others state of running, where it will keep a living running command
|
|
7
8
|
*/
|
|
8
|
-
export declare class Daemon {
|
|
9
|
+
export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
9
10
|
private startCommand;
|
|
11
|
+
readonly oneshot: boolean;
|
|
12
|
+
protected onExitSuccessFns: (() => void)[];
|
|
10
13
|
private commandController;
|
|
11
14
|
private shouldBeRunning;
|
|
12
|
-
|
|
15
|
+
protected exitedSuccess: boolean;
|
|
16
|
+
protected constructor(startCommand: () => Promise<CommandController<Manifest>>, oneshot?: boolean, onExitSuccessFns?: (() => void)[]);
|
|
13
17
|
get subContainerHandle(): undefined | ExecSpawnable;
|
|
14
|
-
static of<Manifest extends T.SDKManifest>():
|
|
15
|
-
|
|
16
|
-
sharedRun?: boolean;
|
|
17
|
-
} | SubContainer, command: T.CommandType, options: {
|
|
18
|
-
subcontainerName?: string;
|
|
19
|
-
mounts?: {
|
|
20
|
-
mountpoint: string;
|
|
21
|
-
options: MountOptions;
|
|
22
|
-
}[];
|
|
18
|
+
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, command: T.CommandType, options: {
|
|
19
|
+
runAsInit?: boolean;
|
|
23
20
|
env?: {
|
|
24
21
|
[variable: string]: string;
|
|
25
22
|
} | undefined;
|
|
@@ -28,7 +25,7 @@ export declare class Daemon {
|
|
|
28
25
|
onStdout?: (chunk: Buffer | string | any) => void;
|
|
29
26
|
onStderr?: (chunk: Buffer | string | any) => void;
|
|
30
27
|
sigtermTimeout?: number;
|
|
31
|
-
}) => Promise<Daemon
|
|
28
|
+
}) => Promise<Daemon<Manifest>>;
|
|
32
29
|
start(): Promise<void>;
|
|
33
30
|
term(termOptions?: {
|
|
34
31
|
signal?: NodeJS.Signals | undefined;
|
|
@@ -38,4 +35,5 @@ export declare class Daemon {
|
|
|
38
35
|
signal?: NodeJS.Signals | undefined;
|
|
39
36
|
timeout?: number | undefined;
|
|
40
37
|
}): Promise<void>;
|
|
38
|
+
onDrop(): void;
|
|
41
39
|
}
|