spindb 0.46.5 → 0.47.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/info.js +12 -2
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/link.js +6 -0
- package/dist/cli/commands/link.js.map +1 -1
- package/dist/cli/commands/list.js +4 -1
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/menu/container-handlers.js +25 -7
- package/dist/cli/commands/menu/container-handlers.js.map +1 -1
- package/dist/config/backup-formats.js +11 -11
- package/dist/config/backup-formats.js.map +1 -1
- package/dist/config/version.js +1 -1
- package/dist/core/credential-manager.js +34 -11
- package/dist/core/credential-manager.js.map +1 -1
- package/dist/core/query-parser.js +55 -1
- package/dist/core/query-parser.js.map +1 -1
- package/dist/core/remote-container.js +11 -0
- package/dist/core/remote-container.js.map +1 -1
- package/dist/engines/clickhouse/backup.js +42 -10
- package/dist/engines/clickhouse/backup.js.map +1 -1
- package/dist/engines/clickhouse/restore.js +41 -10
- package/dist/engines/clickhouse/restore.js.map +1 -1
- package/dist/engines/cockroachdb/backup.js +18 -22
- package/dist/engines/cockroachdb/backup.js.map +1 -1
- package/dist/engines/cockroachdb/cli-utils.js +66 -0
- package/dist/engines/cockroachdb/cli-utils.js.map +1 -1
- package/dist/engines/cockroachdb/index.js +199 -116
- package/dist/engines/cockroachdb/index.js.map +1 -1
- package/dist/engines/cockroachdb/restore.js +19 -26
- package/dist/engines/cockroachdb/restore.js.map +1 -1
- package/dist/engines/couchdb/backup.js +13 -4
- package/dist/engines/couchdb/backup.js.map +1 -1
- package/dist/engines/couchdb/index.js +93 -25
- package/dist/engines/couchdb/index.js.map +1 -1
- package/dist/engines/couchdb/restore.js +15 -4
- package/dist/engines/couchdb/restore.js.map +1 -1
- package/dist/engines/ferretdb/backup.js +88 -91
- package/dist/engines/ferretdb/backup.js.map +1 -1
- package/dist/engines/ferretdb/index.js +182 -227
- package/dist/engines/ferretdb/index.js.map +1 -1
- package/dist/engines/ferretdb/restore.js +223 -20
- package/dist/engines/ferretdb/restore.js.map +1 -1
- package/dist/engines/influxdb/api-client.js +1 -1
- package/dist/engines/influxdb/api-client.js.map +1 -1
- package/dist/engines/influxdb/backup.js +25 -5
- package/dist/engines/influxdb/backup.js.map +1 -1
- package/dist/engines/influxdb/index.js +165 -43
- package/dist/engines/influxdb/index.js.map +1 -1
- package/dist/engines/influxdb/restore.js +22 -2
- package/dist/engines/influxdb/restore.js.map +1 -1
- package/dist/engines/mariadb/backup.js +24 -15
- package/dist/engines/mariadb/backup.js.map +1 -1
- package/dist/engines/mariadb/env.js +11 -0
- package/dist/engines/mariadb/env.js.map +1 -0
- package/dist/engines/mariadb/index.js +192 -113
- package/dist/engines/mariadb/index.js.map +1 -1
- package/dist/engines/mariadb/restore.js +28 -5
- package/dist/engines/mariadb/restore.js.map +1 -1
- package/dist/engines/meilisearch/backup.js +8 -4
- package/dist/engines/meilisearch/backup.js.map +1 -1
- package/dist/engines/meilisearch/index.js +55 -58
- package/dist/engines/meilisearch/index.js.map +1 -1
- package/dist/engines/mongo-uri.js +11 -0
- package/dist/engines/mongo-uri.js.map +1 -0
- package/dist/engines/mongodb/backup.js +62 -13
- package/dist/engines/mongodb/backup.js.map +1 -1
- package/dist/engines/mongodb/index.js +170 -108
- package/dist/engines/mongodb/index.js.map +1 -1
- package/dist/engines/mongodb/restore.js +21 -1
- package/dist/engines/mongodb/restore.js.map +1 -1
- package/dist/engines/mysql/backup.js +24 -7
- package/dist/engines/mysql/backup.js.map +1 -1
- package/dist/engines/mysql/index.js +154 -89
- package/dist/engines/mysql/index.js.map +1 -1
- package/dist/engines/mysql/restore.js +14 -4
- package/dist/engines/mysql/restore.js.map +1 -1
- package/dist/engines/postgresql/backup.js +9 -2
- package/dist/engines/postgresql/backup.js.map +1 -1
- package/dist/engines/postgresql/index.js +45 -17
- package/dist/engines/postgresql/index.js.map +1 -1
- package/dist/engines/postgresql/restore.js +7 -3
- package/dist/engines/postgresql/restore.js.map +1 -1
- package/dist/engines/qdrant/backup.js +5 -1
- package/dist/engines/qdrant/backup.js.map +1 -1
- package/dist/engines/qdrant/index.js +31 -2
- package/dist/engines/qdrant/index.js.map +1 -1
- package/dist/engines/qdrant/restore.js +5 -3
- package/dist/engines/qdrant/restore.js.map +1 -1
- package/dist/engines/questdb/auth.js +26 -0
- package/dist/engines/questdb/auth.js.map +1 -0
- package/dist/engines/questdb/backup.js +10 -8
- package/dist/engines/questdb/backup.js.map +1 -1
- package/dist/engines/questdb/index.js +16 -8
- package/dist/engines/questdb/index.js.map +1 -1
- package/dist/engines/questdb/restore.js +7 -5
- package/dist/engines/questdb/restore.js.map +1 -1
- package/dist/engines/redis/backup.js +45 -16
- package/dist/engines/redis/backup.js.map +1 -1
- package/dist/engines/redis/cli-common.js +62 -0
- package/dist/engines/redis/cli-common.js.map +1 -0
- package/dist/engines/redis/index.js +31 -8
- package/dist/engines/redis/index.js.map +1 -1
- package/dist/engines/redis/restore.js +59 -9
- package/dist/engines/redis/restore.js.map +1 -1
- package/dist/engines/surrealdb/auth.js +98 -0
- package/dist/engines/surrealdb/auth.js.map +1 -0
- package/dist/engines/surrealdb/backup.js +72 -9
- package/dist/engines/surrealdb/backup.js.map +1 -1
- package/dist/engines/surrealdb/index.js +84 -144
- package/dist/engines/surrealdb/index.js.map +1 -1
- package/dist/engines/surrealdb/restore.js +32 -31
- package/dist/engines/surrealdb/restore.js.map +1 -1
- package/dist/engines/typedb/backup.js +9 -1
- package/dist/engines/typedb/backup.js.map +1 -1
- package/dist/engines/typedb/cli-utils.js +3 -3
- package/dist/engines/typedb/cli-utils.js.map +1 -1
- package/dist/engines/typedb/index.js +9 -2
- package/dist/engines/typedb/index.js.map +1 -1
- package/dist/engines/typedb/restore.js +19 -7
- package/dist/engines/typedb/restore.js.map +1 -1
- package/dist/engines/valkey/backup.js +37 -13
- package/dist/engines/valkey/backup.js.map +1 -1
- package/dist/engines/valkey/index.js +207 -58
- package/dist/engines/valkey/index.js.map +1 -1
- package/dist/engines/valkey/restore.js +21 -2
- package/dist/engines/valkey/restore.js.map +1 -1
- package/dist/engines/weaviate/backup.js +7 -2
- package/dist/engines/weaviate/backup.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* MongoDB Engine implementation
|
|
3
3
|
* Manages MongoDB database containers using hostdb-downloaded binaries
|
|
4
4
|
*/
|
|
5
|
-
import { spawn
|
|
6
|
-
import { promisify } from 'util';
|
|
5
|
+
import { spawn } from 'child_process';
|
|
7
6
|
import { existsSync } from 'fs';
|
|
8
7
|
import net from 'net';
|
|
9
8
|
import { mkdir, writeFile, readFile, unlink } from 'fs/promises';
|
|
@@ -13,6 +12,7 @@ import { paths } from '../../config/paths.js';
|
|
|
13
12
|
import { getEngineDefaults } from '../../config/defaults.js';
|
|
14
13
|
import { platformService, isWindows } from '../../core/platform-service.js';
|
|
15
14
|
import { configManager } from '../../core/config-manager.js';
|
|
15
|
+
import { getDefaultUsername, loadCredentials } from '../../core/credential-manager.js';
|
|
16
16
|
import { logDebug, logWarning, assertValidDatabaseName, assertValidUsername, } from '../../core/error-handler.js';
|
|
17
17
|
import { processManager } from '../../core/process-manager.js';
|
|
18
18
|
import { mongodbBinaryManager } from './binary-manager.js';
|
|
@@ -21,9 +21,9 @@ import { getBinaryUrl } from './binary-urls.js';
|
|
|
21
21
|
import { detectBackupFormat as detectBackupFormatImpl, restoreBackup, parseConnectionString, } from './restore.js';
|
|
22
22
|
import { createBackup } from './backup.js';
|
|
23
23
|
import { getMongodumpPath, MONGODUMP_NOT_FOUND_ERROR } from './cli-utils.js';
|
|
24
|
-
import {
|
|
24
|
+
import { buildMongoUri } from '../mongo-uri.js';
|
|
25
|
+
import { Engine, Platform, } from '../../types/index.js';
|
|
25
26
|
import { parseMongoDBResult } from '../../core/query-parser.js';
|
|
26
|
-
const execAsync = promisify(exec);
|
|
27
27
|
const ENGINE = 'mongodb';
|
|
28
28
|
const engineDef = getEngineDefaults(ENGINE);
|
|
29
29
|
// Build a mongosh command for inline JavaScript execution
|
|
@@ -261,19 +261,13 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
261
261
|
if (useDetachedSpawn) {
|
|
262
262
|
// macOS/Windows: spawn detached process
|
|
263
263
|
const spawnOpts = {
|
|
264
|
-
stdio: ['ignore', '
|
|
264
|
+
stdio: ['ignore', 'ignore', 'ignore'],
|
|
265
265
|
detached: true,
|
|
266
266
|
};
|
|
267
267
|
if (isWindows()) {
|
|
268
268
|
spawnOpts.windowsHide = true;
|
|
269
269
|
}
|
|
270
270
|
const proc = spawn(mongod, args, spawnOpts);
|
|
271
|
-
proc.stdout?.on('data', (data) => {
|
|
272
|
-
logDebug(`mongod stdout: ${data.toString()}`);
|
|
273
|
-
});
|
|
274
|
-
proc.stderr?.on('data', (data) => {
|
|
275
|
-
logDebug(`mongod stderr: ${data.toString()}`);
|
|
276
|
-
});
|
|
277
271
|
proc.unref();
|
|
278
272
|
// Write PID file
|
|
279
273
|
if (proc.pid) {
|
|
@@ -297,7 +291,7 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
297
291
|
proc.on('close', async (code) => {
|
|
298
292
|
if (code === 0) {
|
|
299
293
|
// MongoDB forked successfully, now wait for it to be ready
|
|
300
|
-
const ready = await this.waitForReady(
|
|
294
|
+
const ready = await this.waitForReady(container);
|
|
301
295
|
if (ready) {
|
|
302
296
|
// Read PID from lock file
|
|
303
297
|
const lockFile = join(dataDir, 'mongod.lock');
|
|
@@ -325,7 +319,7 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
325
319
|
});
|
|
326
320
|
}
|
|
327
321
|
// Wait for MongoDB to be ready (Windows path)
|
|
328
|
-
const ready = await this.waitForReady(
|
|
322
|
+
const ready = await this.waitForReady(container);
|
|
329
323
|
if (!ready) {
|
|
330
324
|
throw new Error('MongoDB failed to start within timeout');
|
|
331
325
|
}
|
|
@@ -354,6 +348,70 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
354
348
|
socket.connect(port, '127.0.0.1');
|
|
355
349
|
});
|
|
356
350
|
}
|
|
351
|
+
async getLocalAuth(containerName) {
|
|
352
|
+
const savedCreds = await loadCredentials(containerName, Engine.MongoDB, getDefaultUsername(Engine.MongoDB));
|
|
353
|
+
if (!savedCreds) {
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
return {
|
|
357
|
+
username: savedCreds.username,
|
|
358
|
+
password: savedCreds.password,
|
|
359
|
+
authDatabase: savedCreds.database || 'admin',
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
async buildLocalMongoshArgs(container, database, options) {
|
|
363
|
+
const savedCreds = await this.getLocalAuth(container.name);
|
|
364
|
+
const args = savedCreds
|
|
365
|
+
? [
|
|
366
|
+
buildMongoUri(container.port, database, savedCreds, container.bindAddress ?? '127.0.0.1'),
|
|
367
|
+
]
|
|
368
|
+
: ['--host', '127.0.0.1', '--port', String(container.port), database];
|
|
369
|
+
if (options?.quiet) {
|
|
370
|
+
args.push('--quiet');
|
|
371
|
+
}
|
|
372
|
+
return args;
|
|
373
|
+
}
|
|
374
|
+
async runLocalMongosh(container, database, options) {
|
|
375
|
+
const mongosh = await this.getMongoshPath();
|
|
376
|
+
const args = await this.buildLocalMongoshArgs(container, database, {
|
|
377
|
+
quiet: options.quiet,
|
|
378
|
+
});
|
|
379
|
+
if (options.eval) {
|
|
380
|
+
args.push('--eval', options.eval);
|
|
381
|
+
}
|
|
382
|
+
if (options.file) {
|
|
383
|
+
args.push('--file', options.file);
|
|
384
|
+
}
|
|
385
|
+
return new Promise((resolve, reject) => {
|
|
386
|
+
const proc = spawn(mongosh, args, {
|
|
387
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
388
|
+
});
|
|
389
|
+
let stdout = '';
|
|
390
|
+
let stderr = '';
|
|
391
|
+
proc.stdout?.on('data', (data) => {
|
|
392
|
+
stdout += data.toString();
|
|
393
|
+
});
|
|
394
|
+
proc.stderr?.on('data', (data) => {
|
|
395
|
+
stderr += data.toString();
|
|
396
|
+
});
|
|
397
|
+
const timeout = setTimeout(() => {
|
|
398
|
+
proc.kill('SIGTERM');
|
|
399
|
+
reject(new Error(`${options.file ? 'mongosh file execution' : 'mongosh command'} timed out after ${(options.timeoutMs ?? 10000) / 1000} seconds`));
|
|
400
|
+
}, options.timeoutMs ?? 10000);
|
|
401
|
+
proc.on('error', (error) => {
|
|
402
|
+
clearTimeout(timeout);
|
|
403
|
+
reject(error);
|
|
404
|
+
});
|
|
405
|
+
proc.on('close', (code) => {
|
|
406
|
+
clearTimeout(timeout);
|
|
407
|
+
if (code !== 0) {
|
|
408
|
+
reject(new Error(stderr || `mongosh exited with code ${code}`));
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
resolve({ stdout, stderr });
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
}
|
|
357
415
|
/**
|
|
358
416
|
* Wait for MongoDB to be ready to accept connections
|
|
359
417
|
*
|
|
@@ -367,7 +425,8 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
367
425
|
* acceptable since MongoDB typically accepts connections shortly after becoming
|
|
368
426
|
* ready, and this avoids requiring mongosh to be installed.
|
|
369
427
|
*/
|
|
370
|
-
async waitForReady(
|
|
428
|
+
async waitForReady(container, timeoutMs = 30000) {
|
|
429
|
+
const { port } = container;
|
|
371
430
|
const startTime = Date.now();
|
|
372
431
|
const checkInterval = 500;
|
|
373
432
|
const mongosh = await configManager.getBinaryPath('mongosh');
|
|
@@ -385,8 +444,11 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
385
444
|
}
|
|
386
445
|
while (Date.now() - startTime < timeoutMs) {
|
|
387
446
|
try {
|
|
388
|
-
|
|
389
|
-
|
|
447
|
+
await this.runLocalMongosh(container, 'admin', {
|
|
448
|
+
eval: 'db.runCommand({ping:1})',
|
|
449
|
+
quiet: true,
|
|
450
|
+
timeoutMs: 5000,
|
|
451
|
+
});
|
|
390
452
|
return true;
|
|
391
453
|
}
|
|
392
454
|
catch {
|
|
@@ -410,8 +472,10 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
410
472
|
const mongosh = await configManager.getBinaryPath('mongosh');
|
|
411
473
|
if (mongosh) {
|
|
412
474
|
try {
|
|
413
|
-
|
|
414
|
-
|
|
475
|
+
await this.runLocalMongosh(container, 'admin', {
|
|
476
|
+
eval: 'db.adminCommand({shutdown:1})',
|
|
477
|
+
timeoutMs: 10000,
|
|
478
|
+
});
|
|
415
479
|
logDebug('MongoDB shutdown command sent');
|
|
416
480
|
// Wait a bit for process to exit
|
|
417
481
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
@@ -474,7 +538,7 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
474
538
|
}
|
|
475
539
|
// Get MongoDB server status
|
|
476
540
|
async status(container) {
|
|
477
|
-
const { name
|
|
541
|
+
const { name } = container;
|
|
478
542
|
const containerDir = paths.getContainerPath(name, { engine: ENGINE });
|
|
479
543
|
const dataDir = paths.getContainerDataPath(name, { engine: ENGINE });
|
|
480
544
|
const pidFile = join(containerDir, 'mongod.pid');
|
|
@@ -483,8 +547,11 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
483
547
|
const mongosh = await configManager.getBinaryPath('mongosh');
|
|
484
548
|
if (mongosh) {
|
|
485
549
|
try {
|
|
486
|
-
|
|
487
|
-
|
|
550
|
+
await this.runLocalMongosh(container, 'admin', {
|
|
551
|
+
eval: 'db.runCommand({ping:1})',
|
|
552
|
+
quiet: true,
|
|
553
|
+
timeoutMs: 5000,
|
|
554
|
+
});
|
|
488
555
|
return { running: true, message: 'MongoDB is running' };
|
|
489
556
|
}
|
|
490
557
|
catch {
|
|
@@ -520,6 +587,7 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
520
587
|
const { port, version } = container;
|
|
521
588
|
const database = options.database || container.database;
|
|
522
589
|
return restoreBackup(backupPath, {
|
|
590
|
+
containerName: container.name,
|
|
523
591
|
port,
|
|
524
592
|
database,
|
|
525
593
|
drop: options.drop !== false,
|
|
@@ -550,16 +618,16 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
550
618
|
}
|
|
551
619
|
// Open mongosh interactive shell
|
|
552
620
|
async connect(container, database) {
|
|
553
|
-
const { port } = container;
|
|
554
621
|
const db = database || container.database || 'test';
|
|
555
622
|
const mongosh = await this.getMongoshPath();
|
|
623
|
+
const args = await this.buildLocalMongoshArgs(container, db);
|
|
556
624
|
// Note: Don't use shell mode - spawn handles paths with spaces correctly
|
|
557
625
|
// when shell: false (the default). Shell mode breaks paths like "C:\Program Files\..."
|
|
558
626
|
const spawnOptions = {
|
|
559
627
|
stdio: 'inherit',
|
|
560
628
|
};
|
|
561
629
|
return new Promise((resolve, reject) => {
|
|
562
|
-
const proc = spawn(mongosh,
|
|
630
|
+
const proc = spawn(mongosh, args, spawnOptions);
|
|
563
631
|
proc.on('error', reject);
|
|
564
632
|
proc.on('close', () => resolve());
|
|
565
633
|
});
|
|
@@ -572,8 +640,6 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
572
640
|
*/
|
|
573
641
|
async createDatabase(container, database) {
|
|
574
642
|
assertValidDatabaseName(database);
|
|
575
|
-
const { port } = container;
|
|
576
|
-
const mongosh = await this.getMongoshPath();
|
|
577
643
|
// MongoDB creates databases implicitly when you write to them.
|
|
578
644
|
// Create a temp collection then immediately drop it to force database creation
|
|
579
645
|
// without leaving any visible marker collections.
|
|
@@ -581,17 +647,19 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
581
647
|
// This ensures cleanup even if a previous createDatabase was interrupted.
|
|
582
648
|
// NOTE: Use db.getCollection() instead of db._spindb_init shorthand because
|
|
583
649
|
// mongosh doesn't support shorthand notation for collection names starting with underscore.
|
|
584
|
-
|
|
585
|
-
|
|
650
|
+
await this.runLocalMongosh(container, database, {
|
|
651
|
+
eval: 'try { db.getCollection("_spindb_init").drop(); } catch(e) {} db.createCollection("_spindb_init"); db.getCollection("_spindb_init").drop();',
|
|
652
|
+
timeoutMs: 10000,
|
|
653
|
+
});
|
|
586
654
|
}
|
|
587
655
|
// Drop a database
|
|
588
656
|
async dropDatabase(container, database) {
|
|
589
657
|
assertValidDatabaseName(database);
|
|
590
|
-
const { port } = container;
|
|
591
|
-
const mongosh = await this.getMongoshPath();
|
|
592
|
-
const cmd = buildMongoshCommand(mongosh, port, database, 'db.dropDatabase()');
|
|
593
658
|
try {
|
|
594
|
-
await
|
|
659
|
+
await this.runLocalMongosh(container, database, {
|
|
660
|
+
eval: 'db.dropDatabase()',
|
|
661
|
+
timeoutMs: 10000,
|
|
662
|
+
});
|
|
595
663
|
}
|
|
596
664
|
catch (error) {
|
|
597
665
|
const err = error;
|
|
@@ -601,12 +669,14 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
601
669
|
}
|
|
602
670
|
// Get the size of the database in bytes
|
|
603
671
|
async getDatabaseSize(container) {
|
|
604
|
-
const {
|
|
672
|
+
const { database } = container;
|
|
605
673
|
const db = database || 'test';
|
|
606
674
|
try {
|
|
607
|
-
const
|
|
608
|
-
|
|
609
|
-
|
|
675
|
+
const { stdout } = await this.runLocalMongosh(container, db, {
|
|
676
|
+
eval: 'JSON.stringify(db.stats())',
|
|
677
|
+
quiet: true,
|
|
678
|
+
timeoutMs: 10000,
|
|
679
|
+
});
|
|
610
680
|
// Defensively extract JSON from output (may contain extra messages)
|
|
611
681
|
const stats = extractJson(stdout);
|
|
612
682
|
return stats?.dataSize || null;
|
|
@@ -670,41 +740,19 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
670
740
|
}
|
|
671
741
|
// Run a JavaScript file or inline script against the database
|
|
672
742
|
async runScript(container, options) {
|
|
673
|
-
const { port } = container;
|
|
674
743
|
const db = options.database || container.database || 'test';
|
|
675
|
-
const mongosh = await this.getMongoshPath();
|
|
676
744
|
if (options.file) {
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
const spawnOptions = {
|
|
681
|
-
stdio: 'inherit',
|
|
682
|
-
};
|
|
683
|
-
return new Promise((resolve, reject) => {
|
|
684
|
-
const proc = spawn(mongosh, [
|
|
685
|
-
'--host',
|
|
686
|
-
'127.0.0.1',
|
|
687
|
-
'--port',
|
|
688
|
-
String(port),
|
|
689
|
-
db,
|
|
690
|
-
'--file',
|
|
691
|
-
options.file,
|
|
692
|
-
], spawnOptions);
|
|
693
|
-
proc.on('error', reject);
|
|
694
|
-
proc.on('close', (code) => {
|
|
695
|
-
if (code === 0) {
|
|
696
|
-
resolve();
|
|
697
|
-
}
|
|
698
|
-
else {
|
|
699
|
-
reject(new Error(`mongosh exited with code ${code}`));
|
|
700
|
-
}
|
|
701
|
-
});
|
|
745
|
+
await this.runLocalMongosh(container, db, {
|
|
746
|
+
file: options.file,
|
|
747
|
+
timeoutMs: 60000,
|
|
702
748
|
});
|
|
703
749
|
}
|
|
704
750
|
else if (options.sql) {
|
|
705
751
|
// Run inline script (using sql field for compatibility, but it's actually JS)
|
|
706
|
-
const
|
|
707
|
-
|
|
752
|
+
const { stdout, stderr } = await this.runLocalMongosh(container, db, {
|
|
753
|
+
eval: options.sql,
|
|
754
|
+
timeoutMs: 60000,
|
|
755
|
+
});
|
|
708
756
|
if (stdout)
|
|
709
757
|
process.stdout.write(stdout);
|
|
710
758
|
if (stderr)
|
|
@@ -766,23 +814,32 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
766
814
|
}
|
|
767
815
|
else if (options?.password) {
|
|
768
816
|
// Local with auth: build URI with credentials
|
|
769
|
-
const
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
817
|
+
const uri = buildMongoUri(port, db, {
|
|
818
|
+
username: options.username || 'admin',
|
|
819
|
+
password: options.password,
|
|
820
|
+
authDatabase: 'admin',
|
|
821
|
+
}, container.bindAddress ?? '127.0.0.1');
|
|
773
822
|
args = [uri, '--quiet', '--eval', wrappedScript];
|
|
774
823
|
}
|
|
775
824
|
else {
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
825
|
+
const savedCreds = await this.getLocalAuth(container.name);
|
|
826
|
+
args = savedCreds
|
|
827
|
+
? [
|
|
828
|
+
buildMongoUri(port, db, savedCreds, container.bindAddress ?? '127.0.0.1'),
|
|
829
|
+
'--quiet',
|
|
830
|
+
'--eval',
|
|
831
|
+
wrappedScript,
|
|
832
|
+
]
|
|
833
|
+
: [
|
|
834
|
+
'--host',
|
|
835
|
+
'127.0.0.1',
|
|
836
|
+
'--port',
|
|
837
|
+
String(port),
|
|
838
|
+
db,
|
|
839
|
+
'--quiet',
|
|
840
|
+
'--eval',
|
|
841
|
+
wrappedScript,
|
|
842
|
+
];
|
|
786
843
|
}
|
|
787
844
|
const { stdout, stderr } = await new Promise((resolve, reject) => {
|
|
788
845
|
const proc = spawn(mongosh, args, {
|
|
@@ -832,39 +889,44 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
832
889
|
* List all user databases, excluding system databases (admin, config, local).
|
|
833
890
|
*/
|
|
834
891
|
async listDatabases(container) {
|
|
835
|
-
const { port } = container;
|
|
836
892
|
const mongosh = await this.getMongoshPath();
|
|
837
893
|
return new Promise((resolve, reject) => {
|
|
838
894
|
// Use JSON output for reliable parsing
|
|
839
895
|
const script = `JSON.stringify(db.adminCommand({listDatabases: 1}).databases.map(d => d.name))`;
|
|
840
|
-
const
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
896
|
+
const launch = async () => {
|
|
897
|
+
const args = await this.buildLocalMongoshArgs(container, 'admin', {
|
|
898
|
+
quiet: true,
|
|
899
|
+
});
|
|
900
|
+
args.push('--eval', script);
|
|
901
|
+
const proc = spawn(mongosh, args, {
|
|
902
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
903
|
+
});
|
|
904
|
+
let stdout = '';
|
|
905
|
+
let stderr = '';
|
|
906
|
+
proc.stdout?.on('data', (data) => {
|
|
907
|
+
stdout += data.toString();
|
|
908
|
+
});
|
|
909
|
+
proc.stderr?.on('data', (data) => {
|
|
910
|
+
stderr += data.toString();
|
|
911
|
+
});
|
|
912
|
+
proc.on('error', reject);
|
|
913
|
+
proc.on('close', (code) => {
|
|
914
|
+
if (code !== 0) {
|
|
915
|
+
reject(new Error(stderr || `mongosh exited with code ${code}`));
|
|
916
|
+
return;
|
|
917
|
+
}
|
|
918
|
+
try {
|
|
919
|
+
const allDatabases = JSON.parse(stdout.trim());
|
|
920
|
+
const systemDatabases = ['admin', 'config', 'local'];
|
|
921
|
+
const databases = allDatabases.filter((db) => !systemDatabases.includes(db));
|
|
922
|
+
resolve(databases);
|
|
923
|
+
}
|
|
924
|
+
catch (error) {
|
|
925
|
+
reject(new Error(`Failed to parse database list: ${error}`));
|
|
926
|
+
}
|
|
927
|
+
});
|
|
928
|
+
};
|
|
929
|
+
void launch().catch(reject);
|
|
868
930
|
});
|
|
869
931
|
}
|
|
870
932
|
async createUser(container, options) {
|
|
@@ -881,7 +943,7 @@ export class MongoDBEngine extends BaseEngine {
|
|
|
881
943
|
// Pass script via stdin to avoid exposing passwords in process listings
|
|
882
944
|
const jsonPwd = JSON.stringify(password);
|
|
883
945
|
const script = `db.getSiblingDB('${db}').createUser({user:'${username}',pwd:${jsonPwd},roles:[{role:'readWrite',db:'${db}'}]})`;
|
|
884
|
-
const mongoshArgs =
|
|
946
|
+
const mongoshArgs = await this.buildLocalMongoshArgs(container, 'admin');
|
|
885
947
|
const runMongoshViaStdin = (js) => new Promise((resolve, reject) => {
|
|
886
948
|
const proc = spawn(mongosh, mongoshArgs, {
|
|
887
949
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/mongodb/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/mongodb/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,11 @@ import { existsSync, readdirSync, statSync } from 'fs';
|
|
|
7
7
|
import { open } from 'fs/promises';
|
|
8
8
|
import { join } from 'path';
|
|
9
9
|
import { logDebug, logWarning } from '../../core/error-handler.js';
|
|
10
|
+
import { getDefaultUsername, loadCredentials } from '../../core/credential-manager.js';
|
|
11
|
+
import { containerManager } from '../../core/container-manager.js';
|
|
10
12
|
import { getMongorestorePath, MONGORESTORE_NOT_FOUND_ERROR } from './cli-utils.js';
|
|
13
|
+
import { buildMongoUri } from '../mongo-uri.js';
|
|
14
|
+
import { Engine } from '../../types/index.js';
|
|
11
15
|
// Detect the format of a MongoDB backup
|
|
12
16
|
export async function detectBackupFormat(filePath) {
|
|
13
17
|
if (!existsSync(filePath)) {
|
|
@@ -100,7 +104,23 @@ export async function restoreBackup(backupPath, options) {
|
|
|
100
104
|
// Detect backup format
|
|
101
105
|
const format = await detectBackupFormat(backupPath);
|
|
102
106
|
logDebug(`Detected backup format: ${format.format}`);
|
|
103
|
-
const
|
|
107
|
+
const savedCreds = options.containerName
|
|
108
|
+
? await loadCredentials(options.containerName, Engine.MongoDB, getDefaultUsername(Engine.MongoDB))
|
|
109
|
+
: null;
|
|
110
|
+
const container = options.containerName
|
|
111
|
+
? await containerManager.getConfig(options.containerName)
|
|
112
|
+
: null;
|
|
113
|
+
const host = container?.bindAddress ?? '127.0.0.1';
|
|
114
|
+
const args = savedCreds
|
|
115
|
+
? [
|
|
116
|
+
'--uri',
|
|
117
|
+
buildMongoUri(port, database, {
|
|
118
|
+
username: savedCreds.username,
|
|
119
|
+
password: savedCreds.password,
|
|
120
|
+
authDatabase: savedCreds.database || 'admin',
|
|
121
|
+
}, host),
|
|
122
|
+
]
|
|
123
|
+
: ['--host', '127.0.0.1', '--port', String(port)];
|
|
104
124
|
if (drop) {
|
|
105
125
|
args.push('--drop');
|
|
106
126
|
}
|