@calltelemetry/cli 0.2.0 → 0.2.1
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/index.js
CHANGED
|
@@ -25,7 +25,7 @@ const program = new Command();
|
|
|
25
25
|
program
|
|
26
26
|
.name('ct')
|
|
27
27
|
.description('CallTelemetry appliance management CLI')
|
|
28
|
-
.version('0.2.
|
|
28
|
+
.version('0.2.1')
|
|
29
29
|
.hook('preAction', () => {
|
|
30
30
|
// Only show logo for direct CLI invocations, not TUI
|
|
31
31
|
console.log(LOGO);
|
|
@@ -51,7 +51,7 @@ if (!hasCommand && process.stdout.isTTY) {
|
|
|
51
51
|
const React = await import('react');
|
|
52
52
|
const { MainMenu } = await import('./ui/views/MainMenu.js');
|
|
53
53
|
const { unmount, waitUntilExit } = render(React.createElement(MainMenu, {
|
|
54
|
-
version: '0.2.
|
|
54
|
+
version: '0.2.1',
|
|
55
55
|
onCliCommand: (command) => {
|
|
56
56
|
unmount();
|
|
57
57
|
// Fall back to Commander for commands without TUI views
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"AAqGA,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CA4LrD"}
|
|
@@ -7,12 +7,75 @@ import { rpc, rpcOk, healthCheck } from '../../lib/rpc.js';
|
|
|
7
7
|
import { getSystemStats } from '../../lib/system.js';
|
|
8
8
|
import { AppShell, Section, StatusLine, ShellOutput, Spinner } from '../components/index.js';
|
|
9
9
|
import { useAsyncTask, useFinish } from '../hooks/index.js';
|
|
10
|
+
function parseContainers(jsonLines) {
|
|
11
|
+
const containers = [];
|
|
12
|
+
for (const line of jsonLines.trim().split('\n')) {
|
|
13
|
+
if (!line.trim())
|
|
14
|
+
continue;
|
|
15
|
+
try {
|
|
16
|
+
const c = JSON.parse(line);
|
|
17
|
+
const statusStr = c.Status ?? c.State ?? '';
|
|
18
|
+
let health = 'none';
|
|
19
|
+
if (statusStr.includes('healthy') && !statusStr.includes('unhealthy'))
|
|
20
|
+
health = 'healthy';
|
|
21
|
+
else if (statusStr.includes('unhealthy'))
|
|
22
|
+
health = 'unhealthy';
|
|
23
|
+
else if (statusStr.includes('starting') || statusStr.includes('health:'))
|
|
24
|
+
health = 'starting';
|
|
25
|
+
// Extract just the version tag from image
|
|
26
|
+
const image = c.Image ?? '';
|
|
27
|
+
const tag = image.includes(':') ? image.split(':').pop() : image;
|
|
28
|
+
containers.push({
|
|
29
|
+
service: c.Service ?? c.Name ?? '',
|
|
30
|
+
image: tag,
|
|
31
|
+
status: statusStr.replace(/\s*\(.*\)/, '').trim(),
|
|
32
|
+
health,
|
|
33
|
+
ports: formatPorts(c.Publishers ?? []),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
catch { /* skip unparseable lines */ }
|
|
37
|
+
}
|
|
38
|
+
return containers.sort((a, b) => a.service.localeCompare(b.service));
|
|
39
|
+
}
|
|
40
|
+
function formatPorts(publishers) {
|
|
41
|
+
if (!publishers || publishers.length === 0)
|
|
42
|
+
return '';
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
const parts = [];
|
|
45
|
+
for (const p of publishers) {
|
|
46
|
+
if (!p.PublishedPort || p.PublishedPort === 0)
|
|
47
|
+
continue;
|
|
48
|
+
const key = `${p.PublishedPort}→${p.TargetPort}`;
|
|
49
|
+
if (seen.has(key))
|
|
50
|
+
continue;
|
|
51
|
+
seen.add(key);
|
|
52
|
+
parts.push(key);
|
|
53
|
+
}
|
|
54
|
+
return parts.join(', ');
|
|
55
|
+
}
|
|
56
|
+
const HEALTH_ICON = {
|
|
57
|
+
healthy: '●',
|
|
58
|
+
unhealthy: '●',
|
|
59
|
+
starting: '●',
|
|
60
|
+
none: '○',
|
|
61
|
+
};
|
|
62
|
+
const HEALTH_COLOR = {
|
|
63
|
+
healthy: 'green',
|
|
64
|
+
unhealthy: 'red',
|
|
65
|
+
starting: 'yellow',
|
|
66
|
+
none: 'gray',
|
|
67
|
+
};
|
|
68
|
+
function ContainerTable({ containers }) {
|
|
69
|
+
const svcWidth = Math.max(7, ...containers.map(c => c.service.length)) + 2;
|
|
70
|
+
const imgWidth = Math.max(5, ...containers.map(c => c.image.length)) + 2;
|
|
71
|
+
return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, bold: true, children: ' '.padEnd(3) }), _jsx(Text, { dimColor: true, bold: true, children: 'Service'.padEnd(svcWidth) }), _jsx(Text, { dimColor: true, bold: true, children: 'Version'.padEnd(imgWidth) }), _jsx(Text, { dimColor: true, bold: true, children: 'Status'.padEnd(14) }), _jsx(Text, { dimColor: true, bold: true, children: 'Ports' })] }), containers.map((c) => (_jsxs(Box, { children: [_jsx(Text, { color: HEALTH_COLOR[c.health], children: ` ${HEALTH_ICON[c.health]} ` }), _jsx(Text, { bold: true, children: c.service.padEnd(svcWidth) }), _jsx(Text, { children: c.image.padEnd(imgWidth) }), _jsx(Text, { dimColor: true, children: c.status.padEnd(14) }), _jsx(Text, { dimColor: true, children: c.ports })] }, c.service)))] }));
|
|
72
|
+
}
|
|
10
73
|
export function StatusView({ onBack }) {
|
|
11
74
|
const finish = useFinish(onBack);
|
|
12
|
-
// Section 1: Container Status
|
|
75
|
+
// Section 1: Container Status (JSON format for parsing)
|
|
13
76
|
const containerTask = useAsyncTask(async () => {
|
|
14
|
-
const result = await compose(['ps'], { pipe: true });
|
|
15
|
-
return result.stdout ?? '';
|
|
77
|
+
const result = await compose(['ps', '--format', 'json'], { pipe: true });
|
|
78
|
+
return parseContainers(result.stdout ?? '');
|
|
16
79
|
});
|
|
17
80
|
// Section 2: Database Status
|
|
18
81
|
const dbReadyTask = useAsyncTask(async () => {
|
|
@@ -79,6 +142,11 @@ export function StatusView({ onBack }) {
|
|
|
79
142
|
if (onBack && allDone && (input === 'q' || key.escape))
|
|
80
143
|
finish();
|
|
81
144
|
});
|
|
82
|
-
|
|
145
|
+
// Derive health summary from containers
|
|
146
|
+
const containers = containerTask.data ?? [];
|
|
147
|
+
const healthyCount = containers.filter(c => c.health === 'healthy').length;
|
|
148
|
+
const unhealthyCount = containers.filter(c => c.health === 'unhealthy').length;
|
|
149
|
+
const totalCount = containers.length;
|
|
150
|
+
return (_jsxs(AppShell, { command: "ct status", children: [_jsxs(Section, { title: "Services", children: [containerTask.status === 'pending' && _jsx(Spinner, { label: "Checking containers..." }), containerTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not check containers" }), containerTask.status === 'done' && containers.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsxs(Text, { children: [_jsx(Text, { bold: true, children: totalCount }), _jsx(Text, { children: " containers" }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", healthyCount, " healthy"] }), unhealthyCount > 0 && _jsxs(Text, { color: "red", children: [" \u2014 ", unhealthyCount, " unhealthy"] })] }) }), _jsx(ContainerTable, { containers: containers })] })), containerTask.status === 'done' && containers.length === 0 && (_jsx(StatusLine, { status: "warn", label: "No containers running" }))] }), _jsxs(Section, { title: "Database", children: [dbReadyTask.status === 'pending' && _jsx(Spinner, { label: "Checking database..." }), dbReadyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Database check failed" }), dbReadyTask.status === 'done' && (_jsx(StatusLine, { status: dbReadyTask.data ? 'ok' : 'fail', label: dbReadyTask.data ? 'Accepting connections' : 'Not accepting connections' })), dbCountTask.status === 'pending' && _jsx(Spinner, { label: "Counting migrations..." }), dbCountTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not count migrations" }), dbCountTask.status === 'done' && (_jsx(StatusLine, { status: "ok", label: `Migrations: ${dbCountTask.data}` })), dbLatestTask.status === 'pending' && _jsx(Spinner, { label: "Finding latest migration..." }), dbLatestTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not find latest migration" }), dbLatestTask.status === 'done' && (_jsx(StatusLine, { status: "ok", label: `Latest: ${dbLatestTask.data}` }))] }), _jsxs(Section, { title: "Application", children: [rpcTask.status === 'pending' && _jsx(Spinner, { label: "Checking RPC connection..." }), rpcTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "RPC check failed" }), rpcTask.status === 'done' && rpcTask.data && (_jsxs(_Fragment, { children: [_jsx(StatusLine, { status: rpcTask.data.ok ? 'ok' : 'fail', label: rpcTask.data.ok ? 'RPC connection: working' : 'RPC connection: failed' }), rpcTask.data.ok && rpcTask.data.output && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: " Migration Status (from application)" }), _jsx(ShellOutput, { content: rpcTask.data.output })] })), !rpcTask.data.ok && (_jsx(Text, { dimColor: true, children: " Application may still be starting up" }))] }))] }), _jsxs(Section, { title: "Health", children: [healthTask.status === 'pending' && _jsx(Spinner, { label: "Running health check..." }), healthTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Health check failed" }), healthTask.status === 'done' && (_jsx(StatusLine, { status: healthTask.data ? 'ok' : 'warn', label: healthTask.data ? 'Web application healthy' : 'Web health check pending' }))] }), _jsxs(Section, { title: "System", children: [statsTask.status === 'pending' && _jsx(Spinner, { label: "Gathering system stats..." }), statsTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not gather system stats" }), statsTask.status === 'done' && statsTask.data && (_jsxs(Text, { children: [" ", statsTask.data] }))] }), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
|
|
83
151
|
}
|
|
84
152
|
//# sourceMappingURL=StatusView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusView.js","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StatusView.js","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"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"}
|