@dxos/cli 0.1.48 → 0.1.49-next.f1412c7
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/README.md +213 -219
- package/bin/dev +4 -3
- package/bin/dev.cmd +1 -1
- package/bin/run +1 -1
- package/config/config-default.yml +0 -2
- package/dist/src/base-command.d.ts +21 -10
- package/dist/src/base-command.d.ts.map +1 -1
- package/dist/src/base-command.js +91 -68
- package/dist/src/base-command.js.map +1 -1
- package/dist/src/commands/{daemon → agent}/list.d.ts +1 -0
- package/dist/src/commands/agent/list.d.ts.map +1 -0
- package/dist/src/commands/agent/list.js +37 -0
- package/dist/src/commands/agent/list.js.map +1 -0
- package/dist/src/commands/agent/restart.d.ts.map +1 -0
- package/dist/src/commands/{daemon → agent}/restart.js +1 -1
- package/dist/src/commands/agent/restart.js.map +1 -0
- package/dist/src/commands/{daemon → agent}/run.d.ts +1 -1
- package/dist/src/commands/agent/run.d.ts.map +1 -0
- package/dist/src/commands/{daemon → agent}/run.js +7 -8
- package/dist/src/commands/agent/run.js.map +1 -0
- package/dist/src/commands/agent/start.d.ts.map +1 -0
- package/dist/src/commands/{daemon → agent}/start.js +1 -1
- package/dist/src/commands/agent/start.js.map +1 -0
- package/dist/src/commands/agent/stop.d.ts.map +1 -0
- package/dist/src/commands/{daemon → agent}/stop.js +1 -1
- package/dist/src/commands/agent/stop.js.map +1 -0
- package/dist/src/commands/app/create.d.ts +1 -1
- package/dist/src/commands/app/open.d.ts +1 -1
- package/dist/src/commands/app/publish.d.ts +1 -1
- package/dist/src/commands/debug/stats.d.ts +17 -0
- package/dist/src/commands/debug/stats.d.ts.map +1 -0
- package/dist/src/commands/debug/stats.js +90 -0
- package/dist/src/commands/debug/stats.js.map +1 -0
- package/dist/src/commands/halo/create.d.ts +1 -1
- package/dist/src/commands/halo/create.js +4 -4
- package/dist/src/commands/halo/create.js.map +1 -1
- package/dist/src/commands/halo/credential/list.d.ts +1 -1
- package/dist/src/commands/halo/join.d.ts +1 -1
- package/dist/src/commands/halo/share.d.ts +1 -1
- package/dist/src/commands/kube/deploy.d.ts +1 -1
- package/dist/src/commands/reset/index.d.ts.map +1 -1
- package/dist/src/commands/reset/index.js +1 -1
- package/dist/src/commands/reset/index.js.map +1 -1
- package/dist/src/commands/space/create.js +1 -1
- package/dist/src/commands/space/create.js.map +1 -1
- package/dist/src/commands/space/{new-epoch.d.ts → epoch.d.ts} +3 -3
- package/dist/src/commands/space/epoch.d.ts.map +1 -0
- package/dist/src/commands/space/{new-epoch.js → epoch.js} +9 -8
- package/dist/src/commands/space/epoch.js.map +1 -0
- package/dist/src/commands/space/index.d.ts.map +1 -1
- package/dist/src/commands/space/index.js +1 -0
- package/dist/src/commands/space/index.js.map +1 -1
- package/dist/src/commands/space/join.d.ts +1 -1
- package/dist/src/commands/space/list.d.ts +1 -1
- package/dist/src/commands/space/members.d.ts +1 -1
- package/dist/src/commands/tunnel/list.d.ts.map +1 -1
- package/dist/src/commands/tunnel/list.js +3 -5
- package/dist/src/commands/tunnel/list.js.map +1 -1
- package/dist/src/commands/tunnel/set.d.ts +1 -1
- package/dist/src/util/exec.d.ts.map +1 -1
- package/dist/src/util/exec.js.map +1 -1
- package/dist/src/util/print.js +9 -9
- package/dist/src/util/print.js.map +1 -1
- package/dist/src/util/provider/provider.js +2 -2
- package/dist/src/util/publish/common.js +2 -2
- package/dist/src/util/telemetry.d.ts.map +1 -1
- package/dist/src/util/telemetry.js +1 -0
- package/dist/src/util/telemetry.js.map +1 -1
- package/dist/src/util/telemetryrc.json +2 -2
- package/dist/src/util/tunnel/common.js +3 -3
- package/oclif.manifest.json +584 -493
- package/package.json +23 -23
- package/dist/src/commands/daemon/list.d.ts.map +0 -1
- package/dist/src/commands/daemon/list.js +0 -19
- package/dist/src/commands/daemon/list.js.map +0 -1
- package/dist/src/commands/daemon/restart.d.ts.map +0 -1
- package/dist/src/commands/daemon/restart.js.map +0 -1
- package/dist/src/commands/daemon/run.d.ts.map +0 -1
- package/dist/src/commands/daemon/run.js.map +0 -1
- package/dist/src/commands/daemon/start.d.ts.map +0 -1
- package/dist/src/commands/daemon/start.js.map +0 -1
- package/dist/src/commands/daemon/stop.d.ts.map +0 -1
- package/dist/src/commands/daemon/stop.js.map +0 -1
- package/dist/src/commands/space/new-epoch.d.ts.map +0 -1
- package/dist/src/commands/space/new-epoch.js.map +0 -1
- package/dist/src/daemon/daemon.d.ts +0 -15
- package/dist/src/daemon/daemon.d.ts.map +0 -1
- package/dist/src/daemon/daemon.js +0 -6
- package/dist/src/daemon/daemon.js.map +0 -1
- package/dist/src/daemon/faas/api.d.ts +0 -346
- package/dist/src/daemon/faas/api.d.ts.map +0 -1
- package/dist/src/daemon/faas/api.js +0 -11
- package/dist/src/daemon/faas/api.js.map +0 -1
- package/dist/src/daemon/faas/connector.d.ts +0 -46
- package/dist/src/daemon/faas/connector.d.ts.map +0 -1
- package/dist/src/daemon/faas/connector.js +0 -185
- package/dist/src/daemon/faas/connector.js.map +0 -1
- package/dist/src/daemon/forever/forever-daemon.d.ts +0 -15
- package/dist/src/daemon/forever/forever-daemon.d.ts.map +0 -1
- package/dist/src/daemon/forever/forever-daemon.js +0 -83
- package/dist/src/daemon/forever/forever-daemon.js.map +0 -1
- package/dist/src/daemon/forever/index.d.ts +0 -2
- package/dist/src/daemon/forever/index.d.ts.map +0 -1
- package/dist/src/daemon/forever/index.js +0 -21
- package/dist/src/daemon/forever/index.js.map +0 -1
- package/dist/src/daemon/index.d.ts +0 -5
- package/dist/src/daemon/index.d.ts.map +0 -1
- package/dist/src/daemon/index.js +0 -24
- package/dist/src/daemon/index.js.map +0 -1
- package/dist/src/daemon/pm2/index.d.ts +0 -2
- package/dist/src/daemon/pm2/index.d.ts.map +0 -1
- package/dist/src/daemon/pm2/index.js +0 -21
- package/dist/src/daemon/pm2/index.js.map +0 -1
- package/dist/src/daemon/pm2/pm2-daemon.d.ts +0 -21
- package/dist/src/daemon/pm2/pm2-daemon.d.ts.map +0 -1
- package/dist/src/daemon/pm2/pm2-daemon.js +0 -107
- package/dist/src/daemon/pm2/pm2-daemon.js.map +0 -1
- package/dist/src/daemon/run-services.d.ts +0 -7
- package/dist/src/daemon/run-services.d.ts.map +0 -1
- package/dist/src/daemon/run-services.js +0 -109
- package/dist/src/daemon/run-services.js.map +0 -1
- package/dist/src/daemon/util.d.ts +0 -8
- package/dist/src/daemon/util.d.ts.map +0 -1
- package/dist/src/daemon/util.js +0 -38
- package/dist/src/daemon/util.js.map +0 -1
- /package/dist/src/commands/{daemon → agent}/restart.d.ts +0 -0
- /package/dist/src/commands/{daemon → agent}/start.d.ts +0 -0
- /package/dist/src/commands/{daemon → agent}/stop.d.ts +0 -0
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FaasConnector = void 0;
|
|
7
|
-
const async_1 = require("@dxos/async");
|
|
8
|
-
const client_1 = require("@dxos/client");
|
|
9
|
-
const context_1 = require("@dxos/context");
|
|
10
|
-
const debug_1 = require("@dxos/debug");
|
|
11
|
-
const log_1 = require("@dxos/log");
|
|
12
|
-
const observable_object_1 = require("@dxos/observable-object");
|
|
13
|
-
class FaasConnector {
|
|
14
|
-
constructor(_faasConfig, _clientServices) {
|
|
15
|
-
this._faasConfig = _faasConfig;
|
|
16
|
-
this._clientServices = _clientServices;
|
|
17
|
-
this._ctx = new context_1.Context();
|
|
18
|
-
this._remountTask = new async_1.DeferredTask(this._ctx, async () => {
|
|
19
|
-
await this._remountTriggers();
|
|
20
|
-
});
|
|
21
|
-
this._mountedTriggers = [];
|
|
22
|
-
this._client = new client_1.Client({ services: _clientServices });
|
|
23
|
-
}
|
|
24
|
-
async open() {
|
|
25
|
-
await this._client.initialize();
|
|
26
|
-
await this._watchTriggers();
|
|
27
|
-
await this._remountTask.schedule();
|
|
28
|
-
}
|
|
29
|
-
async close() {
|
|
30
|
-
await this._ctx.dispose();
|
|
31
|
-
await this._client.destroy();
|
|
32
|
-
await this._unmountTriggers();
|
|
33
|
-
}
|
|
34
|
-
async _watchTriggers() {
|
|
35
|
-
const observedSpaces = new Map();
|
|
36
|
-
const update = () => {
|
|
37
|
-
const spaces = this._client.spaces.get();
|
|
38
|
-
for (const space of spaces) {
|
|
39
|
-
if (observedSpaces.has(space)) {
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
if (space.state.get() !== client_1.SpaceState.READY) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
const ctx = this._ctx.derive();
|
|
46
|
-
observedSpaces.set(space, ctx);
|
|
47
|
-
const subscription = (0, observable_object_1.createSubscription)(() => {
|
|
48
|
-
this._remountTask.schedule();
|
|
49
|
-
});
|
|
50
|
-
const query = space.db.query({ __type: 'dxos.function.Trigger' });
|
|
51
|
-
const unsubscribe = query.subscribe(() => {
|
|
52
|
-
subscription.update(query.objects);
|
|
53
|
-
});
|
|
54
|
-
subscription.update(query.objects);
|
|
55
|
-
ctx.onDispose(unsubscribe);
|
|
56
|
-
}
|
|
57
|
-
for (const [space, ctx] of observedSpaces) {
|
|
58
|
-
if (spaces.includes(space)) {
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
observedSpaces.delete(space);
|
|
62
|
-
void ctx.dispose();
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
const sub = this._client.spaces.subscribe(() => {
|
|
66
|
-
update();
|
|
67
|
-
});
|
|
68
|
-
this._ctx.onDispose(() => sub.unsubscribe());
|
|
69
|
-
}
|
|
70
|
-
async _getTriggers() {
|
|
71
|
-
const triggers = [];
|
|
72
|
-
for (const space of this._client.spaces.get()) {
|
|
73
|
-
if (space.state.get() !== client_1.SpaceState.READY) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
// TODO(dmaretskyi): fix type.
|
|
77
|
-
const objects = space.db.query({ __type: 'dxos.function.Trigger' }).objects;
|
|
78
|
-
triggers.push(...objects.map((object) => object.toJSON()));
|
|
79
|
-
}
|
|
80
|
-
return triggers;
|
|
81
|
-
}
|
|
82
|
-
async _unmountTriggers() {
|
|
83
|
-
const oldTriggers = this._mountedTriggers.splice(0, this._mountedTriggers.length);
|
|
84
|
-
for (const { clear, trigger } of oldTriggers) {
|
|
85
|
-
await clear();
|
|
86
|
-
log_1.log.info('unmounted trigger', { trigger: trigger.id }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 156, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async _remountTriggers() {
|
|
90
|
-
await this._unmountTriggers();
|
|
91
|
-
const triggers = await this._getTriggers();
|
|
92
|
-
log_1.log.info('discovered triggers', { triggers: triggers.length }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 165, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
93
|
-
await Promise.all(triggers.map(async (trigger) => {
|
|
94
|
-
await this._mountTrigger(trigger);
|
|
95
|
-
}));
|
|
96
|
-
}
|
|
97
|
-
async _mountTrigger(trigger) {
|
|
98
|
-
const ctx = this._ctx.derive();
|
|
99
|
-
this._mountedTriggers.push({
|
|
100
|
-
trigger,
|
|
101
|
-
clear: async () => {
|
|
102
|
-
await ctx.dispose();
|
|
103
|
-
},
|
|
104
|
-
});
|
|
105
|
-
const space = this._client.spaces.get().find((space) => space.key.equals(trigger.spaceKey));
|
|
106
|
-
if (!space) {
|
|
107
|
-
log_1.log.warn('space not found', { space: trigger.spaceKey }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 186, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
await space.waitUntilReady();
|
|
111
|
-
if (this._ctx.disposed) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const updatedIds = new Set();
|
|
115
|
-
const invoker = new async_1.DeferredTask(ctx, async () => {
|
|
116
|
-
const updatedObjects = Array.from(updatedIds);
|
|
117
|
-
updatedIds.clear();
|
|
118
|
-
const event = {
|
|
119
|
-
trigger,
|
|
120
|
-
objects: updatedObjects,
|
|
121
|
-
};
|
|
122
|
-
await this._dispatch(event);
|
|
123
|
-
});
|
|
124
|
-
const selection = (0, observable_object_1.createSubscription)(({ added, updated }) => {
|
|
125
|
-
for (const object of added) {
|
|
126
|
-
updatedIds.add(object.id);
|
|
127
|
-
}
|
|
128
|
-
for (const object of updated) {
|
|
129
|
-
updatedIds.add(object.id);
|
|
130
|
-
}
|
|
131
|
-
invoker.schedule();
|
|
132
|
-
});
|
|
133
|
-
ctx.onDispose(() => selection.unsubscribe());
|
|
134
|
-
const query = space.db.query({
|
|
135
|
-
...trigger.subscription.props,
|
|
136
|
-
'@type': trigger.subscription.type,
|
|
137
|
-
});
|
|
138
|
-
const unsubscribe = query.subscribe(({ objects }) => {
|
|
139
|
-
selection.update(objects);
|
|
140
|
-
});
|
|
141
|
-
ctx.onDispose(unsubscribe);
|
|
142
|
-
log_1.log.info('mounted trigger', { trigger: trigger.id }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 229, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
143
|
-
}
|
|
144
|
-
async _dispatch(event) {
|
|
145
|
-
var _a;
|
|
146
|
-
const installedFunctions = await this._getFunctions();
|
|
147
|
-
const installedFunction = installedFunctions.find((func) => func.name === event.trigger.function.name);
|
|
148
|
-
if (!installedFunction) {
|
|
149
|
-
log_1.log.warn('function not found', { function: event.trigger.function.name }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 238, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
const data = {
|
|
153
|
-
event,
|
|
154
|
-
context: {
|
|
155
|
-
clientUrl: (_a = this._faasConfig.daemonUrl) !== null && _a !== void 0 ? _a : (0, debug_1.raise)(new Error('daemonUrl is not set')),
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
log_1.log.info('invoking function', { function: installedFunction.name }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 249, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
159
|
-
const result = await this._invokeFunction(installedFunction.name, data);
|
|
160
|
-
log_1.log.info('function result', { result }, { file: "packages/devtools/cli/src/daemon/faas/connector.ts", line: 251, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
|
|
161
|
-
}
|
|
162
|
-
async _invokeFunction(functionName, data) {
|
|
163
|
-
const res = await fetch(`${this._faasConfig.gateway}/function/${functionName}`, {
|
|
164
|
-
method: 'POST',
|
|
165
|
-
headers: {
|
|
166
|
-
Authorization: `Basic ${Buffer.from(`${this._faasConfig.username}:${this._faasConfig.password}`).toString('base64')}`,
|
|
167
|
-
'Content-Type': 'application/json',
|
|
168
|
-
},
|
|
169
|
-
body: JSON.stringify(data),
|
|
170
|
-
});
|
|
171
|
-
const body = await res.text();
|
|
172
|
-
return { body, status: res.status };
|
|
173
|
-
}
|
|
174
|
-
async _getFunctions() {
|
|
175
|
-
const res = await fetch(`${this._faasConfig.gateway}/system/functions`, {
|
|
176
|
-
headers: {
|
|
177
|
-
Authorization: `Basic ${Buffer.from(`${this._faasConfig.username}:${this._faasConfig.password}`).toString('base64')}`,
|
|
178
|
-
},
|
|
179
|
-
});
|
|
180
|
-
const functions = await res.json();
|
|
181
|
-
return functions;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
exports.FaasConnector = FaasConnector;
|
|
185
|
-
//# sourceMappingURL=connector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../../src/daemon/faas/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Daemon, ProcessDescription } from '../daemon';
|
|
2
|
-
/**
|
|
3
|
-
* Manager of daemon processes started with Forever.
|
|
4
|
-
*/
|
|
5
|
-
export declare class ForeverDaemon implements Daemon {
|
|
6
|
-
connect(): Promise<void>;
|
|
7
|
-
disconnect(): Promise<void>;
|
|
8
|
-
isRunning(profile: string): Promise<boolean>;
|
|
9
|
-
start(profile: string): Promise<ProcessDescription>;
|
|
10
|
-
stop(profile: string): Promise<ProcessDescription>;
|
|
11
|
-
restart(profile: string): Promise<ProcessDescription>;
|
|
12
|
-
list(): Promise<ProcessDescription[]>;
|
|
13
|
-
_getProcess(profile: string): Promise<ProcessDescription>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=forever-daemon.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forever-daemon.d.ts","sourceRoot":"","sources":["../../../../src/daemon/forever/forever-daemon.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAKvD;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IACpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU;IAIV,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiBnD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQlD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWrD,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAYrC,WAAW,CAAC,OAAO,EAAE,MAAM;CAGlC"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.ForeverDaemon = void 0;
|
|
10
|
-
const forever_1 = __importDefault(require("forever"));
|
|
11
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
-
const util_1 = require("../util");
|
|
13
|
-
const FOREVER_ROOT = `${process.env.HOME}/.dx/store/forever`;
|
|
14
|
-
/**
|
|
15
|
-
* Manager of daemon processes started with Forever.
|
|
16
|
-
*/
|
|
17
|
-
class ForeverDaemon {
|
|
18
|
-
async connect() {
|
|
19
|
-
initForever();
|
|
20
|
-
}
|
|
21
|
-
async disconnect() {
|
|
22
|
-
// no-op.
|
|
23
|
-
}
|
|
24
|
-
async isRunning(profile) {
|
|
25
|
-
return (await this.list()).some((process) => process.profile === profile && process.isRunning);
|
|
26
|
-
}
|
|
27
|
-
async start(profile) {
|
|
28
|
-
if (!(await this.isRunning(profile))) {
|
|
29
|
-
const socket = (0, util_1.getUnixSocket)(profile);
|
|
30
|
-
forever_1.default.startDaemon(process.argv[1], {
|
|
31
|
-
args: ['daemon', 'run', `--listen=${socket}`, '--profile=' + profile],
|
|
32
|
-
uid: profile,
|
|
33
|
-
logFile: node_path_1.default.join(FOREVER_ROOT, `${profile}-log.log`),
|
|
34
|
-
outFile: node_path_1.default.join(FOREVER_ROOT, `${profile}-out.log`),
|
|
35
|
-
errFile: node_path_1.default.join(FOREVER_ROOT, `${profile}-err.log`), // Path to log output from child stderr
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
await (0, util_1.waitForDaemon)(profile);
|
|
39
|
-
return this._getProcess(profile);
|
|
40
|
-
}
|
|
41
|
-
async stop(profile) {
|
|
42
|
-
if (await this.isRunning(profile)) {
|
|
43
|
-
forever_1.default.stop(profile);
|
|
44
|
-
}
|
|
45
|
-
(0, util_1.removeSocketFile)(profile);
|
|
46
|
-
return this._getProcess(profile);
|
|
47
|
-
}
|
|
48
|
-
async restart(profile) {
|
|
49
|
-
if ((await this._getProcess(profile)).profile === profile) {
|
|
50
|
-
(0, util_1.removeSocketFile)(profile);
|
|
51
|
-
forever_1.default.restart(profile);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
await this.start(profile);
|
|
55
|
-
}
|
|
56
|
-
return await this._getProcess(profile);
|
|
57
|
-
}
|
|
58
|
-
async list() {
|
|
59
|
-
const result = await new Promise((resolve, reject) => {
|
|
60
|
-
forever_1.default.list(false, (err, processes) => {
|
|
61
|
-
if (err) {
|
|
62
|
-
reject(err);
|
|
63
|
-
}
|
|
64
|
-
resolve(processes !== null && processes !== void 0 ? processes : []);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
return result.map((details) => foreverToProcessDescription(details));
|
|
68
|
-
}
|
|
69
|
-
async _getProcess(profile) {
|
|
70
|
-
var _a;
|
|
71
|
-
return (_a = (await this.list()).find((process) => process.profile === profile)) !== null && _a !== void 0 ? _a : {};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.ForeverDaemon = ForeverDaemon;
|
|
75
|
-
const foreverToProcessDescription = (details) => ({
|
|
76
|
-
profile: details === null || details === void 0 ? void 0 : details.uid,
|
|
77
|
-
isRunning: details === null || details === void 0 ? void 0 : details.running,
|
|
78
|
-
pid: details === null || details === void 0 ? void 0 : details.foreverPid,
|
|
79
|
-
});
|
|
80
|
-
const initForever = () => {
|
|
81
|
-
forever_1.default.load({ root: FOREVER_ROOT });
|
|
82
|
-
};
|
|
83
|
-
//# sourceMappingURL=forever-daemon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forever-daemon.js","sourceRoot":"","sources":["../../../../src/daemon/forever/forever-daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/daemon/forever/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
__exportStar(require("./forever-daemon"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/daemon/forever/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,mDAAiC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/daemon/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
|
package/dist/src/daemon/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
__exportStar(require("./daemon"), exports);
|
|
21
|
-
__exportStar(require("./pm2"), exports);
|
|
22
|
-
__exportStar(require("./run-services"), exports);
|
|
23
|
-
__exportStar(require("./util"), exports);
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daemon/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,2CAAyB;AACzB,wCAAsB;AACtB,iDAA+B;AAC/B,yCAAuB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/daemon/pm2/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
__exportStar(require("./pm2-daemon"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/daemon/pm2/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Daemon, ProcessDescription } from '../daemon';
|
|
2
|
-
/**
|
|
3
|
-
* Manager of daemon processes started with PM2.
|
|
4
|
-
*
|
|
5
|
-
* @deprecated because stalls process after command finishes.
|
|
6
|
-
*/
|
|
7
|
-
export declare class Pm2Daemon implements Daemon {
|
|
8
|
-
private _pm2?;
|
|
9
|
-
connect(): Promise<void>;
|
|
10
|
-
disconnect(): Promise<void>;
|
|
11
|
-
isRunning(profile: string): Promise<boolean>;
|
|
12
|
-
start(profile: string): Promise<ProcessDescription>;
|
|
13
|
-
stop(profile: string): Promise<ProcessDescription>;
|
|
14
|
-
restart(profile: string): Promise<ProcessDescription>;
|
|
15
|
-
list(): Promise<{
|
|
16
|
-
profile: string | undefined;
|
|
17
|
-
pid: number | undefined;
|
|
18
|
-
isRunning: boolean;
|
|
19
|
-
}[]>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=pm2-daemon.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pm2-daemon.d.ts","sourceRoot":"","sources":["../../../../src/daemon/pm2/pm2-daemon.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,qBAAa,SAAU,YAAW,MAAM;IACtC,OAAO,CAAC,IAAI,CAAC,CAAM;IAEb,OAAO;IAIP,UAAU;IAKV,SAAS,CAAC,OAAO,EAAE,MAAM;IAczB,KAAK,CAAC,OAAO,EAAE,MAAM;IA2BrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,OAAO,CAAC,OAAO,EAAE,MAAM;IASvB,IAAI;;;;;CASX"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// Copyright 2023 DXOS.org
|
|
4
|
-
//
|
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.Pm2Daemon = void 0;
|
|
10
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
11
|
-
const node_util_1 = require("node:util");
|
|
12
|
-
const pm2_1 = __importDefault(require("pm2"));
|
|
13
|
-
const async_1 = require("@dxos/async");
|
|
14
|
-
const util_1 = require("../util");
|
|
15
|
-
/**
|
|
16
|
-
* Manager of daemon processes started with PM2.
|
|
17
|
-
*
|
|
18
|
-
* @deprecated because stalls process after command finishes.
|
|
19
|
-
*/
|
|
20
|
-
class Pm2Daemon {
|
|
21
|
-
async connect() {
|
|
22
|
-
this._pm2 = await getPm2();
|
|
23
|
-
}
|
|
24
|
-
async disconnect() {
|
|
25
|
-
(0, node_assert_1.default)(this._pm2);
|
|
26
|
-
this._pm2.disconnect();
|
|
27
|
-
}
|
|
28
|
-
async isRunning(profile) {
|
|
29
|
-
(0, node_assert_1.default)(this._pm2);
|
|
30
|
-
const description = await (0, node_util_1.promisify)(this._pm2.describe.bind(this._pm2))(profile);
|
|
31
|
-
if (description.length === 0 ||
|
|
32
|
-
!description[0].monit ||
|
|
33
|
-
(!description[0].monit.cpu && !description[0].monit.memory)) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
async start(profile) {
|
|
39
|
-
const result = await new Promise((resolve, reject) => {
|
|
40
|
-
(0, node_assert_1.default)(this._pm2);
|
|
41
|
-
this._pm2.start({
|
|
42
|
-
script: process.argv[1],
|
|
43
|
-
args: ['daemon', 'run', `--listen=${(0, util_1.getUnixSocket)(profile)}`, '--profile=' + profile],
|
|
44
|
-
name: profile,
|
|
45
|
-
}, (err, proc) => {
|
|
46
|
-
if (err) {
|
|
47
|
-
reject(err);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
// Return type does not equal to runtime return type im PM2.
|
|
51
|
-
resolve(proc);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
if (result.length === 0) {
|
|
56
|
-
return {};
|
|
57
|
-
}
|
|
58
|
-
return procToProcessDescription(result[0]);
|
|
59
|
-
}
|
|
60
|
-
async stop(profile) {
|
|
61
|
-
(0, node_assert_1.default)(this._pm2);
|
|
62
|
-
const result = await (0, node_util_1.promisify)(this._pm2.stop.bind(this._pm2))(profile);
|
|
63
|
-
return procToProcessDescription(result);
|
|
64
|
-
}
|
|
65
|
-
async restart(profile) {
|
|
66
|
-
(0, node_assert_1.default)(this._pm2);
|
|
67
|
-
if (await this.isRunning(profile)) {
|
|
68
|
-
return procToProcessDescription(await (0, node_util_1.promisify)(this._pm2.restart.bind(this._pm2))(profile));
|
|
69
|
-
}
|
|
70
|
-
return this.start(profile);
|
|
71
|
-
}
|
|
72
|
-
async list() {
|
|
73
|
-
(0, node_assert_1.default)(this._pm2);
|
|
74
|
-
const list = await (0, node_util_1.promisify)(this._pm2.list.bind(this._pm2))();
|
|
75
|
-
return list.map((proc) => {
|
|
76
|
-
var _a, _b;
|
|
77
|
-
return ({
|
|
78
|
-
profile: proc.name,
|
|
79
|
-
pid: proc.pid,
|
|
80
|
-
isRunning: !!((_a = proc.monit) === null || _a === void 0 ? void 0 : _a.cpu) || !!((_b = proc.monit) === null || _b === void 0 ? void 0 : _b.memory),
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.Pm2Daemon = Pm2Daemon;
|
|
86
|
-
const procToProcessDescription = (proc) => ({
|
|
87
|
-
profile: proc.name,
|
|
88
|
-
pid: proc.pm_id,
|
|
89
|
-
});
|
|
90
|
-
const Pm2Api = pm2_1.default.custom;
|
|
91
|
-
const getPm2 = async () => {
|
|
92
|
-
const instance = new Pm2Api({
|
|
93
|
-
pm2_home: `${process.env.HOME}/.dx/store/pm2`,
|
|
94
|
-
});
|
|
95
|
-
const connected = new async_1.Trigger();
|
|
96
|
-
instance.connect((err) => {
|
|
97
|
-
if (err) {
|
|
98
|
-
connected.throw(err);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
connected.wake();
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
await connected;
|
|
105
|
-
return instance;
|
|
106
|
-
};
|
|
107
|
-
//# sourceMappingURL=pm2-daemon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pm2-daemon.js","sourceRoot":"","sources":["../../../../src/daemon/pm2/pm2-daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-services.d.ts","sourceRoot":"","sources":["../../../src/daemon/run-services.ts"],"names":[],"mappings":"AAQA,OAAO,EAAkB,MAAM,EAAuB,MAAM,cAAc,CAAC;AAM3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,WAAW,WAAkB,iBAAiB,kBA+E1D,CAAC"}
|