dbdock 1.1.3 → 1.1.5

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.
Files changed (36) hide show
  1. package/README.md +120 -25
  2. package/dist/alerts/alert.service.d.ts +2 -0
  3. package/dist/alerts/alert.service.js +50 -0
  4. package/dist/alerts/alert.service.js.map +1 -1
  5. package/dist/backup/backup.service.js +7 -6
  6. package/dist/backup/backup.service.js.map +1 -1
  7. package/dist/cli/commands/init.js +124 -21
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/cli/commands/migrate-config.d.ts +1 -0
  10. package/dist/cli/commands/migrate-config.js +164 -0
  11. package/dist/cli/commands/migrate-config.js.map +1 -0
  12. package/dist/cli/commands/restore.js +1 -1
  13. package/dist/cli/commands/restore.js.map +1 -1
  14. package/dist/cli/index.js +10 -1
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/config/config.module.js +1 -1
  17. package/dist/config/config.module.js.map +1 -1
  18. package/dist/config/config.schema.d.ts +6 -1
  19. package/dist/config/config.schema.js +31 -0
  20. package/dist/config/config.schema.js.map +1 -1
  21. package/dist/config/config.service.d.ts +2 -0
  22. package/dist/config/config.service.js +63 -5
  23. package/dist/config/config.service.js.map +1 -1
  24. package/dist/config/permissions.checker.d.ts +10 -0
  25. package/dist/config/permissions.checker.js +137 -0
  26. package/dist/config/permissions.checker.js.map +1 -0
  27. package/dist/config/pgpass.helper.d.ts +15 -0
  28. package/dist/config/pgpass.helper.js +184 -0
  29. package/dist/config/pgpass.helper.js.map +1 -0
  30. package/dist/config/secrets.validator.d.ts +17 -0
  31. package/dist/config/secrets.validator.js +208 -0
  32. package/dist/config/secrets.validator.js.map +1 -0
  33. package/dist/utils/logger.d.ts +6 -0
  34. package/dist/utils/logger.js +35 -0
  35. package/dist/utils/logger.js.map +1 -1
  36. package/package.json +2 -1
package/README.md CHANGED
@@ -21,12 +21,13 @@ npx dbdock restore # Restore backup
21
21
 
22
22
  - **Beautiful CLI** - Real-time progress bars, speed tracking, smart filtering
23
23
  - **Multiple Storage** - Local, AWS S3, Cloudflare R2, Cloudinary
24
- - **Security** - AES-256 encryption, Brotli compression
24
+ - **Security First** - Hybrid config (env vars for secrets), AES-256 encryption, credential masking, .pgpass support
25
25
  - **Retention Policies** - Automatic cleanup by count/age with safety nets
26
26
  - **Smart UX** - Intelligent filtering for 100+ backups, clear error messages
27
27
  - **Alerts** - Email (SMTP) and Slack notifications for backups (CLI & Programmatic)
28
28
  - **TypeScript Native** - Full type safety for programmatic usage
29
29
  - **Automation** - Cron schedules, auto-cleanup after backups
30
+ - **Migration Tool** - One command to migrate legacy configs to secure env vars
30
31
 
31
32
  ## Installation
32
33
 
@@ -52,14 +53,27 @@ npx dbdock status
52
53
 
53
54
  ### `dbdock init`
54
55
 
55
- Interactive setup wizard that creates `dbdock.config.json` with:
56
+ Interactive setup wizard that creates secure configuration:
56
57
 
57
58
  - Database connection (host, port, credentials)
58
59
  - Storage provider (Local, S3, R2, Cloudinary)
59
60
  - Encryption/compression settings
60
61
  - Email and Slack alerts (optional)
61
62
 
62
- Auto-adds config to `.gitignore` to protect credentials.
63
+ **Security-first approach:**
64
+ - Saves non-sensitive config to `dbdock.config.json` (safe for git)
65
+ - Saves secrets to `.env` (automatically gitignored)
66
+ - Auto-updates `.gitignore` to exclude sensitive files
67
+
68
+ ### `dbdock migrate-config`
69
+
70
+ Migrate existing configurations with embedded secrets:
71
+
72
+ ```bash
73
+ npx dbdock migrate-config
74
+ ```
75
+
76
+ Extracts secrets from `dbdock.config.json`, creates `.env`, and updates your config to use environment variables.
63
77
 
64
78
  ### `npx dbdock backup`
