@calltelemetry/cli 0.7.6 → 0.7.9
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/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +7 -0
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/self-update.d.ts.map +1 -1
- package/dist/commands/self-update.js +1 -0
- package/dist/commands/self-update.js.map +1 -1
- package/dist/commands/syslog.d.ts +3 -0
- package/dist/commands/syslog.d.ts.map +1 -0
- package/dist/commands/syslog.js +159 -0
- package/dist/commands/syslog.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +143 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/bundle.d.ts +2 -1
- package/dist/lib/bundle.d.ts.map +1 -1
- package/dist/lib/bundle.js +41 -12
- package/dist/lib/bundle.js.map +1 -1
- package/dist/lib/compose.d.ts +10 -0
- package/dist/lib/compose.d.ts.map +1 -1
- package/dist/lib/compose.js +126 -1
- package/dist/lib/compose.js.map +1 -1
- package/dist/lib/db-backup.d.ts +23 -0
- package/dist/lib/db-backup.d.ts.map +1 -0
- package/dist/lib/db-backup.js +80 -0
- package/dist/lib/db-backup.js.map +1 -0
- package/dist/lib/env.d.ts +6 -0
- package/dist/lib/env.d.ts.map +1 -1
- package/dist/lib/env.js +34 -24
- package/dist/lib/env.js.map +1 -1
- package/dist/lib/migration-009-bind-mount-files.d.ts +5 -4
- package/dist/lib/migration-009-bind-mount-files.d.ts.map +1 -1
- package/dist/lib/migration-009-bind-mount-files.js +13 -5
- package/dist/lib/migration-009-bind-mount-files.js.map +1 -1
- package/dist/lib/migration-013-grafana-password.d.ts +3 -9
- package/dist/lib/migration-013-grafana-password.d.ts.map +1 -1
- package/dist/lib/migration-013-grafana-password.js +14 -60
- package/dist/lib/migration-013-grafana-password.js.map +1 -1
- package/dist/lib/release-migration-progress.d.ts +48 -0
- package/dist/lib/release-migration-progress.d.ts.map +1 -0
- package/dist/lib/release-migration-progress.js +223 -0
- package/dist/lib/release-migration-progress.js.map +1 -0
- package/dist/lib/syslog.d.ts +5 -0
- package/dist/lib/syslog.d.ts.map +1 -0
- package/dist/lib/syslog.js +21 -0
- package/dist/lib/syslog.js.map +1 -0
- package/dist/lib/update-steps.d.ts.map +1 -1
- package/dist/lib/update-steps.js +111 -0
- package/dist/lib/update-steps.js.map +1 -1
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/ui/views/DbBackupView.d.ts.map +1 -1
- package/dist/ui/views/DbBackupView.js +11 -27
- package/dist/ui/views/DbBackupView.js.map +1 -1
- package/dist/ui/views/MigrateDrainView.d.ts +6 -0
- package/dist/ui/views/MigrateDrainView.d.ts.map +1 -0
- package/dist/ui/views/MigrateDrainView.js +77 -0
- package/dist/ui/views/MigrateDrainView.js.map +1 -0
- package/dist/ui/views/MigrateStatusView.d.ts.map +1 -1
- package/dist/ui/views/MigrateStatusView.js +16 -7
- package/dist/ui/views/MigrateStatusView.js.map +1 -1
- package/dist/ui/views/MigrateWatchView.d.ts.map +1 -1
- package/dist/ui/views/MigrateWatchView.js +17 -12
- package/dist/ui/views/MigrateWatchView.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/update-steps.js
CHANGED
|
@@ -10,6 +10,46 @@ import { downloadBundle, checkImageAvailabilityQuiet, extractImages } from './bu
|
|
|
10
10
|
import { backupCompose, applyAndRestart, postgresVersionGuard, dockerCleanup, pullImages, applyIpv6IfEnabled, applyOtelIfEnabled, hardenSystemdServices, ensureCliOnSudoPath } from './update.js';
|
|
11
11
|
import { isVersionGte } from '../utils/version.js';
|
|
12
12
|
import { getPaths } from './paths.js';
|
|
13
|
+
import { composeExec, composePs } from './compose.js';
|
|
14
|
+
import { DB_NAME, DB_USER } from './db.js';
|
|
15
|
+
import { getAppHealth } from './rpc.js';
|
|
16
|
+
import { getMigrationProgress, tailMigrationArtifacts } from './release-migration-progress.js';
|
|
17
|
+
function sleep(ms) {
|
|
18
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
19
|
+
}
|
|
20
|
+
class TerminalWaitError extends Error {
|
|
21
|
+
constructor(message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'TerminalWaitError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function isTerminalMigrationProgressError(err) {
|
|
27
|
+
if (!(err instanceof Error))
|
|
28
|
+
return false;
|
|
29
|
+
return /pending_count|pending migration count/i.test(err.message);
|
|
30
|
+
}
|
|
31
|
+
async function waitFor(label, check, options, ctx) {
|
|
32
|
+
const started = Date.now();
|
|
33
|
+
let lastError = '';
|
|
34
|
+
while (Date.now() - started < options.timeoutMs) {
|
|
35
|
+
try {
|
|
36
|
+
const result = await check();
|
|
37
|
+
if (result !== null)
|
|
38
|
+
return result;
|
|
39
|
+
lastError = '';
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
if (err instanceof TerminalWaitError)
|
|
43
|
+
throw err;
|
|
44
|
+
lastError = err instanceof Error ? err.message : String(err);
|
|
45
|
+
}
|
|
46
|
+
if (options.logNotReady !== false) {
|
|
47
|
+
ctx?.log(`${label} not ready yet${lastError ? ` (${lastError})` : ''}`);
|
|
48
|
+
}
|
|
49
|
+
await sleep(options.intervalMs);
|
|
50
|
+
}
|
|
51
|
+
throw new Error(`${label} timed out after ${Math.round(options.timeoutMs / 1000)}s${lastError ? `: ${lastError}` : ''}`);
|
|
52
|
+
}
|
|
13
53
|
// ─── Preflight Steps ────────────────────────────────────────────────────────
|
|
14
54
|
export function preflightSteps(targetVersion) {
|
|
15
55
|
return [
|
|
@@ -209,6 +249,77 @@ export function executeSteps(targetVersion) {
|
|
|
209
249
|
return 'done';
|
|
210
250
|
},
|
|
211
251
|
},
|
|
252
|
+
{
|
|
253
|
+
label: 'Wait for containers',
|
|
254
|
+
run: async (ctx) => {
|
|
255
|
+
const services = await waitFor('containers', async () => {
|
|
256
|
+
const [web, db] = await Promise.all([composePs('web'), composePs('db')]);
|
|
257
|
+
return web && db ? { web, db } : null;
|
|
258
|
+
}, { timeoutMs: 120_000, intervalMs: 5_000 }, ctx);
|
|
259
|
+
return `web=${services.web.slice(0, 12)} db=${services.db.slice(0, 12)}`;
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
label: 'Wait for database',
|
|
264
|
+
run: async (ctx) => {
|
|
265
|
+
await waitFor('database', async () => {
|
|
266
|
+
await composeExec('db', ['pg_isready', '-U', DB_USER, '-d', DB_NAME], { pipe: true });
|
|
267
|
+
return true;
|
|
268
|
+
}, { timeoutMs: 120_000, intervalMs: 5_000 }, ctx);
|
|
269
|
+
return 'accepting connections';
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
label: 'Wait for migrations',
|
|
274
|
+
run: async (ctx) => {
|
|
275
|
+
let lastOutput = '';
|
|
276
|
+
let pollsSinceLog = 0;
|
|
277
|
+
const progress = await waitFor('migrations', async () => {
|
|
278
|
+
let status;
|
|
279
|
+
try {
|
|
280
|
+
status = await getMigrationProgress();
|
|
281
|
+
}
|
|
282
|
+
catch (err) {
|
|
283
|
+
if (isTerminalMigrationProgressError(err)) {
|
|
284
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
285
|
+
throw new TerminalWaitError(message);
|
|
286
|
+
}
|
|
287
|
+
throw err;
|
|
288
|
+
}
|
|
289
|
+
pollsSinceLog += 1;
|
|
290
|
+
const shouldLog = status.output !== lastOutput || pollsSinceLog >= 12;
|
|
291
|
+
if (shouldLog) {
|
|
292
|
+
ctx?.log(status.output);
|
|
293
|
+
const tails = await tailMigrationArtifacts(status.snapshot, { eventLines: 2, logLines: 3 });
|
|
294
|
+
if (tails.events)
|
|
295
|
+
ctx?.log(`Recent JSON events:\n${tails.events}`);
|
|
296
|
+
if (tails.log)
|
|
297
|
+
ctx?.log(`Recent log lines:\n${tails.log}`);
|
|
298
|
+
lastOutput = status.output;
|
|
299
|
+
pollsSinceLog = 0;
|
|
300
|
+
}
|
|
301
|
+
if (typeof status.snapshot.pendingCount !== 'number') {
|
|
302
|
+
throw new TerminalWaitError('Migration progress did not include pending_count; cannot determine completion');
|
|
303
|
+
}
|
|
304
|
+
return status.snapshot.pendingCount === 0 ? status : null;
|
|
305
|
+
}, { timeoutMs: 3_600_000, intervalMs: 5_000, logNotReady: false }, ctx);
|
|
306
|
+
return `${progress.snapshot.appliedCount ?? '?'} migration(s) applied`;
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
label: 'Wait for application health',
|
|
311
|
+
run: async (ctx) => {
|
|
312
|
+
const health = await waitFor('application health', async () => {
|
|
313
|
+
const result = await getAppHealth();
|
|
314
|
+
if (result.overall !== 'healthy') {
|
|
315
|
+
ctx?.log(`Application is ${result.overall}; waiting for healthy status`);
|
|
316
|
+
return null;
|
|
317
|
+
}
|
|
318
|
+
return result;
|
|
319
|
+
}, { timeoutMs: 180_000, intervalMs: 5_000 }, ctx);
|
|
320
|
+
return health.overall;
|
|
321
|
+
},
|
|
322
|
+
},
|
|
212
323
|
{
|
|
213
324
|
label: 'Harden systemd boot dependencies',
|
|
214
325
|
run: async (ctx) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-steps.js","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update-steps.js","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/version.d.ts
CHANGED
package/dist/lib/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbBackupView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/DbBackupView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DbBackupView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/DbBackupView.tsx"],"names":[],"mappings":"AAcA,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CA8DzD"}
|
|
@@ -1,57 +1,41 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect } from 'react';
|
|
2
|
+
import { useEffect, useMemo } from 'react';
|
|
3
3
|
import { Box } from 'ink';
|
|
4
|
-
import {
|
|
5
|
-
import { join } from 'node:path';
|
|
6
|
-
import { composeExec } from '../../lib/compose.js';
|
|
7
|
-
import { DB_USER, DB_NAME, PG_ENV } from '../../lib/db.js';
|
|
8
|
-
import { getPaths } from '../../lib/paths.js';
|
|
9
|
-
import { writeFileSafe, removeSafe, mkdirSafe } from '../../lib/fs.js';
|
|
4
|
+
import { assertDatabaseReady, cleanupOldDatabaseBackups, databaseBackupPath, databaseBackupTimestamp, ensureDatabaseBackupDirectory, writeDatabaseDump, } from '../../lib/db-backup.js';
|
|
10
5
|
import { AppShell, Section, StepList, Divider, StatusLine } from '../components/index.js';
|
|
11
6
|
import { useStepRunner } from '../hooks/index.js';
|
|
12
7
|
export function DbBackupView({ onBack }) {
|
|
13
|
-
const {
|
|
14
|
-
const
|
|
15
|
-
const fileName = `dump-${timestamp}.sql`;
|
|
16
|
-
const filePath = join(dbDumpsDir, fileName);
|
|
17
|
-
const steps = [
|
|
8
|
+
const { directory, filePath } = useMemo(() => databaseBackupPath(databaseBackupTimestamp()), []);
|
|
9
|
+
const steps = useMemo(() => [
|
|
18
10
|
{
|
|
19
11
|
label: 'Ensure backup directory',
|
|
20
12
|
run: async () => {
|
|
21
|
-
await
|
|
22
|
-
return
|
|
13
|
+
await ensureDatabaseBackupDirectory();
|
|
14
|
+
return directory;
|
|
23
15
|
},
|
|
24
16
|
},
|
|
25
17
|
{
|
|
26
18
|
label: 'Check database readiness',
|
|
27
19
|
run: async () => {
|
|
28
|
-
await
|
|
20
|
+
await assertDatabaseReady();
|
|
29
21
|
return 'ready';
|
|
30
22
|
},
|
|
31
23
|
},
|
|
32
24
|
{
|
|
33
25
|
label: 'Create database dump',
|
|
34
26
|
run: async () => {
|
|
35
|
-
|
|
36
|
-
await writeFileSafe(filePath, result.stdout ?? '');
|
|
27
|
+
await writeDatabaseDump(filePath);
|
|
37
28
|
return filePath;
|
|
38
29
|
},
|
|
39
30
|
},
|
|
40
31
|
{
|
|
41
32
|
label: 'Clean old backups',
|
|
42
33
|
run: async () => {
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
.map(f => ({ name: f, time: statSync(join(dbDumpsDir, f)).mtimeMs }))
|
|
46
|
-
.sort((a, b) => b.time - a.time);
|
|
47
|
-
const removed = files.slice(5);
|
|
48
|
-
for (const f of removed) {
|
|
49
|
-
await removeSafe(join(dbDumpsDir, f.name));
|
|
50
|
-
}
|
|
51
|
-
return removed.length > 0 ? `removed ${removed.length} old backup(s)` : 'no cleanup needed';
|
|
34
|
+
const removedCount = await cleanupOldDatabaseBackups();
|
|
35
|
+
return removedCount > 0 ? `removed ${removedCount} old backup(s)` : 'no cleanup needed';
|
|
52
36
|
},
|
|
53
37
|
},
|
|
54
|
-
];
|
|
38
|
+
], [directory, filePath]);
|
|
55
39
|
const { states, isDone, isRunning, run } = useStepRunner(steps);
|
|
56
40
|
const hasError = states.some(s => s.status === 'error');
|
|
57
41
|
const isComplete = isDone || (!isRunning && hasError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbBackupView.js","sourceRoot":"","sources":["../../../src/ui/views/DbBackupView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"DbBackupView.js","sourceRoot":"","sources":["../../../src/ui/views/DbBackupView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrateDrainView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateDrainView.tsx"],"names":[],"mappings":"AAOA,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CAkFjE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
3
|
+
import { useApp } from 'ink';
|
|
4
|
+
import { composeWithFiles, getAllComposeFiles } from '../../lib/compose.js';
|
|
5
|
+
import { getReleaseBin } from '../../lib/rpc.js';
|
|
6
|
+
import { AppShell, Section, ShellOutput, Spinner, StatusLine, Confirm } from '../components/index.js';
|
|
7
|
+
import { useAsyncTask, useConfirmBackNav } from '../hooks/index.js';
|
|
8
|
+
export function MigrateDrainView({ onBack }) {
|
|
9
|
+
const { exit } = useApp();
|
|
10
|
+
const [confirmed, setConfirmed] = useState(false);
|
|
11
|
+
const goBack = useCallback(() => {
|
|
12
|
+
if (onBack)
|
|
13
|
+
onBack();
|
|
14
|
+
else
|
|
15
|
+
exit();
|
|
16
|
+
}, [onBack, exit]);
|
|
17
|
+
const drainTask = useAsyncTask(async () => {
|
|
18
|
+
const releaseBin = getReleaseBin();
|
|
19
|
+
const composeFiles = getAllComposeFiles();
|
|
20
|
+
const logs = [
|
|
21
|
+
'=== Partition Data Migration ===',
|
|
22
|
+
'Stopping web application for exclusive partition drain...',
|
|
23
|
+
];
|
|
24
|
+
let primaryError;
|
|
25
|
+
let restartError;
|
|
26
|
+
try {
|
|
27
|
+
await composeWithFiles(composeFiles, ['stop', 'web'], { pipe: true });
|
|
28
|
+
logs.push('Starting one-shot drain container...');
|
|
29
|
+
const result = await composeWithFiles(composeFiles, [
|
|
30
|
+
'run',
|
|
31
|
+
'--rm',
|
|
32
|
+
'-T',
|
|
33
|
+
'--no-deps',
|
|
34
|
+
'--entrypoint',
|
|
35
|
+
'',
|
|
36
|
+
'web',
|
|
37
|
+
releaseBin,
|
|
38
|
+
'eval',
|
|
39
|
+
'Cdrcisco.Release.drain_legacy_partitions()',
|
|
40
|
+
], { pipe: true });
|
|
41
|
+
logs.push(String(result.stdout ?? '').trim());
|
|
42
|
+
logs.push('Partition drain completed.');
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
primaryError = err;
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
logs.push('Restarting web application...');
|
|
49
|
+
try {
|
|
50
|
+
await composeWithFiles(composeFiles, ['up', '-d', 'web'], { pipe: true });
|
|
51
|
+
logs.push('Web application restart initiated.');
|
|
52
|
+
}
|
|
53
|
+
catch (restartErr) {
|
|
54
|
+
const message = restartErr instanceof Error ? restartErr.message : String(restartErr);
|
|
55
|
+
logs.push(`Web application restart failed: ${message}`);
|
|
56
|
+
restartError = restartErr;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (primaryError !== undefined)
|
|
60
|
+
throw primaryError;
|
|
61
|
+
if (restartError !== undefined)
|
|
62
|
+
throw restartError;
|
|
63
|
+
return logs.filter(Boolean).join('\n');
|
|
64
|
+
}, { autoRun: false, timeout: 0 });
|
|
65
|
+
const { run } = drainTask;
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (confirmed)
|
|
68
|
+
run();
|
|
69
|
+
}, [confirmed, run]);
|
|
70
|
+
const allDone = drainTask.status === 'done' || drainTask.status === 'error';
|
|
71
|
+
useConfirmBackNav({ active: !confirmed, onBack: goBack });
|
|
72
|
+
return (_jsxs(AppShell, { command: "ct migrate drain", onBack: onBack, isComplete: confirmed && allDone, children: [!confirmed && (_jsx(Section, { title: "Partition Drain", children: _jsx(Confirm, { message: "Stop the app and run the idempotent partition drain?", onConfirm: (yes) => { if (yes)
|
|
73
|
+
setConfirmed(true);
|
|
74
|
+
else
|
|
75
|
+
goBack(); } }) })), confirmed && (_jsxs(Section, { title: "Partition Drain", children: [drainTask.status === 'pending' && _jsx(Spinner, { label: "Running partition drain..." }), drainTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: drainTask.error?.message ?? 'Partition drain failed' }), drainTask.status === 'done' && drainTask.data && _jsx(ShellOutput, { content: drainTask.data, scrollable: true }), drainTask.status === 'done' && _jsx(StatusLine, { status: "ok", label: "Partition drain completed" })] }))] }));
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=MigrateDrainView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrateDrainView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateDrainView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMpE,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAyB;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,MAAM;YAAE,MAAM,EAAE,CAAC;;YAChB,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAa;YACrB,kCAAkC;YAClC,2DAA2D;SAC5D,CAAC;QAEF,IAAI,YAAqB,CAAC;QAC1B,IAAI,YAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE;gBAClD,KAAK;gBACL,MAAM;gBACN,IAAI;gBACJ,WAAW;gBACX,cAAc;gBACd,EAAE;gBACF,KAAK;gBACL,UAAU;gBACV,MAAM;gBACN,4CAA4C;aAC7C,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAEnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,YAAY,GAAG,GAAG,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,UAAmB,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtF,IAAI,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;gBACxD,YAAY,GAAG,UAAU,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,YAAY,KAAK,SAAS;YAAE,MAAM,YAAY,CAAC;QACnD,IAAI,YAAY,KAAK,SAAS;YAAE,MAAM,YAAY,CAAC;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS;YAAE,GAAG,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC;IAE5E,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1D,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAC,kBAAkB,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,IAAI,OAAO,aAClF,CAAC,SAAS,IAAI,CACb,KAAC,OAAO,IAAC,KAAK,EAAC,iBAAiB,YAC9B,KAAC,OAAO,IAAC,OAAO,EAAC,sDAAsD,EAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG;wBAAE,YAAY,CAAC,IAAI,CAAC,CAAC;;wBAAM,MAAM,EAAE,CAAC,CAAC,CAAC,GAAI,GACvI,CACX,EACA,SAAS,IAAI,CACZ,MAAC,OAAO,IAAC,KAAK,EAAC,iBAAiB,aAC7B,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,4BAA4B,GAAG,EAChF,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB,GAAI,EACzH,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,SAAG,EACpG,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,2BAA2B,GAAG,IACpF,CACX,IACQ,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateStatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MigrateStatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":"AAMA,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,2CA0CnE"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
3
|
import { composePs } from '../../lib/compose.js';
|
|
4
|
-
import {
|
|
5
|
-
import { MIGRATION_STATUS_RPC } from '../../lib/rpc-scripts.js';
|
|
4
|
+
import { getMigrationProgress, tailMigrationArtifacts } from '../../lib/release-migration-progress.js';
|
|
6
5
|
import { AppShell, Section, StatusLine, ShellOutput, Spinner } from '../components/index.js';
|
|
7
6
|
import { useAsyncTask } from '../hooks/index.js';
|
|
8
7
|
export function MigrateStatusView({ onBack }) {
|
|
@@ -10,13 +9,23 @@ export function MigrateStatusView({ onBack }) {
|
|
|
10
9
|
const container = await composePs('web');
|
|
11
10
|
if (!container)
|
|
12
11
|
throw new Error('Web container not found');
|
|
13
|
-
if (!await rpcOk())
|
|
14
|
-
throw new Error('RPC not ready');
|
|
15
12
|
return true;
|
|
16
13
|
});
|
|
17
14
|
const statusTask = useAsyncTask(async () => {
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
try {
|
|
16
|
+
const progress = await getMigrationProgress();
|
|
17
|
+
const tails = await tailMigrationArtifacts(progress.snapshot);
|
|
18
|
+
const sections = [progress.output];
|
|
19
|
+
if (tails.events)
|
|
20
|
+
sections.push(`Recent JSON events:\n${tails.events}`);
|
|
21
|
+
if (tails.log)
|
|
22
|
+
sections.push(`Recent log lines:\n${tails.log}`);
|
|
23
|
+
return sections.join('\n\n');
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
27
|
+
throw new Error(`Failed to query migrations: ${message}`);
|
|
28
|
+
}
|
|
20
29
|
}, false);
|
|
21
30
|
// Run status after ready
|
|
22
31
|
useEffect(() => {
|
|
@@ -26,6 +35,6 @@ export function MigrateStatusView({ onBack }) {
|
|
|
26
35
|
// Exit when done
|
|
27
36
|
const allDone = (readyTask.status === 'error') ||
|
|
28
37
|
(statusTask.status === 'done' || statusTask.status === 'error');
|
|
29
|
-
return (_jsx(AppShell, { command: "ct migrate status", onBack: onBack, isComplete: allDone, children: _jsxs(Section, { title: "Migration Status", children: [readyTask.status === 'pending' && _jsx(Spinner, { label: "Checking web container..." }), readyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: readyTask.error?.message ?? 'Web container not ready' }), statusTask.status === 'pending' && _jsx(Spinner, { label: "Querying migration status..." }), statusTask.status === 'error' && _jsx(StatusLine, { status: "fail", label:
|
|
38
|
+
return (_jsx(AppShell, { command: "ct migrate status", onBack: onBack, isComplete: allDone, children: _jsxs(Section, { title: "Migration Status", children: [readyTask.status === 'pending' && _jsx(Spinner, { label: "Checking web container..." }), readyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: readyTask.error?.message ?? 'Web container not ready' }), statusTask.status === 'pending' && _jsx(Spinner, { label: "Querying migration status..." }), statusTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: statusTask.error?.message ?? 'Failed to query migrations' }), statusTask.status === 'done' && statusTask.data && _jsx(ShellOutput, { content: statusTask.data, scrollable: true })] }) }));
|
|
30
39
|
}
|
|
31
40
|
//# sourceMappingURL=MigrateStatusView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateStatusView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MigrateStatusView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateWatchView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MigrateWatchView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":"AAMA,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CA8C3E"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef } from 'react';
|
|
3
3
|
import { Box, Text } from 'ink';
|
|
4
|
-
import {
|
|
5
|
-
import { MIGRATION_STATUS_RPC } from '../../lib/rpc-scripts.js';
|
|
4
|
+
import { getMigrationProgress, tailMigrationArtifacts } from '../../lib/release-migration-progress.js';
|
|
6
5
|
import { AppShell, Section, ShellOutput, Spinner, StatusLine } from '../components/index.js';
|
|
7
6
|
import { usePolling } from '../hooks/index.js';
|
|
8
7
|
export function MigrateWatchView({ interval, onBack }) {
|
|
9
8
|
const stoppedRef = useRef(false);
|
|
10
9
|
const { data, error, stop } = usePolling(async () => {
|
|
11
|
-
const
|
|
12
|
-
|
|
10
|
+
const progress = await getMigrationProgress();
|
|
11
|
+
const tails = await tailMigrationArtifacts(progress.snapshot);
|
|
12
|
+
const sections = [progress.output];
|
|
13
|
+
if (tails.events)
|
|
14
|
+
sections.push(`Recent JSON events:\n${tails.events}`);
|
|
15
|
+
if (tails.log)
|
|
16
|
+
sections.push(`Recent log lines:\n${tails.log}`);
|
|
17
|
+
return {
|
|
18
|
+
output: sections.join('\n\n'),
|
|
19
|
+
pendingCount: progress.snapshot.pendingCount,
|
|
20
|
+
};
|
|
13
21
|
}, interval);
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const pendingCount = pendingLine?.split('=')[1];
|
|
18
|
-
const displayContent = lines.filter(l => !l.startsWith('::')).join('\n');
|
|
19
|
-
const watchDone = pendingCount === '0' && stoppedRef.current;
|
|
22
|
+
const pendingCount = data?.pendingCount;
|
|
23
|
+
const displayContent = data?.output ?? '';
|
|
24
|
+
const watchDone = pendingCount === 0 && stoppedRef.current;
|
|
20
25
|
// Auto-stop when no pending migrations remain
|
|
21
26
|
useEffect(() => {
|
|
22
|
-
if (pendingCount ===
|
|
27
|
+
if (pendingCount === 0 && !stoppedRef.current) {
|
|
23
28
|
stoppedRef.current = true;
|
|
24
29
|
stop();
|
|
25
30
|
}
|
|
26
31
|
}, [pendingCount, stop]);
|
|
27
|
-
return (_jsx(AppShell, { command: "ct migrate watch", onBack: onBack, isComplete: watchDone, children: _jsxs(Section, { title: `Watch Migrations (interval: ${interval / 1000}s)`, children: [!data && !error && _jsx(Spinner, { label: "Polling migration status..." }), error && (_jsxs(Box, { flexDirection: "column", children: [_jsx(StatusLine, { status: "warn", label: `Error: ${error.message}` }), _jsx(Text, { color: "yellow", children: '
|
|
32
|
+
return (_jsx(AppShell, { command: "ct migrate watch", onBack: onBack, isComplete: watchDone, children: _jsxs(Section, { title: `Watch Migrations (interval: ${interval / 1000}s)`, children: [!data && !error && _jsx(Spinner, { label: "Polling migration status..." }), error && (_jsxs(Box, { flexDirection: "column", children: [_jsx(StatusLine, { status: "warn", label: `Error: ${error.message}` }), _jsx(Text, { color: "yellow", children: ' Migration progress is not responding. Wait 30-60s and retry, or run: ct diag service' })] })), data && displayContent && _jsx(ShellOutput, { content: displayContent, scrollable: true }), !error && pendingCount === 0 && _jsx(StatusLine, { status: "ok", label: "All migrations are up to date. Exiting watch mode." }), !error && data && pendingCount !== 0 && (_jsx(Text, { dimColor: true, children: ` Next refresh in ${interval / 1000}s... Press Ctrl+C to stop.` }))] }) }));
|
|
28
33
|
}
|
|
29
34
|
//# sourceMappingURL=MigrateWatchView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateWatchView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MigrateWatchView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":"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"}
|