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.
- package/README.md +120 -25
- package/dist/alerts/alert.service.d.ts +2 -0
- package/dist/alerts/alert.service.js +50 -0
- package/dist/alerts/alert.service.js.map +1 -1
- package/dist/backup/backup.service.js +7 -6
- package/dist/backup/backup.service.js.map +1 -1
- package/dist/cli/commands/init.js +124 -21
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/migrate-config.d.ts +1 -0
- package/dist/cli/commands/migrate-config.js +164 -0
- package/dist/cli/commands/migrate-config.js.map +1 -0
- package/dist/cli/commands/restore.js +1 -1
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/index.js +10 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config.module.js +1 -1
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/config.schema.d.ts +6 -1
- package/dist/config/config.schema.js +31 -0
- package/dist/config/config.schema.js.map +1 -1
- package/dist/config/config.service.d.ts +2 -0
- package/dist/config/config.service.js +63 -5
- package/dist/config/config.service.js.map +1 -1
- package/dist/config/permissions.checker.d.ts +10 -0
- package/dist/config/permissions.checker.js +137 -0
- package/dist/config/permissions.checker.js.map +1 -0
- package/dist/config/pgpass.helper.d.ts +15 -0
- package/dist/config/pgpass.helper.js +184 -0
- package/dist/config/pgpass.helper.js.map +1 -0
- package/dist/config/secrets.validator.d.ts +17 -0
- package/dist/config/secrets.validator.js +208 -0
- package/dist/config/secrets.validator.js.map +1 -0
- package/dist/utils/logger.d.ts +6 -0
- package/dist/utils/logger.js +35 -0
- package/dist/utils/logger.js.map +1 -1
- 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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6DAA+D;AAC/D,2DAA0D;AAC1D,gEAA4D;AAC5D,6DAAyD;AACzD,+DAA2D;AAC3D,2DAAuD;AACvD,4CAA+C;AAC/C,sDAAqE;AACrE,iDAMwB;AACxB,iDAAsC;AACtC,mCAA6C;AAC7C,4CAAiD;AAG1C,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAKd;IACA;IACA;IACA;IACA;IARO,MAAM,GAAG,IAAI,qBAAY,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IACvD,aAAa,GAAiC,IAAI,CAAC;IAE3D,YACU,aAAkC,EAClC,cAA8B,EAC9B,aAA4B,EAC5B,kBAAsC,EACtC,YAA0B;QAJ1B,kBAAa,GAAb,aAAa,CAAqB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEI,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,kDAAO,MAAM,IAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;QACxC,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAyB,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAmB;YAC/B,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,yBAAU,CAAC,IAAI;YACrC,MAAM,EAAE,2BAAY,CAAC,WAAW;YAChC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ;YACrD,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;YACxE,WAAW,EAAE;gBACX,OAAO,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;gBACnC,SAAS,EAAE,QAAQ;aACpB;SACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,aAAa,GAAoC,IAAI,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GACzC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACnC,aAAa,GAAG,MAAM,CAAC;YACvB,MAAM,OAAO,GAA6B,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,aAAa,GAAG,IAAI,2BAAa,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE5B,IAAI,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,2BAAa,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEhC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAChE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAC3D,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBAC3C,QAAQ,CAAC,UAAU,GAAG,kBAAkB,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,4BAAc,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,aAAa,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAC7D,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE7B,IAAI,cAAc,GAAyB,OAAO,CAAC,CAAC,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,cAAc,GAAG,cAAc,CAAC,IAAI,CAClC,OAAO,CAAC,CAAC,CAA0B,CACZ,CAAC;YAC5B,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACxD,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE;gBACrE,GAAG,EAAE,QAAQ,CAAC,UAAU;gBACxB,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,IAAI,MAAM;oBACrD,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBAC7D;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAE5D,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC3C,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YAC5D,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;YAClD,QAAQ,CAAC,aAAa,GAAG,IAAA,uBAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,QAAQ,CAAC,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YAEhE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,MAAM,GAAG,2BAAY,CAAC,SAAS,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAElC,IAAI,WAA+B,CAAC;YAEpC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC;oBACtD,GAAG,EAAE,YAAY,CAAC,GAAG;oBACrB,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEtE,OAAO;gBACL,QAAQ;gBACR,UAAU,EAAE,YAAY,CAAC,GAAG;gBAC5B,WAAW;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,MAAM,GAAG,2BAAY,CAAC,MAAM,CAAC;YACtC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;YAC9B,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAE9B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAElC,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAErE,MAAM,UAAU,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAAsB;QAI/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAIpD,MAAM,SAAS,GAA2B;YACxC,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,WAAW;YACtB,GAAG,EAAE,KAAK;SACX,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;QAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;QAE/C,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,QAAQ,CAAC,IAAI;YACb,IAAI;YACJ,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,IAAI;YACJ,QAAQ,CAAC,IAAI;YACb,IAAI;YACJ,QAAQ,CAAC,QAAQ;YACjB,YAAY,QAAQ,EAAE;YACtB,WAAW;SACZ,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,IAAI,EAAE;YACpC,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,UAAU,EAAE,QAAQ,CAAC,QAAQ;aAC9B;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4BAA4B,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3E,CAAC;YAEF,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,4BAA4B,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,EAAE,CAC5F,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACpD,CAAC;IAEO,kBAAkB,CACxB,QAAgB,EAChB,SAAe,EACf,SAAiB,QAAQ;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;QAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,SAAS;aACtB,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjB,MAAM,YAAY,GAA2B;YAC3C,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,KAAK;SACX,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;QAEhD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,aAAa,CAAC,QAAQ,KAAK,+BAAe,CAAC,KAAK,EAAE,CAAC;YACrD,OAAO,GAAG,QAAQ,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACtE,CAAC;QAED,OAAO,WAAW,QAAQ,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;IAC9E,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAwB;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,GAAG,QAAQ,CAAC,UAAU,gBAAgB,CAAC;QAE3D,MAAM,cAAc,GAAG,iBAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,MAAM,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE;YAChD,GAAG,EAAE,WAAW;YAChB,WAAW,EAAE,kBAAkB;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,MAAM,GACV,aAAa,CAAC,QAAQ,KAAK,+BAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/C,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACjC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC1E,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC;YACjD,GAAG,EAAE,cAAc,CAAC,GAAG;SACxB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAmB,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,MAAM,GACV,aAAa,CAAC,QAAQ,KAAK,+BAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/C,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACnC,CAAC;QAEF,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAmB,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AAzVY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAMc,oCAAmB;QAClB,gCAAc;QACf,8BAAa;QACR,wCAAkB;QACxB,4BAAY;GATzB,aAAa,CAyVzB"}
|
|
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
|
-
|
|
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
|
|
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 (
|
|
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
|
|
525
|
-
|
|
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 ===
|
|
537
|
-
trimmed === `/${
|
|
538
|
-
trimmed === `./${
|
|
539
|
-
trimmed === `${
|
|
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 (
|
|
549
|
-
|
|
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
|