65
79
 
@@ -221,27 +235,103 @@ dbdock schedule
221
235
 
222
236
  **⚠️ Important:** Schedules only execute when DBDock is integrated into your Node.js application (see Programmatic Usage below). The CLI is for configuration only.
223
237
 
238
+ ## Security Best Practices
239
+
240
+ ### Secure Configuration Management
241
+
242
+ DBDock uses a **hybrid configuration approach** to keep your secrets safe:
243
+
244
+ - **Non-sensitive settings** → `dbdock.config.json` (safe for version control)
245
+ - **Sensitive secrets** → Environment variables (NEVER commit to git)
246
+
247
+ When you run `npx dbdock init`, DBDock automatically:
248
+ - Saves credentials to `.env` (not committed)
249
+ - Saves only non-sensitive config to `dbdock.config.json`
250
+ - Updates `.gitignore` to exclude `.env`
251
+
252
+ **Note:** DBDock reads environment variables from both `.env` and `.env.local` files (with `.env.local` taking priority for local overrides). You can use either file depending on your workflow.
253
+
254
+ ### Environment Variables
255
+
256
+ Set these environment variables for secure credential management:
257
+
258
+ ```bash
259
+ # Database password (Required)
260
+ DBDOCK_DB_PASSWORD=your-database-password
261
+
262
+ # Storage credentials (Required for cloud storage)
263
+ DBDOCK_STORAGE_ACCESS_KEY=your-access-key
264
+ DBDOCK_STORAGE_SECRET_KEY=your-secret-key
265
+
266
+ # Encryption key (Required if encryption enabled)
267
+ # Generate with: openssl rand -hex 32
268
+ DBDOCK_ENCRYPTION_SECRET=64-char-hex-string
269
+
270
+ # Email alerts (Optional)
271
+ DBDOCK_SMTP_USER=your-email@example.com
272
+ DBDOCK_SMTP_PASS=your-app-password
273
+
274
+ # Slack alerts (Optional)
275
+ DBDOCK_SLACK_WEBHOOK=https://hooks.slack.com/services/...
276
+ ```
277
+
278
+ ### Migration from Legacy Config
279
+
280
+ If you have an existing configuration with secrets in `dbdock.config.json`:
281
+
282
+ ```bash
283
+ npx dbdock migrate-config
284
+ ```
285
+
286
+ This command will:
287
+ 1. Extract all secrets from your config file
288
+ 2. Create/update `.env` with the secrets
289
+ 3. Remove secrets from `dbdock.config.json`
290
+ 4. Update `.gitignore` automatically
291
+
292
+ ### Using .pgpass for PostgreSQL
293
+
294
+ For enhanced security, use `.pgpass` instead of environment variables:
295
+
296
+ ```bash
297
+ # Create the file
298
+ touch ~/.pgpass
299
+ chmod 600 ~/.pgpass
300
+
301
+ # Add your connection (format: host:port:database:username:password)
302
+ echo "localhost:5432:myapp:postgres:my-secure-password" >> ~/.pgpass
303
+ ```
304
+
305
+ DBDock will automatically use `.pgpass` when available, which is more secure than `PGPASSWORD` environment variables.
306
+
307
+ ### Security Features
308
+
309
+ - **Automatic credential masking** - All passwords and keys are masked in logs
310
+ - **File permission checking** - Warns about insecure config file permissions
311
+ - **Encryption at rest** - AES-256-GCM encryption for backups
312
+ - **Strict mode** - Optional enforcement of env-only secrets (`DBDOCK_STRICT_MODE=true`)
313
+
314
+ 📖 **[Read the full Security Guide](SECURITY.md)** for deployment best practices, compliance guidelines, and incident response procedures.
315
+
224
316
  ## Configuration
225
317
 
226
- After running `npx dbdock init`, a `dbdock.config.json` file is created:
318
+ After running `npx dbdock init`, a `dbdock.config.json` file is created (without sensitive data):
227
319
 
