@start9labs/start-sdk 0.4.0-beta.20 → 0.4.0-beta.21
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 +1 -1
- package/base/lib/actions/setupActions.d.ts +3 -4
- package/base/lib/actions/setupActions.js +17 -4
- package/base/lib/actions/setupActions.js.map +1 -1
- package/base/lib/dependencies/setupDependencies.d.ts +1 -3
- package/base/lib/dependencies/setupDependencies.js +3 -10
- package/base/lib/dependencies/setupDependencies.js.map +1 -1
- package/base/lib/index.d.ts +1 -0
- package/base/lib/index.js +2 -1
- package/base/lib/index.js.map +1 -1
- package/base/lib/inits/index.d.ts +2 -0
- package/base/lib/inits/index.js +19 -0
- package/base/lib/inits/index.js.map +1 -0
- package/base/lib/inits/setupInit.d.ts +11 -0
- package/base/lib/inits/setupInit.js +69 -0
- package/base/lib/inits/setupInit.js.map +1 -0
- package/base/lib/inits/setupUninit.d.ts +7 -0
- package/base/lib/inits/setupUninit.js +14 -0
- package/base/lib/inits/setupUninit.js.map +1 -0
- package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
- package/base/lib/interfaces/setupInterfaces.js +8 -17
- package/base/lib/interfaces/setupInterfaces.js.map +1 -1
- package/base/lib/osBindings/MainStatus.d.ts +0 -2
- package/base/lib/osBindings/PackageDataEntry.d.ts +1 -2
- package/base/lib/types.d.ts +7 -26
- package/base/lib/types.js.map +1 -1
- package/package/lib/StartSdk.d.ts +48 -40
- package/package/lib/StartSdk.js +47 -28
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +4 -2
- package/package/lib/backup/Backups.js +8 -3
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/backup/setupBackups.d.ts +5 -2
- package/package/lib/backup/setupBackups.js +6 -4
- package/package/lib/backup/setupBackups.js.map +1 -1
- package/package/lib/index.d.ts +0 -1
- package/package/lib/index.js +1 -4
- package/package/lib/index.js.map +1 -1
- package/package/lib/inits/index.d.ts +2 -3
- package/package/lib/inits/index.js +16 -3
- package/package/lib/inits/index.js.map +1 -1
- package/package/lib/inits/setupInit.d.ts +7 -12
- package/package/lib/inits/setupInit.js +22 -43
- package/package/lib/inits/setupInit.js.map +1 -1
- package/package/lib/inits/setupUninit.d.ts +7 -0
- package/package/lib/inits/setupUninit.js +14 -0
- package/package/lib/inits/setupUninit.js.map +1 -0
- package/package/lib/mainFn/CommandController.d.ts +3 -6
- package/package/lib/mainFn/CommandController.js +6 -12
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +4 -3
- package/package/lib/mainFn/Daemon.js +13 -8
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +3 -2
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.js +5 -8
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/mainFn/Oneshot.js +5 -2
- package/package/lib/mainFn/Oneshot.js.map +1 -1
- package/package/lib/test/output.js +297 -386
- package/package/lib/test/output.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +51 -389
- package/package/lib/util/SubContainer.d.ts +96 -33
- package/package/lib/util/SubContainer.js +83 -24
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package/lib/version/VersionGraph.d.ts +20 -5
- package/package/lib/version/VersionGraph.js +85 -18
- package/package/lib/version/VersionGraph.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,51 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupInit = setupInit;
|
|
4
|
-
const
|
|
5
|
-
function setupInit(
|
|
6
|
-
return {
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
to: versions.currentVersion(),
|
|
4
|
+
const util_1 = require("../util");
|
|
5
|
+
function setupInit(...inits) {
|
|
6
|
+
return async (opts) => {
|
|
7
|
+
for (const idx in inits) {
|
|
8
|
+
const init = inits[idx];
|
|
9
|
+
const fn = async (effects, kind) => {
|
|
10
|
+
let res = () => { };
|
|
11
|
+
const complete = new Promise((resolve) => {
|
|
12
|
+
res = resolve;
|
|
14
13
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const prev = await opts.effects.getDataVersion();
|
|
26
|
-
if (prev) {
|
|
27
|
-
await versions.migrate({
|
|
28
|
-
effects: opts.effects,
|
|
29
|
-
from: exver_1.ExtendedVersion.parse(prev),
|
|
30
|
-
to: exver_1.ExtendedVersion.parse(opts.nextVersion),
|
|
31
|
-
});
|
|
14
|
+
const e = effects.child(`init_${idx}`);
|
|
15
|
+
e.constRetry = (0, util_1.once)(() => complete.then(() => fn(effects, null)).catch(console.error));
|
|
16
|
+
try {
|
|
17
|
+
if ("init" in init)
|
|
18
|
+
await init.init(e, kind);
|
|
19
|
+
else
|
|
20
|
+
await init(e, kind);
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
res();
|
|
32
24
|
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
containerInit: async (opts) => {
|
|
39
|
-
const prev = await opts.effects.getDataVersion();
|
|
40
|
-
if (!prev) {
|
|
41
|
-
await preInstall.preInstall(opts);
|
|
42
|
-
}
|
|
43
|
-
await setServiceInterfaces({
|
|
44
|
-
...opts,
|
|
45
|
-
});
|
|
46
|
-
await actions.update({ effects: opts.effects });
|
|
47
|
-
await setDependencies({ effects: opts.effects });
|
|
48
|
-
},
|
|
25
|
+
};
|
|
26
|
+
await fn(opts.effects, opts.kind);
|
|
27
|
+
}
|
|
49
28
|
};
|
|
50
29
|
}
|
|
51
30
|
//# sourceMappingURL=setupInit.js.map
|
|
@@ -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":";;AAmBA,8BAuBC;AAxCD,kCAA8B;AAiB9B,SAAgB,SAAS,CAAC,GAAG,KAAuB;IAClD,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,MAAM,EAAE,GAAG,KAAK,EAAE,OAAkB,EAAE,IAAc,EAAE,EAAE;gBACtD,IAAI,GAAG,GAAgC,GAAG,EAAE,GAAE,CAAC,CAAA;gBAC/C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACvC,GAAG,GAAG,OAAO,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,MAAM,CAAC,GAAc,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;gBACjD,CAAC,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC5D,CAAA;gBACD,IAAI,CAAC;oBACH,IAAI,MAAM,IAAI,IAAI;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;;wBACvC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC1B,CAAC;wBAAS,CAAC;oBACT,GAAG,EAAE,CAAA;gBACP,CAAC;YACH,CAAC,CAAA;YACD,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExtendedVersion, VersionRange } from "../../../base/lib/exver";
|
|
2
|
+
import * as T from "../../../base/lib/types";
|
|
3
|
+
export type UninitFn = (effects: T.Effects, target: VersionRange | ExtendedVersion | null) => Promise<void | null | undefined>;
|
|
4
|
+
export interface UninitScript {
|
|
5
|
+
uninit(effects: T.Effects, target: VersionRange | ExtendedVersion | null): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare function setupUninit(...uninits: (UninitScript | UninitFn)[]): T.ExpectedExports.uninit;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupUninit = setupUninit;
|
|
4
|
+
function setupUninit(...uninits) {
|
|
5
|
+
return async (opts) => {
|
|
6
|
+
for (const uninit of uninits) {
|
|
7
|
+
if ("uninit" in uninit)
|
|
8
|
+
await uninit.uninit(opts.effects, opts.target);
|
|
9
|
+
else
|
|
10
|
+
await uninit(opts.effects, opts.target);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=setupUninit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupUninit.js","sourceRoot":"","sources":["../../../../package/lib/inits/setupUninit.ts"],"names":[],"mappings":";;AAeA,kCASC;AATD,SAAgB,WAAW,CACzB,GAAG,OAAoC;IAEvC,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,QAAQ,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;;gBACjE,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
|
-
import {
|
|
2
|
+
import { SubContainer } from "../util/SubContainer";
|
|
3
3
|
import { Drop } from "../util";
|
|
4
4
|
export declare class CommandController<Manifest extends T.SDKManifest> extends Drop {
|
|
5
5
|
readonly runningAnswer: Promise<unknown>;
|
|
@@ -19,15 +19,12 @@ export declare class CommandController<Manifest extends T.SDKManifest> extends D
|
|
|
19
19
|
onStdout?: (chunk: Buffer | string | any) => void;
|
|
20
20
|
onStderr?: (chunk: Buffer | string | any) => void;
|
|
21
21
|
}) => Promise<CommandController<Manifest>>;
|
|
22
|
-
|
|
23
|
-
wait({ timeout, keepSubcontainer }?: {
|
|
22
|
+
wait({ timeout }?: {
|
|
24
23
|
timeout?: number | undefined;
|
|
25
|
-
keepSubcontainer?: boolean | undefined;
|
|
26
24
|
}): Promise<unknown>;
|
|
27
|
-
term({ signal, timeout
|
|
25
|
+
term({ signal, timeout }?: {
|
|
28
26
|
signal?: NodeJS.Signals | undefined;
|
|
29
27
|
timeout?: number | undefined;
|
|
30
|
-
keepSubcontainer?: boolean | undefined;
|
|
31
28
|
}): Promise<void>;
|
|
32
29
|
onDrop(): void;
|
|
33
30
|
}
|
|
@@ -37,7 +37,6 @@ exports.CommandController = void 0;
|
|
|
37
37
|
const _1 = require(".");
|
|
38
38
|
const types_1 = require("../../../base/lib/types");
|
|
39
39
|
const T = __importStar(require("../../../base/lib/types"));
|
|
40
|
-
const SubContainer_1 = require("../util/SubContainer");
|
|
41
40
|
const util_1 = require("../util");
|
|
42
41
|
const fs = __importStar(require("node:fs/promises"));
|
|
43
42
|
class CommandController extends util_1.Drop {
|
|
@@ -106,13 +105,10 @@ class CommandController extends util_1.Drop {
|
|
|
106
105
|
}
|
|
107
106
|
};
|
|
108
107
|
}
|
|
109
|
-
|
|
110
|
-
return new SubContainer_1.SubContainerHandle(this.subcontainer);
|
|
111
|
-
}
|
|
112
|
-
async wait({ timeout = types_1.NO_TIMEOUT, keepSubcontainer = false } = {}) {
|
|
108
|
+
async wait({ timeout = types_1.NO_TIMEOUT } = {}) {
|
|
113
109
|
if (timeout > 0)
|
|
114
110
|
setTimeout(() => {
|
|
115
|
-
this.term(
|
|
111
|
+
this.term();
|
|
116
112
|
}, timeout);
|
|
117
113
|
try {
|
|
118
114
|
return await this.runningAnswer;
|
|
@@ -121,11 +117,10 @@ class CommandController extends util_1.Drop {
|
|
|
121
117
|
if (!this.state.exited) {
|
|
122
118
|
this.process.kill("SIGKILL");
|
|
123
119
|
}
|
|
124
|
-
|
|
125
|
-
await this.subcontainer.destroy();
|
|
120
|
+
await this.subcontainer.destroy();
|
|
126
121
|
}
|
|
127
122
|
}
|
|
128
|
-
async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout
|
|
123
|
+
async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout } = {}) {
|
|
129
124
|
try {
|
|
130
125
|
if (!this.state.exited) {
|
|
131
126
|
if (signal !== "SIGKILL") {
|
|
@@ -141,12 +136,11 @@ class CommandController extends util_1.Drop {
|
|
|
141
136
|
await this.runningAnswer;
|
|
142
137
|
}
|
|
143
138
|
finally {
|
|
144
|
-
|
|
145
|
-
await this.subcontainer.destroy();
|
|
139
|
+
await this.subcontainer.destroy();
|
|
146
140
|
}
|
|
147
141
|
}
|
|
148
142
|
onDrop() {
|
|
149
|
-
this.term(
|
|
143
|
+
this.term().catch(console.error);
|
|
150
144
|
}
|
|
151
145
|
}
|
|
152
146
|
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;
|
|
1
|
+
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
2
|
import { Drop } from "../util";
|
|
3
|
-
import {
|
|
3
|
+
import { SubContainer, SubContainerRc } from "../util/SubContainer";
|
|
4
4
|
import { CommandController } from "./CommandController";
|
|
5
5
|
/**
|
|
6
6
|
* This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
|
|
7
7
|
* and the others state of running, where it will keep a living running command
|
|
8
8
|
*/
|
|
9
9
|
export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
10
|
+
private subcontainer;
|
|
10
11
|
private startCommand;
|
|
11
12
|
readonly oneshot: boolean;
|
|
12
13
|
protected onExitSuccessFns: (() => void)[];
|
|
13
14
|
private commandController;
|
|
14
15
|
private shouldBeRunning;
|
|
15
16
|
protected exitedSuccess: boolean;
|
|
16
|
-
protected constructor(startCommand: () => Promise<CommandController<Manifest>>, oneshot?: boolean, onExitSuccessFns?: (() => void)[]);
|
|
17
|
-
get subContainerHandle(): undefined | ExecSpawnable;
|
|
17
|
+
protected constructor(subcontainer: SubContainer<Manifest>, startCommand: () => Promise<CommandController<Manifest>>, oneshot?: boolean, onExitSuccessFns?: (() => void)[]);
|
|
18
18
|
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, command: T.CommandType, options: {
|
|
19
19
|
runAsInit?: boolean;
|
|
20
20
|
env?: {
|
|
@@ -35,5 +35,6 @@ export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
|
35
35
|
signal?: NodeJS.Signals | undefined;
|
|
36
36
|
timeout?: number | undefined;
|
|
37
37
|
}): Promise<void>;
|
|
38
|
+
subcontainerRc(): SubContainerRc<Manifest>;
|
|
38
39
|
onDrop(): void;
|
|
39
40
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Daemon = void 0;
|
|
4
4
|
const asError_1 = require("../../../base/lib/util/asError");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
|
+
const SubContainer_1 = require("../util/SubContainer");
|
|
6
7
|
const CommandController_1 = require("./CommandController");
|
|
7
8
|
const TIMEOUT_INCREMENT_MS = 1000;
|
|
8
9
|
const MAX_TIMEOUT_MS = 30000;
|
|
@@ -11,8 +12,9 @@ const MAX_TIMEOUT_MS = 30000;
|
|
|
11
12
|
* and the others state of running, where it will keep a living running command
|
|
12
13
|
*/
|
|
13
14
|
class Daemon extends util_1.Drop {
|
|
14
|
-
constructor(startCommand, oneshot = false, onExitSuccessFns = []) {
|
|
15
|
+
constructor(subcontainer, startCommand, oneshot = false, onExitSuccessFns = []) {
|
|
15
16
|
super();
|
|
17
|
+
this.subcontainer = subcontainer;
|
|
16
18
|
this.startCommand = startCommand;
|
|
17
19
|
this.oneshot = oneshot;
|
|
18
20
|
this.onExitSuccessFns = onExitSuccessFns;
|
|
@@ -20,13 +22,12 @@ class Daemon extends util_1.Drop {
|
|
|
20
22
|
this.shouldBeRunning = false;
|
|
21
23
|
this.exitedSuccess = false;
|
|
22
24
|
}
|
|
23
|
-
get subContainerHandle() {
|
|
24
|
-
return this.commandController?.subContainerHandle;
|
|
25
|
-
}
|
|
26
25
|
static of() {
|
|
27
26
|
return async (effects, subcontainer, command, options) => {
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
if (subcontainer instanceof SubContainer_1.SubContainerOwned)
|
|
28
|
+
subcontainer = subcontainer.rc();
|
|
29
|
+
const startCommand = () => CommandController_1.CommandController.of()(effects, subcontainer.rc(), command, options);
|
|
30
|
+
return new Daemon(subcontainer, startCommand);
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
async start() {
|
|
@@ -40,10 +41,10 @@ class Daemon extends util_1.Drop {
|
|
|
40
41
|
while (this.shouldBeRunning) {
|
|
41
42
|
if (this.commandController)
|
|
42
43
|
await this.commandController
|
|
43
|
-
.term({
|
|
44
|
+
.term({})
|
|
44
45
|
.catch((err) => console.error(err));
|
|
45
46
|
this.commandController = await this.startCommand();
|
|
46
|
-
if ((await this.commandController.wait(
|
|
47
|
+
if ((await this.commandController.wait().then((_) => true, (err) => {
|
|
47
48
|
console.error(err);
|
|
48
49
|
return false;
|
|
49
50
|
})) &&
|
|
@@ -77,6 +78,10 @@ class Daemon extends util_1.Drop {
|
|
|
77
78
|
?.term({ ...termOptions })
|
|
78
79
|
.catch((e) => console.error((0, asError_1.asError)(e)));
|
|
79
80
|
this.commandController = null;
|
|
81
|
+
await this.subcontainer.destroy();
|
|
82
|
+
}
|
|
83
|
+
subcontainerRc() {
|
|
84
|
+
return this.subcontainer.rc();
|
|
80
85
|
}
|
|
81
86
|
onDrop() {
|
|
82
87
|
this.stop().catch((e) => console.error((0, asError_1.asError)(e)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":";;;AACA,4DAAwD;AACxD,kCAA8B;
|
|
1
|
+
{"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HealthCheckResult } from "../health/checkFns";
|
|
2
2
|
import { Trigger } from "../trigger";
|
|
3
3
|
import * as T from "../../../base/lib/types";
|
|
4
|
-
import {
|
|
4
|
+
import { SubContainer } from "../util/SubContainer";
|
|
5
5
|
import * as CP from "node:child_process";
|
|
6
6
|
export { Daemon } from "./Daemon";
|
|
7
7
|
export { CommandController } from "./CommandController";
|
|
@@ -9,6 +9,7 @@ import { HealthDaemon } from "./HealthDaemon";
|
|
|
9
9
|
import { Daemon } from "./Daemon";
|
|
10
10
|
import { CommandController } from "./CommandController";
|
|
11
11
|
import { HealthCheck } from "../health/HealthCheck";
|
|
12
|
+
import { Manifest } from "../test/output.sdk";
|
|
12
13
|
export declare const cpExec: typeof CP.exec.__promisify__;
|
|
13
14
|
export declare const cpExecFile: typeof CP.execFile.__promisify__;
|
|
14
15
|
export type Ready = {
|
|
@@ -28,7 +29,7 @@ export type Ready = {
|
|
|
28
29
|
})
|
|
29
30
|
* ```
|
|
30
31
|
*/
|
|
31
|
-
fn: (
|
|
32
|
+
fn: (subcontainer: SubContainer<Manifest>) => Promise<HealthCheckResult> | HealthCheckResult;
|
|
32
33
|
/**
|
|
33
34
|
* A duration in milliseconds to treat a failing health check as "starting"
|
|
34
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,yCAAqC;AACrC,uDAAwC;AAExC,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,iDAA6C;AAC7C,qCAAiC;AACjC,2DAAuD;AAEvD,uCAAmC;
|
|
1
|
+
{"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,8 +87,8 @@ class HealthDaemon {
|
|
|
87
87
|
if (this.ready === "EXIT_SUCCESS")
|
|
88
88
|
return;
|
|
89
89
|
for (let res = await Promise.race([status, trigger.next()]); !res.done; res = await Promise.race([status, trigger.next()])) {
|
|
90
|
-
const handle = (await this.daemon).
|
|
91
|
-
|
|
90
|
+
const handle = (await this.daemon).subcontainerRc();
|
|
91
|
+
try {
|
|
92
92
|
const response = await Promise.resolve(this.ready.fn(handle)).catch((err) => {
|
|
93
93
|
console.error((0, asError_1.asError)(err));
|
|
94
94
|
return {
|
|
@@ -102,11 +102,8 @@ class HealthDaemon {
|
|
|
102
102
|
}
|
|
103
103
|
await this.setHealth(response);
|
|
104
104
|
}
|
|
105
|
-
|
|
106
|
-
await
|
|
107
|
-
result: "failure",
|
|
108
|
-
message: "Daemon not running",
|
|
109
|
-
});
|
|
105
|
+
finally {
|
|
106
|
+
await handle.destroy();
|
|
110
107
|
}
|
|
111
108
|
}
|
|
112
109
|
}).catch((err) => console.error(`Daemon ${this.id} failed: ${err}`));
|
|
@@ -131,7 +128,7 @@ class HealthDaemon {
|
|
|
131
128
|
let result = health.result;
|
|
132
129
|
if (result === "failure" &&
|
|
133
130
|
this.started &&
|
|
134
|
-
performance.now() - this.started <= (this.ready.gracePeriod ??
|
|
131
|
+
performance.now() - this.started <= (this.ready.gracePeriod ?? 10_000))
|
|
135
132
|
result = "starting";
|
|
136
133
|
await this.effects.setHealth({
|
|
137
134
|
...health,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthDaemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/HealthDaemon.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HealthDaemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/HealthDaemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Oneshot = void 0;
|
|
4
|
+
const SubContainer_1 = require("../util/SubContainer");
|
|
4
5
|
const CommandController_1 = require("./CommandController");
|
|
5
6
|
const Daemon_1 = require("./Daemon");
|
|
6
7
|
/**
|
|
@@ -11,8 +12,10 @@ const Daemon_1 = require("./Daemon");
|
|
|
11
12
|
class Oneshot extends Daemon_1.Daemon {
|
|
12
13
|
static of() {
|
|
13
14
|
return async (effects, subcontainer, command, options) => {
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
if (subcontainer instanceof SubContainer_1.SubContainerOwned)
|
|
16
|
+
subcontainer = subcontainer.rc();
|
|
17
|
+
const startCommand = () => CommandController_1.CommandController.of()(effects, subcontainer.rc(), command, options);
|
|
18
|
+
return new Oneshot(subcontainer, startCommand, true, []);
|
|
16
19
|
};
|
|
17
20
|
}
|
|
18
21
|
onExitSuccess(fn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Oneshot.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Oneshot.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Oneshot.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Oneshot.ts"],"names":[],"mappings":";;;AACA,uDAAsE;AACtE,2DAAuD;AACvD,qCAAiC;AAEjC;;;;GAIG;AAEH,MAAa,OAAwC,SAAQ,eAAgB;IAC3E,MAAM,CAAC,EAAE;QACP,OAAO,KAAK,EACV,OAAkB,EAClB,YAAoC,EACpC,OAAsB,EACtB,OAWC,EACD,EAAE;YACF,IAAI,YAAY,YAAY,gCAAiB;gBAC3C,YAAY,GAAG,YAAY,CAAC,EAAE,EAAE,CAAA;YAClC,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,qCAAiB,CAAC,EAAE,EAAY,CAC9B,OAAO,EACP,YAAY,CAAC,EAAE,EAAE,EACjB,OAAO,EACP,OAAO,CACR,CAAA;YACH,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1D,CAAC,CAAA;IACH,CAAC;IAED,aAAa,CAAC,EAAc;QAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,EAAE,EAAE,CAAA;QACN,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;CACF;AAvCD,0BAuCC"}
|