dbdock 1.1.1 → 1.1.3
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 +64 -46
- package/dist/alerts/alert.service.d.ts +1 -0
- package/dist/alerts/alert.service.js +101 -39
- package/dist/alerts/alert.service.js.map +1 -1
- package/dist/backup/backup.service.js +9 -4
- package/dist/backup/backup.service.js.map +1 -1
- package/dist/cli/commands/backup.js +51 -142
- package/dist/cli/commands/backup.js.map +1 -1
- package/dist/cli/commands/init.js +51 -24
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/restore.js +70 -9
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/test.js +92 -13
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/utils/config.d.ts +4 -0
- package/dist/cli/utils/config.js.map +1 -1
- package/dist/config/config.schema.d.ts +6 -5
- package/dist/config/config.schema.js +11 -0
- package/dist/config/config.schema.js.map +1 -1
- package/dist/config/config.service.js +13 -9
- package/dist/config/config.service.js.map +1 -1
- package/dist/storage/storage.service.js +15 -1
- package/dist/storage/storage.service.js.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/wal/wal-archiver.service.js +8 -3
- package/dist/wal/wal-archiver.service.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ npx dbdock restore # Restore backup
|
|
|
24
24
|
- **Security** - AES-256 encryption, Brotli compression
|
|
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
30
|
|
|
@@ -57,7 +57,7 @@ Interactive setup wizard that creates `dbdock.config.json` with:
|
|
|
57
57
|
- Database connection (host, port, credentials)
|
|
58
58
|
- Storage provider (Local, S3, R2, Cloudinary)
|
|
59
59
|
- Encryption/compression settings
|
|
60
|
-
- Email alerts (optional)
|
|
60
|
+
- Email and Slack alerts (optional)
|
|
61
61
|
|
|
62
62
|
Auto-adds config to `.gitignore` to protect credentials.
|
|
63
63
|
|
|
@@ -115,6 +115,15 @@ Progress:
|
|
|
115
115
|
- Date range (24h, 7d, 30d, 90d, custom)
|
|
116
116
|
- Search by keyword/ID
|
|
117
117
|
|
|
118
|
+
**Migration Support:**
|
|
119
|
+
|
|
120
|
+
You can choose to restore to a **New Database Instance** during the restore process. This is perfect for migrating data between servers (e.g., from staging to production or local to cloud).
|
|
121
|
+
|
|
122
|
+
1. Run `npx dbdock restore`
|
|
123
|
+
2. Select a backup
|
|
124
|
+
3. Choose "New Database Instance (Migrate)"
|
|
125
|
+
4. Enter connection details for the target database
|
|
126
|
+
|
|
118
127
|
Shows database stats and requires confirmation before restore.
|
|
119
128
|
|
|
120
129
|
### `npx dbdock list`
|
|
@@ -534,12 +543,12 @@ startScheduler().catch(console.error);
|
|
|
534
543
|
|
|
535
544
|
**Note:** The CLI `dbdock schedule` command manages configuration for external schedulers but does not run a daemon itself. Using `node-cron` as shown above is the recommended way to run scheduled backups programmatically.
|
|
536
545
|
|
|
537
|
-
###
|
|
538
|
-
|
|
539
|
-
DBDock can send
|
|
540
|
-
|
|
546
|
+
### Alerts
|
|
547
|
+
|
|
548
|
+
DBDock can send notifications when backups complete (success or failure) via Email and Slack. Alerts work with both **programmatic usage** and **CLI commands**.
|
|
549
|
+
|
|
541
550
|
**Configuration in `dbdock.config.json`:**
|
|
542
|
-
|
|
551
|
+
|
|
543
552
|
```json
|
|
544
553
|
{
|
|
545
554
|
"database": { ... },
|
|
@@ -559,13 +568,24 @@ DBDock can send email notifications when backups complete (success or failure).
|
|
|
559
568
|
},
|
|
560
569
|
"from": "backups@yourapp.com",
|
|
561
570
|
"to": ["admin@yourapp.com", "devops@yourapp.com"]
|
|
571
|
+
},
|
|
572
|
+
"slack": {
|
|
573
|
+
"enabled": true,
|
|
574
|
+
"webhookUrl": "https://hooks.slack.com/services/..."
|
|
562
575
|
}
|
|
563
576
|
}
|
|
564
577
|
}
|
|
565
578
|
```
|
|
566
|
-
|
|
579
|
+
|
|
580
|
+
**Slack Configuration:**
|
|
581
|
+
|
|
582
|
+
1. Create a Slack App or use an existing one.
|
|
583
|
+
2. Enable "Incoming Webhooks".
|
|
584
|
+
3. Create a new Webhook URL for your channel.
|
|
585
|
+
4. Run `npx dbdock init` and paste the URL when prompted.
|
|
586
|
+
|
|
567
587
|
**SMTP Provider Examples:**
|
|
568
|
-
|
|
588
|
+
|
|
569
589
|
_Gmail:_
|
|
570
590
|
```json
|
|
571
591
|
{
|
|
@@ -580,9 +600,9 @@ _Gmail:_
|
|
|
580
600
|
}
|
|
581
601
|
}
|
|
582
602
|
```
|
|
583
|
-
|
|
603
|
+
|
|
584
604
|
> **Note:** For Gmail, you need to [create an App Password](https://support.google.com/accounts/answer/185833) instead of using your regular password.
|
|
585
|
-
|
|
605
|
+
|
|
586
606
|
_SendGrid:_
|
|
587
607
|
```json
|
|
588
608
|
{
|
|
@@ -597,7 +617,7 @@ _SendGrid:_
|
|
|
597
617
|
}
|
|
598
618
|
}
|
|
599
619
|
```
|
|
600
|
-
|
|
620
|
+
|
|
601
621
|
_AWS SES:_
|
|
602
622
|
```json
|
|
603
623
|
{
|
|
@@ -612,7 +632,7 @@ _AWS SES:_
|
|
|
612
632
|
}
|
|
613
633
|
}
|
|
614
634
|
```
|
|
615
|
-
|
|
635
|
+
|
|
616
636
|
_Mailgun:_
|
|
617
637
|
```json
|
|
618
638
|
{
|
|
@@ -627,61 +647,59 @@ _Mailgun:_
|
|
|
627
647
|
}
|
|
628
648
|
}
|
|
629
649
|
```
|
|
630
|
-
|
|
631
|
-
**Using
|
|
632
|
-
|
|
633
|
-
Once configured in `dbdock.config.json`,
|
|
634
|
-
|
|
650
|
+
|
|
651
|
+
**Using Alerts Programmatically:**
|
|
652
|
+
|
|
653
|
+
Once configured in `dbdock.config.json`, alerts are sent automatically when you create backups programmatically:
|
|
654
|
+
|
|
635
655
|
```javascript
|
|
636
656
|
const { createDBDock, BackupService } = require('dbdock');
|
|
637
|
-
|
|
638
|
-
async function
|
|
657
|
+
|
|
658
|
+
async function createBackupWithAlerts() {
|
|
639
659
|
const dbdock = await createDBDock();
|
|
640
660
|
const backupService = dbdock.get(BackupService);
|
|
641
|
-
|
|
642
|
-
//
|
|
661
|
+
|
|
662
|
+
// Alerts will be sent automatically after backup completes
|
|
643
663
|
const result = await backupService.createBackup({
|
|
644
664
|
compress: true,
|
|
645
665
|
encrypt: true,
|
|
646
666
|
});
|
|
647
|
-
|
|
667
|
+
|
|
648
668
|
console.log(`Backup created: ${result.metadata.id}`);
|
|
649
|
-
//
|
|
669
|
+
// Alerts sent to configured channels
|
|
650
670
|
}
|
|
651
|
-
|
|
652
|
-
|
|
671
|
+
|
|
672
|
+
createBackupWithAlerts().catch(console.error);
|
|
653
673
|
```
|
|
654
|
-
|
|
655
|
-
**
|
|
656
|
-
|
|
657
|
-
Success
|
|
674
|
+
|
|
675
|
+
**Alert Content:**
|
|
676
|
+
|
|
677
|
+
Success alerts include:
|
|
658
678
|
- Backup ID
|
|
659
679
|
- Database name
|
|
660
680
|
- Size (original and compressed)
|
|
661
681
|
- Duration
|
|
662
682
|
- Storage location
|
|
663
683
|
- Encryption status
|
|
664
|
-
|
|
665
|
-
Failure
|
|
684
|
+
|
|
685
|
+
Failure alerts include:
|
|
666
686
|
- Error message
|
|
667
687
|
- Database details
|
|
668
688
|
- Timestamp
|
|
669
689
|
- Helpful troubleshooting tips
|
|
670
|
-
|
|
671
|
-
**Testing
|
|
672
|
-
|
|
673
|
-
Run `npx dbdock test` to validate your
|
|
674
|
-
|
|
690
|
+
|
|
691
|
+
**Testing Alert Configuration:**
|
|
692
|
+
|
|
693
|
+
Run `npx dbdock test` to validate your configuration without creating a backup.
|
|
694
|
+
|
|
675
695
|
**Important Notes:**
|
|
676
|
-
|
|
677
|
-
- ✅
|
|
678
|
-
- ✅
|
|
679
|
-
-
|
|
680
|
-
-
|
|
681
|
-
- Multiple recipients supported in the `to` array
|
|
682
|
-
-
|
|
683
|
-
|
|
684
|
-
|
|
696
|
+
|
|
697
|
+
- ✅ Alerts work with programmatic usage (`createBackup()`)
|
|
698
|
+
- ✅ Alerts work with scheduled backups (cron jobs in your app)
|
|
699
|
+
- ✅ Alerts work with CLI commands (`npx dbdock backup`)
|
|
700
|
+
- Configuration is read from `dbdock.config.json` automatically
|
|
701
|
+
- Multiple recipients supported in the `to` array for email
|
|
702
|
+
- Alerts are sent asynchronously (won't block backup completion)
|
|
685
703
|
|
|
686
704
|
## Requirements
|
|
687
705
|
|
|
@@ -41,6 +41,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
41
41
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
42
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
43
|
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
44
47
|
var AlertService_1;
|
|
45
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
49
|
exports.AlertService = void 0;
|
|
@@ -49,6 +52,7 @@ const nodemailer = __importStar(require("nodemailer"));
|
|
|
49
52
|
const config_service_1 = require("../config/config.service");
|
|
50
53
|
const alert_types_1 = require("./alert.types");
|
|
51
54
|
const alert_templates_1 = require("./alert-templates");
|
|
55
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
52
56
|
let AlertService = AlertService_1 = class AlertService {
|
|
53
57
|
configService;
|
|
54
58
|
logger = new common_1.Logger(AlertService_1.name);
|
|
@@ -61,23 +65,28 @@ let AlertService = AlertService_1 = class AlertService {
|
|
|
61
65
|
initializeTransporter() {
|
|
62
66
|
const alertsConfig = this.configService.get('alerts');
|
|
63
67
|
if (!alertsConfig) {
|
|
64
|
-
this.logger.log('
|
|
68
|
+
this.logger.log('Alerts disabled - no alerts configuration found');
|
|
65
69
|
return;
|
|
66
70
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
71
|
+
if (alertsConfig.smtpHost) {
|
|
72
|
+
try {
|
|
73
|
+
this.transporter = nodemailer.createTransport({
|
|
74
|
+
host: alertsConfig.smtpHost,
|
|
75
|
+
port: alertsConfig.smtpPort,
|
|
76
|
+
secure: alertsConfig.smtpPort === 465,
|
|
77
|
+
auth: {
|
|
78
|
+
user: alertsConfig.smtpUser,
|
|
79
|
+
pass: alertsConfig.smtpPass,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
this.logger.log(`Email alerts enabled - configured for ${alertsConfig.smtpHost}:${alertsConfig.smtpPort}`);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
this.logger.error(`Failed to initialize email transporter: ${error.message}`);
|
|
86
|
+
}
|
|
78
87
|
}
|
|
79
|
-
|
|
80
|
-
this.logger.
|
|
88
|
+
if (alertsConfig.slackWebhook) {
|
|
89
|
+
this.logger.log('Slack alerts enabled');
|
|
81
90
|
}
|
|
82
91
|
}
|
|
83
92
|
setCustomTemplate(type, template) {
|
|
@@ -85,8 +94,6 @@ let AlertService = AlertService_1 = class AlertService {
|
|
|
85
94
|
this.logger.log(`Custom template set for alert type: ${type}`);
|
|
86
95
|
}
|
|
87
96
|
async sendBackupSuccessAlert(metadata, downloadUrl) {
|
|
88
|
-
if (!this.transporter)
|
|
89
|
-
return;
|
|
90
97
|
const context = {
|
|
91
98
|
database: metadata.database,
|
|
92
99
|
backupId: metadata.id,
|
|
@@ -104,8 +111,6 @@ let AlertService = AlertService_1 = class AlertService {
|
|
|
104
111
|
});
|
|
105
112
|
}
|
|
106
113
|
async sendBackupFailureAlert(metadata, error) {
|
|
107
|
-
if (!this.transporter)
|
|
108
|
-
return;
|
|
109
114
|
const context = {
|
|
110
115
|
database: metadata.database,
|
|
111
116
|
backupId: metadata.id,
|
|
@@ -120,8 +125,6 @@ let AlertService = AlertService_1 = class AlertService {
|
|
|
120
125
|
});
|
|
121
126
|
}
|
|
122
127
|
async sendRetentionCleanupAlert(details) {
|
|
123
|
-
if (!this.transporter)
|
|
124
|
-
return;
|
|
125
128
|
const context = {
|
|
126
129
|
backupsDeleted: details.backupsDeleted,
|
|
127
130
|
walFilesDeleted: details.walFilesDeleted,
|
|
@@ -134,8 +137,6 @@ let AlertService = AlertService_1 = class AlertService {
|
|
|
134
137
|
});
|
|
135
138
|
}
|
|
136
139
|
async sendStorageErrorAlert(error) {
|
|
137
|
-
if (!this.transporter)
|
|
138
|
-
return;
|
|
139
140
|
const context = {
|
|
140
141
|
error: error.message,
|
|
141
142
|
timestamp: new Date().toLocaleString(),
|
|
@@ -147,27 +148,88 @@ let AlertService = AlertService_1 = class AlertService {
|
|
|
147
148
|
});
|
|
148
149
|
}
|
|
149
150
|
async sendAlert(alertContext) {
|
|
150
|
-
if (!this.transporter)
|
|
151
|
-
return;
|
|
152
151
|
const alertsConfig = this.configService.get('alerts');
|
|
153
152
|
if (!alertsConfig)
|
|
154
153
|
return;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
154
|
+
if (this.transporter && alertsConfig.to) {
|
|
155
|
+
try {
|
|
156
|
+
const template = this.customTemplates[alertContext.type] ||
|
|
157
|
+
alert_templates_1.DEFAULT_TEMPLATES[alertContext.type];
|
|
158
|
+
const subject = (0, alert_templates_1.renderTemplate)(template.subject, alertContext.details || {});
|
|
159
|
+
const html = (0, alert_templates_1.renderTemplate)(template.body, alertContext.details || {});
|
|
160
|
+
const text = html.replace(/<[^>]*>/g, '');
|
|
161
|
+
await this.sendEmail({
|
|
162
|
+
to: alertsConfig.to,
|
|
163
|
+
subject,
|
|
164
|
+
html,
|
|
165
|
+
text,
|
|
166
|
+
});
|
|
167
|
+
this.logger.log(`Email alert sent: ${alertContext.type} to ${alertsConfig.to.join(', ')}`);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
this.logger.error(`Failed to send email alert (${alertContext.type}): ${error.message}`);
|
|
171
|
+
}
|
|
168
172
|
}
|
|
169
|
-
|
|
170
|
-
|
|
173
|
+
if (alertsConfig.slackWebhook) {
|
|
174
|
+
try {
|
|
175
|
+
await this.sendSlackAlert(alertsConfig.slackWebhook, alertContext);
|
|
176
|
+
this.logger.log(`Slack alert sent: ${alertContext.type}`);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
this.logger.error(`Failed to send Slack alert (${alertContext.type}): ${error.message}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async sendSlackAlert(webhookUrl, context) {
|
|
184
|
+
let color = '#36a64f';
|
|
185
|
+
let title = 'DBDock Alert';
|
|
186
|
+
let text = '';
|
|
187
|
+
switch (context.type) {
|
|
188
|
+
case alert_types_1.AlertType.BACKUP_SUCCESS:
|
|
189
|
+
title = '✅ Backup Successful';
|
|
190
|
+
text = `Database: *${context.details?.database}*\nSize: ${context.details?.size} MB\nDuration: ${context.details?.duration}s`;
|
|
191
|
+
break;
|
|
192
|
+
case alert_types_1.AlertType.BACKUP_FAILURE:
|
|
193
|
+
color = '#dc3545';
|
|
194
|
+
title = '❌ Backup Failed';
|
|
195
|
+
text = `Database: *${context.details?.database}*\nError: ${context.details?.error}`;
|
|
196
|
+
break;
|
|
197
|
+
case alert_types_1.AlertType.RETENTION_CLEANUP:
|
|
198
|
+
color = '#17a2b8';
|
|
199
|
+
title = '🧹 Retention Cleanup';
|
|
200
|
+
text = `Deleted ${context.details?.backupsDeleted} backups\nFreed ${context.details?.spaceFreed} MB`;
|
|
201
|
+
break;
|
|
202
|
+
case alert_types_1.AlertType.STORAGE_ERROR:
|
|
203
|
+
color = '#ffc107';
|
|
204
|
+
title = '⚠️ Storage Error';
|
|
205
|
+
text = `Error: ${context.details?.error}`;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
const payload = {
|
|
209
|
+
attachments: [
|
|
210
|
+
{
|
|
211
|
+
color,
|
|
212
|
+
title,
|
|
213
|
+
text,
|
|
214
|
+
fields: Object.entries(context.details || {})
|
|
215
|
+
.filter(([key]) => !['database', 'size', 'duration', 'error', 'backupsDeleted', 'spaceFreed'].includes(key))
|
|
216
|
+
.map(([key, value]) => ({
|
|
217
|
+
title: key.charAt(0).toUpperCase() + key.slice(1),
|
|
218
|
+
value: String(value),
|
|
219
|
+
short: true,
|
|
220
|
+
})),
|
|
221
|
+
footer: 'DBDock',
|
|
222
|
+
ts: Math.floor(Date.now() / 1000),
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
};
|
|
226
|
+
const response = await (0, node_fetch_1.default)(webhookUrl, {
|
|
227
|
+
method: 'POST',
|
|
228
|
+
headers: { 'Content-Type': 'application/json' },
|
|
229
|
+
body: JSON.stringify(payload),
|
|
230
|
+
});
|
|
231
|
+
if (!response.ok) {
|
|
232
|
+
throw new Error(`Slack API error: ${response.statusText}`);
|
|
171
233
|
}
|
|
172
234
|
}
|
|
173
235
|
async sendEmail(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.service.js","sourceRoot":"","sources":["../../src/alerts/alert.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"alert.service.js","sourceRoot":"","sources":["../../src/alerts/alert.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -171,12 +171,17 @@ let BackupService = BackupService_1 = class BackupService {
|
|
|
171
171
|
}
|
|
172
172
|
catch (error) {
|
|
173
173
|
metadata.status = backup_types_1.BackupStatus.FAILED;
|
|
174
|
-
|
|
174
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
175
|
+
metadata.error = errorMessage;
|
|
175
176
|
metadata.endTime = new Date();
|
|
176
|
-
|
|
177
|
+
const cleanError = new Error(errorMessage);
|
|
178
|
+
if (error instanceof Error && error.name) {
|
|
179
|
+
cleanError.name = error.name;
|
|
180
|
+
}
|
|
181
|
+
this.logger.logBackupError(backupId, cleanError);
|
|
177
182
|
await this.saveMetadata(metadata);
|
|
178
|
-
await this.alertService.sendBackupFailureAlert(metadata,
|
|
179
|
-
throw
|
|
183
|
+
await this.alertService.sendBackupFailureAlert(metadata, cleanError);
|
|
184
|
+
throw cleanError;
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
187
|
createPgDumpStream(options) {
|
|
@@ -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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"}
|