228
320
  ```json
229
321
  {
322
+ "_comment": "Secrets (passwords, keys) are set via environment variables",
230
323
  "database": {
231
324
  "type": "postgres",
232
325
  "host": "localhost",
233
326
  "port": 5432,
234
327
  "username": "postgres",
235
- "password": "your-password",
236
328
  "database": "myapp"
237
329
  },
238
330
  "storage": {
239
331
  "provider": "s3",
240
332
  "s3": {
241
333
  "bucket": "my-backups",
242
- "region": "us-east-1",
243
- "accessKeyId": "YOUR_ACCESS_KEY",
244
- "secretAccessKey": "YOUR_SECRET_KEY"
334
+ "region": "us-east-1"
245
335
  }
246
336
  },
247
337
  "backup": {
@@ -251,8 +341,7 @@ After running `npx dbdock init`, a `dbdock.config.json` file is created:
251
341
  "level": 6
252
342
  },
253
343
  "encryption": {
254
- "enabled": true,
255
- "key": "64-character-hex-key-generated-with-openssl-or-node-crypto"
344
+ "enabled": true
256
345
  },
257
346
  "retention": {
258
347
  "enabled": true,
@@ -268,11 +357,7 @@ After running `npx dbdock init`, a `dbdock.config.json` file is created:
268
357
  "smtp": {
269
358
  "host": "smtp.gmail.com",
270
359
  "port": 587,
271
- "secure": false,
272
- "auth": {
273
- "user": "your-email@gmail.com",
274
- "pass": "your-app-password"
275
- }
360
+ "secure": false
276
361
  },
277
362
  "from": "backups@yourapp.com",
278
363
  "to": ["admin@yourapp.com"]
@@ -281,6 +366,8 @@ After running `npx dbdock init`, a `dbdock.config.json` file is created:
281
366
  }
282
367
  ```
283
368
 
369
+ **Note:** SMTP credentials (`user`, `pass`) and storage secrets are set via environment variables for security.
370
+
284
371
  ### Storage Providers
285
372
 
286
373
  **Local:**
@@ -297,15 +384,19 @@ After running `npx dbdock init`, a `dbdock.config.json` file is created:
297
384
  "provider": "s3",
298
385
  "s3": {
299
386
  "bucket": "my-backups",
300
- "region": "us-east-1",
301
- "accessKeyId": "YOUR_KEY",
302
- "secretAccessKey": "YOUR_SECRET"
387
+ "region": "us-east-1"
303
388
  }
304
389
  }
305
390
  }
306
391
  ```
307
392
 
308
- Required permissions: `s3:PutObject`, `s3:GetObject`, `s3:ListBucket`, `s3:DeleteObject`
393
+ Set credentials via environment variables:
394
+ ```bash
395
+ DBDOCK_STORAGE_ACCESS_KEY=your-access-key
396
+ DBDOCK_STORAGE_SECRET_KEY=your-secret-key
397
+ ```
398
+
399
+ Required IAM permissions: `s3:PutObject`, `s3:GetObject`, `s3:ListBucket`, `s3:DeleteObject`
309
400
 
310
401
  **Cloudflare R2:**
311
402
 
@@ -316,14 +407,14 @@ Required permissions: `s3:PutObject`, `s3:GetObject`, `s3:ListBucket`, `s3:Delet
316
407
  "s3": {
317
408
  "bucket": "my-backups",
318
409
  "region": "auto",
319
- "endpoint": "https://ACCOUNT_ID.r2.cloudflarestorage.com",
320
- "accessKeyId": "YOUR_KEY",
321
- "secretAccessKey": "YOUR_SECRET"
410
+ "endpoint": "https://ACCOUNT_ID.r2.cloudflarestorage.com"
322
411
  }
323
412
  }
324
413
  }
325
414
  ```
326
415
 
416
+ Set credentials via environment variables (same as S3 above).
417
+
327
418
  **Cloudinary:**
328
419
 
329
420
  ```json
@@ -331,14 +422,18 @@ Required permissions: `s3:PutObject`, `s3:GetObject`, `s3:ListBucket`, `s3:Delet
331
422
  "storage": {
332
423
  "provider": "cloudinary",
333
424
  "cloudinary": {
334
- "cloudName": "your-cloud",
335
- "apiKey": "YOUR_KEY",
336
- "apiSecret": "YOUR_SECRET"
425
+ "cloudName": "your-cloud"
337
426
  }
338
427
  }
339
428
  }
340
429
  ```
341
430
 
431
+ Set credentials via environment variables:
432
+ ```bash
433
+ DBDOCK_CLOUDINARY_API_KEY=your-api-key
434
+ DBDOCK_CLOUDINARY_API_SECRET=your-api-secret
435
+ ```
436
+
342
437
  All cloud backups stored in `dbdock_backups/` folder with format: `backup-YYYY-MM-DD-HH-MM-SS-BACKUPID.sql`
