@calltelemetry/cli 0.12.12 → 0.12.13

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.
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ship (no-Ink) docker status | network | prune.
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function registerShipDockerCommand(program: Command): void;
6
+ //# sourceMappingURL=ship-docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-docker.d.ts","sourceRoot":"","sources":["../../src/commands/ship-docker.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgEhE"}
@@ -0,0 +1,153 @@
1
+ import { execa } from 'execa';
2
+ import * as out from '../utils/output.js';
3
+ async function docker(args, opts) {
4
+ const result = await execa('docker', args, {
5
+ reject: false,
6
+ all: true,
7
+ ...(opts?.inherit ? { stdio: 'inherit' } : {}),
8
+ });
9
+ if (opts?.inherit)
10
+ return '';
11
+ if (result.exitCode !== 0) {
12
+ throw new Error((result.stderr || result.stdout || result.all || `docker ${args.join(' ')} failed`).trim());
13
+ }
14
+ return (result.stdout || result.all || '').trim();
15
+ }
16
+ async function printStatus() {
17
+ console.log('Docker status');
18
+ try {
19
+ const info = await docker(['info', '--format', '{{.ServerVersion}}|{{.NCPU}}|{{.MemTotal}}']);
20
+ const [ver, cpus, mem] = info.split('|');
21
+ console.log(` Engine : ${ver || 'unknown'}`);
22
+ console.log(` CPUs : ${cpus || '?'}`);
23
+ console.log(` Mem : ${mem ? `${Math.round(Number(mem) / (1024 ** 3))} GiB` : '?'}`);
24
+ }
25
+ catch (err) {
26
+ out.warn(`docker info: ${err instanceof Error ? err.message : String(err)}`);
27
+ }
28
+ console.log();
29
+ console.log('Containers (docker ps -a):');
30
+ try {
31
+ const ps = await docker([
32
+ 'ps',
33
+ '-a',
34
+ '--format',
35
+ 'table {{.Names}}\t{{.Status}}\t{{.Image}}',
36
+ ]);
37
+ console.log(ps || ' (none)');
38
+ }
39
+ catch (err) {
40
+ out.fail(err instanceof Error ? err.message : String(err));
41
+ process.exitCode = 1;
42
+ }
43
+ console.log();
44
+ console.log('Images (top 15 by size):');
45
+ try {
46
+ const images = await docker([
47
+ 'images',
48
+ '--format',
49
+ 'table {{.Repository}}:{{.Tag}}\t{{.ID}}\t{{.Size}}',
50
+ ]);
51
+ const lines = images.split('\n');
52
+ console.log(lines.slice(0, 16).join('\n'));
53
+ }
54
+ catch {
55
+ // optional
56
+ }
57
+ }
58
+ async function printNetwork() {
59
+ console.log('Docker networks');
60
+ const nets = await docker([
61
+ 'network',
62
+ 'ls',
63
+ '--format',
64
+ 'table {{.Name}}\t{{.Driver}}\t{{.Scope}}',
65
+ ]);
66
+ console.log(nets);
67
+ // Inspect compose project network if present
68
+ for (const name of ['calltelemetry_ct', 'calltelemetry_default', 'ct_default']) {
69
+ try {
70
+ const detail = await docker([
71
+ 'network',
72
+ 'inspect',
73
+ name,
74
+ '--format',
75
+ '{{.Name}} driver={{.Driver}} subnet={{range .IPAM.Config}}{{.Subnet}}{{end}}',
76
+ ]);
77
+ console.log();
78
+ console.log(`Inspect ${name}:`);
79
+ console.log(` ${detail}`);
80
+ return;
81
+ }
82
+ catch {
83
+ // try next
84
+ }
85
+ }
86
+ }
87
+ export function registerShipDockerCommand(program) {
88
+ const dockerCmd = program.command('docker').description('Docker host management');
89
+ dockerCmd
90
+ .command('status')
91
+ .description('Show containers, images, and engine info (default)')
92
+ .action(async () => {
93
+ try {
94
+ await printStatus();
95
+ }
96
+ catch (err) {
97
+ out.fail(err instanceof Error ? err.message : String(err));
98
+ process.exitCode = 1;
99
+ }
100
+ });
101
+ dockerCmd
102
+ .command('network')
103
+ .description('List Docker networks (and inspect compose network when present)')
104
+ .action(async () => {
105
+ try {
106
+ await printNetwork();
107
+ }
108
+ catch (err) {
109
+ out.fail(err instanceof Error ? err.message : String(err));
110
+ process.exitCode = 1;
111
+ }
112
+ });
113
+ dockerCmd
114
+ .command('prune')
115
+ .description('Prune unused Docker data (containers/images/networks; not volumes by default)')
116
+ .option('-y, --yes', 'Confirm without prompt')
117
+ .option('--volumes', 'Also prune unused volumes (destructive)')
118
+ .action(async (opts) => {
119
+ try {
120
+ if (!opts.yes && process.stdin.isTTY) {
121
+ out.warn('This runs docker system prune -f' + (opts.volumes ? ' --volumes' : ''));
122
+ out.info('Re-run with --yes: ct docker prune --yes');
123
+ process.exitCode = 1;
124
+ return;
125
+ }
126
+ if (!opts.yes && !process.stdin.isTTY) {
127
+ out.fail('Non-interactive docker prune requires --yes');
128
+ process.exitCode = 1;
129
+ return;
130
+ }
131
+ const args = ['system', 'prune', '-f'];
132
+ if (opts.volumes)
133
+ args.push('--volumes');
134
+ console.log(`Running: docker ${args.join(' ')}`);
135
+ await execa('docker', args, { stdio: 'inherit' });
136
+ out.ok('Docker prune complete');
137
+ }
138
+ catch (err) {
139
+ out.fail(err instanceof Error ? err.message : String(err));
140
+ process.exitCode = 1;
141
+ }
142
+ });
143
+ dockerCmd.action(async () => {
144
+ try {
145
+ await printStatus();
146
+ }
147
+ catch (err) {
148
+ out.fail(err instanceof Error ? err.message : String(err));
149
+ process.exitCode = 1;
150
+ }
151
+ });
152
+ }
153
+ //# sourceMappingURL=ship-docker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-docker.js","sourceRoot":"","sources":["../../src/commands/ship-docker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ship (no-Ink) offline/air-gap: fetch | apply | inspect | images | fetch-check.
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function registerShipOfflineCommand(program: Command): void;
6
+ //# sourceMappingURL=ship-offline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-offline.d.ts","sourceRoot":"","sources":["../../src/commands/ship-offline.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6GjE"}
@@ -0,0 +1,110 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { runStepsCli } from '../lib/update-steps.js';
3
+ import { fetchSteps, applySteps, inspectBundle, validateBundle, } from '../lib/offline-steps.js';
4
+ import { attachOfflineDepth } from './go-parity.js';
5
+ import * as out from '../utils/output.js';
6
+ export function registerShipOfflineCommand(program) {
7
+ const offline = program.command('offline').description('Offline / air-gap installation');
8
+ attachOfflineDepth(offline);
9
+ offline
10
+ .command('fetch <version>')
11
+ .description('Download pre-built config bundle (no Docker images)')
12
+ .action(async (version) => {
13
+ try {
14
+ out.header('Fetching Pre-built Bundle');
15
+ console.log(`Version: ${version}`);
16
+ await runStepsCli(fetchSteps(version));
17
+ out.ok(`Bundle downloaded: calltelemetry-bundle-${version}.tar.gz`);
18
+ console.log(`Apply with: ct offline apply calltelemetry-bundle-${version}.tar.gz`);
19
+ }
20
+ catch (err) {
21
+ out.fail(err instanceof Error ? err.message : String(err));
22
+ process.exitCode = 1;
23
+ }
24
+ });
25
+ offline
26
+ .command('apply <bundle>')
27
+ .description('Apply an offline bundle (fail-closed; previous version remains if apply fails)')
28
+ .option('-y, --yes', 'Confirm without prompt')
29
+ .action(async (bundle, opts) => {
30
+ try {
31
+ if (!existsSync(bundle)) {
32
+ out.fail(`Bundle file not found: ${bundle}`);
33
+ process.exitCode = 1;
34
+ return;
35
+ }
36
+ if (!opts.yes && process.stdin.isTTY) {
37
+ out.warn('Apply will replace compose config and may load images.');
38
+ out.info(`Re-run with --yes: ct offline apply ${bundle} --yes`);
39
+ process.exitCode = 1;
40
+ return;
41
+ }
42
+ if (!opts.yes && !process.stdin.isTTY) {
43
+ out.fail('Non-interactive offline apply requires --yes');
44
+ process.exitCode = 1;
45
+ return;
46
+ }
47
+ const validation = await validateBundle(bundle);
48
+ if (!validation.valid) {
49
+ out.fail(validation.error ?? 'Bundle validation failed');
50
+ process.exitCode = 1;
51
+ return;
52
+ }
53
+ const info = await inspectBundle(bundle);
54
+ out.header('Applying Offline Bundle');
55
+ console.log(`Bundle: ${bundle}`);
56
+ console.log(`Size: ${info.sizeLabel}`);
57
+ if (info.version)
58
+ console.log(`Version: ${info.version}`);
59
+ console.log(`Configs: ${info.configFiles.join(', ') || 'none'}`);
60
+ console.log(`Images: ${info.hasImages ? `${info.imageNames.length} bundled` : 'none (config-only)'}`);
61
+ console.log();
62
+ await runStepsCli(applySteps(bundle));
63
+ out.ok('Offline bundle applied');
64
+ console.log('Check status with: ct status');
65
+ }
66
+ catch (err) {
67
+ out.fail(err instanceof Error ? err.message : String(err));
68
+ out.info('Previous version should still be running. Check: docker compose logs --tail 50');
69
+ process.exitCode = 1;
70
+ }
71
+ });
72
+ offline
73
+ .command('inspect <bundle>')
74
+ .description('Inspect offline bundle without applying')
75
+ .action(async (bundle) => {
76
+ try {
77
+ if (!existsSync(bundle)) {
78
+ out.fail(`Bundle file not found: ${bundle}`);
79
+ process.exitCode = 1;
80
+ return;
81
+ }
82
+ const validation = await validateBundle(bundle);
83
+ if (!validation.valid) {
84
+ out.fail(validation.error ?? 'Bundle validation failed');
85
+ process.exitCode = 1;
86
+ return;
87
+ }
88
+ const info = await inspectBundle(bundle);
89
+ out.header('Bundle Contents');
90
+ console.log(`File: ${bundle}`);
91
+ console.log(`Size: ${info.sizeLabel}`);
92
+ if (info.version)
93
+ console.log(`Version: ${info.version}`);
94
+ console.log('Configs:', info.configFiles.join(', ') || '(none)');
95
+ console.log('Images: ', info.hasImages
96
+ ? info.imageNames.length
97
+ ? info.imageNames.join(', ')
98
+ : 'images.tar present'
99
+ : '(config-only)');
100
+ }
101
+ catch (err) {
102
+ out.fail(err instanceof Error ? err.message : String(err));
103
+ process.exitCode = 1;
104
+ }
105
+ });
106
+ offline.action(() => {
107
+ console.log('Usage: ct offline fetch|apply|inspect|images|fetch-check');
108
+ });
109
+ }
110
+ //# sourceMappingURL=ship-offline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-offline.js","sourceRoot":"","sources":["../../src/commands/ship-offline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEzF,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,GAAG,CAAC,EAAE,CAAC,2CAA2C,OAAO,SAAS,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,qDAAqD,OAAO,SAAS,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,gFAAgF,CAAC;SAC7F,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAuB,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,uCAAuC,MAAM,QAAQ,CAAC,CAAC;gBAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtC,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACvG,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAC3F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CACT,UAAU,EACV,IAAI,CAAC,SAAS;gBACZ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;oBACtB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,CAAC,CAAC,oBAAoB;gBACxB,CAAC,CAAC,eAAe,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Ship (no-Ink) rollback: restore newest docker-compose backup + restart.
3
+ * Also surfaces rollback-list via attachRollbackList when registered on program.
4
+ */
5
+ import type { Command } from 'commander';
6
+ export declare function registerShipRollbackCommand(program: Command): void;
7
+ //# sourceMappingURL=ship-rollback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-rollback.d.ts","sourceRoot":"","sources":["../../src/commands/ship-rollback.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyDlE"}
@@ -0,0 +1,63 @@
1
+ import { existsSync, readdirSync, statSync } from 'node:fs';
2
+ import { copyFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { execa } from 'execa';
5
+ import { composeUp } from '../lib/compose.js';
6
+ import { getPaths } from '../lib/paths.js';
7
+ import { attachRollbackList } from './go-parity.js';
8
+ import * as out from '../utils/output.js';
9
+ export function registerShipRollbackCommand(program) {
10
+ // Go dual form: rollback-list
11
+ attachRollbackList(program);
12
+ program
13
+ .command('rollback')
14
+ .description('Roll back to the newest docker-compose.yml backup and restart services')
15
+ .option('-y, --yes', 'Confirm without prompt')
16
+ .action(async (opts) => {
17
+ try {
18
+ const { backupDir, composeFile } = getPaths();
19
+ if (!existsSync(backupDir)) {
20
+ out.fail(`No backup directory found: ${backupDir}`);
21
+ process.exitCode = 1;
22
+ return;
23
+ }
24
+ const backups = readdirSync(backupDir)
25
+ .filter((f) => f.startsWith('docker-compose-') && f.endsWith('.yml'))
26
+ .map((f) => ({ name: f, time: statSync(join(backupDir, f)).mtimeMs }))
27
+ .sort((a, b) => b.time - a.time);
28
+ if (backups.length === 0) {
29
+ out.fail('No backup file found to rollback.');
30
+ process.exitCode = 1;
31
+ return;
32
+ }
33
+ const backupFile = join(backupDir, backups[0].name);
34
+ if (!opts.yes && process.stdin.isTTY) {
35
+ out.warn(`Will restore: ${backupFile}`);
36
+ out.info('Re-run with --yes: ct rollback --yes');
37
+ process.exitCode = 1;
38
+ return;
39
+ }
40
+ if (!opts.yes && !process.stdin.isTTY) {
41
+ out.fail('Non-interactive rollback requires --yes');
42
+ process.exitCode = 1;
43
+ return;
44
+ }
45
+ await copyFile(backupFile, composeFile);
46
+ console.log(`Rolled back compose to: ${backupFile}`);
47
+ try {
48
+ await execa('systemctl', ['restart', 'docker-compose-app.service']);
49
+ out.ok('docker-compose-app.service restarted');
50
+ }
51
+ catch {
52
+ await composeUp(['-d']);
53
+ out.ok('Stack recreated via docker compose up -d');
54
+ }
55
+ out.ok('Rollback complete');
56
+ }
57
+ catch (err) {
58
+ out.fail(err instanceof Error ? err.message : String(err));
59
+ process.exitCode = 1;
60
+ }
61
+ });
62
+ }
63
+ //# sourceMappingURL=ship-rollback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-rollback.js","sourceRoot":"","sources":["../../src/commands/ship-rollback.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export declare const VERSION = "0.12.12";
2
+ export declare const VERSION = "0.12.13";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export const VERSION = '0.12.12';
2
+ export const VERSION = '0.12.13';
3
3
  //# sourceMappingURL=version.js.map
@@ -15,7 +15,7 @@ import { LOGO } from './lib/brand.js';
15
15
  import { shouldPrintShipLogo } from './lib/ship-logo.js';
16
16
  import { TS_CLI_PROBE, shipVersionLine } from './lib/ship-identity.js';
17
17
  import { registerNetworkCommand } from './commands/network.js';
18
- import { registerGoParityCommands, attachRollbackList, attachJtapiRtp, attachSeedMonitorCancel, attachOfflineDepth, } from './commands/go-parity.js';
18
+ import { registerGoParityCommands, attachJtapiRtp, attachSeedMonitorCancel, } from './commands/go-parity.js';
19
19
  import { registerShipUpdateCommand } from './commands/ship-update.js';
20
20
  import { registerShipDbCommand } from './commands/ship-db.js';
21
21
  import { registerShipCertsCommand } from './commands/ship-certs.js';
@@ -29,6 +29,9 @@ import { registerShipIpv6Command } from './commands/ship-ipv6.js';
29
29
  import { registerShipPostgresCommand } from './commands/ship-postgres.js';
30
30
  import { registerShipOsUpdatesCommand } from './commands/ship-os-updates.js';
31
31
  import { registerShipSqlMonitorCommand } from './commands/ship-sql-monitor.js';
32
+ import { registerShipDockerCommand } from './commands/ship-docker.js';
33
+ import { registerShipOfflineCommand } from './commands/ship-offline.js';
34
+ import { registerShipRollbackCommand } from './commands/ship-rollback.js';
32
35
  import { registerOtelCommand } from './commands/otel.js';
33
36
  import { registerStorageCommand } from './commands/storage.js';
34
37
  import { registerSyslogCommand } from './commands/syslog.js';
@@ -78,12 +81,15 @@ registerOtelCommand(program);
78
81
  registerStorageCommand(program);
79
82
  registerSyslogCommand(program);
80
83
  registerProxyCommand(program);
84
+ // Wave 3 remainder: docker, offline apply, rollback execute
85
+ registerShipDockerCommand(program);
86
+ registerShipOfflineCommand(program);
87
+ registerShipRollbackCommand(program); // rollback + rollback-list
81
88
  // Network (text argv; shared with full CLI)
82
89
  registerNetworkCommand(program);
83
90
  // Go-parity ports (lib/ops-port — keep registrations; WS-A gates experimental)
84
91
  registerGoParityCommands(program);
85
- attachRollbackList(program);
86
- // Lightweight parents for remaining attach helpers (db/users/migrate/sql-monitor owned above)
92
+ // Lightweight parents for remaining attach helpers
87
93
  {
88
94
  const jtapi = program.command('jtapi').description('JTAPI');
89
95
  attachJtapiRtp(jtapi);
@@ -94,11 +100,6 @@ attachRollbackList(program);
94
100
  attachSeedMonitorCancel(seed);
95
101
  seed.action(() => console.log('Usage: ct seed monitor|cancel'));
96
102
  }
97
- {
98
- const offline = program.command('offline').description('Offline');
99
- attachOfflineDepth(offline);
100
- offline.action(() => console.log('Usage: ct offline images|fetch-check'));
101
- }
102
103
  program
103
104
  .command('version')
104
105
  .description('Print CLI version')
@@ -112,7 +113,7 @@ program
112
113
  .description('IOS shell (Node full CLI); ship binary points to available commands')
113
114
  .action(() => {
114
115
  console.log('TypeScript ship binary: full interactive IOS shell requires Node ct-cli.');
115
- console.log('Available here: network, update, db, certs, diag, status, start|stop|restart, logging, users, migrate, ipv6, postgres, otel, storage, syslog, proxy, os-updates, sql-monitor, version, …');
116
+ console.log('Available here: network, update, db, certs, diag, status, start|stop|restart, logging, users, migrate, ipv6, postgres, otel, storage, syslog, proxy, os-updates, sql-monitor, docker, offline, rollback, version, …');
116
117
  console.log('From Go bridge: ct cli run -- network status');
117
118
  console.log(' ct cli run -- update --help');
118
119
  process.exitCode = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"ship-entry.js","sourceRoot":"","sources":["../src/ship-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship-entry.js","sourceRoot":"","sources":["../src/ship-entry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.12.12",
3
+ "version": "0.12.13",
4
4
  "description": "CallTelemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {