@calltelemetry/cli 0.12.7 → 0.12.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.
- package/README.md +10 -0
- package/dist/commands/channels.d.ts +3 -0
- package/dist/commands/channels.d.ts.map +1 -0
- package/dist/commands/channels.js +21 -0
- package/dist/commands/channels.js.map +1 -0
- package/dist/commands/truespam.d.ts +3 -0
- package/dist/commands/truespam.d.ts.map +1 -0
- package/dist/commands/truespam.js +141 -0
- package/dist/commands/truespam.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +38 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/bundle.d.ts +3 -4
- package/dist/lib/bundle.d.ts.map +1 -1
- package/dist/lib/bundle.js +20 -8
- package/dist/lib/bundle.js.map +1 -1
- package/dist/lib/channels.d.ts +22 -0
- package/dist/lib/channels.d.ts.map +1 -0
- package/dist/lib/channels.js +95 -0
- package/dist/lib/channels.js.map +1 -0
- package/dist/lib/db-backup.d.ts +16 -1
- package/dist/lib/db-backup.d.ts.map +1 -1
- package/dist/lib/db-backup.js +78 -15
- package/dist/lib/db-backup.js.map +1 -1
- package/dist/lib/migration-017-default-on-storage.d.ts +12 -0
- package/dist/lib/migration-017-default-on-storage.d.ts.map +1 -0
- package/dist/lib/migration-017-default-on-storage.js +33 -0
- package/dist/lib/migration-017-default-on-storage.js.map +1 -0
- package/dist/lib/migrations.d.ts.map +1 -1
- package/dist/lib/migrations.js +6 -0
- package/dist/lib/migrations.js.map +1 -1
- package/dist/lib/offline-steps.d.ts.map +1 -1
- package/dist/lib/offline-steps.js +4 -0
- package/dist/lib/offline-steps.js.map +1 -1
- package/dist/lib/oom-restart-observability.d.ts +68 -0
- package/dist/lib/oom-restart-observability.d.ts.map +1 -0
- package/dist/lib/oom-restart-observability.js +427 -0
- package/dist/lib/oom-restart-observability.js.map +1 -0
- package/dist/lib/prefs.d.ts +8 -6
- package/dist/lib/prefs.d.ts.map +1 -1
- package/dist/lib/prefs.js +0 -0
- package/dist/lib/prefs.js.map +1 -1
- package/dist/lib/redact.d.ts +2 -0
- package/dist/lib/redact.d.ts.map +1 -1
- package/dist/lib/redact.js +9 -0
- package/dist/lib/redact.js.map +1 -1
- package/dist/lib/release-migration-progress.d.ts.map +1 -1
- package/dist/lib/release-migration-progress.js +20 -0
- package/dist/lib/release-migration-progress.js.map +1 -1
- package/dist/lib/showtech-steps.d.ts.map +1 -1
- package/dist/lib/showtech-steps.js +29 -0
- package/dist/lib/showtech-steps.js.map +1 -1
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +11 -0
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/truespam-rescore.d.ts +27 -0
- package/dist/lib/truespam-rescore.d.ts.map +1 -0
- package/dist/lib/truespam-rescore.js +91 -0
- package/dist/lib/truespam-rescore.js.map +1 -0
- package/dist/lib/truespam-validate.d.ts +41 -0
- package/dist/lib/truespam-validate.d.ts.map +1 -0
- package/dist/lib/truespam-validate.js +249 -0
- package/dist/lib/truespam-validate.js.map +1 -0
- package/dist/lib/update-steps.d.ts +9 -4
- package/dist/lib/update-steps.d.ts.map +1 -1
- package/dist/lib/update-steps.js +138 -13
- package/dist/lib/update-steps.js.map +1 -1
- package/dist/lib/update.d.ts +19 -2
- package/dist/lib/update.d.ts.map +1 -1
- package/dist/lib/update.js +57 -8
- package/dist/lib/update.js.map +1 -1
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/lib/version.js.map +1 -1
- package/dist/shell/commands/registry.d.ts.map +1 -1
- package/dist/shell/commands/registry.js +1 -0
- package/dist/shell/commands/registry.js.map +1 -1
- package/dist/shell/commands/test.d.ts +1 -0
- package/dist/shell/commands/test.d.ts.map +1 -1
- package/dist/shell/commands/test.js +34 -0
- package/dist/shell/commands/test.js.map +1 -1
- package/dist/shell/network-onboarding.d.ts.map +1 -1
- package/dist/shell/network-onboarding.js +3 -0
- package/dist/shell/network-onboarding.js.map +1 -1
- package/dist/ui/components/ProgressSparkline.d.ts +28 -0
- package/dist/ui/components/ProgressSparkline.d.ts.map +1 -0
- package/dist/ui/components/ProgressSparkline.js +38 -0
- package/dist/ui/components/ProgressSparkline.js.map +1 -0
- package/dist/ui/components/StepList.d.ts +7 -0
- package/dist/ui/components/StepList.d.ts.map +1 -1
- package/dist/ui/components/StepList.js +2 -1
- package/dist/ui/components/StepList.js.map +1 -1
- package/dist/ui/components/index.d.ts +1 -0
- package/dist/ui/components/index.d.ts.map +1 -1
- package/dist/ui/components/index.js +1 -0
- package/dist/ui/components/index.js.map +1 -1
- package/dist/ui/hooks/useStepRunner.d.ts +11 -0
- package/dist/ui/hooks/useStepRunner.d.ts.map +1 -1
- package/dist/ui/hooks/useStepRunner.js +16 -1
- package/dist/ui/hooks/useStepRunner.js.map +1 -1
- package/dist/ui/views/DbBackupView.d.ts.map +1 -1
- package/dist/ui/views/DbBackupView.js +15 -3
- package/dist/ui/views/DbBackupView.js.map +1 -1
- package/dist/ui/views/MigrateWatchView.d.ts.map +1 -1
- package/dist/ui/views/MigrateWatchView.js +18 -3
- package/dist/ui/views/MigrateWatchView.js.map +1 -1
- package/dist/ui/views/SetupWizardView.d.ts.map +1 -1
- package/dist/ui/views/SetupWizardView.js +1 -0
- package/dist/ui/views/SetupWizardView.js.map +1 -1
- package/dist/ui/views/UpdateView.d.ts.map +1 -1
- package/dist/ui/views/UpdateView.js +48 -6
- package/dist/ui/views/UpdateView.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface CatalogChannel {
|
|
2
|
+
name: string;
|
|
3
|
+
train?: string;
|
|
4
|
+
tip?: string | null;
|
|
5
|
+
tip_marker?: string | null;
|
|
6
|
+
variant?: string | null;
|
|
7
|
+
customer_visible?: boolean;
|
|
8
|
+
description?: string;
|
|
9
|
+
versions?: unknown[];
|
|
10
|
+
}
|
|
11
|
+
/** Channel name grammar shared with promote-release / train-resolver / cli.sh. */
|
|
12
|
+
export declare const CHANNEL_NAME_RE: RegExp;
|
|
13
|
+
export declare function isValidChannelName(name: string): boolean;
|
|
14
|
+
export declare function fetchCatalogChannels(): Promise<CatalogChannel[]>;
|
|
15
|
+
export declare function sortChannels(channels: CatalogChannel[]): CatalogChannel[];
|
|
16
|
+
export declare function formatChannelList(channels: CatalogChannel[], customerOnly?: boolean): string;
|
|
17
|
+
export declare function channelNames(channels: CatalogChannel[], customerOnly?: boolean): string[];
|
|
18
|
+
export declare function missingChannelHint(channel: string, available: string[]): string;
|
|
19
|
+
export declare function loadChannelNames(customerOnly?: boolean): Promise<string[]>;
|
|
20
|
+
/** Wrap fetch errors so callers get catalog-aware hints. */
|
|
21
|
+
export declare function enhanceChannelError(err: unknown, channel: string, available: string[]): Error;
|
|
22
|
+
//# sourceMappingURL=channels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/lib/channels.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAUD,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAAsB,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQtE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAOzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,UAAO,GAAG,MAAM,CAsBzF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,UAAO,GAAG,MAAM,EAAE,CAItF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAe/E;AAED,wBAAsB,gBAAgB,CAAC,YAAY,UAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO7E;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAQ7F"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Release channel listing from appliance-catalog.json.
|
|
3
|
+
* Supports mainline channels (stable, beta, …) and variant channels (i18n-preview).
|
|
4
|
+
*/
|
|
5
|
+
import { fetchReleaseArtifact, ExecError } from './exec.js';
|
|
6
|
+
import { getPaths } from './paths.js';
|
|
7
|
+
const ORDER = {
|
|
8
|
+
stable: 0,
|
|
9
|
+
beta: 1,
|
|
10
|
+
legacy: 2,
|
|
11
|
+
rc: 3,
|
|
12
|
+
dev: 4,
|
|
13
|
+
};
|
|
14
|
+
/** Channel name grammar shared with promote-release / train-resolver / cli.sh. */
|
|
15
|
+
export const CHANNEL_NAME_RE = /^[a-z][a-z0-9-]*$/;
|
|
16
|
+
export function isValidChannelName(name) {
|
|
17
|
+
return CHANNEL_NAME_RE.test(name);
|
|
18
|
+
}
|
|
19
|
+
export async function fetchCatalogChannels() {
|
|
20
|
+
const result = await fetchReleaseArtifact('appliance-catalog.json', ['-sfL'], {
|
|
21
|
+
retries: 2,
|
|
22
|
+
retryDelay: 2000,
|
|
23
|
+
});
|
|
24
|
+
const raw = String(result.stdout ?? '');
|
|
25
|
+
const data = JSON.parse(raw);
|
|
26
|
+
return data.channels ?? [];
|
|
27
|
+
}
|
|
28
|
+
export function sortChannels(channels) {
|
|
29
|
+
return [...channels].sort((a, b) => {
|
|
30
|
+
const ia = ORDER[a.name] ?? 50;
|
|
31
|
+
const ib = ORDER[b.name] ?? 50;
|
|
32
|
+
if (ia !== ib)
|
|
33
|
+
return ia - ib;
|
|
34
|
+
return a.name.localeCompare(b.name);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export function formatChannelList(channels, customerOnly = true) {
|
|
38
|
+
const rows = sortChannels(customerOnly ? channels.filter((c) => c.customer_visible) : channels);
|
|
39
|
+
if (!rows.length) {
|
|
40
|
+
return 'No channels listed in appliance-catalog.json.\n';
|
|
41
|
+
}
|
|
42
|
+
const lines = [
|
|
43
|
+
`${'CHANNEL'.padEnd(16)} ${'TRAIN'.padEnd(10)} ${'KIND'.padEnd(14)} ${'TIP'.padEnd(22)} BUILDS`,
|
|
44
|
+
];
|
|
45
|
+
for (const c of rows) {
|
|
46
|
+
const kind = c.variant ? `variant/${c.variant}` : 'mainline';
|
|
47
|
+
const tip = c.tip || c.tip_marker || '—';
|
|
48
|
+
const builds = Array.isArray(c.versions) ? c.versions.length : 0;
|
|
49
|
+
lines.push(`${(c.name || '—').padEnd(16)} ${(c.train || '—').padEnd(10)} ${kind.padEnd(14)} ${String(tip).padEnd(22)} ${builds}`);
|
|
50
|
+
}
|
|
51
|
+
lines.push('');
|
|
52
|
+
lines.push('Update: ct update --channel <name> (reads latest-<name>.txt)');
|
|
53
|
+
lines.push('Exact: ct update <version> (e.g. 0.8.7-i18n-rc9)');
|
|
54
|
+
return lines.join('\n') + '\n';
|
|
55
|
+
}
|
|
56
|
+
export function channelNames(channels, customerOnly = true) {
|
|
57
|
+
return sortChannels(customerOnly ? channels.filter((c) => c.customer_visible) : channels).map((c) => c.name);
|
|
58
|
+
}
|
|
59
|
+
export function missingChannelHint(channel, available) {
|
|
60
|
+
const { releaseBaseUrl } = getPaths();
|
|
61
|
+
const lines = [
|
|
62
|
+
`Channel '${channel}' is not available`,
|
|
63
|
+
`Marker not found: ${releaseBaseUrl}/latest-${channel}.txt`,
|
|
64
|
+
'Either no train/variant owns this channel yet, the tip was not promoted, or it was retired.',
|
|
65
|
+
];
|
|
66
|
+
if (available.length) {
|
|
67
|
+
lines.push(`Channels in catalog: ${available.join(', ')}`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
lines.push('Common channels: stable, beta, i18n-preview, legacy, dev.');
|
|
71
|
+
}
|
|
72
|
+
lines.push('List: ct channels');
|
|
73
|
+
lines.push('Pin a specific version: ct update <version>');
|
|
74
|
+
return lines.join('\n');
|
|
75
|
+
}
|
|
76
|
+
export async function loadChannelNames(customerOnly = true) {
|
|
77
|
+
try {
|
|
78
|
+
const chs = await fetchCatalogChannels();
|
|
79
|
+
return channelNames(chs, customerOnly);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/** Wrap fetch errors so callers get catalog-aware hints. */
|
|
86
|
+
export function enhanceChannelError(err, channel, available) {
|
|
87
|
+
if (err instanceof Error && err.message.includes('not available')) {
|
|
88
|
+
return new Error(missingChannelHint(channel, available));
|
|
89
|
+
}
|
|
90
|
+
if (err instanceof ExecError || err instanceof Error) {
|
|
91
|
+
return new Error(missingChannelHint(channel, available));
|
|
92
|
+
}
|
|
93
|
+
return new Error(missingChannelHint(channel, available));
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=channels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/lib/channels.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAatC,MAAM,KAAK,GAA2B;IACpC,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,wBAAwB,EAAE,CAAC,MAAM,CAAC,EAAE;QAC5E,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoC,CAAC;IAChE,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA0B;IACrD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA0B,EAAE,YAAY,GAAG,IAAI;IAC/E,MAAM,IAAI,GAAG,YAAY,CACvB,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrE,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,GAAa;QACtB,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS;KAChG,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CACtH,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA0B,EAAE,YAAY,GAAG,IAAI;IAC1E,OAAO,YAAY,CACjB,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,SAAmB;IACrE,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG;QACZ,YAAY,OAAO,oBAAoB;QACvC,qBAAqB,cAAc,WAAW,OAAO,MAAM;QAC3D,6FAA6F;KAC9F,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,YAAY,GAAG,IAAI;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;QACzC,OAAO,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,OAAe,EAAE,SAAmB;IACpF,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,GAAG,YAAY,SAAS,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACrD,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
package/dist/lib/db-backup.d.ts
CHANGED
|
@@ -4,9 +4,19 @@ export interface DatabaseBackupResult {
|
|
|
4
4
|
filePath: string;
|
|
5
5
|
removedCount: number;
|
|
6
6
|
}
|
|
7
|
+
export interface DatabaseBackupProgress {
|
|
8
|
+
percent: number;
|
|
9
|
+
writtenBytes: number;
|
|
10
|
+
expectedBytes: number;
|
|
11
|
+
}
|
|
7
12
|
export interface DatabaseBackupOptions {
|
|
8
13
|
keep?: number;
|
|
9
14
|
timestamp?: Date;
|
|
15
|
+
/**
|
|
16
|
+
* Approximate dump progress. Percent is derived from pg_database_size vs
|
|
17
|
+
* bytes written (pg_dump has no native progress). Capped at 99 until exit.
|
|
18
|
+
*/
|
|
19
|
+
onProgress?: (update: DatabaseBackupProgress) => void;
|
|
10
20
|
}
|
|
11
21
|
export interface DatabaseBackupPath {
|
|
12
22
|
directory: string;
|
|
@@ -17,7 +27,12 @@ export declare function databaseBackupTimestamp(date?: Date): string;
|
|
|
17
27
|
export declare function databaseBackupPath(timestamp?: string): DatabaseBackupPath;
|
|
18
28
|
export declare function ensureDatabaseBackupDirectory(): Promise<string>;
|
|
19
29
|
export declare function assertDatabaseReady(): Promise<void>;
|
|
20
|
-
|
|
30
|
+
/** Best-effort on-disk DB size for approximate dump percent. Returns 0 on failure. */
|
|
31
|
+
export declare function queryDatabaseSizeBytes(): Promise<number>;
|
|
32
|
+
export declare function formatDatabaseBytes(n: number): string;
|
|
33
|
+
export declare function writeDatabaseDump(filePath: string, options?: {
|
|
34
|
+
onProgress?: DatabaseBackupOptions['onProgress'];
|
|
35
|
+
}): Promise<void>;
|
|
21
36
|
export declare function cleanupOldDatabaseBackups(keep?: number): Promise<number>;
|
|
22
37
|
export declare function createDatabaseBackup(options?: DatabaseBackupOptions): Promise<DatabaseBackupResult>;
|
|
23
38
|
//# sourceMappingURL=db-backup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-backup.d.ts","sourceRoot":"","sources":["../../src/lib/db-backup.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"db-backup.d.ts","sourceRoot":"","sources":["../../src/lib/db-backup.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,OAAa,GAAG,MAAM,CAEjE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,SAA4B,GAAG,kBAAkB,CAQ5F;AAED,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC,CAIrE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzD;AAED,sFAAsF;AACtF,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAmB9D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAA;CAAO,GACjE,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAsB,yBAAyB,CAAC,IAAI,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BzE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAO7G"}
|
package/dist/lib/db-backup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readdir, stat } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
import { composeExecToFile } from './compose.js';
|
|
3
|
+
import { composeExec, composeExecToFile } from './compose.js';
|
|
4
4
|
import { DB_NAME, DB_USER, PG_ENV } from './db.js';
|
|
5
5
|
import { probeDatabaseReady } from './db-probe.js';
|
|
6
6
|
import { mkdirSafe, removeSafe } from './fs.js';
|
|
@@ -27,19 +27,82 @@ export async function assertDatabaseReady() {
|
|
|
27
27
|
// connect-failed / timed-out) instead of a bare throw — the pre-backup gate.
|
|
28
28
|
await probeDatabaseReady();
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
/** Best-effort on-disk DB size for approximate dump percent. Returns 0 on failure. */
|
|
31
|
+
export async function queryDatabaseSizeBytes() {
|
|
32
|
+
try {
|
|
33
|
+
const result = await composeExec('db', [
|
|
34
|
+
'psql',
|
|
35
|
+
'-U', DB_USER,
|
|
36
|
+
'-d', DB_NAME,
|
|
37
|
+
'-t', '-A',
|
|
38
|
+
'-c', `SELECT pg_database_size('${DB_NAME}');`,
|
|
39
|
+
], {
|
|
40
|
+
env: PG_ENV,
|
|
41
|
+
pipe: true,
|
|
42
|
+
timeout: 10_000,
|
|
43
|
+
});
|
|
44
|
+
const raw = String(result.stdout ?? '').trim().split(/\s+/)[0] ?? '';
|
|
45
|
+
const n = Number.parseInt(raw, 10);
|
|
46
|
+
return Number.isFinite(n) && n > 0 ? n : 0;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function formatDatabaseBytes(n) {
|
|
53
|
+
if (n < 1024)
|
|
54
|
+
return `${n} B`;
|
|
55
|
+
if (n < 1024 * 1024)
|
|
56
|
+
return `${(n / 1024).toFixed(1)} KB`;
|
|
57
|
+
if (n < 1024 * 1024 * 1024)
|
|
58
|
+
return `${(n / (1024 * 1024)).toFixed(1)} MB`;
|
|
59
|
+
return `${(n / (1024 * 1024 * 1024)).toFixed(2)} GB`;
|
|
60
|
+
}
|
|
61
|
+
export async function writeDatabaseDump(filePath, options = {}) {
|
|
62
|
+
const expectedBytes = options.onProgress ? await queryDatabaseSizeBytes() : 0;
|
|
63
|
+
options.onProgress?.({ percent: 0, writtenBytes: 0, expectedBytes });
|
|
64
|
+
let lastPercent = -1;
|
|
65
|
+
const timer = options.onProgress
|
|
66
|
+
? setInterval(() => {
|
|
67
|
+
void stat(filePath).then((info) => {
|
|
68
|
+
const written = info.size;
|
|
69
|
+
if (expectedBytes <= 0) {
|
|
70
|
+
options.onProgress?.({ percent: 0, writtenBytes: written, expectedBytes: 0 });
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
let percent = Math.floor((written * 100) / expectedBytes);
|
|
74
|
+
if (percent > 99)
|
|
75
|
+
percent = 99;
|
|
76
|
+
if (percent !== lastPercent) {
|
|
77
|
+
lastPercent = percent;
|
|
78
|
+
options.onProgress?.({ percent, writtenBytes: written, expectedBytes });
|
|
79
|
+
}
|
|
80
|
+
}).catch(() => { });
|
|
81
|
+
}, 1000)
|
|
82
|
+
: null;
|
|
83
|
+
try {
|
|
84
|
+
await composeExecToFile('db', [
|
|
85
|
+
'sh',
|
|
86
|
+
'-lc',
|
|
87
|
+
'IFS= read -r PGPASSWORD; export PGPASSWORD; pg_dump -U "$1" -d "$2"',
|
|
88
|
+
'pg_dump',
|
|
89
|
+
DB_USER,
|
|
90
|
+
DB_NAME,
|
|
91
|
+
], filePath, { stdin: `${PG_ENV.PGPASSWORD}\n` });
|
|
92
|
+
const written = await stat(filePath);
|
|
93
|
+
if (written.size === 0) {
|
|
94
|
+
await removeSafe(filePath);
|
|
95
|
+
throw new Error('pg_dump returned empty output');
|
|
96
|
+
}
|
|
97
|
+
options.onProgress?.({
|
|
98
|
+
percent: 100,
|
|
99
|
+
writtenBytes: written.size,
|
|
100
|
+
expectedBytes: expectedBytes || written.size,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
if (timer)
|
|
105
|
+
clearInterval(timer);
|
|
43
106
|
}
|
|
44
107
|
}
|
|
45
108
|
export async function cleanupOldDatabaseBackups(keep = 5) {
|
|
@@ -76,7 +139,7 @@ export async function createDatabaseBackup(options = {}) {
|
|
|
76
139
|
const backup = databaseBackupPath(databaseBackupTimestamp(options.timestamp));
|
|
77
140
|
await ensureDatabaseBackupDirectory();
|
|
78
141
|
await assertDatabaseReady();
|
|
79
|
-
await writeDatabaseDump(backup.filePath);
|
|
142
|
+
await writeDatabaseDump(backup.filePath, { onProgress: options.onProgress });
|
|
80
143
|
const removedCount = await cleanupOldDatabaseBackups(options.keep ?? 5);
|
|
81
144
|
return { ...backup, removedCount };
|
|
82
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-backup.js","sourceRoot":"","sources":["../../src/lib/db-backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"db-backup.js","sourceRoot":"","sources":["../../src/lib/db-backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+BtC,MAAM,UAAU,uBAAuB,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IACvD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAS,GAAG,uBAAuB,EAAE;IACtE,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,CAAC;IACzC,OAAO;QACL,SAAS,EAAE,UAAU;QACrB,QAAQ;QACR,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,qEAAqE;IACrE,6EAA6E;IAC7E,MAAM,kBAAkB,EAAE,CAAC;AAC7B,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;YACrC,MAAM;YACN,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,4BAA4B,OAAO,KAAK;SAC/C,EAAE;YACD,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1E,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,UAAgE,EAAE;IAElE,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;IAErE,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU;QAC9B,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;YACf,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC1B,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC9E,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,IAAI,OAAO,GAAG,EAAE;oBAAE,OAAO,GAAG,EAAE,CAAC;gBAC/B,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,WAAW,GAAG,OAAO,CAAC;oBACtB,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAgC,CAAC,CAAC,CAAC;QACnD,CAAC,EAAE,IAAI,CAAC;QACV,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,IAAI,EAC1B;YACE,IAAI;YACJ,KAAK;YACL,qEAAqE;YACrE,SAAS;YACT,OAAO;YACP,OAAO;SACR,EACD,QAAQ,EACR,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO,EAAE,GAAG;YACZ,YAAY,EAAE,OAAO,CAAC,IAAI;YAC1B,aAAa,EAAE,aAAa,IAAI,OAAO,CAAC,IAAI;SAC7C,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAI,GAAG,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACrC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAA0C,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAiC,EAAE;IAC5E,MAAM,MAAM,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,MAAM,6BAA6B,EAAE,CAAC;IACtC,MAAM,mBAAmB,EAAE,CAAC;IAC5B,MAAM,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration 017: Default-on SeaweedFS storage (API-2241).
|
|
3
|
+
*
|
|
4
|
+
* Older OVAs baked `"storage": false` into ~/.ct/preferences.json and left
|
|
5
|
+
* COMPOSE_PROFILES empty, so seaweedfs never joined calltelemetry_ct while
|
|
6
|
+
* CdrAlertDispatch still tried http://seaweedfs:8333 for alert PDF archival
|
|
7
|
+
* (nxdomain × 10). New installs default storage on; this one-shot enables
|
|
8
|
+
* storage + S3 on upgrade. Operators who want off: `ct storage disable`
|
|
9
|
+
* after the migration has run (it will not re-enable).
|
|
10
|
+
*/
|
|
11
|
+
export declare function migrateDefaultOnStorage(): Promise<boolean>;
|
|
12
|
+
//# sourceMappingURL=migration-017-default-on-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-017-default-on-storage.d.ts","sourceRoot":"","sources":["../../src/lib/migration-017-default-on-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAqBhE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration 017: Default-on SeaweedFS storage (API-2241).
|
|
3
|
+
*
|
|
4
|
+
* Older OVAs baked `"storage": false` into ~/.ct/preferences.json and left
|
|
5
|
+
* COMPOSE_PROFILES empty, so seaweedfs never joined calltelemetry_ct while
|
|
6
|
+
* CdrAlertDispatch still tried http://seaweedfs:8333 for alert PDF archival
|
|
7
|
+
* (nxdomain × 10). New installs default storage on; this one-shot enables
|
|
8
|
+
* storage + S3 on upgrade. Operators who want off: `ct storage disable`
|
|
9
|
+
* after the migration has run (it will not re-enable).
|
|
10
|
+
*/
|
|
11
|
+
import { enableStorage, isStorageEnabled } from './storage.js';
|
|
12
|
+
import { getPrefs, savePrefs } from './prefs.js';
|
|
13
|
+
export async function migrateDefaultOnStorage() {
|
|
14
|
+
const prefs = getPrefs();
|
|
15
|
+
const alreadyEnabled = isStorageEnabled() && prefs.storage === true;
|
|
16
|
+
if (alreadyEnabled) {
|
|
17
|
+
// Ensure S3_ENABLED stays aligned when profile is on but flag was cleared.
|
|
18
|
+
const { readEnvKeys, updateEnvKeys } = await import('./env.js');
|
|
19
|
+
const env = readEnvKeys();
|
|
20
|
+
if (env.S3_ENABLED !== 'true') {
|
|
21
|
+
await updateEnvKeys({
|
|
22
|
+
S3_ENABLED: 'true',
|
|
23
|
+
S3_ENDPOINT: env.S3_ENDPOINT || 'http://seaweedfs:8333',
|
|
24
|
+
});
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
await enableStorage();
|
|
30
|
+
savePrefs({ ...prefs, storage: true });
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=migration-017-default-on-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-017-default-on-storage.js","sourceRoot":"","sources":["../../src/lib/migration-017-default-on-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,gBAAgB,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;IAEpE,IAAI,cAAc,EAAE,CAAC;QACnB,2EAA2E;QAC3E,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,aAAa,CAAC;gBAClB,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,uBAAuB;aACxD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AAwBD,eAAO,MAAM,UAAU,EAAE,SAAS,EAsFjC,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,cAAc,CAcnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAG9D;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAsB,oBAAoB,CACxC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4C/C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,EACV,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwC1E;AAED,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACpD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAgCD"}
|
package/dist/lib/migrations.js
CHANGED
|
@@ -26,6 +26,7 @@ import { migrateGrafanaPassword } from './migration-013-grafana-password.js';
|
|
|
26
26
|
import { migrateDockerFirewallBackend } from './migration-014-docker-firewall-backend.js';
|
|
27
27
|
import { migrateDockerInternalNoProxy } from './migration-015-docker-internal-no-proxy.js';
|
|
28
28
|
import { migrateSeaweedfsRecovery } from './migration-016-seaweedfs-recovery.js';
|
|
29
|
+
import { migrateDefaultOnStorage } from './migration-017-default-on-storage.js';
|
|
29
30
|
export const MIGRATIONS = [
|
|
30
31
|
{
|
|
31
32
|
id: '001_cgnat_docker_subnets',
|
|
@@ -107,6 +108,11 @@ export const MIGRATIONS = [
|
|
|
107
108
|
description: 'Recover SeaweedFS s3.json/nats.conf bind-mount dir-trap + restore data-volume writable bit (prevents crash-loop on upgrade/restore)',
|
|
108
109
|
run: migrateSeaweedfsRecovery,
|
|
109
110
|
},
|
|
111
|
+
{
|
|
112
|
+
id: '017_default_on_storage',
|
|
113
|
+
description: 'Default-on SeaweedFS storage profile + S3_ENABLED for alert PDF archival (API-2241)',
|
|
114
|
+
run: migrateDefaultOnStorage,
|
|
115
|
+
},
|
|
110
116
|
];
|
|
111
117
|
export function loadMigrationState() {
|
|
112
118
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAuB7E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAExD,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/lib/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offline-steps.d.ts","sourceRoot":"","sources":["../../src/lib/offline-steps.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAIjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,KAAK,GAAG,eAAuB,GAAG,MAAM,EAAE,CAUpG;AAID,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBpG;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA+D/E;AAID,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAiCxD;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"offline-steps.d.ts","sourceRoot":"","sources":["../../src/lib/offline-steps.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAIjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,KAAK,GAAG,eAAuB,GAAG,MAAM,EAAE,CAUpG;AAID,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBpG;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA+D/E;AAID,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAiCxD;AAID,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAkF3D;AAID,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,CAuI3D"}
|
|
@@ -197,16 +197,20 @@ export function downloadSteps(version) {
|
|
|
197
197
|
const images = extractImageNames(content, 'all');
|
|
198
198
|
ctx?.log(`Found ${images.length} images to pull`);
|
|
199
199
|
let pulled = 0;
|
|
200
|
+
ctx?.progress?.({ done: 0, total: images.length });
|
|
200
201
|
for (const img of images) {
|
|
202
|
+
ctx?.progress?.({ done: pulled, total: images.length, detail: img });
|
|
201
203
|
ctx?.log(`Pulling ${img} (${pulled + 1}/${images.length})...`);
|
|
202
204
|
try {
|
|
203
205
|
await exec('docker', ['pull', img]);
|
|
204
206
|
pulled++;
|
|
207
|
+
ctx?.progress?.({ done: pulled, total: images.length, detail: img });
|
|
205
208
|
}
|
|
206
209
|
catch {
|
|
207
210
|
ctx?.log(`Warning: Failed to pull ${img}`);
|
|
208
211
|
}
|
|
209
212
|
}
|
|
213
|
+
ctx?.progress?.({ done: pulled, total: images.length });
|
|
210
214
|
return `${pulled}/${images.length} images pulled`;
|
|
211
215
|
},
|
|
212
216
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offline-steps.js","sourceRoot":"","sources":["../../src/lib/offline-steps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"offline-steps.js","sourceRoot":"","sources":["../../src/lib/offline-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OOM / restart observability for show-tech (API-2209 / EPI-OBS).
|
|
3
|
+
*
|
|
4
|
+
* Surfaces Docker RestartCount, OOMKilled, memory limits, live cgroup/stats
|
|
5
|
+
* usage, and a filtered dmesg OOM snippet. Pure helpers are unit-tested;
|
|
6
|
+
* collection is best-effort and never throws out of collectOomRestartEvidence.
|
|
7
|
+
*
|
|
8
|
+
* Why this exists: Docker often leaves OOMKilled=false when memcg kills
|
|
9
|
+
* beam.smp (child of bash PID1). RestartCount + dmesg are the reliable signal.
|
|
10
|
+
*/
|
|
11
|
+
/** Compose services we always inspect for restart/OOM evidence. */
|
|
12
|
+
export declare const OOM_RESTART_SERVICES: readonly ["web", "db", "nats", "caddy"];
|
|
13
|
+
export type OomRestartService = (typeof OOM_RESTART_SERVICES)[number];
|
|
14
|
+
export interface ContainerRestartSnapshot {
|
|
15
|
+
service: string;
|
|
16
|
+
name: string | null;
|
|
17
|
+
id: string | null;
|
|
18
|
+
restartCount: number;
|
|
19
|
+
oomKilled: boolean;
|
|
20
|
+
status: string | null;
|
|
21
|
+
startedAt: string | null;
|
|
22
|
+
finishedAt: string | null;
|
|
23
|
+
exitCode: number | null;
|
|
24
|
+
/** HostConfig.Memory (0 = unlimited). */
|
|
25
|
+
memoryLimitBytes: number | null;
|
|
26
|
+
memorySwapBytes: number | null;
|
|
27
|
+
error?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface CgroupMemorySample {
|
|
30
|
+
source: string;
|
|
31
|
+
service?: string;
|
|
32
|
+
currentBytes: number | null;
|
|
33
|
+
maxBytes: number | null;
|
|
34
|
+
raw?: string;
|
|
35
|
+
error?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface OomRestartEvidence {
|
|
38
|
+
capturedAt: string;
|
|
39
|
+
containers: ContainerRestartSnapshot[];
|
|
40
|
+
dmesgOomSnippet: string;
|
|
41
|
+
cgroup: CgroupMemorySample[];
|
|
42
|
+
dockerStats: string;
|
|
43
|
+
findings: string[];
|
|
44
|
+
}
|
|
45
|
+
export declare function nilifyZeroTimestamp(ts: string | null | undefined): string | null;
|
|
46
|
+
export declare function parseIntOrNull(value: unknown): number | null;
|
|
47
|
+
/**
|
|
48
|
+
* Parse one Docker `inspect` JSON object into a flat restart/OOM snapshot.
|
|
49
|
+
* Accepts the Engine API body (or `docker inspect` array element).
|
|
50
|
+
*/
|
|
51
|
+
export declare function snapshotFromInspect(inspect: Record<string, unknown>, service: string): ContainerRestartSnapshot;
|
|
52
|
+
/**
|
|
53
|
+
* Filter kernel logs down to OOM/memcg-relevant lines with light context.
|
|
54
|
+
* Pure — safe to unit-test without a host.
|
|
55
|
+
*/
|
|
56
|
+
export declare function filterDmesgOomSnippet(dmesgText: string, opts?: {
|
|
57
|
+
maxLines?: number;
|
|
58
|
+
contextRadius?: number;
|
|
59
|
+
}): string;
|
|
60
|
+
export declare function formatBytesOptional(bytes: number | null | undefined): string;
|
|
61
|
+
export declare function buildFindings(containers: ContainerRestartSnapshot[], dmesgSnippet: string): string[];
|
|
62
|
+
export declare function formatOomRestartReport(evidence: OomRestartEvidence): string;
|
|
63
|
+
/**
|
|
64
|
+
* Collect RestartCount / OOM / cgroup / dmesg evidence for show-tech.
|
|
65
|
+
* Best-effort: always returns a complete evidence object.
|
|
66
|
+
*/
|
|
67
|
+
export declare function collectOomRestartEvidence(services?: readonly string[]): Promise<OomRestartEvidence>;
|
|
68
|
+
//# sourceMappingURL=oom-restart-observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oom-restart-observability.d.ts","sourceRoot":"","sources":["../../src/lib/oom-restart-observability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,yCAA0C,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAqBD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIhF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,GACd,wBAAwB,CAyB1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,MAAM,CAuCR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAW5E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,wBAAwB,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAuCpG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAoD3E;AAwND;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,GAAE,SAAS,MAAM,EAAyB,GACjD,OAAO,CAAC,kBAAkB,CAAC,CAmB7B"}
|