@edgible-team/cli 1.2.21 → 1.2.22
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/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +38 -15
- package/dist/commands/debug.d.ts.map +1 -1
- package/dist/commands/debug.js +6 -1
- package/dist/interfaces/IDaemonManager.d.ts +2 -1
- package/dist/interfaces/IDaemonManager.d.ts.map +1 -1
- package/dist/services/AgentStatusManager.d.ts.map +1 -1
- package/dist/services/AgentStatusManager.js +1 -0
- package/dist/services/LocalAgentManager.d.ts.map +1 -1
- package/dist/services/LocalAgentManager.js +7 -0
- package/dist/services/daemon/DaemonManagerFactory.d.ts +1 -1
- package/dist/services/daemon/DaemonManagerFactory.d.ts.map +1 -1
- package/dist/services/daemon/DaemonManagerFactory.js +23 -3
- package/dist/services/daemon/DockerDaemonManager.d.ts +2 -2
- package/dist/services/daemon/DockerDaemonManager.d.ts.map +1 -1
- package/dist/services/daemon/ForegroundDaemonManager.d.ts +22 -0
- package/dist/services/daemon/ForegroundDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/ForegroundDaemonManager.js +200 -0
- package/dist/services/daemon/LaunchdDaemonManager.d.ts +2 -2
- package/dist/services/daemon/LaunchdDaemonManager.d.ts.map +1 -1
- package/dist/services/daemon/OpenRCDaemonManager.d.ts +25 -0
- package/dist/services/daemon/OpenRCDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/OpenRCDaemonManager.js +202 -0
- package/dist/services/daemon/PodmanDaemonManager.d.ts +2 -2
- package/dist/services/daemon/PodmanDaemonManager.d.ts.map +1 -1
- package/dist/services/daemon/SystemdDaemonManager.d.ts +2 -2
- package/dist/services/daemon/SystemdDaemonManager.d.ts.map +1 -1
- package/dist/services/daemon/WindowsServiceDaemonManager.d.ts +2 -2
- package/dist/services/daemon/WindowsServiceDaemonManager.d.ts.map +1 -1
- package/dist/services/daemon/index.d.ts +2 -0
- package/dist/services/daemon/index.d.ts.map +1 -1
- package/dist/services/daemon/index.js +5 -1
- package/dist/state/config.d.ts +1 -1
- package/dist/state/config.d.ts.map +1 -1
- package/dist/types/agent.d.ts +1 -1
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/validation/schemas.d.ts +4 -4
- package/dist/utils/PathResolver.d.ts.map +1 -1
- package/dist/utils/PathResolver.js +3 -0
- package/dist/utils/PlatformDetector.d.ts +6 -3
- package/dist/utils/PlatformDetector.d.ts.map +1 -1
- package/dist/utils/PlatformDetector.js +57 -16
- package/dist/validation/stack-schemas.d.ts +26 -26
- package/package.json +1 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.OpenRCDaemonManager = void 0;
|
|
37
|
+
const child_process_1 = require("child_process");
|
|
38
|
+
const util_1 = require("util");
|
|
39
|
+
const fs = __importStar(require("fs/promises"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
const PlatformDetector_1 = require("../../utils/PlatformDetector");
|
|
42
|
+
const PathResolver_1 = require("../../utils/PathResolver");
|
|
43
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
44
|
+
class OpenRCDaemonManager {
|
|
45
|
+
constructor() {
|
|
46
|
+
this.serviceName = 'edgible-agent';
|
|
47
|
+
this.initScriptPath = `/etc/init.d/${this.serviceName}`;
|
|
48
|
+
if (PlatformDetector_1.PlatformDetector.getPlatform() !== 'linux') {
|
|
49
|
+
throw new Error('OpenRCDaemonManager is only supported on Linux');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async install(config) {
|
|
53
|
+
const scriptContent = this.generateInitScript(config);
|
|
54
|
+
try {
|
|
55
|
+
await fs.writeFile(this.initScriptPath, scriptContent, 'utf8');
|
|
56
|
+
await fs.chmod(this.initScriptPath, 0o755);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
throw new Error(`Failed to write OpenRC init script: ${error instanceof Error ? error.message : String(error)}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async start() {
|
|
63
|
+
try {
|
|
64
|
+
await execAsync(`rc-service ${this.serviceName} start`);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
throw new Error(`Failed to start service: ${error instanceof Error ? error.message : String(error)}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async stop() {
|
|
71
|
+
try {
|
|
72
|
+
await execAsync(`rc-service ${this.serviceName} stop`);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
throw new Error(`Failed to stop service: ${error instanceof Error ? error.message : String(error)}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async restart() {
|
|
79
|
+
try {
|
|
80
|
+
await execAsync(`rc-service ${this.serviceName} restart`);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
throw new Error(`Failed to restart service: ${error instanceof Error ? error.message : String(error)}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async status() {
|
|
87
|
+
try {
|
|
88
|
+
const { stdout } = await execAsync(`rc-service ${this.serviceName} status`);
|
|
89
|
+
const running = /started|running/i.test(stdout) && !/stopped|inactive/i.test(stdout);
|
|
90
|
+
const enabled = await this.isEnabled();
|
|
91
|
+
return {
|
|
92
|
+
running,
|
|
93
|
+
enabled,
|
|
94
|
+
message: stdout,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
return {
|
|
99
|
+
running: false,
|
|
100
|
+
enabled: false,
|
|
101
|
+
message: error instanceof Error ? error.message : String(error),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async logs(follow, lines = 100, _options) {
|
|
106
|
+
const logPath = PathResolver_1.PathResolver.resolveAgentLogPath('openrc');
|
|
107
|
+
if (follow) {
|
|
108
|
+
const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
|
|
109
|
+
const proc = spawn('tail', ['-n', String(lines), '-f', logPath], { stdio: 'inherit' });
|
|
110
|
+
process.on('SIGINT', () => {
|
|
111
|
+
proc.kill('SIGTERM');
|
|
112
|
+
process.exit(0);
|
|
113
|
+
});
|
|
114
|
+
return '';
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
const { stdout } = await execAsync(`tail -n ${lines} "${logPath}"`);
|
|
118
|
+
return stdout;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
throw new Error(`Failed to read logs: ${error instanceof Error ? error.message : String(error)}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async enable() {
|
|
125
|
+
try {
|
|
126
|
+
await execAsync(`rc-update add ${this.serviceName} default`);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
throw new Error(`Failed to enable service: ${error instanceof Error ? error.message : String(error)}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async disable() {
|
|
133
|
+
try {
|
|
134
|
+
await execAsync(`rc-update del ${this.serviceName} default`);
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
throw new Error(`Failed to disable service: ${error instanceof Error ? error.message : String(error)}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async uninstall() {
|
|
141
|
+
try {
|
|
142
|
+
await this.stop();
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// ignore
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
await this.disable();
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// ignore
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
await fs.unlink(this.initScriptPath);
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
throw new Error(`Failed to remove OpenRC init script: ${error instanceof Error ? error.message : String(error)}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
getPlatform() {
|
|
161
|
+
return 'linux';
|
|
162
|
+
}
|
|
163
|
+
getType() {
|
|
164
|
+
return 'openrc';
|
|
165
|
+
}
|
|
166
|
+
async isEnabled() {
|
|
167
|
+
try {
|
|
168
|
+
const { stdout } = await execAsync('rc-update show default');
|
|
169
|
+
return stdout.split('\n').some((line) => line.includes(this.serviceName));
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
generateInitScript(config) {
|
|
176
|
+
const nodePath = process.execPath;
|
|
177
|
+
const indexJs = path.join(config.agentPath, 'index.js');
|
|
178
|
+
const agentConfig = path.join(config.configPath, 'agent.config.json');
|
|
179
|
+
const execLine = `exec ${this.shSingleQuote(nodePath)} ${this.shSingleQuote(indexJs)} start -c ${this.shSingleQuote(agentConfig)}`;
|
|
180
|
+
return `#!/sbin/openrc-run
|
|
181
|
+
|
|
182
|
+
name="Edgible Agent"
|
|
183
|
+
description="Edgible edge agent"
|
|
184
|
+
|
|
185
|
+
depend() {
|
|
186
|
+
need net
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
supervisor=supervise-daemon
|
|
190
|
+
command="/bin/sh"
|
|
191
|
+
command_args=-c ${this.shSingleQuote(execLine)}
|
|
192
|
+
directory=${this.shSingleQuote(config.agentPath)}
|
|
193
|
+
pidfile="/run/${this.serviceName}.pid"
|
|
194
|
+
`;
|
|
195
|
+
}
|
|
196
|
+
/** Single-quoted string safe for OpenRC /bin/sh */
|
|
197
|
+
shSingleQuote(s) {
|
|
198
|
+
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.OpenRCDaemonManager = OpenRCDaemonManager;
|
|
202
|
+
//# sourceMappingURL=OpenRCDaemonManager.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDaemonManager, DaemonStatus, DaemonConfig } from '../../interfaces/IDaemonManager';
|
|
1
|
+
import { IDaemonManager, DaemonStatus, DaemonConfig, DaemonManagerInstallationType } from '../../interfaces/IDaemonManager';
|
|
2
2
|
export declare class PodmanDaemonManager implements IDaemonManager {
|
|
3
3
|
private containerName;
|
|
4
4
|
private imageName;
|
|
@@ -18,7 +18,7 @@ export declare class PodmanDaemonManager implements IDaemonManager {
|
|
|
18
18
|
disable(): Promise<void>;
|
|
19
19
|
uninstall(): Promise<void>;
|
|
20
20
|
getPlatform(): string;
|
|
21
|
-
getType():
|
|
21
|
+
getType(): DaemonManagerInstallationType;
|
|
22
22
|
private checkImageExists;
|
|
23
23
|
private buildImage;
|
|
24
24
|
private generatePodmanRunCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PodmanDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/PodmanDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"PodmanDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/PodmanDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAM5H,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,eAAe,CAAS;;IAO1B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAkD/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAavB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,6BAA6B;YAI1B,gBAAgB;YAShB,UAAU;IAqBxB,OAAO,CAAC,wBAAwB;YAyElB,iBAAiB;CAoChC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDaemonManager, DaemonStatus, DaemonConfig } from '../../interfaces/IDaemonManager';
|
|
1
|
+
import { IDaemonManager, DaemonStatus, DaemonConfig, DaemonManagerInstallationType } from '../../interfaces/IDaemonManager';
|
|
2
2
|
export declare class SystemdDaemonManager implements IDaemonManager {
|
|
3
3
|
private serviceName;
|
|
4
4
|
private serviceFilePath;
|
|
@@ -16,7 +16,7 @@ export declare class SystemdDaemonManager implements IDaemonManager {
|
|
|
16
16
|
disable(): Promise<void>;
|
|
17
17
|
uninstall(): Promise<void>;
|
|
18
18
|
getPlatform(): string;
|
|
19
|
-
getType():
|
|
19
|
+
getType(): DaemonManagerInstallationType;
|
|
20
20
|
private isEnabled;
|
|
21
21
|
private generateServiceFile;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemdDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/SystemdDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"SystemdDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/SystemdDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAM5H,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,eAAe,CAA6D;;IAQ9E,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA0B/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,6BAA6B;YAI1B,SAAS;IASvB,OAAO,CAAC,mBAAmB;CAuB5B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDaemonManager, DaemonStatus, DaemonConfig } from '../../interfaces/IDaemonManager';
|
|
1
|
+
import { IDaemonManager, DaemonStatus, DaemonConfig, DaemonManagerInstallationType } from '../../interfaces/IDaemonManager';
|
|
2
2
|
export declare class WindowsServiceDaemonManager implements IDaemonManager {
|
|
3
3
|
private serviceName;
|
|
4
4
|
private displayName;
|
|
@@ -17,6 +17,6 @@ export declare class WindowsServiceDaemonManager implements IDaemonManager {
|
|
|
17
17
|
disable(): Promise<void>;
|
|
18
18
|
uninstall(): Promise<void>;
|
|
19
19
|
getPlatform(): string;
|
|
20
|
-
getType():
|
|
20
|
+
getType(): DaemonManagerInstallationType;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=WindowsServiceDaemonManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowsServiceDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/WindowsServiceDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"WindowsServiceDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/WindowsServiceDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAM5H,qBAAa,2BAA4B,YAAW,cAAc;IAChE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,WAAW,CAAwE;;IAQrF,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA2B/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,6BAA6B;CAGzC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { SystemdDaemonManager } from './SystemdDaemonManager';
|
|
2
|
+
export { OpenRCDaemonManager } from './OpenRCDaemonManager';
|
|
3
|
+
export { ForegroundDaemonManager } from './ForegroundDaemonManager';
|
|
2
4
|
export { LaunchdDaemonManager } from './LaunchdDaemonManager';
|
|
3
5
|
export { WindowsServiceDaemonManager } from './WindowsServiceDaemonManager';
|
|
4
6
|
export { DockerDaemonManager } from './DockerDaemonManager';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DaemonManagerFactory = exports.PodmanDaemonManager = exports.DockerDaemonManager = exports.WindowsServiceDaemonManager = exports.LaunchdDaemonManager = exports.SystemdDaemonManager = void 0;
|
|
3
|
+
exports.DaemonManagerFactory = exports.PodmanDaemonManager = exports.DockerDaemonManager = exports.WindowsServiceDaemonManager = exports.LaunchdDaemonManager = exports.ForegroundDaemonManager = exports.OpenRCDaemonManager = exports.SystemdDaemonManager = void 0;
|
|
4
4
|
var SystemdDaemonManager_1 = require("./SystemdDaemonManager");
|
|
5
5
|
Object.defineProperty(exports, "SystemdDaemonManager", { enumerable: true, get: function () { return SystemdDaemonManager_1.SystemdDaemonManager; } });
|
|
6
|
+
var OpenRCDaemonManager_1 = require("./OpenRCDaemonManager");
|
|
7
|
+
Object.defineProperty(exports, "OpenRCDaemonManager", { enumerable: true, get: function () { return OpenRCDaemonManager_1.OpenRCDaemonManager; } });
|
|
8
|
+
var ForegroundDaemonManager_1 = require("./ForegroundDaemonManager");
|
|
9
|
+
Object.defineProperty(exports, "ForegroundDaemonManager", { enumerable: true, get: function () { return ForegroundDaemonManager_1.ForegroundDaemonManager; } });
|
|
6
10
|
var LaunchdDaemonManager_1 = require("./LaunchdDaemonManager");
|
|
7
11
|
Object.defineProperty(exports, "LaunchdDaemonManager", { enumerable: true, get: function () { return LaunchdDaemonManager_1.LaunchdDaemonManager; } });
|
|
8
12
|
var WindowsServiceDaemonManager_1 = require("./WindowsServiceDaemonManager");
|
package/dist/state/config.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface UserConfig {
|
|
|
31
31
|
};
|
|
32
32
|
wireguardMode?: 'kernel' | 'userspace';
|
|
33
33
|
wireguardGoBinary?: string;
|
|
34
|
-
agentInstallationType?: 'systemd' | 'launchd' | 'windows-service' | 'docker' | 'podman';
|
|
34
|
+
agentInstallationType?: 'systemd' | 'launchd' | 'windows-service' | 'docker' | 'podman' | 'openrc' | 'foreground';
|
|
35
35
|
agentServiceName?: string;
|
|
36
36
|
agentContainerName?: string;
|
|
37
37
|
agentDataPath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/state/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACT,CAAC,SAAS,EAAE,MAAM,GAAG;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,aAAa,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IAEF,aAAa,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/state/config.ts"],"names":[],"mappings":"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"}
|
package/dist/types/agent.d.ts
CHANGED
|
@@ -109,7 +109,7 @@ export interface AgentInstallationOptions {
|
|
|
109
109
|
autoStart?: boolean;
|
|
110
110
|
configPath?: string;
|
|
111
111
|
installFromLocal?: boolean;
|
|
112
|
-
installationType?: 'systemd' | 'launchd' | 'windows-service' | 'docker' | 'podman';
|
|
112
|
+
installationType?: 'systemd' | 'launchd' | 'windows-service' | 'docker' | 'podman' | 'openrc' | 'foreground';
|
|
113
113
|
}
|
|
114
114
|
export interface AgentUpdateOptions {
|
|
115
115
|
version?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,8 +105,8 @@ export declare const CreateApplicationSchema: z.ZodObject<{
|
|
|
105
105
|
port: number;
|
|
106
106
|
protocol: "http" | "https" | "tcp" | "udp";
|
|
107
107
|
deleteVolumesOnDeletion: boolean;
|
|
108
|
-
command?: string | undefined;
|
|
109
108
|
logFile?: string | undefined;
|
|
109
|
+
command?: string | undefined;
|
|
110
110
|
vmBackend?: "qemu" | "firecracker" | undefined;
|
|
111
111
|
diskImage?: string | undefined;
|
|
112
112
|
memory?: number | undefined;
|
|
@@ -123,8 +123,8 @@ export declare const CreateApplicationSchema: z.ZodObject<{
|
|
|
123
123
|
}, {
|
|
124
124
|
port: number;
|
|
125
125
|
protocol: "http" | "https" | "tcp" | "udp";
|
|
126
|
-
command?: string | undefined;
|
|
127
126
|
logFile?: string | undefined;
|
|
127
|
+
command?: string | undefined;
|
|
128
128
|
vmBackend?: "qemu" | "firecracker" | undefined;
|
|
129
129
|
diskImage?: string | undefined;
|
|
130
130
|
memory?: number | undefined;
|
|
@@ -159,8 +159,8 @@ export declare const CreateApplicationSchema: z.ZodObject<{
|
|
|
159
159
|
port: number;
|
|
160
160
|
protocol: "http" | "https" | "tcp" | "udp";
|
|
161
161
|
deleteVolumesOnDeletion: boolean;
|
|
162
|
-
command?: string | undefined;
|
|
163
162
|
logFile?: string | undefined;
|
|
163
|
+
command?: string | undefined;
|
|
164
164
|
vmBackend?: "qemu" | "firecracker" | undefined;
|
|
165
165
|
diskImage?: string | undefined;
|
|
166
166
|
memory?: number | undefined;
|
|
@@ -194,8 +194,8 @@ export declare const CreateApplicationSchema: z.ZodObject<{
|
|
|
194
194
|
configuration: {
|
|
195
195
|
port: number;
|
|
196
196
|
protocol: "http" | "https" | "tcp" | "udp";
|
|
197
|
-
command?: string | undefined;
|
|
198
197
|
logFile?: string | undefined;
|
|
198
|
+
command?: string | undefined;
|
|
199
199
|
vmBackend?: "qemu" | "firecracker" | undefined;
|
|
200
200
|
diskImage?: string | undefined;
|
|
201
201
|
memory?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathResolver.d.ts","sourceRoot":"","sources":["../../src/utils/PathResolver.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAkDhC;;;;;OAKG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAyBhC;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAmBlC;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAKjE;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAKjC;;;;;OAKG;IACH,MAAM,CAAC,sBAAsB,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAKrE;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAKjE;;;;;;;;OAQG;IACH,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"PathResolver.d.ts","sourceRoot":"","sources":["../../src/utils/PathResolver.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAkDhC;;;;;OAKG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAyBhC;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAmBlC;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAKjE;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAKjC;;;;;OAKG;IACH,MAAM,CAAC,sBAAsB,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAKrE;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAKjE;;;;;;;;OAQG;IACH,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAWhE;;;;;OAKG;IACH,MAAM,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAWpE;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,aAAa,GAAE,OAAe,GAAG,MAAM;IAK9D;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;CAU9D"}
|
|
@@ -210,6 +210,7 @@ class PathResolver {
|
|
|
210
210
|
*/
|
|
211
211
|
static resolveAgentConfigPath(installationType) {
|
|
212
212
|
const useSystemPath = installationType === 'systemd' ||
|
|
213
|
+
installationType === 'openrc' ||
|
|
213
214
|
installationType === 'launchd' ||
|
|
214
215
|
installationType === 'windows-service' ||
|
|
215
216
|
installationType === 'docker' ||
|
|
@@ -224,6 +225,7 @@ class PathResolver {
|
|
|
224
225
|
*/
|
|
225
226
|
static resolveAgentConfigFilePath(installationType) {
|
|
226
227
|
const useSystemPath = installationType === 'systemd' ||
|
|
228
|
+
installationType === 'openrc' ||
|
|
227
229
|
installationType === 'launchd' ||
|
|
228
230
|
installationType === 'windows-service' ||
|
|
229
231
|
installationType === 'docker' ||
|
|
@@ -248,6 +250,7 @@ class PathResolver {
|
|
|
248
250
|
*/
|
|
249
251
|
static resolveAgentLogPath(installationType) {
|
|
250
252
|
const useSystemPath = installationType === 'systemd' ||
|
|
253
|
+
installationType === 'openrc' ||
|
|
251
254
|
installationType === 'launchd' ||
|
|
252
255
|
installationType === 'windows-service' ||
|
|
253
256
|
installationType === 'docker' ||
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type Platform = 'linux' | 'darwin' | 'win32';
|
|
2
|
-
export type InstallationType = 'systemd' | 'launchd' | 'windows-service' | 'docker' | 'podman';
|
|
2
|
+
export type InstallationType = 'systemd' | 'openrc' | 'foreground' | 'launchd' | 'windows-service' | 'docker' | 'podman';
|
|
3
3
|
export interface InstallOption {
|
|
4
4
|
type: InstallationType;
|
|
5
5
|
name: string;
|
|
@@ -28,6 +28,10 @@ export declare class PlatformDetector {
|
|
|
28
28
|
* Check if launchd is available (macOS)
|
|
29
29
|
*/
|
|
30
30
|
static hasLaunchd(): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Check if OpenRC is available (Linux, e.g. Alpine)
|
|
33
|
+
*/
|
|
34
|
+
static hasOpenRC(): Promise<boolean>;
|
|
31
35
|
/**
|
|
32
36
|
* Check if Docker is available
|
|
33
37
|
*/
|
|
@@ -46,12 +50,11 @@ export declare class PlatformDetector {
|
|
|
46
50
|
static getNodePath(): Promise<string>;
|
|
47
51
|
/**
|
|
48
52
|
* Get all available installation options for the current platform
|
|
49
|
-
*
|
|
53
|
+
* (systemd / OpenRC / foreground on Linux; launchd on macOS; Windows Service on Windows)
|
|
50
54
|
*/
|
|
51
55
|
static getAvailableOptions(): Promise<InstallOption[]>;
|
|
52
56
|
/**
|
|
53
57
|
* Get the recommended installation type for the current platform
|
|
54
|
-
* Only native daemon installations are recommended
|
|
55
58
|
*/
|
|
56
59
|
static getRecommendedType(): Promise<InstallationType | null>;
|
|
57
60
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformDetector.d.ts","sourceRoot":"","sources":["../../src/utils/PlatformDetector.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"PlatformDetector.d.ts","sourceRoot":"","sources":["../../src/utils/PlatformDetector.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,iBAAiB,GACjB,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,QAAQ;IAO9B;;OAEG;WACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAiBvC;;OAEG;WACU,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAa3C;;OAEG;WACU,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAW3C;;OAEG;WACU,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAe1C;;OAEG;WACU,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAW1C;;OAEG;WACU,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAS1C;;OAEG;WACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IASxC;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAY3C;;;OAGG;WACU,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAkF5D;;OAEG;WACU,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAwBnE;;OAEG;IACH,MAAM,CAAC,yBAAyB,IAAI,MAAM;CAS3C"}
|
|
@@ -37,6 +37,7 @@ exports.PlatformDetector = void 0;
|
|
|
37
37
|
const child_process_1 = require("child_process");
|
|
38
38
|
const util_1 = require("util");
|
|
39
39
|
const os = __importStar(require("os"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
40
41
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
41
42
|
class PlatformDetector {
|
|
42
43
|
/**
|
|
@@ -100,6 +101,26 @@ class PlatformDetector {
|
|
|
100
101
|
return false;
|
|
101
102
|
}
|
|
102
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Check if OpenRC is available (Linux, e.g. Alpine)
|
|
106
|
+
*/
|
|
107
|
+
static async hasOpenRC() {
|
|
108
|
+
if (this.getPlatform() !== 'linux')
|
|
109
|
+
return false;
|
|
110
|
+
try {
|
|
111
|
+
await execAsync('command -v rc-service');
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
try {
|
|
116
|
+
await fs.promises.access('/sbin/openrc-run', fs.constants.F_OK);
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
103
124
|
/**
|
|
104
125
|
* Check if Docker is available
|
|
105
126
|
*/
|
|
@@ -154,15 +175,16 @@ class PlatformDetector {
|
|
|
154
175
|
}
|
|
155
176
|
/**
|
|
156
177
|
* Get all available installation options for the current platform
|
|
157
|
-
*
|
|
178
|
+
* (systemd / OpenRC / foreground on Linux; launchd on macOS; Windows Service on Windows)
|
|
158
179
|
*/
|
|
159
180
|
static async getAvailableOptions() {
|
|
160
181
|
const platform = this.getPlatform();
|
|
161
182
|
const hasSystemd = await this.hasSystemd();
|
|
162
183
|
const hasLaunchd = await this.hasLaunchd();
|
|
163
184
|
const options = [];
|
|
164
|
-
// Linux: systemd
|
|
185
|
+
// Linux: systemd, OpenRC, and foreground (user process, no init)
|
|
165
186
|
if (platform === 'linux') {
|
|
187
|
+
const hasOpenRC = await this.hasOpenRC();
|
|
166
188
|
options.push({
|
|
167
189
|
type: 'systemd',
|
|
168
190
|
name: 'System Service (systemd)',
|
|
@@ -175,6 +197,28 @@ class PlatformDetector {
|
|
|
175
197
|
available: hasSystemd,
|
|
176
198
|
requiresRoot: true
|
|
177
199
|
});
|
|
200
|
+
options.push({
|
|
201
|
+
type: 'openrc',
|
|
202
|
+
name: 'System Service (OpenRC)',
|
|
203
|
+
description: 'Run as an OpenRC service (common on Alpine, Gentoo, Artix)',
|
|
204
|
+
requires: ['OpenRC', 'root privileges'],
|
|
205
|
+
pros: ['Native on non-systemd Linux', 'Boot integration via rc-update'],
|
|
206
|
+
cons: ['Requires root for /etc/init.d', 'Platform-specific'],
|
|
207
|
+
bestFor: 'Alpine containers and minimal Linux',
|
|
208
|
+
available: hasOpenRC,
|
|
209
|
+
requiresRoot: true
|
|
210
|
+
});
|
|
211
|
+
options.push({
|
|
212
|
+
type: 'foreground',
|
|
213
|
+
name: 'User process (no init)',
|
|
214
|
+
description: 'Install under your user account; start/stop with edgible agent start/stop (no boot autostart)',
|
|
215
|
+
requires: ['Write access to user data directory'],
|
|
216
|
+
pros: ['No systemd or OpenRC required', 'No root for install path'],
|
|
217
|
+
cons: ['No automatic start on boot', 'You must run edgible agent start after login'],
|
|
218
|
+
bestFor: 'WSL, chroots, or hosts without a supported init',
|
|
219
|
+
available: true,
|
|
220
|
+
requiresRoot: false
|
|
221
|
+
});
|
|
178
222
|
}
|
|
179
223
|
// macOS: launchd option
|
|
180
224
|
if (platform === 'darwin') {
|
|
@@ -204,29 +248,26 @@ class PlatformDetector {
|
|
|
204
248
|
requiresRoot: true
|
|
205
249
|
});
|
|
206
250
|
}
|
|
207
|
-
// Note: Docker and Podman options are no longer supported
|
|
208
|
-
// Only native daemon installations (systemd, launchd, windows-service) are available
|
|
209
251
|
return options;
|
|
210
252
|
}
|
|
211
253
|
/**
|
|
212
254
|
* Get the recommended installation type for the current platform
|
|
213
|
-
* Only native daemon installations are recommended
|
|
214
255
|
*/
|
|
215
256
|
static async getRecommendedType() {
|
|
216
|
-
const options = await this.getAvailableOptions();
|
|
217
|
-
const available = options.filter(opt => opt.available);
|
|
218
|
-
if (available.length === 0) {
|
|
219
|
-
return null;
|
|
220
|
-
}
|
|
221
|
-
// Only native daemon options are supported
|
|
222
257
|
const platform = this.getPlatform();
|
|
223
|
-
if (platform === 'linux'
|
|
224
|
-
|
|
258
|
+
if (platform === 'linux') {
|
|
259
|
+
if (await this.hasSystemd()) {
|
|
260
|
+
return 'systemd';
|
|
261
|
+
}
|
|
262
|
+
if (await this.hasOpenRC()) {
|
|
263
|
+
return 'openrc';
|
|
264
|
+
}
|
|
265
|
+
return 'foreground';
|
|
225
266
|
}
|
|
226
|
-
if (platform === 'darwin'
|
|
227
|
-
return 'launchd';
|
|
267
|
+
if (platform === 'darwin') {
|
|
268
|
+
return (await this.hasLaunchd()) ? 'launchd' : null;
|
|
228
269
|
}
|
|
229
|
-
if (platform === 'win32'
|
|
270
|
+
if (platform === 'win32') {
|
|
230
271
|
return 'windows-service';
|
|
231
272
|
}
|
|
232
273
|
return null;
|