343
438
 
344
439
  ### Retention Policy
@@ -19,6 +19,8 @@ export declare class AlertService {
19
19
  sendStorageErrorAlert(error: Error): Promise<void>;
20
20
  private sendAlert;
21
21
  private sendSlackAlert;
22
+ private sendCustomWebhookAlert;
23
+ private getAlertMessage;
22
24
  private sendEmail;
23
25
  verifyConnection(): Promise<boolean>;
24
26
  }
@@ -88,6 +88,9 @@ let AlertService = AlertService_1 = class AlertService {
88
88
  if (alertsConfig.slackWebhook) {
89
89
  this.logger.log('Slack alerts enabled');
90
90
  }
91
+ if (alertsConfig.customWebhook) {
92
+ this.logger.log('Custom webhook alerts enabled');
93
+ }
91
94
  }
92
95
  setCustomTemplate(type, template) {
93
96
  this.customTemplates[type] = template;
@@ -179,6 +182,15 @@ let AlertService = AlertService_1 = class AlertService {
179
182
  this.logger.error(`Failed to send Slack alert (${alertContext.type}): ${error.message}`);
180
183
  }
181
184
  }
185
+ if (alertsConfig.customWebhook) {
186
+ try {
187
+ await this.sendCustomWebhookAlert(alertsConfig.customWebhook, alertContext);
188
+ this.logger.log(`Custom webhook alert sent: ${alertContext.type}`);
189
+ }
190
+ catch (error) {
191
+ this.logger.error(`Failed to send custom webhook alert (${alertContext.type}): ${error.message}`);
192
+ }
193
+ }
182
194
  }
183
195
  async sendSlackAlert(webhookUrl, context) {
184
196
  let color = '#36a64f';
@@ -232,6 +244,44 @@ let AlertService = AlertService_1 = class AlertService {
232
244
  throw new Error(`Slack API error: ${response.statusText}`);
233
245
  }
234
246
  }
