@calltelemetry/cli 0.7.8 → 0.7.10

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.
@@ -1,3 +1,8 @@
1
1
  import { Command } from 'commander';
2
+ export declare function sudoNonInteractive(args: string[], options?: {
3
+ ignoreFailure?: boolean;
4
+ stdout?: 'inherit' | 'ignore';
5
+ }): Promise<void>;
6
+ export declare function ensureNodeRuntime(): Promise<string>;
2
7
  export declare function registerUpdateCommand(program: Command): void;
3
8
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAwQrD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAO,GACvE,OAAO,CAAC,IAAI,CAAC,CAoCf;AAOD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBzD;AAOD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAoPrD"}
@@ -10,16 +10,26 @@ import { createDatabaseBackup } from '../lib/db-backup.js';
10
10
  import { confirm } from '../utils/prompt.js';
11
11
  import { preflightSteps, executeSteps, runStepsCli } from '../lib/update-steps.js';
12
12
  import * as out from '../utils/output.js';
13
- async function sudoNonInteractive(args) {
13
+ export async function sudoNonInteractive(args, options = {}) {
14
14
  const authFailureMessage = 'sudo requires a password or TTY. Re-run as root or configure passwordless sudo for this command.';
15
+ const interactive = Boolean(process.stdin.isTTY);
16
+ const sudoArgs = interactive ? args : ['-n', ...args];
15
17
  try {
16
- await execa('sudo', ['-n', ...args], { stdout: 'inherit', stderr: 'pipe' });
18
+ await execa('sudo', sudoArgs, {
19
+ stdin: interactive ? 'inherit' : 'ignore',
20
+ stdout: options.stdout ?? 'inherit',
21
+ stderr: interactive ? 'inherit' : 'pipe',
22
+ });
17
23
  }
18
24
  catch (err) {
19
- const stderrText = typeof err?.stderr === 'string' ? err.stderr : '';
20
- if (stderrText) {
21
- process.stderr.write(stderrText.endsWith('\n') ? stderrText : `${stderrText}\n`);
22
- }
25
+ const stderrValue = err?.stderr;
26
+ const stderrText = typeof stderrValue === 'string'
27
+ ? stderrValue
28
+ : stderrValue instanceof Uint8Array
29
+ ? Buffer.from(stderrValue).toString()
30
+ : stderrValue === undefined || stderrValue === null
31
+ ? ''
32
+ : String(stderrValue);
23
33
  const errorText = String(stderrText || err?.shortMessage || err?.message || err).toLowerCase();
24
34
  const sudoAuthFailed = errorText.includes('a password is required') ||
25
35
  errorText.includes('no tty present') ||
@@ -30,6 +40,11 @@ async function sudoNonInteractive(args) {
30
40
  out.fail(authFailureMessage);
31
41
  throw new Error(authFailureMessage);
32
42
  }
43
+ if (stderrText && !options.ignoreFailure) {
44
+ process.stderr.write(stderrText.endsWith('\n') ? stderrText : `${stderrText}\n`);
45
+ }
46
+ if (options.ignoreFailure)
47
+ return;
33
48
  throw err;
34
49
  }
35
50
  }
@@ -38,6 +53,28 @@ async function confirmLifecycle(opts, message) {
38
53
  return true;
39
54
  return process.stdin.isTTY && await confirm(message, false);
40
55
  }
56
+ export async function ensureNodeRuntime() {
57
+ const requiredNodeMajor = 20;
58
+ const { stdout: nodeVer } = await execa('node', ['--version']).catch(() => ({ stdout: 'v0.0.0' }));
59
+ const major = parseNodeMajor(nodeVer);
60
+ if (major >= requiredNodeMajor)
61
+ return 'ready';
62
+ await sudoNonInteractive(['rpm', '-e', '--nodeps', 'npm', 'nodejs-full-i18n'], { ignoreFailure: true, stdout: 'ignore' });
63
+ await sudoNonInteractive(['rpm', '-e', '--nodeps', 'nodejs'], { ignoreFailure: true, stdout: 'ignore' });
64
+ await sudoNonInteractive(['dnf', 'module', 'reset', 'nodejs', '-y'], { ignoreFailure: true, stdout: 'ignore' });
65
+ await sudoNonInteractive(['dnf', 'module', 'enable', `nodejs:${requiredNodeMajor}`, '-y'], { ignoreFailure: true, stdout: 'ignore' });
66
+ await sudoNonInteractive(['dnf', 'install', '-y', 'nodejs', '--allowerasing'], { stdout: 'ignore' });
67
+ const { stdout: newVer } = await execa('node', ['--version']);
68
+ const newMajor = parseNodeMajor(newVer);
69
+ if (!Number.isFinite(newMajor) || newMajor < requiredNodeMajor) {
70
+ throw new Error(`CLI runtime update failed (got ${newVer.trim()}, need Node.js ${requiredNodeMajor}+)`);
71
+ }
72
+ return 'ready';
73
+ }
74
+ function parseNodeMajor(version) {
75
+ const major = parseInt(String(version).replace('v', '').split('.')[0], 10);
76
+ return Number.isFinite(major) ? major : NaN;
77
+ }
41
78
  export function registerUpdateCommand(program) {
42
79
  program
43
80
  .command('update [version]')
@@ -103,34 +140,12 @@ export function registerUpdateCommand(program) {
103
140
  else {
104
141
  out.ok(`Docker version ${dockerVer} is supported`);
105
142
  }
106
- // Platform migration: Node.js 22 (one-time, skip if already done)
107
- console.log();
108
- const REQUIRED_NODE_MAJOR = 22;
109
143
  try {
110
- const { stdout: nodeVer } = await execa('node', ['--version']);
111
- const major = parseInt(nodeVer.replace('v', '').split('.')[0], 10);
112
- if (major >= REQUIRED_NODE_MAJOR) {
113
- out.ok(`Node.js ${nodeVer.trim()}`);
114
- }
115
- else {
116
- console.log(`Migrating Node.js to v${REQUIRED_NODE_MAJOR} (current: ${nodeVer.trim()})...`);
117
- await execa('sudo', ['rpm', '-e', '--nodeps', 'npm', 'nodejs-full-i18n'], { reject: false });
118
- await execa('sudo', ['rpm', '-e', '--nodeps', 'nodejs'], { reject: false });
119
- await execa('sudo', ['dnf', 'module', 'reset', 'nodejs', '-y'], { reject: false });
120
- await execa('sudo', ['dnf', 'module', 'enable', 'nodejs:22', '-y'], { reject: false });
121
- await execa('sudo', ['dnf', 'install', '-y', 'nodejs', '--allowerasing'], { stdout: 'inherit', stderr: 'inherit' });
122
- const { stdout: newVer } = await execa('node', ['--version']);
123
- const newMajor = parseInt(newVer.replace('v', '').split('.')[0], 10);
124
- if (newMajor >= REQUIRED_NODE_MAJOR) {
125
- out.ok(`Node.js ${newVer.trim()} installed`);
126
- }
127
- else {
128
- out.warn(`Node.js migration failed (got ${newVer.trim()}, need v${REQUIRED_NODE_MAJOR}+)`);
129
- }
130
- }
144
+ await runStepsCli([{ label: 'Update CLI Tools', run: ensureNodeRuntime }]);
145
+ console.log();
131
146
  }
132
- catch {
133
- out.warn(`Could not verify/install Node.js ${REQUIRED_NODE_MAJOR}. ct CLI may not work correctly.`);
147
+ catch (err) {
148
+ out.warn(err instanceof Error ? err.message : 'Could not update CLI runtime tools.');
134
149
  }
135
150
  console.log();
136
151
  console.log(`Upgrading from ${currentVersion} to ${version}`);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C,KAAK,UAAU,kBAAkB,CAAC,IAAc;IAC9C,MAAM,kBAAkB,GAAG,kGAAkG,CAAC;IAC9H,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,EAAE,YAAY,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/F,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC5C,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAChD,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB,EAAE,OAAe;IACtE,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,yGAAyG,CAAC;SACtH,MAAM,CAAC,UAAU,EAAE,yCAAyC,CAAC;SAC7D,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC;SAC9C,MAAM,CAAC,UAAU,EAAE,qCAAqC,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;SAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,aAAa,EAAE,wCAAwC,EAAE,KAAK,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;SAC9D,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,IAAI,EAAE,EAAE;QACrD,kBAAkB;QAClB,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACnE,OAAO,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC3C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,kBAAkB,SAAS,oCAAoC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACtK,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,EAAE,CAAC,kBAAkB,SAAS,eAAe,CAAC,CAAC;QACrD,CAAC;QAED,kEAAkE;QAClE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,mBAAmB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,KAAK,IAAI,mBAAmB,EAAE,CAAC;gBACjC,GAAG,CAAC,EAAE,CAAC,WAAW,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,mBAAmB,cAAc,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC5F,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7F,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5E,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnF,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvF,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrE,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAAC;oBACpC,GAAG,CAAC,EAAE,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,IAAI,EAAE,WAAW,mBAAmB,IAAI,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,oCAAoC,mBAAmB,kCAAkC,CAAC,CAAC;QACtG,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,OAAO,OAAO,EAAE,CAAC,CAAC;QAE9D,oBAAoB;QACpB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,MAAM,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;QACH,CAAC;QAED,8FAA8F;QAC9F,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAElC,2BAA2B;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,0BAA0B,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,0BAA0B,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,GAAG;gBACN;oBACE,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;wBACjB,GAAG,EAAE,GAAG,CAAC,2CAA2C,CAAC,CAAC;wBACtD,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;wBAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACF;gBACD,GAAG,KAAK;aACT,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAClE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,OAAO,CAAC,6DAA6D,EAAE,KAAK,CAAC,EAAE,CAAC;gBACjH,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,EAAE,CAAC,6CAA6C,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC3E,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,kCAAkC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,GAAG,gDAAgD,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,EAAE,CAAC,2DAA2D,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW,SAAS,CAAC,CAAC,CAAC;QACvE,MAAM,kBAAkB,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,qDAAqD,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5G,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC9G,MAAM,kBAAkB,CAAC,CAAC,IAAI,EAAE,GAAG,WAAW,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QACD,MAAM,kBAAkB,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,EAAE,CAAC,uFAAuF,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ElG;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E"}
1
+ {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ElG;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E"}
@@ -1,5 +1,6 @@
1
1
  import { execa } from 'execa';
2
2
  import { debug } from './log.js';
3
+ import { exec, ExecError } from './exec.js';
3
4
  import * as out from '../utils/output.js';
4
5
  /**
5
6
  * Update the CLI via npm. Used for both interactive `ct self-update` and
@@ -43,22 +44,23 @@ export async function updateCli(currentVersion, opts = {}) {
43
44
  return;
44
45
  }
45
46
  if (latest !== 'unknown') {
46
- log(`Updating CLI: ${local ?? 'unknown'} → ${latest}...`);
47
+ log('Updating CLI Tools...');
47
48
  }
48
49
  // Try user-level install first
49
50
  try {
50
- await execa('npm', ['install', '-g', '@calltelemetry/cli'], {
51
+ await exec('npm', ['install', '-g', '@calltelemetry/cli'], {
51
52
  timeout: 60000,
52
- stdout: silent ? 'pipe' : 'inherit',
53
- stderr: silent ? 'pipe' : 'inherit',
53
+ stdout: 'ignore',
54
+ stderr: 'pipe',
54
55
  });
55
56
  logOk('CLI updated successfully');
56
57
  return;
57
58
  }
58
59
  catch (err) {
59
- const isPermission = err.stderr?.toString().includes('EACCES') || err.exitCode === 243;
60
+ const isPermission = err instanceof ExecError && (err.stderr.includes('EACCES') || err.exitCode === 243);
60
61
  if (!isPermission) {
61
- logWarn('CLI self-update failed. You can update manually: npm install -g @calltelemetry/cli');
62
+ const detail = err instanceof ExecError && err.message ? `: ${err.message}` : '';
63
+ logWarn(`CLI self-update failed${detail}. You can update manually: npm install -g @calltelemetry/cli`);
62
64
  return;
63
65
  }
64
66
  if (silent)
@@ -66,10 +68,10 @@ export async function updateCli(currentVersion, opts = {}) {
66
68
  }
67
69
  // Fallback to sudo
68
70
  try {
69
- await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], {
71
+ await exec('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], {
70
72
  timeout: 60000,
71
- stdout: silent ? 'pipe' : 'inherit',
72
- stderr: silent ? 'pipe' : 'inherit',
73
+ stdout: 'ignore',
74
+ stderr: 'pipe',
73
75
  });
74
76
  logOk('CLI updated successfully');
75
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"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"}
package/dist/lib/env.d.ts CHANGED
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Read the raw .env file, falling back to passwordless sudo for root-owned
3
+ * appliance files. Returns empty content if the file does not exist or cannot
4
+ * be read.
5
+ */
6
+ export declare function readEnvRaw(): Promise<string>;
1
7
  /**
2
8
  * Read all key-value pairs from the .env file.
3
9
  * Returns empty object if .env doesn't exist.
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAqEf"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAelD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,CA0Df"}
package/dist/lib/env.js CHANGED
@@ -1,6 +1,29 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { getEnvFilePath, parseEnvFile } from './secrets.js';
3
3
  import { writeFileSafe } from './fs.js';
4
+ /**
5
+ * Read the raw .env file, falling back to passwordless sudo for root-owned
6
+ * appliance files. Returns empty content if the file does not exist or cannot
7
+ * be read.
8
+ */
9
+ export async function readEnvRaw() {
10
+ const envPath = getEnvFilePath();
11
+ if (!existsSync(envPath))
12
+ return '';
13
+ try {
14
+ return readFileSync(envPath, 'utf-8');
15
+ }
16
+ catch {
17
+ try {
18
+ const { execa } = await import('execa');
19
+ const { stdout } = await execa('sudo', ['-n', 'cat', envPath]);
20
+ return stdout;
21
+ }
22
+ catch {
23
+ return '';
24
+ }
25
+ }
26
+ }
4
27
  /**
5
28
  * Read all key-value pairs from the .env file.
6
29
  * Returns empty object if .env doesn't exist.
@@ -25,30 +48,15 @@ export function readEnvKeys() {
25
48
  */
26
49
  export async function updateEnvKeys(updates) {
27
50
  const envPath = getEnvFilePath();
28
- let raw = '';
29
- if (existsSync(envPath)) {
30
- try {
31
- raw = readFileSync(envPath, 'utf-8');
32
- }
33
- catch {
34
- // File exists but not readable (owned by root) — read via sudo
35
- try {
36
- const { execa } = await import('execa');
37
- const { stdout } = await execa('sudo', ['-n', 'cat', envPath]);
38
- raw = stdout;
39
- }
40
- catch {
41
- // Can't read even with sudo — start fresh
42
- raw = '';
43
- }
44
- }
45
- }
51
+ const raw = await readEnvRaw();
46
52
  // Split into lines, but drop the final empty string produced by trailing newline
47
53
  const lines = raw.length > 0 ? raw.split('\n') : [];
48
54
  if (lines.length > 0 && lines[lines.length - 1] === '') {
49
55
  lines.pop();
50
56
  }
51
57
  const pending = new Map(Object.entries(updates));
58
+ const targetKeys = new Set(Object.keys(updates));
59
+ const seenUpdatedKeys = new Set();
52
60
  const result = [];
53
61
  for (const line of lines) {
54
62
  const trimmed = line.trim();
@@ -65,14 +73,16 @@ export async function updateEnvKeys(updates) {
65
73
  continue;
66
74
  }
67
75
  const key = stripped.slice(0, eqIdx).trim();
68
- if (pending.has(key)) {
76
+ if (targetKeys.has(key)) {
69
77
  const newValue = pending.get(key);
70
- pending.delete(key);
71
- if (newValue !== undefined) {
72
- // Update in-place
78
+ const firstMatch = !seenUpdatedKeys.has(key);
79
+ seenUpdatedKeys.add(key);
80
+ if (newValue !== undefined && firstMatch) {
73
81
  result.push(`${key}=${newValue}`);
82
+ pending.delete(key);
74
83
  }
75
- // If undefined, skip (remove the line)
84
+ // If undefined, skip all matching lines. If this is a duplicate of a
85
+ // key already updated above, skip it so duplicate env keys collapse.
76
86
  }
77
87
  else {
78
88
  result.push(line);
@@ -80,7 +90,7 @@ export async function updateEnvKeys(updates) {
80
90
  }
81
91
  // Append remaining new keys
82
92
  for (const [key, value] of pending) {
83
- if (value !== undefined) {
93
+ if (value !== undefined && !seenUpdatedKeys.has(key)) {
84
94
  result.push(`${key}=${value}`);
85
95
  }
86
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,9 @@
1
1
  /**
2
2
  * Migration 013: Generate GRAFANA_PASSWORD for deterministic Grafana auth.
3
3
  *
4
- * The BootProvisioner (Elixir) uses GRAFANA_PASSWORD for basic auth to push
5
- * dashboards to Grafana. Both the web container and grafana container read
6
- * this from .env. If it's missing, dashboard provisioning fails.
7
- *
8
- * This migration:
9
- * 1. Generates a random 32-char hex password
10
- * 2. Writes GRAFANA_PASSWORD=<password> to .env
11
- * 3. Removes stale GRAFANA_TOKEN if present
12
- * 4. Resets Grafana admin password via grafana-cli (for existing volumes)
4
+ * This is a configuration migration only. It seeds .env on fresh or upgraded
5
+ * installs so Grafana can boot with a deterministic admin password. It must not
6
+ * reset Grafana's admin password on existing appliances.
13
7
  */
14
8
  export declare function migrateGrafanaPassword(): Promise<boolean>;
15
9
  //# sourceMappingURL=migration-013-grafana-password.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-013-grafana-password.d.ts","sourceRoot":"","sources":["../../src/lib/migration-013-grafana-password.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoE/D"}
1
+ {"version":3,"file":"migration-013-grafana-password.d.ts","sourceRoot":"","sources":["../../src/lib/migration-013-grafana-password.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAkB/D"}
@@ -1,72 +1,26 @@
1
1
  /**
2
2
  * Migration 013: Generate GRAFANA_PASSWORD for deterministic Grafana auth.
3
3
  *
4
- * The BootProvisioner (Elixir) uses GRAFANA_PASSWORD for basic auth to push
5
- * dashboards to Grafana. Both the web container and grafana container read
6
- * this from .env. If it's missing, dashboard provisioning fails.
7
- *
8
- * This migration:
9
- * 1. Generates a random 32-char hex password
10
- * 2. Writes GRAFANA_PASSWORD=<password> to .env
11
- * 3. Removes stale GRAFANA_TOKEN if present
12
- * 4. Resets Grafana admin password via grafana-cli (for existing volumes)
4
+ * This is a configuration migration only. It seeds .env on fresh or upgraded
5
+ * installs so Grafana can boot with a deterministic admin password. It must not
6
+ * reset Grafana's admin password on existing appliances.
13
7
  */
14
- import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'node:fs';
15
8
  import { randomBytes } from 'node:crypto';
16
- import { spawnSync } from 'node:child_process';
17
- import { join } from 'node:path';
18
- import { getPaths } from './paths.js';
9
+ import { readEnvRaw, updateEnvKeys } from './env.js';
10
+ import { parseEnvFile } from './secrets.js';
19
11
  export async function migrateGrafanaPassword() {
20
- const { installDir } = getPaths();
21
- const envFile = join(installDir, '.env');
22
- // If GRAFANA_PASSWORD is already set, nothing to do
23
- if (existsSync(envFile)) {
24
- const content = readFileSync(envFile, 'utf-8');
25
- if (content.includes('GRAFANA_PASSWORD=')) {
26
- return false; // Already configured
27
- }
28
- }
29
- // Generate random password
30
- const password = randomBytes(16).toString('hex');
31
- // Build .env block
32
- const block = '\n# Grafana auth password (auto-generated by migration 013)\n' +
33
- `GRAFANA_PASSWORD=${password}\n`;
34
- const tmp = `/tmp/ct-grafana-pw-${Date.now()}`;
35
- writeFileSync(tmp, block);
36
- // Append to .env
37
- const appendResult = spawnSync('sudo', ['bash', '-c', `cat ${tmp} >> ${envFile}`], {
38
- stdio: 'pipe',
39
- });
40
- try {
41
- unlinkSync(tmp);
42
- }
43
- catch {
44
- /* ignore */
45
- }
46
- if (appendResult.status !== 0) {
47
- throw new Error(`Failed to write GRAFANA_PASSWORD to ${envFile}`);
12
+ const env = parseEnvFile(await readEnvRaw());
13
+ const updates = {};
14
+ if (!env.GRAFANA_PASSWORD) {
15
+ updates.GRAFANA_PASSWORD = randomBytes(16).toString('hex');
48
16
  }
49
- // Remove stale GRAFANA_TOKEN lines from .env (replaced by GRAFANA_PASSWORD)
50
- if (existsSync(envFile)) {
51
- const content = readFileSync(envFile, 'utf-8');
52
- if (content.includes('GRAFANA_TOKEN=')) {
53
- spawnSync('sudo', ['sed', '-i', '/^GRAFANA_TOKEN=/d', envFile], { stdio: 'pipe' });
54
- spawnSync('sudo', ['sed', '-i', '/^# .*GRAFANA_TOKEN/d', envFile], { stdio: 'pipe' });
55
- }
17
+ if (Object.prototype.hasOwnProperty.call(env, 'GRAFANA_TOKEN')) {
18
+ updates.GRAFANA_TOKEN = undefined;
56
19
  }
57
- // Reset Grafana admin password for existing volumes.
58
- // grafana-cli stores the new password in the SQLite DB, overriding whatever
59
- // was set previously (even if changed via the UI).
60
- const resetResult = spawnSync('docker', ['compose', 'exec', '-T', 'grafana', 'grafana-cli', 'admin', 'reset-admin-password', password], { cwd: installDir, stdio: 'pipe', timeout: 30_000 });
61
- if (resetResult.status !== 0) {
62
- // Grafana container might not be running — that's OK.
63
- // On next start, GF_SECURITY_ADMIN_PASSWORD from .env will be used
64
- // (only applies on first start of a fresh volume, but that covers new installs).
65
- const stderr = resetResult.stderr?.toString() ?? '';
66
- if (!stderr.includes('No such container') && !stderr.includes('not running')) {
67
- console.warn(`[migration-013] grafana-cli reset failed (non-fatal): ${stderr.slice(0, 200)}`);
68
- }
20
+ if (Object.keys(updates).length === 0) {
21
+ return false;
69
22
  }
23
+ await updateEnvKeys(updates);
70
24
  return true;
71
25
  }
72
26
  //# sourceMappingURL=migration-013-grafana-password.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration-013-grafana-password.js","sourceRoot":"","sources":["../../src/lib/migration-013-grafana-password.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-013-grafana-password.js","sourceRoot":"","sources":["../../src/lib/migration-013-grafana-password.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAuC,EAAE,CAAC;IAEvD,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1B,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export declare const VERSION = "0.7.8";
2
+ export declare const VERSION = "0.7.10";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,eAAO,MAAM,OAAO,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export const VERSION = '0.7.8';
2
+ export const VERSION = '0.7.10';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
@@ -31,12 +31,12 @@ export function SelfUpdateView({ version, onBack }) {
31
31
  },
32
32
  },
33
33
  {
34
- label: 'Install latest CLI',
34
+ label: 'Updating CLI Tools',
35
35
  run: async (ctx) => {
36
36
  // Try user-level first
37
37
  try {
38
- ctx?.log('npm install -g @calltelemetry/cli');
39
- await execa('npm', ['install', '-g', '@calltelemetry/cli'], { timeout: 60000 });
38
+ ctx?.log('Installing latest CLI package...');
39
+ await execa('npm', ['install', '-g', '@calltelemetry/cli'], { timeout: 60000, stdout: 'ignore', stderr: 'pipe' });
40
40
  return 'Installed';
41
41
  }
42
42
  catch (err) {
@@ -45,9 +45,8 @@ export function SelfUpdateView({ version, onBack }) {
45
45
  throw err;
46
46
  }
47
47
  // Fallback to sudo
48
- ctx?.log('Permission denied, retrying with sudo...');
49
- ctx?.log('sudo npm install -g @calltelemetry/cli');
50
- await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], { timeout: 60000 });
48
+ ctx?.log('Retrying with elevated permissions...');
49
+ await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], { timeout: 60000, stdout: 'ignore', stderr: 'pipe' });
51
50
  return 'Installed (sudo)';
52
51
  },
53
52
  },
@@ -67,6 +66,6 @@ export function SelfUpdateView({ version, onBack }) {
67
66
  runner.run();
68
67
  }
69
68
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
70
- return (_jsx(AppShell, { command: "ct self-update", onBack: onBack, isComplete: runner.isDone || (!runner.isRunning && runner.states.some(s => s.status === 'error')), children: _jsxs(Section, { title: "CLI Self-Update", children: [_jsx(StepList, { steps: runner.states, expanded: true }), runner.isDone && (_jsx(Box, { marginTop: 1, paddingLeft: 2, children: _jsx(StatusLine, { status: "ok", label: "CLI updated successfully" }) })), !runner.isRunning && runner.states.some(s => s.status === 'error') && (_jsxs(Box, { marginTop: 1, paddingLeft: 2, flexDirection: "column", children: [_jsx(StatusLine, { status: "fail", label: "CLI update failed" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "You can update manually: " }), _jsx(Text, { color: "cyan", children: "npm install -g @calltelemetry/cli" })] })] }))] }) }));
69
+ return (_jsx(AppShell, { command: "ct self-update", onBack: onBack, isComplete: runner.isDone || (!runner.isRunning && runner.states.some(s => s.status === 'error')), children: _jsxs(Section, { title: "CLI Self-Update", children: [_jsx(StepList, { steps: runner.states, expanded: true }), runner.isDone && (_jsx(Box, { marginTop: 1, paddingLeft: 2, children: _jsx(StatusLine, { status: "ok", label: "CLI updated successfully" }) })), !runner.isRunning && runner.states.some(s => s.status === 'error') && (_jsxs(Box, { marginTop: 1, paddingLeft: 2, flexDirection: "column", children: [_jsx(StatusLine, { status: "fail", label: "CLI update failed" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "You can update manually:" }), _jsx(Text, { color: "cyan", children: "npm install -g @calltelemetry/cli" }), _jsx(Text, { color: "cyan", children: "sudo npm install -g @calltelemetry/cli" })] })] }))] }) }));
71
70
  }
72
71
  //# sourceMappingURL=SelfUpdateView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelfUpdateView.js","sourceRoot":"","sources":["../../../src/ui/views/SelfUpdateView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelfUpdateView.js","sourceRoot":"","sources":["../../../src/ui/views/SelfUpdateView.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.7.8",
3
+ "version": "0.7.10",
4
4
  "description": "CallTelemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {