@start9labs/start-sdk 0.4.0-beta.26 → 0.4.0-beta.27
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/dependencies/dependencies.js +15 -7
- package/base/lib/dependencies/dependencies.js.map +1 -1
- package/package/lib/StartSdk.d.ts +2 -12
- package/package/lib/StartSdk.js +1 -1
- package/package/lib/backup/Backups.js +1 -0
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +4 -13
- package/package/lib/mainFn/CommandController.js +52 -17
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +5 -13
- package/package/lib/mainFn/Daemon.js +28 -18
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +20 -19
- package/package/lib/mainFn/Daemons.js +2 -6
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.js +18 -5
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/mainFn/Oneshot.d.ts +2 -11
- package/package/lib/mainFn/Oneshot.js +5 -11
- package/package/lib/mainFn/Oneshot.js.map +1 -1
- 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 +1 -11
- package/package/lib/util/SubContainer.d.ts +6 -6
- package/package/lib/util/SubContainer.js +8 -7
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,9 +38,12 @@ async function checkDependencies(effects, packageIds) {
|
|
|
38
38
|
!dep.requirement.healthChecks.includes(healthCheckId))) {
|
|
39
39
|
throw new Error(`Unknown HealthCheckId ${healthCheckId}`);
|
|
40
40
|
}
|
|
41
|
-
const errors =
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const errors = dep.requirement.kind === "running"
|
|
42
|
+
? dep.requirement.healthChecks
|
|
43
|
+
.map((id) => [id, dep.result.healthChecks[id] ?? null])
|
|
44
|
+
.filter(([id, _]) => (healthCheckId ? id === healthCheckId : true))
|
|
45
|
+
.filter(([_, res]) => res?.result !== "success")
|
|
46
|
+
: [];
|
|
44
47
|
return errors.length === 0;
|
|
45
48
|
};
|
|
46
49
|
const pkgSatisfied = (packageId) => installedSatisfied(packageId) &&
|
|
@@ -92,12 +95,17 @@ async function checkDependencies(effects, packageIds) {
|
|
|
92
95
|
!dep.requirement.healthChecks.includes(healthCheckId))) {
|
|
93
96
|
throw new Error(`Unknown HealthCheckId ${healthCheckId}`);
|
|
94
97
|
}
|
|
95
|
-
const errors =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
const errors = dep.requirement.kind === "running"
|
|
99
|
+
? dep.requirement.healthChecks
|
|
100
|
+
.map((id) => [id, dep.result.healthChecks[id] ?? null])
|
|
101
|
+
.filter(([id, _]) => (healthCheckId ? id === healthCheckId : true))
|
|
102
|
+
.filter(([_, res]) => res?.result !== "success")
|
|
103
|
+
: [];
|
|
98
104
|
if (errors.length) {
|
|
99
105
|
throw new Error(errors
|
|
100
|
-
.map(([
|
|
106
|
+
.map(([id, e]) => e
|
|
107
|
+
? `Health Check ${e.name} of ${dep.result.title || packageId} failed with status ${e.result}${e.message ? `: ${e.message}` : ""}`
|
|
108
|
+
: `Health Check ${id} of ${dep.result.title} does not exist`)
|
|
101
109
|
.join("; "));
|
|
102
110
|
}
|
|
103
111
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../base/lib/dependencies/dependencies.ts"],"names":[],"mappings":";;AAyBA,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../base/lib/dependencies/dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ import { GetInput } from "../../base/lib/actions/setupActions";
|
|
|
26
26
|
import { Run } from "../../base/lib/actions/setupActions";
|
|
27
27
|
import * as actions from "../../base/lib/actions";
|
|
28
28
|
import { setupInit, setupUninit, setupOnInit, setupOnUninit } from "../../base/lib/inits";
|
|
29
|
-
export declare const OSVersion: "0.4.0-alpha.
|
|
29
|
+
export declare const OSVersion: "0.4.0-alpha.6";
|
|
30
30
|
type AnyNeverCond<T extends any[], Then, Else> = T extends [] ? Else : T extends [never, ...Array<any>] ? Then : T extends [any, ...infer U] ? AnyNeverCond<U, Then, Else> : never;
|
|
31
31
|
export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
32
32
|
readonly manifest: Manifest;
|
|
@@ -503,17 +503,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
|
503
503
|
of: <Spec extends Record<string, Value<any>>>(spec: Spec) => InputSpec<{ [K in keyof Spec]: Spec[K] extends Value<infer T> ? T : never; }>;
|
|
504
504
|
};
|
|
505
505
|
Daemon: {
|
|
506
|
-
readonly of: (effects: T.Effects, subcontainer: SubContainer<Manifest, Effects>,
|
|
507
|
-
runAsInit?: boolean;
|
|
508
|
-
env?: {
|
|
509
|
-
[variable: string]: string;
|
|
510
|
-
} | undefined;
|
|
511
|
-
cwd?: string | undefined;
|
|
512
|
-
user?: string | undefined;
|
|
513
|
-
onStdout?: ((chunk: Buffer | string | any) => void) | undefined;
|
|
514
|
-
onStderr?: ((chunk: Buffer | string | any) => void) | undefined;
|
|
515
|
-
sigtermTimeout?: number;
|
|
516
|
-
}) => Promise<Daemon<Manifest>>;
|
|
506
|
+
readonly of: (effects: T.Effects, subcontainer: SubContainer<Manifest, Effects>, exec: import("./mainFn/Daemons").DaemonCommandType | null) => Promise<Daemon<Manifest>>;
|
|
517
507
|
};
|
|
518
508
|
Daemons: {
|
|
519
509
|
of(effects: Effects, started: (onTerm: () => PromiseLike<void>) => PromiseLike<null>, healthChecks: HealthCheck[]): Daemons<Manifest, never>;
|
package/package/lib/StartSdk.js
CHANGED
|
@@ -70,7 +70,7 @@ const version_1 = require("./version");
|
|
|
70
70
|
const actions = __importStar(require("../../base/lib/actions"));
|
|
71
71
|
const fs = __importStar(require("node:fs/promises"));
|
|
72
72
|
const inits_1 = require("../../base/lib/inits");
|
|
73
|
-
exports.OSVersion = (0, exver_1.testTypeVersion)("0.4.0-alpha.
|
|
73
|
+
exports.OSVersion = (0, exver_1.testTypeVersion)("0.4.0-alpha.6");
|
|
74
74
|
class StartSdk {
|
|
75
75
|
constructor(manifest) {
|
|
76
76
|
this.manifest = manifest;
|
|
@@ -172,6 +172,7 @@ class Backups {
|
|
|
172
172
|
exports.Backups = Backups;
|
|
173
173
|
async function runRsync(rsyncOptions) {
|
|
174
174
|
const { srcPath, dstPath, options } = rsyncOptions;
|
|
175
|
+
await fs.mkdir(dstPath, { recursive: true });
|
|
175
176
|
const command = "rsync";
|
|
176
177
|
const args = [];
|
|
177
178
|
if (options.delete) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Backups.js","sourceRoot":"","sources":["../../../../package/lib/backup/Backups.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Backups.js","sourceRoot":"","sources":["../../../../package/lib/backup/Backups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
2
|
import { SubContainer } from "../util/SubContainer";
|
|
3
3
|
import { Drop } from "../util";
|
|
4
|
+
import { DaemonCommandType } from "./Daemons";
|
|
4
5
|
export declare class CommandController<Manifest extends T.SDKManifest> extends Drop {
|
|
5
|
-
readonly runningAnswer: Promise<
|
|
6
|
+
readonly runningAnswer: Promise<null>;
|
|
6
7
|
private state;
|
|
7
8
|
private readonly subcontainer;
|
|
8
9
|
private process;
|
|
9
10
|
readonly sigtermTimeout: number;
|
|
10
11
|
private constructor();
|
|
11
|
-
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>,
|
|
12
|
-
sigtermTimeout?: number;
|
|
13
|
-
runAsInit?: boolean;
|
|
14
|
-
env?: {
|
|
15
|
-
[variable: string]: string;
|
|
16
|
-
} | undefined;
|
|
17
|
-
cwd?: string | undefined;
|
|
18
|
-
user?: string | undefined;
|
|
19
|
-
onStdout?: (chunk: Buffer | string | any) => void;
|
|
20
|
-
onStderr?: (chunk: Buffer | string | any) => void;
|
|
21
|
-
}) => Promise<CommandController<Manifest>>;
|
|
12
|
+
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, exec: DaemonCommandType) => Promise<CommandController<Manifest>>;
|
|
22
13
|
wait({ timeout }?: {
|
|
23
14
|
timeout?: number | undefined;
|
|
24
|
-
}): Promise<
|
|
15
|
+
}): Promise<void>;
|
|
25
16
|
term({ signal, timeout }?: {
|
|
26
17
|
signal?: NodeJS.Signals | undefined;
|
|
27
18
|
timeout?: number | undefined;
|
|
@@ -49,10 +49,26 @@ class CommandController extends util_1.Drop {
|
|
|
49
49
|
this.sigtermTimeout = sigtermTimeout;
|
|
50
50
|
}
|
|
51
51
|
static of() {
|
|
52
|
-
return async (effects, subcontainer,
|
|
52
|
+
return async (effects, subcontainer, exec) => {
|
|
53
53
|
try {
|
|
54
|
+
if ("fn" in exec) {
|
|
55
|
+
const abort = new AbortController();
|
|
56
|
+
const cell = {
|
|
57
|
+
ctrl: new CommandController(exec.fn(subcontainer, abort).then(async (command) => {
|
|
58
|
+
if (command && !abort.signal.aborted) {
|
|
59
|
+
Object.assign(cell.ctrl, await CommandController.of()(effects, subcontainer, command));
|
|
60
|
+
return await cell.ctrl.runningAnswer;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
cell.ctrl.state.exited = true;
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}), { exited: false }, subcontainer, abort, exec.sigtermTimeout),
|
|
67
|
+
};
|
|
68
|
+
return cell.ctrl;
|
|
69
|
+
}
|
|
54
70
|
let commands;
|
|
55
|
-
if (T.isUseEntrypoint(command)) {
|
|
71
|
+
if (T.isUseEntrypoint(exec.command)) {
|
|
56
72
|
const imageMeta = await fs
|
|
57
73
|
.readFile(`/media/startos/images/${subcontainer.imageId}.json`, {
|
|
58
74
|
encoding: "utf8",
|
|
@@ -60,26 +76,26 @@ class CommandController extends util_1.Drop {
|
|
|
60
76
|
.catch(() => "{}")
|
|
61
77
|
.then(JSON.parse);
|
|
62
78
|
commands = imageMeta.entrypoint ?? [];
|
|
63
|
-
commands = commands.concat(...(command.overridCmd ?? imageMeta.cmd ?? []));
|
|
79
|
+
commands = commands.concat(...(exec.command.overridCmd ?? imageMeta.cmd ?? []));
|
|
64
80
|
}
|
|
65
81
|
else
|
|
66
|
-
commands = (0, util_1.splitCommand)(command);
|
|
82
|
+
commands = (0, util_1.splitCommand)(exec.command);
|
|
67
83
|
let childProcess;
|
|
68
|
-
if (
|
|
84
|
+
if (exec.runAsInit) {
|
|
69
85
|
childProcess = await subcontainer.launch(commands, {
|
|
70
|
-
env:
|
|
86
|
+
env: exec.env,
|
|
71
87
|
});
|
|
72
88
|
}
|
|
73
89
|
else {
|
|
74
90
|
childProcess = await subcontainer.spawn(commands, {
|
|
75
|
-
env:
|
|
76
|
-
stdio:
|
|
91
|
+
env: exec.env,
|
|
92
|
+
stdio: exec.onStdout || exec.onStderr ? "pipe" : "inherit",
|
|
77
93
|
});
|
|
78
94
|
}
|
|
79
|
-
if (
|
|
80
|
-
childProcess.stdout?.on("data",
|
|
81
|
-
if (
|
|
82
|
-
childProcess.stderr?.on("data",
|
|
95
|
+
if (exec.onStdout)
|
|
96
|
+
childProcess.stdout?.on("data", exec.onStdout);
|
|
97
|
+
if (exec.onStderr)
|
|
98
|
+
childProcess.stderr?.on("data", exec.onStderr);
|
|
83
99
|
const state = { exited: false };
|
|
84
100
|
const answer = new Promise((resolve, reject) => {
|
|
85
101
|
childProcess.on("exit", (code) => {
|
|
@@ -97,7 +113,7 @@ class CommandController extends util_1.Drop {
|
|
|
97
113
|
}
|
|
98
114
|
});
|
|
99
115
|
});
|
|
100
|
-
return new CommandController(answer, state, subcontainer, childProcess,
|
|
116
|
+
return new CommandController(answer, state, subcontainer, childProcess, exec.sigtermTimeout);
|
|
101
117
|
}
|
|
102
118
|
catch (e) {
|
|
103
119
|
await subcontainer.destroy();
|
|
@@ -111,11 +127,20 @@ class CommandController extends util_1.Drop {
|
|
|
111
127
|
this.term();
|
|
112
128
|
}, timeout);
|
|
113
129
|
try {
|
|
114
|
-
|
|
130
|
+
if (timeout > 0 && this.process instanceof AbortController)
|
|
131
|
+
await Promise.race([
|
|
132
|
+
this.runningAnswer,
|
|
133
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Timed out waiting for js command to exit")), timeout * 2)),
|
|
134
|
+
]);
|
|
135
|
+
else
|
|
136
|
+
await this.runningAnswer;
|
|
115
137
|
}
|
|
116
138
|
finally {
|
|
117
139
|
if (!this.state.exited) {
|
|
118
|
-
this.process
|
|
140
|
+
if (this.process instanceof AbortController)
|
|
141
|
+
this.process.abort();
|
|
142
|
+
else
|
|
143
|
+
this.process.kill("SIGKILL");
|
|
119
144
|
}
|
|
120
145
|
await this.subcontainer.destroy();
|
|
121
146
|
}
|
|
@@ -123,9 +148,13 @@ class CommandController extends util_1.Drop {
|
|
|
123
148
|
async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout } = {}) {
|
|
124
149
|
try {
|
|
125
150
|
if (!this.state.exited) {
|
|
151
|
+
if (this.process instanceof AbortController)
|
|
152
|
+
return this.process.abort();
|
|
126
153
|
if (signal !== "SIGKILL") {
|
|
127
154
|
setTimeout(() => {
|
|
128
|
-
if (
|
|
155
|
+
if (this.process instanceof AbortController)
|
|
156
|
+
this.process.abort();
|
|
157
|
+
else
|
|
129
158
|
this.process.kill("SIGKILL");
|
|
130
159
|
}, timeout);
|
|
131
160
|
}
|
|
@@ -133,7 +162,13 @@ class CommandController extends util_1.Drop {
|
|
|
133
162
|
console.error(`failed to send signal ${signal} to pid ${this.process.pid}`);
|
|
134
163
|
}
|
|
135
164
|
}
|
|
136
|
-
|
|
165
|
+
if (this.process instanceof AbortController)
|
|
166
|
+
await Promise.race([
|
|
167
|
+
this.runningAnswer,
|
|
168
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Timed out waiting for js command to exit")), timeout * 2)),
|
|
169
|
+
]);
|
|
170
|
+
else
|
|
171
|
+
await this.runningAnswer;
|
|
137
172
|
}
|
|
138
173
|
finally {
|
|
139
174
|
await this.subcontainer.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAA2C;AAC3C,mDAA6D;AAE7D,2DAA4C;AAE5C,kCAA4C;AAE5C,qDAAsC;
|
|
1
|
+
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import * as T from "../../../base/lib/types";
|
|
|
2
2
|
import { Drop } from "../util";
|
|
3
3
|
import { SubContainer, SubContainerRc } from "../util/SubContainer";
|
|
4
4
|
import { CommandController } from "./CommandController";
|
|
5
|
+
import { DaemonCommandType } from "./Daemons";
|
|
5
6
|
import { Oneshot } from "./Oneshot";
|
|
6
7
|
/**
|
|
7
8
|
* This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
|
|
@@ -11,23 +12,13 @@ export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
|
11
12
|
private subcontainer;
|
|
12
13
|
private startCommand;
|
|
13
14
|
readonly oneshot: boolean;
|
|
14
|
-
protected onExitSuccessFns: (() => void)[];
|
|
15
15
|
private commandController;
|
|
16
16
|
private shouldBeRunning;
|
|
17
17
|
protected exitedSuccess: boolean;
|
|
18
|
-
|
|
18
|
+
private onExitFns;
|
|
19
|
+
protected constructor(subcontainer: SubContainer<Manifest>, startCommand: (() => Promise<CommandController<Manifest>>) | null, oneshot?: boolean);
|
|
19
20
|
isOneshot(): this is Oneshot<Manifest>;
|
|
20
|
-
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>,
|
|
21
|
-
runAsInit?: boolean;
|
|
22
|
-
env?: {
|
|
23
|
-
[variable: string]: string;
|
|
24
|
-
} | undefined;
|
|
25
|
-
cwd?: string | undefined;
|
|
26
|
-
user?: string | undefined;
|
|
27
|
-
onStdout?: (chunk: Buffer | string | any) => void;
|
|
28
|
-
onStderr?: (chunk: Buffer | string | any) => void;
|
|
29
|
-
sigtermTimeout?: number;
|
|
30
|
-
}) => Promise<Daemon<Manifest>>;
|
|
21
|
+
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer: SubContainer<Manifest>, exec: DaemonCommandType | null) => Promise<Daemon<Manifest>>;
|
|
31
22
|
start(): Promise<void>;
|
|
32
23
|
term(termOptions?: {
|
|
33
24
|
signal?: NodeJS.Signals | undefined;
|
|
@@ -38,5 +29,6 @@ export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
|
38
29
|
timeout?: number | undefined;
|
|
39
30
|
}): Promise<void>;
|
|
40
31
|
subcontainerRc(): SubContainerRc<Manifest>;
|
|
32
|
+
onExit(fn: (success: boolean) => void): void;
|
|
41
33
|
onDrop(): void;
|
|
42
34
|
}
|
|
@@ -11,24 +11,26 @@ const MAX_TIMEOUT_MS = 30000;
|
|
|
11
11
|
* and the others state of running, where it will keep a living running command
|
|
12
12
|
*/
|
|
13
13
|
class Daemon extends util_1.Drop {
|
|
14
|
-
constructor(subcontainer, startCommand, oneshot = false
|
|
14
|
+
constructor(subcontainer, startCommand, oneshot = false) {
|
|
15
15
|
super();
|
|
16
16
|
this.subcontainer = subcontainer;
|
|
17
17
|
this.startCommand = startCommand;
|
|
18
18
|
this.oneshot = oneshot;
|
|
19
|
-
this.onExitSuccessFns = onExitSuccessFns;
|
|
20
19
|
this.commandController = null;
|
|
21
20
|
this.shouldBeRunning = false;
|
|
22
21
|
this.exitedSuccess = false;
|
|
22
|
+
this.onExitFns = [];
|
|
23
23
|
}
|
|
24
24
|
isOneshot() {
|
|
25
25
|
return this.oneshot;
|
|
26
26
|
}
|
|
27
27
|
static of() {
|
|
28
|
-
return async (effects, subcontainer,
|
|
28
|
+
return async (effects, subcontainer, exec) => {
|
|
29
29
|
if (subcontainer.isOwned())
|
|
30
30
|
subcontainer = subcontainer.rc();
|
|
31
|
-
const startCommand =
|
|
31
|
+
const startCommand = exec
|
|
32
|
+
? () => CommandController_1.CommandController.of()(effects, subcontainer.rc(), exec)
|
|
33
|
+
: null;
|
|
32
34
|
return new Daemon(subcontainer, startCommand);
|
|
33
35
|
};
|
|
34
36
|
}
|
|
@@ -37,31 +39,34 @@ class Daemon extends util_1.Drop {
|
|
|
37
39
|
return;
|
|
38
40
|
}
|
|
39
41
|
this.shouldBeRunning = true;
|
|
40
|
-
this.exitedSuccess = false;
|
|
41
42
|
let timeoutCounter = 0;
|
|
42
43
|
(async () => {
|
|
43
|
-
while (this.shouldBeRunning) {
|
|
44
|
+
while (this.startCommand && this.shouldBeRunning) {
|
|
44
45
|
if (this.commandController)
|
|
45
46
|
await this.commandController
|
|
46
47
|
.term({})
|
|
47
48
|
.catch((err) => console.error(err));
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
for (const fn of this.
|
|
49
|
+
try {
|
|
50
|
+
this.commandController = await this.startCommand();
|
|
51
|
+
const success = await this.commandController.wait().then((_) => true, (err) => {
|
|
52
|
+
console.error(err);
|
|
53
|
+
return false;
|
|
54
|
+
});
|
|
55
|
+
for (const fn of this.onExitFns) {
|
|
55
56
|
try {
|
|
56
|
-
fn();
|
|
57
|
+
fn(success);
|
|
57
58
|
}
|
|
58
59
|
catch (e) {
|
|
59
|
-
console.error("
|
|
60
|
+
console.error("EXIT handler", e);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
|
-
this.
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
if (success && this.oneshot) {
|
|
64
|
+
this.exitedSuccess = true;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
console.error(e);
|
|
65
70
|
}
|
|
66
71
|
await new Promise((resolve) => setTimeout(resolve, timeoutCounter));
|
|
67
72
|
timeoutCounter += TIMEOUT_INCREMENT_MS;
|
|
@@ -76,15 +81,20 @@ class Daemon extends util_1.Drop {
|
|
|
76
81
|
}
|
|
77
82
|
async stop(termOptions) {
|
|
78
83
|
this.shouldBeRunning = false;
|
|
84
|
+
this.exitedSuccess = false;
|
|
79
85
|
await this.commandController
|
|
80
86
|
?.term({ ...termOptions })
|
|
81
87
|
.catch((e) => console.error((0, asError_1.asError)(e)));
|
|
82
88
|
this.commandController = null;
|
|
89
|
+
this.onExitFns = [];
|
|
83
90
|
await this.subcontainer.destroy();
|
|
84
91
|
}
|
|
85
92
|
subcontainerRc() {
|
|
86
93
|
return this.subcontainer.rc();
|
|
87
94
|
}
|
|
95
|
+
onExit(fn) {
|
|
96
|
+
this.onExitFns.push(fn);
|
|
97
|
+
}
|
|
88
98
|
onDrop() {
|
|
89
99
|
this.stop().catch((e) => console.error((0, asError_1.asError)(e)));
|
|
90
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":";;;AACA,4DAAwD;AACxD,kCAA8B;AAM9B,2DAAuD;
|
|
1
|
+
{"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,19 +38,29 @@ export type Ready = {
|
|
|
38
38
|
gracePeriod?: number;
|
|
39
39
|
trigger?: Trigger;
|
|
40
40
|
};
|
|
41
|
-
type
|
|
42
|
-
/** The command line command to start the daemon */
|
|
41
|
+
export type ExecCommandOptions = {
|
|
43
42
|
command: T.CommandType;
|
|
44
|
-
/** Information about the subcontainer in which the daemon runs */
|
|
45
|
-
subcontainer: SubContainer<Manifest>;
|
|
46
|
-
runAsInit?: boolean;
|
|
47
|
-
env?: Record<string, string>;
|
|
48
|
-
cwd?: string;
|
|
49
|
-
user?: string;
|
|
50
43
|
sigtermTimeout?: number;
|
|
44
|
+
runAsInit?: boolean;
|
|
45
|
+
env?: {
|
|
46
|
+
[variable: string]: string;
|
|
47
|
+
} | undefined;
|
|
48
|
+
cwd?: string | undefined;
|
|
49
|
+
user?: string | undefined;
|
|
51
50
|
onStdout?: (chunk: Buffer | string | any) => void;
|
|
52
51
|
onStderr?: (chunk: Buffer | string | any) => void;
|
|
53
52
|
};
|
|
53
|
+
export type ExecFnOptions = {
|
|
54
|
+
fn: (subcontainer: SubContainer<Manifest>, abort: AbortController) => Promise<ExecCommandOptions | null>;
|
|
55
|
+
sigtermTimeout?: number;
|
|
56
|
+
};
|
|
57
|
+
export type DaemonCommandType = ExecCommandOptions | ExecFnOptions;
|
|
58
|
+
type NewDaemonParams<Manifest extends T.SDKManifest> = {
|
|
59
|
+
/** What to run as the daemon: either an async fn or a commandline command to run in the subcontainer */
|
|
60
|
+
exec: DaemonCommandType | null;
|
|
61
|
+
/** Information about the subcontainer in which the daemon runs */
|
|
62
|
+
subcontainer: SubContainer<Manifest>;
|
|
63
|
+
};
|
|
54
64
|
type AddDaemonParams<Manifest extends T.SDKManifest, Ids extends string, Id extends string> = (NewDaemonParams<Manifest> | {
|
|
55
65
|
daemon: Daemon<Manifest>;
|
|
56
66
|
}) & {
|
|
@@ -59,21 +69,12 @@ type AddDaemonParams<Manifest extends T.SDKManifest, Ids extends string, Id exte
|
|
|
59
69
|
requires: Exclude<Ids, Id>[];
|
|
60
70
|
};
|
|
61
71
|
type AddOneshotParams<Manifest extends T.SDKManifest, Ids extends string, Id extends string> = NewDaemonParams<Manifest> & {
|
|
72
|
+
exec: DaemonCommandType;
|
|
62
73
|
/** An array of IDs of prior daemons whose successful initializations are required before this daemon will initialize */
|
|
63
74
|
requires: Exclude<Ids, Id>[];
|
|
64
75
|
};
|
|
65
76
|
type ErrorDuplicateId<Id extends string> = `The id '${Id}' is already used`;
|
|
66
|
-
export declare const runCommand: <Manifest extends T.SDKManifest>() => (effects: T.Effects, subcontainer: SubContainer<Manifest, T.Effects>,
|
|
67
|
-
sigtermTimeout?: number;
|
|
68
|
-
runAsInit?: boolean;
|
|
69
|
-
env?: {
|
|
70
|
-
[variable: string]: string;
|
|
71
|
-
} | undefined;
|
|
72
|
-
cwd?: string | undefined;
|
|
73
|
-
user?: string | undefined;
|
|
74
|
-
onStdout?: ((chunk: Buffer | string | any) => void) | undefined;
|
|
75
|
-
onStderr?: ((chunk: Buffer | string | any) => void) | undefined;
|
|
76
|
-
}) => Promise<CommandController<Manifest>>;
|
|
77
|
+
export declare const runCommand: <Manifest extends T.SDKManifest>() => (effects: T.Effects, subcontainer: SubContainer<Manifest, T.Effects>, exec: DaemonCommandType) => Promise<CommandController<Manifest>>;
|
|
77
78
|
/**
|
|
78
79
|
* A class for defining and controlling the service daemons
|
|
79
80
|
```ts
|
|
@@ -104,9 +104,7 @@ class Daemons {
|
|
|
104
104
|
id, options) {
|
|
105
105
|
const daemon = "daemon" in options
|
|
106
106
|
? Promise.resolve(options.daemon)
|
|
107
|
-
: Daemon_2.Daemon.of()(this.effects, options.subcontainer, options.
|
|
108
|
-
...options,
|
|
109
|
-
});
|
|
107
|
+
: Daemon_2.Daemon.of()(this.effects, options.subcontainer, options.exec);
|
|
110
108
|
const healthDaemon = new HealthDaemon_1.HealthDaemon(daemon, options.requires
|
|
111
109
|
.map((x) => this.ids.indexOf(x))
|
|
112
110
|
.filter((x) => x >= 0)
|
|
@@ -124,9 +122,7 @@ class Daemons {
|
|
|
124
122
|
* @returns a new Daemons object
|
|
125
123
|
*/
|
|
126
124
|
addOneshot(id, options) {
|
|
127
|
-
const daemon = Oneshot_1.Oneshot.of()(this.effects, options.subcontainer, options.
|
|
128
|
-
...options,
|
|
129
|
-
});
|
|
125
|
+
const daemon = Oneshot_1.Oneshot.of()(this.effects, options.subcontainer, options.exec);
|
|
130
126
|
const healthDaemon = new HealthDaemon_1.HealthDaemon(daemon, options.requires
|
|
131
127
|
.map((x) => this.ids.indexOf(x))
|
|
132
128
|
.filter((x) => x >= 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,yCAAqC;AACrC,uDAAwC;AAExC,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,iDAA6C;AAC7C,qCAAiC;AACjC,2DAAuD;AAEvD,uCAAmC;AAGtB,QAAA,MAAM,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AAC3B,QAAA,UAAU,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AA2FzC,MAAM,UAAU,GAAG,GAAmC,EAAE,CAC7D,qCAAiB,CAAC,EAAE,EAAY,CAAA;AADrB,QAAA,UAAU,cACW;AAElC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,OAAO;IAGlB,YACW,OAAkB,EAClB,OAA+D,EAC/D,OAAoC,EACpC,GAAU,EACV,aAAuC,EACvC,YAA2B;QAL3B,YAAO,GAAP,OAAO,CAAW;QAClB,YAAO,GAAP,OAAO,CAAwD;QAC/D,YAAO,GAAP,OAAO,CAA6B;QACpC,QAAG,GAAH,GAAG,CAAO;QACV,kBAAa,GAAb,aAAa,CAA0B;QACvC,iBAAY,GAAZ,YAAY,CAAe;IACnC,CAAC;IACJ;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,CAAiC,OAIzC;QACC,OAAO,IAAI,OAAO,CAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,EACf,EAAE,EACF,EAAE,EACF,EAAE,EACF,OAAO,CAAC,YAAY,CACrB,CAAA;IACH,CAAC;IACD;;;;;OAKG;IACH,SAAS;IACP,kBAAkB;IAClB,EAII,EACJ,OAA2C;QAE3C,MAAM,MAAM,GACV,QAAQ,IAAI,OAAO;YACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,eAAM,CAAC,EAAE,EAAY,CACnB,IAAI,CAAC,OAAO,EACZ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,IAAI,CACb,CAAA;QACP,MAAM,YAAY,GAAG,IAAI,2BAAY,CACnC,MAAM,EACN,OAAO,CAAC,QAAQ;aACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EACtC,EAAE,EACF,IAAI,CAAC,GAAG,EACR,OAAO,CAAC,KAAK,EACb,IAAI,CAAC,OAAO,CACb,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAiB,CAAA;QAC7C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAC3D,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,OAAO,EACP,GAAG,EACH,aAAa,EACb,IAAI,CAAC,YAAY,CAClB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CACR,EAMU,EACV,OAA4C;QAE5C,MAAM,MAAM,GAAG,iBAAO,CAAC,EAAE,EAAY,CACnC,IAAI,CAAC,OAAO,EACZ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,IAAI,CACb,CAAA;QACD,MAAM,YAAY,GAAG,IAAI,2BAAY,CACnC,MAAM,EACN,OAAO,CAAC,QAAQ;aACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EACtC,EAAE,EACF,IAAI,CAAC,GAAG,EACR,cAAc,EACd,IAAI,CAAC,OAAO,CACb,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAiB,CAAA;QAC7C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAC3D,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,OAAO,EACP,GAAG,EACH,aAAa,EACb,IAAI,CAAC,YAAY,CAClB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,KAAK,IAAI,MAAM,IAAI,MAAM,OAAO,CAAC,UAAU,CACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACxC,EAAE,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAzJD,0BAyJC"}
|