247
+ async sendCustomWebhookAlert(webhookUrl, context) {
248
+ const statusMap = {
249
+ [alert_types_1.AlertType.BACKUP_SUCCESS]: 'success',
250
+ [alert_types_1.AlertType.BACKUP_FAILURE]: 'failure',
251
+ [alert_types_1.AlertType.RETENTION_CLEANUP]: 'info',
252
+ [alert_types_1.AlertType.STORAGE_ERROR]: 'warning',
253
+ };
254
+ const payload = {
255
+ event: context.type,
256
+ timestamp: new Date().toISOString(),
257
+ status: statusMap[context.type],
258
+ database: context.metadata?.database || context.details?.database,
259
+ backupId: context.metadata?.id || context.details?.backupId,
260
+ message: this.getAlertMessage(context),
261
+ details: context.details || {},
262
+ downloadUrl: context.downloadUrl,
263
+ };
264
+ const response = await (0, node_fetch_1.default)(webhookUrl, {
265
+ method: 'POST',
266
+ headers: { 'Content-Type': 'application/json' },
267
+ body: JSON.stringify(payload),
268
+ });
269
+ if (!response.ok) {
270
+ throw new Error(`Webhook error: ${response.status} ${response.statusText}`);
271
+ }
272
+ }
273
+ getAlertMessage(context) {
274
+ switch (context.type) {
275
+ case alert_types_1.AlertType.BACKUP_SUCCESS:
276
+ return `Backup completed successfully for database ${context.details?.database}`;
277
+ case alert_types_1.AlertType.BACKUP_FAILURE:
278
+ return `Backup failed for database ${context.details?.database}: ${context.details?.error}`;
279
+ case alert_types_1.AlertType.RETENTION_CLEANUP:
280
+ return `Retention cleanup: ${context.details?.backupsDeleted} backups deleted`;
281
+ case alert_types_1.AlertType.STORAGE_ERROR:
282
+ return `Storage error: ${context.details?.error}`;
283
+ }
284
+ }
235
285
  async sendEmail(options) {
236
286
  if (!this.transporter) {
237
287
  throw new Error('Email transporter not initialized');
@@ -1 +1 @@
1
- {"version":3,"file":"alert.service.js","sourceRoot":"","sources":["../../src/alerts/alert.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alert.service.js","sourceRoot":"","sources":["../../src/alerts/alert.service.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ const backup_types_1 = require("./backup.types");
57
57
  const child_process_1 = require("child_process");
58
58
  const stream_1 = require("stream");
59
59
  const format_1 = require("../utils/format");
60
+ const pgpass_helper_1 = require("../config/pgpass.helper");
60
61
  let BackupService = BackupService_1 = class BackupService {
61
62
  configService;
62
63
  storageService;
@@ -216,12 +217,12 @@ let BackupService = BackupService_1 = class BackupService {
216
217
  args.push('-t', table);
217
218
  });
218
219
  }
219
- const pgDump = (0, child_process_1.spawn)('pg_dump', args, {
220
- env: {
221
- ...process.env,
222
- PGPASSWORD: pgConfig.password,
223
- },
224
- });
220
+ const usePgPass = (0, pgpass_helper_1.hasPgPassEntry)(pgConfig.host, pgConfig.port, pgConfig.database, pgConfig.user);
221
+ const env = { ...process.env };
222
+ if (!usePgPass && pgConfig.password) {
223
+ env.PGPASSWORD = pgConfig.password;
224
+ }
225
+ const pgDump = (0, child_process_1.spawn)('pg_dump', args, { env });
225
226
  const stderrChunks = [];
226
227
  pgDump.stderr.on('data', (data) => {
227
228
  stderrChunks.push(data);
@@ -1 +1 @@
1
- {"version":3,"file":"backup.service.js","sourceRoot":"","sources":["../../src/backup/backup.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.service.js","sourceRoot":"","sources":["../../src/backup/backup.service.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const logger_1 = require("../utils/logger");
10
10
  const common_1 = require("@nestjs/common");
11
11
  const fs_1 = require("fs");
12
12
  const path_1 = require("path");
13
+ const ENV_FILE = '.env';
13
14
  common_1.Logger.overrideLogger(false);
14
15
  async function initCommand() {
15
16
  logger_1.logger.info('DBDock Setup Wizard');
@@ -459,8 +460,14 @@ async function initCommand() {
459
460
  },
460
461
  }),
461
462
  };
462
- (0, config_1.saveConfig)(config);
463
+ const secrets = extractSecrets(answers);
464
+ const configWithoutSecrets = removeSecretsFromConfig(config);
465
+ (0, config_1.saveConfig)(configWithoutSecrets);
463
466
  logger_1.logger.success(`Configuration saved to ${config_1.CONFIG_FILE}`);
467
+ if (Object.keys(secrets).length > 0) {
468
+ saveSecretsToEnvFile(secrets);
469
+ logger_1.logger.success(`Secrets saved to ${ENV_FILE}`);
470
+ }
464
471
  if (config.storage.provider === 'local' && config.storage.local?.path) {
465
472
  const localPath = config.storage.local.path;
466
473
  if (!(0, fs_1.existsSync)(localPath)) {
@@ -468,7 +475,7 @@ async function initCommand() {
468
475
  logger_1.logger.success(`Created local storage directory: ${localPath}`);
469
476
  }
470
477
  }
471
- const gitignoreStatus = updateGitignore(config);
478
+ const gitignoreStatus = updateGitignore(config, Object.keys(secrets).length > 0);
472
479
  if (gitignoreStatus.configUpdated) {
473
480
  logger_1.logger.success(`${config_1.CONFIG_FILE} added to .gitignore`);
474
481
  }
@@ -484,17 +491,97 @@ async function initCommand() {
484
491
  else if (gitignoreStatus.localPathAlreadyExists) {
485
492
  logger_1.logger.info(`${config.storage.local?.path} is already in .gitignore`);
486
493
  }
494
+ if (gitignoreStatus.envUpdated) {
495
+ logger_1.logger.success(`${ENV_FILE} added to .gitignore`);
496
+ }
497
+ else if (gitignoreStatus.envAlreadyExists) {
498
+ logger_1.logger.info(`${ENV_FILE} is already in .gitignore`);
499
+ }
487
500
  if (answers.enableEmailAlerts || answers.enableSlackAlerts) {
488
501
  logger_1.logger.info('\nNote: Alerts are configured but only work with:');
489
502
  logger_1.logger.log(' - Programmatic usage (NestJS module)');
490
503
  logger_1.logger.log(' - Scheduled backups (cron jobs via the schedule module)');
491
504
  logger_1.logger.log(' - Manual CLI commands (npx dbdock backup) do NOT send alerts');
492
505
  }
506
+ if (Object.keys(secrets).length > 0) {
507
+ logger_1.logger.info('\n🔐 Security Configuration:');
508
+ logger_1.logger.log(` - Non-sensitive config saved to: ${config_1.CONFIG_FILE} (safe for version control)`);
509
+ logger_1.logger.log(` - Secrets saved to: ${ENV_FILE} (DO NOT commit this file)`);
510
+ logger_1.logger.log(' - Both files have been added to .gitignore');
511
+ }
493
512
  logger_1.logger.info('\nNext steps:');
494
513
  logger_1.logger.log(' - Run "npx dbdock test" to verify your configuration');
495
514
  logger_1.logger.log(' - Run "npx dbdock backup" to create your first backup');
496
515
  }
497
- function updateGitignore(config) {
516
+ function extractSecrets(answers) {
517
+ const secrets = {};
518
+ if (answers.password) {
519
+ secrets.DBDOCK_DB_PASSWORD = answers.password;
520
+ }
521
+ if (answers.s3AccessKey) {
522
+ secrets.DBDOCK_STORAGE_ACCESS_KEY = answers.s3AccessKey;
523
+ }
524
+ if (answers.s3SecretKey) {
525
+ secrets.DBDOCK_STORAGE_SECRET_KEY = answers.s3SecretKey;
526
+ }
527
+ if (answers.cloudinaryApiKey) {
528
+ secrets.DBDOCK_CLOUDINARY_API_KEY = answers.cloudinaryApiKey;
529
+ }
530
+ if (answers.cloudinaryApiSecret) {
531
+ secrets.DBDOCK_CLOUDINARY_API_SECRET = answers.cloudinaryApiSecret;
532
+ }
533
+ if (answers.encryptionKey) {
534
+ secrets.DBDOCK_ENCRYPTION_SECRET = answers.encryptionKey;
535
+ }
536
+ if (answers.smtpUser) {
537
+ secrets.DBDOCK_SMTP_USER = answers.smtpUser;
538
+ }
539
+ if (answers.smtpPassword) {
540
+ secrets.DBDOCK_SMTP_PASS = answers.smtpPassword;
541
+ }
542
+ if (answers.slackWebhook) {
543
+ secrets.DBDOCK_SLACK_WEBHOOK = answers.slackWebhook;
544
+ }
545
+ return secrets;
546
+ }
547
+ function removeSecretsFromConfig(config) {
548
+ const cleaned = JSON.parse(JSON.stringify(config));
549
+ if (cleaned.database) {
550
+ delete cleaned.database.password;
551
+ }
552
+ if (cleaned.storage?.s3) {
553
+ delete cleaned.storage.s3.accessKeyId;
554
+ delete cleaned.storage.s3.secretAccessKey;
555
+ }
556
+ if (cleaned.storage?.cloudinary) {
557
+ delete cleaned.storage.cloudinary.apiKey;
558
+ delete cleaned.storage.cloudinary.apiSecret;
559
+ }
560
+ if (cleaned.backup?.encryption) {
561
+ delete cleaned.backup.encryption.key;
562
+ }
563
+ if (cleaned.alerts?.email?.smtp?.auth) {
564
+ delete cleaned.alerts.email.smtp.auth;
565
+ }
566
+ if (cleaned.alerts?.slack) {
567
+ delete cleaned.alerts.slack.webhookUrl;
568
+ }
569
+ return cleaned;
570
+ }
571
+ function saveSecretsToEnvFile(secrets) {
572
+ const envPath = (0, path_1.join)(process.cwd(), ENV_FILE);
573
+ const lines = [
574
+ '# DBDock Secrets - DO NOT COMMIT THIS FILE',
575
+ '# Generated by dbdock init',
576
+ '',
577
+ ];
578
+ for (const [key, value] of Object.entries(secrets)) {
579
+ lines.push(`${key}=${value}`);
580
+ }
581
+ lines.push('');
582
+ (0, fs_1.writeFileSync)(envPath, lines.join('\n'), { mode: 0o600 });
583
+ }
584
+ function updateGitignore(config, hasSecrets = false) {
498
585
  const gitignorePath = (0, path_1.join)(process.cwd(), '.gitignore');
499
586
  const configEntry = config_1.CONFIG_FILE;
500
587
  const entriesToAdd = [configEntry];
@@ -503,52 +590,68 @@ function updateGitignore(config) {
503
590
  const normalizedPath = localPath.replace(/^\.\//, '').replace(/\/$/, '');
504
591
  entriesToAdd.push(normalizedPath);
505
592
  }
593
+ if (hasSecrets) {
594
+ entriesToAdd.push(ENV_FILE);
595
+ }
506
596
  const status = {
507
597
  configUpdated: false,
508
598
  configAlreadyExists: false,
509
599
  localPathUpdated: false,
510
600
  localPathAlreadyExists: false,
601
+ envUpdated: false,
602
+ envAlreadyExists: false,
511
603
  created: false,
512
604
  };
513
605
  if (!(0, fs_1.existsSync)(gitignorePath)) {
514
606
  (0, fs_1.writeFileSync)(gitignorePath, entriesToAdd.join('\n') + '\n');
515
607
  status.created = true;
516
608
  status.configUpdated = true;
517
- if (entriesToAdd.length > 1) {
609
+ if (config.storage.provider === 'local' && config.storage.local?.path) {
518
610
  status.localPathUpdated = true;
519
611
  }
612
+ if (hasSecrets) {
613
+ status.envUpdated = true;
614
+ }
520
615
  return status;
521
616
  }
522
617
  const gitignoreContent = (0, fs_1.readFileSync)(gitignorePath, 'utf-8');
523
618
  const lines = gitignoreContent.split('\n');
524
- const configAlreadyIgnored = lines.some((line) => {
525
- const trimmed = line.trim();
526
- return (trimmed === configEntry ||
527
- trimmed === `/${configEntry}` ||
528
- trimmed === `./${configEntry}`);
529
- });
530
- status.configAlreadyExists = configAlreadyIgnored;
531
- let localPathAlreadyIgnored = false;
532
- if (entriesToAdd.length > 1) {
533
- const localPath = entriesToAdd[1];
534
- localPathAlreadyIgnored = lines.some((line) => {
619
+ const isEntryIgnored = (entry) => {
620
+ return lines.some((line) => {
535
621
  const trimmed = line.trim();
536
- return (trimmed === localPath ||
537
- trimmed === `/${localPath}` ||
538
- trimmed === `./${localPath}` ||
539
- trimmed === `${localPath}/`);
622
+ return (trimmed === entry ||
623
+ trimmed === `/${entry}` ||
624
+ trimmed === `./${entry}` ||
625
+ trimmed === `${entry}/`);
540
626
  });
627
+ };
628
+ const configAlreadyIgnored = isEntryIgnored(configEntry);
629
+ status.configAlreadyExists = configAlreadyIgnored;
630
+ let localPathAlreadyIgnored = false;
631
+ if (config.storage.provider === 'local' && config.storage.local?.path) {
632
+ const normalizedPath = config.storage.local.path.replace(/^\.\//, '').replace(/\/$/, '');
633
+ localPathAlreadyIgnored = isEntryIgnored(normalizedPath);
541
634
  status.localPathAlreadyExists = localPathAlreadyIgnored;
542
635
  }
636
+ let envAlreadyIgnored = false;
637
+ if (hasSecrets) {
638
+ envAlreadyIgnored = isEntryIgnored(ENV_FILE);
639
+ status.envAlreadyExists = envAlreadyIgnored;
640
+ }
543
641
  const newEntries = [];
544
642
  if (!configAlreadyIgnored) {
545
643
  newEntries.push(configEntry);
546
644
  status.configUpdated = true;
547
645
  }
548
- if (entriesToAdd.length > 1 && !localPathAlreadyIgnored) {
549
- newEntries.push(entriesToAdd[1]);
646
+ if (config.storage.provider === 'local' && config.storage.local?.path && !localPathAlreadyIgnored) {
647
+ const normalizedPath = config.storage.local.path.replace(/^\.\//, '').replace(/\/$/, '');
648
+ newEntries.push(normalizedPath);
550
649
  status.localPathUpdated = true;
551
650
  }
651
+ if (hasSecrets && !envAlreadyIgnored) {
652
+ newEntries.push(ENV_FILE);
653
+ status.envUpdated = true;
654
+ }
552
655
  if (newEntries.length > 0) {
553
656
  const needsNewline = gitignoreContent.length > 0 && !gitignoreContent.endsWith('\n');
554
657
  const contentToAdd = needsNewline