spindb 0.50.8 → 0.51.0

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,331 @@
1
+ /**
2
+ * Git-driven database branching.
3
+ *
4
+ * Ties a git branch to a database branch the way Neon/Vercel preview branches
5
+ * do, but locally: as you switch git branches, the matching database branch is
6
+ * swapped onto a **stable port** so your app's connection string never changes.
7
+ *
8
+ * Model (chosen with the user): one database branch is live at a time on a
9
+ * fixed port (the base container's port). On `git checkout`, a `post-checkout`
10
+ * hook runs `spindb branch sync`, which:
11
+ * 1. computes the container name for the current git branch (deterministic),
12
+ * 2. creates it from the base (copy-on-write) if it doesn't exist yet,
13
+ * 3. stops whichever repo branch is currently on the stable port,
14
+ * 4. starts the target on the stable port.
15
+ *
16
+ * All git-branch databases carry the same `stablePort` in their container.json;
17
+ * since spindb only treats *running* containers as occupying a port, the
18
+ * stopped siblings sharing a port is fine.
19
+ *
20
+ * State is intentionally minimal: the only persisted file is
21
+ * `.spindb/branch.json` at the repo root (shareable). Everything else
22
+ * (which branches exist, which is active) is derived from spindb's container
23
+ * registry, so there's no machine-local bookkeeping to drift.
24
+ *
25
+ * Server engines only — the stable-port model doesn't apply to file-based
26
+ * engines (SQLite/DuckDB), which have no port.
27
+ */
28
+ import { existsSync } from 'fs';
29
+ import { mkdir, readFile, writeFile, rm, chmod } from 'fs/promises';
30
+ import { join, isAbsolute } from 'path';
31
+ import { spawnAsync } from './spawn-utils.js';
32
+ import { containerManager } from './container-manager.js';
33
+ import { processManager } from './process-manager.js';
34
+ import { startContainerWithRetry } from './start-with-retry.js';
35
+ import { branchManager } from './branch-manager.js';
36
+ import { getEngine } from '../engines/index.js';
37
+ import { logDebug } from './error-handler.js';
38
+ import { isFileBasedEngine, isRemoteContainer } from '../types/index.js';
39
+ const HOOK_START = '# >>> spindb branch sync (managed) >>>';
40
+ const HOOK_END = '# <<< spindb branch sync (managed) <<<';
41
+ // post-checkout receives: $1 prev HEAD, $2 new HEAD, $3 flag (1 = branch checkout).
42
+ const POST_CHECKOUT_BLOCK = [
43
+ HOOK_START,
44
+ '# Swap the active spindb database branch to match the checked-out git branch.',
45
+ 'if [ "$3" = "1" ]; then',
46
+ ' if command -v spindb >/dev/null 2>&1; then',
47
+ ' spindb branch sync --git-checkout >/dev/null 2>&1 || true',
48
+ ' fi',
49
+ 'fi',
50
+ HOOK_END,
51
+ ].join('\n');
52
+ // ---- git helpers ----
53
+ async function git(cwd, args) {
54
+ const { stdout } = await spawnAsync('git', args, { cwd });
55
+ return stdout.trim();
56
+ }
57
+ export async function findRepoRoot(cwd = process.cwd()) {
58
+ try {
59
+ return await git(cwd, ['rev-parse', '--show-toplevel']);
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ }
65
+ async function getCurrentBranch(repoRoot) {
66
+ return git(repoRoot, ['rev-parse', '--abbrev-ref', 'HEAD']);
67
+ }
68
+ async function listLocalBranches(repoRoot) {
69
+ const out = await git(repoRoot, [
70
+ 'branch',
71
+ '--list',
72
+ '--format=%(refname:short)',
73
+ ]);
74
+ return out
75
+ .split('\n')
76
+ .map((s) => s.trim())
77
+ .filter(Boolean);
78
+ }
79
+ // ---- repo config (.spindb/branch.json) ----
80
+ function configDir(repoRoot) {
81
+ return join(repoRoot, '.spindb');
82
+ }
83
+ function configPath(repoRoot) {
84
+ return join(configDir(repoRoot), 'branch.json');
85
+ }
86
+ export async function loadConfig(repoRoot) {
87
+ const path = configPath(repoRoot);
88
+ if (!existsSync(path))
89
+ return null;
90
+ try {
91
+ return JSON.parse(await readFile(path, 'utf8'));
92
+ }
93
+ catch (error) {
94
+ throw new Error(`Failed to parse ${path}: ${error.message}. Re-run "spindb branch init".`);
95
+ }
96
+ }
97
+ async function saveConfig(repoRoot, config) {
98
+ await mkdir(configDir(repoRoot), { recursive: true });
99
+ await writeFile(configPath(repoRoot), JSON.stringify(config, null, 2) + '\n');
100
+ }
101
+ // ---- naming ----
102
+ /**
103
+ * Turn a git branch name into the alphanumeric-with-dashes suffix used in a
104
+ * container name. `feature/foo.bar` -> `feature-foo-bar`.
105
+ */
106
+ export function sanitizeBranchName(gitBranch) {
107
+ const cleaned = gitBranch
108
+ .replace(/[^a-zA-Z0-9]+/g, '-')
109
+ .replace(/^-+|-+$/g, '');
110
+ return cleaned || 'branch';
111
+ }
112
+ /** The container name for a given git branch (the base for the main branch). */
113
+ export function containerNameForBranch(config, gitBranch) {
114
+ if (gitBranch === config.mainBranch)
115
+ return config.baseContainer;
116
+ return `${config.baseContainer}__${sanitizeBranchName(gitBranch)}`;
117
+ }
118
+ // ---- post-checkout hook management (chain-safe) ----
119
+ async function hooksDir(repoRoot) {
120
+ const path = await git(repoRoot, ['rev-parse', '--git-path', 'hooks']);
121
+ return isAbsolute(path) ? path : join(repoRoot, path);
122
+ }
123
+ function stripManagedBlock(content) {
124
+ const start = content.indexOf(HOOK_START);
125
+ const end = content.indexOf(HOOK_END);
126
+ if (start === -1 || end === -1)
127
+ return content;
128
+ const before = content.slice(0, start).replace(/\n+$/, '');
129
+ const after = content.slice(end + HOOK_END.length).replace(/^\n+/, '');
130
+ return [before, after].filter(Boolean).join('\n\n');
131
+ }
132
+ export async function hooksInstalled(repoRoot) {
133
+ const file = join(await hooksDir(repoRoot), 'post-checkout');
134
+ if (!existsSync(file))
135
+ return false;
136
+ return (await readFile(file, 'utf8')).includes(HOOK_START);
137
+ }
138
+ export async function installHooks(repoRoot) {
139
+ const dir = await hooksDir(repoRoot);
140
+ await mkdir(dir, { recursive: true });
141
+ const file = join(dir, 'post-checkout');
142
+ let existing = existsSync(file) ? await readFile(file, 'utf8') : '';
143
+ // Drop any previous managed block so re-installs are idempotent.
144
+ existing = stripManagedBlock(existing).trim();
145
+ let content;
146
+ if (existing === '') {
147
+ content = `#!/bin/sh\n${POST_CHECKOUT_BLOCK}\n`;
148
+ }
149
+ else if (existing.startsWith('#!')) {
150
+ // Preserve the user's existing hook; append our managed block.
151
+ content = `${existing}\n\n${POST_CHECKOUT_BLOCK}\n`;
152
+ }
153
+ else {
154
+ content = `#!/bin/sh\n${existing}\n\n${POST_CHECKOUT_BLOCK}\n`;
155
+ }
156
+ await writeFile(file, content);
157
+ await chmod(file, 0o755).catch(() => { });
158
+ }
159
+ export async function uninstallHooks(repoRoot) {
160
+ const file = join(await hooksDir(repoRoot), 'post-checkout');
161
+ if (!existsSync(file))
162
+ return;
163
+ const content = await readFile(file, 'utf8');
164
+ if (!content.includes(HOOK_START))
165
+ return;
166
+ const remaining = stripManagedBlock(content);
167
+ // If nothing but a shebang/whitespace is left, remove the file entirely.
168
+ if (remaining.replace(/^#!.*$/m, '').trim() === '') {
169
+ await rm(file, { force: true });
170
+ }
171
+ else {
172
+ await writeFile(file, remaining.endsWith('\n') ? remaining : `${remaining}\n`);
173
+ }
174
+ }
175
+ // ---- container lifecycle (mirrors branch-manager; kept local to avoid a cycle) ----
176
+ async function startContainer(config) {
177
+ await startContainerWithRetry(getEngine(config.engine), config);
178
+ await containerManager.updateConfig(config.name, { status: 'running' });
179
+ }
180
+ async function stopContainer(config) {
181
+ await getEngine(config.engine).stop(config);
182
+ await containerManager.updateConfig(config.name, { status: 'stopped' });
183
+ }
184
+ /** The base plus all git-managed branches forked from it. */
185
+ async function repoContainers(config) {
186
+ const all = await containerManager.list();
187
+ return all.filter((c) => c.name === config.baseContainer ||
188
+ (c.branchParent === config.baseContainer && Boolean(c.gitBranch)));
189
+ }
190
+ // ---- public operations ----
191
+ export async function initRepo(options) {
192
+ const cwd = options.cwd ?? process.cwd();
193
+ const repoRoot = await findRepoRoot(cwd);
194
+ if (!repoRoot) {
195
+ throw new Error('Not a git repository. Run "spindb branch init" inside one.');
196
+ }
197
+ const base = await containerManager.getConfig(options.baseContainer);
198
+ if (!base) {
199
+ throw new Error(`Container "${options.baseContainer}" not found`);
200
+ }
201
+ if (isRemoteContainer(base)) {
202
+ throw new Error('Cannot use a linked remote container as a branch base.');
203
+ }
204
+ if (isFileBasedEngine(base.engine)) {
205
+ throw new Error('Git branching uses a stable port and is not applicable to file-based engines (SQLite/DuckDB).');
206
+ }
207
+ if (!base.port || base.port <= 0) {
208
+ throw new Error(`Container "${options.baseContainer}" has no port to use as the stable port.`);
209
+ }
210
+ const mainBranch = await getCurrentBranch(repoRoot);
211
+ const config = {
212
+ version: 1,
213
+ baseContainer: base.name,
214
+ engine: base.engine,
215
+ stablePort: base.port,
216
+ mainBranch,
217
+ };
218
+ await saveConfig(repoRoot, config);
219
+ await installHooks(repoRoot);
220
+ return { repoRoot, config };
221
+ }
222
+ export async function sync(options) {
223
+ const cwd = options.cwd ?? process.cwd();
224
+ const repoRoot = await findRepoRoot(cwd);
225
+ if (!repoRoot) {
226
+ throw new Error('Not a git repository.');
227
+ }
228
+ const config = await loadConfig(repoRoot);
229
+ if (!config) {
230
+ throw new Error('No branch config for this repo. Run "spindb branch init --base <container>" first.');
231
+ }
232
+ if (!(await containerManager.exists(config.baseContainer))) {
233
+ throw new Error(`Base container "${config.baseContainer}" not found.`);
234
+ }
235
+ const gitBranch = await getCurrentBranch(repoRoot);
236
+ const target = containerNameForBranch(config, gitBranch);
237
+ const isBase = target === config.baseContainer;
238
+ // Create the branch from the base on first checkout of this git branch.
239
+ let created = false;
240
+ if (!isBase &&
241
+ !(await containerManager.exists(target, { engine: config.engine }))) {
242
+ await branchManager.createBranch({
243
+ source: config.baseContainer,
244
+ name: target,
245
+ port: config.stablePort,
246
+ start: false,
247
+ gitBranch,
248
+ });
249
+ created = true;
250
+ }
251
+ // Stop whichever repo branch is currently on the stable port (not the target).
252
+ for (const c of await repoContainers(config)) {
253
+ if (c.name === target)
254
+ continue;
255
+ if (await processManager.isRunning(c.name, { engine: c.engine })) {
256
+ await stopContainer(c);
257
+ }
258
+ }
259
+ // Start the target on the stable port.
260
+ const targetConfig = await containerManager.getConfig(target);
261
+ if (!targetConfig) {
262
+ throw new Error(`Target container "${target}" not found after sync.`);
263
+ }
264
+ const running = await processManager.isRunning(target, {
265
+ engine: targetConfig.engine,
266
+ });
267
+ if (!running) {
268
+ await startContainer(targetConfig);
269
+ }
270
+ logDebug(`git-branch-sync: ${gitBranch} -> ${target} on port ${config.stablePort}`);
271
+ return {
272
+ gitBranch,
273
+ container: target,
274
+ isBase,
275
+ created,
276
+ connectionString: getEngine(targetConfig.engine).getConnectionString(targetConfig),
277
+ };
278
+ }
279
+ export async function prune(options) {
280
+ const cwd = options.cwd ?? process.cwd();
281
+ const repoRoot = await findRepoRoot(cwd);
282
+ if (!repoRoot) {
283
+ throw new Error('Not a git repository.');
284
+ }
285
+ const config = await loadConfig(repoRoot);
286
+ if (!config) {
287
+ throw new Error('No branch config for this repo. Run "spindb branch init".');
288
+ }
289
+ const gitBranches = new Set(await listLocalBranches(repoRoot));
290
+ const activeContainer = containerNameForBranch(config, await getCurrentBranch(repoRoot));
291
+ const deleted = [];
292
+ for (const c of await repoContainers(config)) {
293
+ if (c.name === config.baseContainer)
294
+ continue; // never prune the base
295
+ if (c.name === activeContainer)
296
+ continue; // never prune the active branch
297
+ if (!c.gitBranch)
298
+ continue;
299
+ if (!gitBranches.has(c.gitBranch)) {
300
+ await branchManager.deleteBranch(c.name, { cascade: true });
301
+ deleted.push(c.name);
302
+ }
303
+ }
304
+ return { deleted };
305
+ }
306
+ export async function status(options) {
307
+ const cwd = options.cwd ?? process.cwd();
308
+ const repoRoot = await findRepoRoot(cwd);
309
+ if (!repoRoot)
310
+ return null;
311
+ const config = await loadConfig(repoRoot);
312
+ if (!config)
313
+ return null;
314
+ const gitBranch = await getCurrentBranch(repoRoot);
315
+ let active;
316
+ for (const c of await repoContainers(config)) {
317
+ if (await processManager.isRunning(c.name, { engine: c.engine })) {
318
+ active = c.name;
319
+ break;
320
+ }
321
+ }
322
+ return {
323
+ repoRoot,
324
+ config,
325
+ gitBranch,
326
+ target: containerNameForBranch(config, gitBranch),
327
+ hooksInstalled: await hooksInstalled(repoRoot),
328
+ active,
329
+ };
330
+ }
331
+ //# sourceMappingURL=git-branch-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-branch-sync.js","sourceRoot":"","sources":["../../core/git-branch-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAa/D,MAAM,UAAU,GAAG,wCAAwC,CAAA;AAC3D,MAAM,QAAQ,GAAG,wCAAwC,CAAA;AAEzD,oFAAoF;AACpF,MAAM,mBAAmB,GAAG;IAC1B,UAAU;IACV,+EAA+E;IAC/E,yBAAyB;IACzB,8CAA8C;IAC9C,+DAA+D;IAC/D,MAAM;IACN,IAAI;IACJ,QAAQ;CACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,wBAAwB;AAExB,KAAK,UAAU,GAAG,CAAC,GAAW,EAAE,IAAc;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE;QAC9B,QAAQ;QACR,QAAQ;QACR,2BAA2B;KAC5B,CAAC,CAAA;IACF,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;AACpB,CAAC;AAED,8CAA8C;AAE9C,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB;IAEhB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAqB,CAAA;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,KAAM,KAAe,CAAC,OAAO,gCAAgC,CACrF,CAAA;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,MAAwB;IAExB,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAC/E,CAAC;AAED,mBAAmB;AAEnB;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,SAAS;SACtB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC1B,OAAO,OAAO,IAAI,QAAQ,CAAA;AAC5B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CACpC,MAAwB,EACxB,SAAiB;IAEjB,IAAI,SAAS,KAAK,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC,aAAa,CAAA;IAChE,OAAO,GAAG,MAAM,CAAC,aAAa,KAAK,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAA;AACpE,CAAC;AAED,uDAAuD;AAEvD,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IACtE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAA;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAA;IAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAEvC,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACnE,iEAAiE;IACjE,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IAE7C,IAAI,OAAe,CAAA;IACnB,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,GAAG,cAAc,mBAAmB,IAAI,CAAA;IACjD,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,+DAA+D;QAC/D,OAAO,GAAG,GAAG,QAAQ,OAAO,mBAAmB,IAAI,CAAA;IACrD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,cAAc,QAAQ,OAAO,mBAAmB,IAAI,CAAA;IAChE,CAAC;IAED,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAA;IAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAM;IAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAM;IAEzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC5C,yEAAyE;IACzE,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CACb,IAAI,EACJ,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CACxD,CAAA;IACH,CAAC;AACH,CAAC;AAED,sFAAsF;AAEtF,KAAK,UAAU,cAAc,CAAC,MAAuB;IACnD,MAAM,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/D,MAAM,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAuB;IAClD,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,cAAc,CAC3B,MAAwB;IAExB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAA;IACzC,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa;QAC/B,CAAC,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CACpE,CAAA;AACH,CAAC;AAED,8BAA8B;AAE9B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAG9B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,CAAC,aAAa,aAAa,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAA;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,cAAc,OAAO,CAAC,aAAa,0CAA0C,CAC9E,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,MAAM,GAAqB;QAC/B,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,IAAI,CAAC,IAAI;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,IAAI;QACrB,UAAU;KACX,CAAA;IACD,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AAC7B,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAG1B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,aAAa,cAAc,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,aAAa,CAAA;IAE9C,wEAAwE;IACxE,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IACE,CAAC,MAAM;QACP,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EACnE,CAAC;QACD,MAAM,aAAa,CAAC,YAAY,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,KAAK,EAAE,KAAK;YACZ,SAAS;SACV,CAAC,CAAA;QACF,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,+EAA+E;IAC/E,KAAK,MAAM,CAAC,IAAI,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,SAAQ;QAC/B,IAAI,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjE,MAAM,aAAa,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,yBAAyB,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE;QACrD,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC,CAAA;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,cAAc,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAED,QAAQ,CACN,oBAAoB,SAAS,OAAO,MAAM,YAAY,MAAM,CAAC,UAAU,EAAE,CAC1E,CAAA;IACD,OAAO;QACL,SAAS;QACT,SAAS,EAAE,MAAM;QACjB,MAAM;QACN,OAAO;QACP,gBAAgB,EAAE,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAClE,YAAY,CACb;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAE3B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9D,MAAM,eAAe,GAAG,sBAAsB,CAC5C,MAAM,EACN,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CACjC,CAAA;IAED,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa;YAAE,SAAQ,CAAC,uBAAuB;QACrE,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,SAAQ,CAAC,gCAAgC;QACzE,IAAI,CAAC,CAAC,CAAC,SAAS;YAAE,SAAQ;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAE5B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,MAA0B,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,CAAC,CAAC,IAAI,CAAA;YACf,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,MAAM;QACN,SAAS;QACT,MAAM,EAAE,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC;QACjD,cAAc,EAAE,MAAM,cAAc,CAAC,QAAQ,CAAC;QAC9C,MAAM;KACP,CAAA;AACH,CAAC"}
@@ -168,6 +168,24 @@ export class BaseEngine {
168
168
  async terminateConnections(_container, _database) {
169
169
  // Default: no-op. Override in engines that support connection termination.
170
170
  }
171
+ /**
172
+ * Fix up a freshly branched/cloned data directory before its first start.
173
+ *
174
+ * Branching duplicates a container's data directory verbatim (usually via a
175
+ * copy-on-write reflink). Most engines start happily from a byte-identical
176
+ * copy, but some bake the container's name, port, or cluster identity into
177
+ * on-disk state that must be rewritten for the new container:
178
+ * - ClickHouse: regenerate config.xml (it embeds absolute data/log/pid paths).
179
+ * - Weaviate: self-heals in start() — its RAFT identity check detects the
180
+ * new port and resets cluster state, so no override is needed here.
181
+ * Default implementation is a no-op.
182
+ *
183
+ * @param container - the new container's config, with its final name and port
184
+ * @param options.sourceName - the container it was branched/cloned from
185
+ */
186
+ async prepareBranchedDataDir(_container, _options) {
187
+ // Default: no-op. Override in engines that bake identity into the data dir.
188
+ }
171
189
  /**
172
190
  * Stop pgweb if running for this container.
173
191
  * Called from stop() in engines that support pgweb (PostgreSQL, CockroachDB, FerretDB).
@@ -1 +1 @@
1
- {"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
@@ -290,6 +290,14 @@ export class ClickHouseEngine extends BaseEngine {
290
290
  await writeFile(configPath, configContent);
291
291
  logDebug(`Regenerated ClickHouse config after rename: ${configPath}`);
292
292
  }
293
+ /**
294
+ * After a branch/clone copies the data directory, config.xml still points at
295
+ * the source container's absolute data/log/pid paths. Regenerate it for the
296
+ * new container name and port before first start.
297
+ */
298
+ async prepareBranchedDataDir(container, _options) {
299
+ await this.regenerateConfig(container.name, container.port);
300
+ }
293
301
  // Get the path to clickhouse binary for a version
294
302
  async getClickHousePath(version) {
295
303
  const { platform, arch } = this.getPlatformInfo();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/clickhouse/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/clickhouse/index.ts"],"names":[],"mappings":"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"}
@@ -1118,6 +1118,21 @@ export class FerretDBEngine extends BaseEngine {
1118
1118
  }
1119
1119
  return `postgresql://postgres@127.0.0.1:${backendPort}/ferretdb`;
1120
1120
  }
1121
+ /**
1122
+ * After a branch/clone copies the data directory, the branch inherits the
1123
+ * source's PostgreSQL backend port. Clear it so the next start() allocates a
1124
+ * fresh free port — otherwise the branch's backend collides with the
1125
+ * source's when both run (e.g. during the branch manager's
1126
+ * stop -> snapshot -> restart of the source).
1127
+ */
1128
+ async prepareBranchedDataDir(container, _options) {
1129
+ if (container.backendPort !== undefined) {
1130
+ await containerManager.updateConfig(container.name, {
1131
+ backendPort: undefined,
1132
+ });
1133
+ container.backendPort = undefined;
1134
+ }
1135
+ }
1121
1136
  /**
1122
1137
  * Get the path to mongosh (uses MongoDB's mongosh)
1123
1138
  * FerretDB is MongoDB-compatible, so it uses the same shell