@kaitranntt/ccs 7.79.1-dev.27 → 7.79.1-dev.28
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.
|
@@ -10,6 +10,7 @@ import open from 'open';
|
|
|
10
10
|
import { startServer } from '../web-server';
|
|
11
11
|
import { setupGracefulShutdown } from '../web-server/shutdown';
|
|
12
12
|
import { ensureCliproxyService } from '../cliproxy/service-manager';
|
|
13
|
+
import { isRunningUnderSupervisord } from '../docker/supervisord-lifecycle';
|
|
13
14
|
import { initUI, header, ok, info, warn, fail } from '../utils/ui';
|
|
14
15
|
import { resolveNamedCommand, type NamedCommandRoute } from './named-command-router';
|
|
15
16
|
import { getDashboardAuthConfig } from '../config/config-loader-facade';
|
|
@@ -19,6 +20,7 @@ interface ConfigCommandDependencies {
|
|
|
19
20
|
startServer: typeof startServer;
|
|
20
21
|
setupGracefulShutdown: typeof setupGracefulShutdown;
|
|
21
22
|
ensureCliproxyService: typeof ensureCliproxyService;
|
|
23
|
+
isRunningUnderSupervisord?: typeof isRunningUnderSupervisord;
|
|
22
24
|
getDashboardAuthConfig: typeof getDashboardAuthConfig;
|
|
23
25
|
initUI: typeof initUI;
|
|
24
26
|
header: typeof header;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-command.d.ts","sourceRoot":"","sources":["../../src/commands/config-command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AASrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAmCxE,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,sBAAsB,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACtD;
|
|
1
|
+
{"version":3,"file":"config-command.d.ts","sourceRoot":"","sources":["../../src/commands/config-command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AASrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAmCxE,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,yBAAyB,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAC7D,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,sBAAsB,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACtD;AAoBD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,yBAA4D,GACjE,OAAO,CAAC,IAAI,CAAC,CA4Jf"}
|
|
@@ -40,6 +40,7 @@ const web_server_1 = require("../web-server");
|
|
|
40
40
|
const shutdown_1 = require("../web-server/shutdown");
|
|
41
41
|
const service_manager_1 = require("../cliproxy/service-manager");
|
|
42
42
|
const port_manager_1 = require("../cliproxy/config/port-manager");
|
|
43
|
+
const supervisord_lifecycle_1 = require("../docker/supervisord-lifecycle");
|
|
43
44
|
const ui_1 = require("../utils/ui");
|
|
44
45
|
const named_command_router_1 = require("./named-command-router");
|
|
45
46
|
const config_dashboard_host_1 = require("./config-dashboard-host");
|
|
@@ -83,6 +84,7 @@ const defaultConfigCommandDependencies = {
|
|
|
83
84
|
startServer: web_server_1.startServer,
|
|
84
85
|
setupGracefulShutdown: shutdown_1.setupGracefulShutdown,
|
|
85
86
|
ensureCliproxyService: service_manager_1.ensureCliproxyService,
|
|
87
|
+
isRunningUnderSupervisord: supervisord_lifecycle_1.isRunningUnderSupervisord,
|
|
86
88
|
getDashboardAuthConfig: config_loader_facade_1.getDashboardAuthConfig,
|
|
87
89
|
initUI: ui_1.initUI,
|
|
88
90
|
header: ui_1.header,
|
|
@@ -128,31 +130,40 @@ async function handleConfigCommand(args, deps = defaultConfigCommandDependencies
|
|
|
128
130
|
});
|
|
129
131
|
console.log(deps.header('CCS Config Dashboard'));
|
|
130
132
|
console.log('');
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
133
|
+
const lifecyclePort = (0, port_manager_1.resolveLifecyclePort)();
|
|
134
|
+
if (deps.isRunningUnderSupervisord?.() ?? false) {
|
|
135
|
+
logger.info('cliproxy.supervisord_managed', 'Skipping direct CLIProxy startup in Docker', {
|
|
136
|
+
port: lifecyclePort,
|
|
137
|
+
});
|
|
138
|
+
console.log(deps.info(`CLIProxy is managed by supervisord on port ${lifecyclePort}`));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// Ensure CLIProxy service is running for dashboard features
|
|
142
|
+
console.log(deps.info('Starting CLIProxy service...'));
|
|
143
|
+
const cliproxyResult = await deps.ensureCliproxyService(lifecyclePort, verbose);
|
|
144
|
+
logger.info('cliproxy.ensure_result', 'Config command checked CLIProxy availability', {
|
|
145
|
+
started: cliproxyResult.started,
|
|
146
|
+
alreadyRunning: cliproxyResult.alreadyRunning,
|
|
147
|
+
configRegenerated: cliproxyResult.configRegenerated,
|
|
148
|
+
port: cliproxyResult.port || null,
|
|
149
|
+
error: cliproxyResult.error || null,
|
|
150
|
+
});
|
|
151
|
+
if (cliproxyResult.started) {
|
|
152
|
+
if (cliproxyResult.alreadyRunning) {
|
|
153
|
+
console.log(deps.ok(`CLIProxy already running on port ${cliproxyResult.port}`));
|
|
154
|
+
if (cliproxyResult.configRegenerated) {
|
|
155
|
+
console.log(deps.warn('Config updated - restart CLIProxy to apply changes'));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
console.log(deps.ok(`CLIProxy started on port ${cliproxyResult.port}`));
|
|
146
160
|
}
|
|
147
161
|
}
|
|
148
162
|
else {
|
|
149
|
-
console.log(deps.
|
|
163
|
+
console.log(deps.warn(`CLIProxy not available: ${cliproxyResult.error}`));
|
|
164
|
+
console.log(deps.info('Dashboard will work but Control Panel/Stats may be limited'));
|
|
150
165
|
}
|
|
151
166
|
}
|
|
152
|
-
else {
|
|
153
|
-
console.log(deps.warn(`CLIProxy not available: ${cliproxyResult.error}`));
|
|
154
|
-
console.log(deps.info('Dashboard will work but Control Panel/Stats may be limited'));
|
|
155
|
-
}
|
|
156
167
|
console.log('');
|
|
157
168
|
console.log(deps.info('Starting dashboard server...'));
|
|
158
169
|
// Find available port
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-command.js","sourceRoot":"","sources":["../../src/commands/config-command.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wDAA+B;AAC/B,gDAAwB;AACxB,8CAA4C;AAC5C,qDAA+D;AAC/D,iEAAoE;AACpE,kEAAuE;AACvE,oCAAmE;AACnE,iEAAqF;AACrF,mEAKiC;AACjC,qEAAyF;AACzF,iDAAmD;AACnD,yEAAwE;AAExE,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,gBAAgB,CAAC,CAAC;AAE9C,MAAM,wBAAwB,GAAiC;IAC7D;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,EAAE,2BAA2B,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;YAClF,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;YAClE,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,EAAE,gCAAgC,EAAE,GAAG,wDAAa,iCAAiC,GAAC,CAAC;YAC7F,MAAM,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,EAAE,2BAA2B,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;YAClF,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;KACF;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"config-command.js","sourceRoot":"","sources":["../../src/commands/config-command.ts"],"names":[],"mappings":"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"}
|