proagents 1.6.17 → 1.6.18
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/.claude/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +13 -23
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,571 +0,0 @@
|
|
|
1
|
-
# Backup & Recovery
|
|
2
|
-
|
|
3
|
-
Comprehensive backup strategies and recovery procedures.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
Regular backups ensure data can be recovered after any failure scenario.
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
13
|
-
│ Backup Strategy │
|
|
14
|
-
├─────────────────────────────────────────────────────────────┤
|
|
15
|
-
│ │
|
|
16
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
17
|
-
│ │ Continuous │ │ Daily │ │ Weekly │ │
|
|
18
|
-
│ │ Replication│ │ Backups │ │ Backups │ │
|
|
19
|
-
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
20
|
-
│ │ │ │ │
|
|
21
|
-
│ ▼ ▼ ▼ │
|
|
22
|
-
│ ┌─────────────────────────────────────────────────┐ │
|
|
23
|
-
│ │ Multi-Region Storage │ │
|
|
24
|
-
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
|
|
25
|
-
│ │ │ Region A│ │ Region B│ │ Archive │ │ │
|
|
26
|
-
│ │ └─────────┘ └─────────┘ └─────────┘ │ │
|
|
27
|
-
│ └─────────────────────────────────────────────────┘ │
|
|
28
|
-
│ │
|
|
29
|
-
└─────────────────────────────────────────────────────────────┘
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Backup Types
|
|
35
|
-
|
|
36
|
-
### 1. Database Backups
|
|
37
|
-
|
|
38
|
-
| Type | Frequency | Retention | Use Case |
|
|
39
|
-
|------|-----------|-----------|----------|
|
|
40
|
-
| Continuous | Real-time | 7 days | Point-in-time recovery |
|
|
41
|
-
| Full | Daily | 30 days | Major recovery |
|
|
42
|
-
| Weekly | Weekly | 90 days | Long-term recovery |
|
|
43
|
-
| Monthly | Monthly | 1 year | Compliance/Archive |
|
|
44
|
-
|
|
45
|
-
### 2. Application State
|
|
46
|
-
|
|
47
|
-
| Component | Frequency | Retention |
|
|
48
|
-
|-----------|-----------|-----------|
|
|
49
|
-
| Configuration | On change | 90 days |
|
|
50
|
-
| Secrets/Keys | On change | 90 days |
|
|
51
|
-
| Feature flags | On change | 30 days |
|
|
52
|
-
|
|
53
|
-
### 3. Code & Artifacts
|
|
54
|
-
|
|
55
|
-
| Component | Frequency | Retention |
|
|
56
|
-
|-----------|-----------|-----------|
|
|
57
|
-
| Git repository | Continuous | Indefinite |
|
|
58
|
-
| Build artifacts | On build | 30 days |
|
|
59
|
-
| Container images | On build | 90 days |
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Backup Configuration
|
|
64
|
-
|
|
65
|
-
### Basic Configuration
|
|
66
|
-
|
|
67
|
-
```yaml
|
|
68
|
-
# proagents.config.yaml
|
|
69
|
-
|
|
70
|
-
backup:
|
|
71
|
-
enabled: true
|
|
72
|
-
|
|
73
|
-
# Database backups
|
|
74
|
-
database:
|
|
75
|
-
type: "postgres" # postgres, mysql, mongodb
|
|
76
|
-
continuous:
|
|
77
|
-
enabled: true
|
|
78
|
-
retention_days: 7
|
|
79
|
-
daily:
|
|
80
|
-
enabled: true
|
|
81
|
-
time: "02:00"
|
|
82
|
-
retention_days: 30
|
|
83
|
-
weekly:
|
|
84
|
-
enabled: true
|
|
85
|
-
day: "sunday"
|
|
86
|
-
retention_days: 90
|
|
87
|
-
|
|
88
|
-
# Application state
|
|
89
|
-
application:
|
|
90
|
-
config:
|
|
91
|
-
on_change: true
|
|
92
|
-
retention_days: 90
|
|
93
|
-
secrets:
|
|
94
|
-
on_change: true
|
|
95
|
-
encryption: true
|
|
96
|
-
|
|
97
|
-
# Storage destinations
|
|
98
|
-
storage:
|
|
99
|
-
primary:
|
|
100
|
-
type: "s3"
|
|
101
|
-
bucket: "company-backups"
|
|
102
|
-
region: "us-east-1"
|
|
103
|
-
secondary:
|
|
104
|
-
type: "gcs"
|
|
105
|
-
bucket: "company-backups-dr"
|
|
106
|
-
region: "us-west1"
|
|
107
|
-
|
|
108
|
-
# Encryption
|
|
109
|
-
encryption:
|
|
110
|
-
enabled: true
|
|
111
|
-
algorithm: "AES-256"
|
|
112
|
-
key_management: "aws-kms"
|
|
113
|
-
|
|
114
|
-
# Verification
|
|
115
|
-
verification:
|
|
116
|
-
enabled: true
|
|
117
|
-
frequency: "daily"
|
|
118
|
-
test_restore: "weekly"
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Advanced Configuration
|
|
122
|
-
|
|
123
|
-
```yaml
|
|
124
|
-
backup:
|
|
125
|
-
# Custom backup schedules
|
|
126
|
-
schedules:
|
|
127
|
-
- name: "production_db"
|
|
128
|
-
type: "database"
|
|
129
|
-
database: "production"
|
|
130
|
-
continuous: true
|
|
131
|
-
full_backup:
|
|
132
|
-
cron: "0 2 * * *"
|
|
133
|
-
retention:
|
|
134
|
-
continuous: 7
|
|
135
|
-
full: 30
|
|
136
|
-
|
|
137
|
-
- name: "user_uploads"
|
|
138
|
-
type: "files"
|
|
139
|
-
path: "/uploads"
|
|
140
|
-
incremental:
|
|
141
|
-
cron: "0 * * * *" # Hourly
|
|
142
|
-
full:
|
|
143
|
-
cron: "0 3 * * 0" # Weekly Sunday
|
|
144
|
-
retention:
|
|
145
|
-
incremental: 7
|
|
146
|
-
full: 90
|
|
147
|
-
|
|
148
|
-
# Cross-region replication
|
|
149
|
-
replication:
|
|
150
|
-
enabled: true
|
|
151
|
-
source: "us-east-1"
|
|
152
|
-
destinations:
|
|
153
|
-
- "us-west-2"
|
|
154
|
-
- "eu-west-1"
|
|
155
|
-
lag_threshold: "5m"
|
|
156
|
-
alert_on_lag: true
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Backup Commands
|
|
162
|
-
|
|
163
|
-
### Create Backups
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
# Create manual backup
|
|
167
|
-
proagents backup create
|
|
168
|
-
|
|
169
|
-
# Create specific type
|
|
170
|
-
proagents backup create --type database
|
|
171
|
-
proagents backup create --type config
|
|
172
|
-
proagents backup create --type full
|
|
173
|
-
|
|
174
|
-
# Create with label
|
|
175
|
-
proagents backup create --label "pre-migration"
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### List Backups
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
# List recent backups
|
|
182
|
-
proagents backup list
|
|
183
|
-
|
|
184
|
-
# List by type
|
|
185
|
-
proagents backup list --type database
|
|
186
|
-
|
|
187
|
-
# List by date range
|
|
188
|
-
proagents backup list --from 2024-01-01 --to 2024-01-31
|
|
189
|
-
|
|
190
|
-
# Output:
|
|
191
|
-
┌────────────────────────────────────────────────────────────┐
|
|
192
|
-
│ Backups │
|
|
193
|
-
├────────────────────────────────────────────────────────────┤
|
|
194
|
-
│ ID │ Type │ Date │ Size │ Status │
|
|
195
|
-
├─────────────┼──────────┼────────────┼────────┼───────────┤
|
|
196
|
-
│ bkp_001 │ full │ 2024-01-15 │ 2.3 GB │ ✅ Verified│
|
|
197
|
-
│ bkp_002 │ database │ 2024-01-15 │ 1.8 GB │ ✅ Verified│
|
|
198
|
-
│ bkp_003 │ config │ 2024-01-15 │ 45 MB │ ✅ Verified│
|
|
199
|
-
└────────────────────────────────────────────────────────────┘
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### Verify Backups
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
# Verify backup integrity
|
|
206
|
-
proagents backup verify bkp_001
|
|
207
|
-
|
|
208
|
-
# Verify all recent backups
|
|
209
|
-
proagents backup verify --all
|
|
210
|
-
|
|
211
|
-
# Test restore (without applying)
|
|
212
|
-
proagents backup test-restore bkp_001
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Recovery Procedures
|
|
218
|
-
|
|
219
|
-
### Point-in-Time Recovery
|
|
220
|
-
|
|
221
|
-
Restore database to specific time:
|
|
222
|
-
|
|
223
|
-
```bash
|
|
224
|
-
# Restore to specific time
|
|
225
|
-
proagents db restore --point-in-time "2024-01-15 09:30:00"
|
|
226
|
-
|
|
227
|
-
# Preview what will be restored
|
|
228
|
-
proagents db restore --point-in-time "2024-01-15 09:30:00" --dry-run
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
**Procedure:**
|
|
232
|
-
1. Stop application traffic
|
|
233
|
-
2. Create current backup (safety)
|
|
234
|
-
3. Apply point-in-time restore
|
|
235
|
-
4. Verify data integrity
|
|
236
|
-
5. Resume traffic
|
|
237
|
-
|
|
238
|
-
### Full Backup Restore
|
|
239
|
-
|
|
240
|
-
Restore from complete backup:
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
# Restore from backup
|
|
244
|
-
proagents backup restore bkp_001
|
|
245
|
-
|
|
246
|
-
# Restore specific component
|
|
247
|
-
proagents backup restore bkp_001 --component database
|
|
248
|
-
|
|
249
|
-
# Restore to different environment
|
|
250
|
-
proagents backup restore bkp_001 --target staging
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
**Procedure:**
|
|
254
|
-
1. Verify backup integrity
|
|
255
|
-
2. Stop services
|
|
256
|
-
3. Restore backup
|
|
257
|
-
4. Update configuration if needed
|
|
258
|
-
5. Start services
|
|
259
|
-
6. Verify functionality
|
|
260
|
-
|
|
261
|
-
### File Recovery
|
|
262
|
-
|
|
263
|
-
Recover specific files or directories:
|
|
264
|
-
|
|
265
|
-
```bash
|
|
266
|
-
# Restore specific file
|
|
267
|
-
proagents backup restore-file bkp_001 --path "/uploads/user_123/"
|
|
268
|
-
|
|
269
|
-
# Restore to different location
|
|
270
|
-
proagents backup restore-file bkp_001 --path "/uploads/" --dest "/restored/"
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Recovery Runbooks
|
|
276
|
-
|
|
277
|
-
### Database Recovery Runbook
|
|
278
|
-
|
|
279
|
-
```markdown
|
|
280
|
-
## Database Recovery Procedure
|
|
281
|
-
|
|
282
|
-
**Scenario:** Database corruption or accidental data deletion
|
|
283
|
-
**RTO:** 30 minutes
|
|
284
|
-
**RPO:** 15 minutes
|
|
285
|
-
|
|
286
|
-
### Assessment
|
|
287
|
-
|
|
288
|
-
1. Identify scope of data loss/corruption
|
|
289
|
-
2. Determine recovery point (most recent valid state)
|
|
290
|
-
3. Calculate potential data loss
|
|
291
|
-
|
|
292
|
-
### Recovery Steps
|
|
293
|
-
|
|
294
|
-
1. **Stop Application Traffic**
|
|
295
|
-
```bash
|
|
296
|
-
proagents traffic pause --all
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
2. **Create Safety Backup**
|
|
300
|
-
```bash
|
|
301
|
-
proagents backup create --type emergency --label "pre-recovery"
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
3. **Identify Recovery Point**
|
|
305
|
-
```bash
|
|
306
|
-
proagents backup list --type database --last 24h
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
4. **Perform Recovery**
|
|
310
|
-
|
|
311
|
-
Option A: Point-in-Time
|
|
312
|
-
```bash
|
|
313
|
-
proagents db restore --point-in-time "2024-01-15 09:30:00"
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
Option B: Full Backup
|
|
317
|
-
```bash
|
|
318
|
-
proagents backup restore bkp_001 --component database
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
5. **Verify Data**
|
|
322
|
-
```bash
|
|
323
|
-
proagents db verify --checksum
|
|
324
|
-
proagents db verify --row-count
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
6. **Resume Traffic**
|
|
328
|
-
```bash
|
|
329
|
-
proagents traffic resume
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### Post-Recovery
|
|
333
|
-
|
|
334
|
-
☐ Document timeline and data loss
|
|
335
|
-
☐ Notify affected users if applicable
|
|
336
|
-
☐ Update incident report
|
|
337
|
-
☐ Review backup procedures
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### Full System Recovery Runbook
|
|
341
|
-
|
|
342
|
-
```markdown
|
|
343
|
-
## Full System Recovery Procedure
|
|
344
|
-
|
|
345
|
-
**Scenario:** Complete system failure requiring full restore
|
|
346
|
-
**RTO:** 1 hour
|
|
347
|
-
**RPO:** 1 hour
|
|
348
|
-
|
|
349
|
-
### Pre-Recovery
|
|
350
|
-
|
|
351
|
-
1. Activate incident response
|
|
352
|
-
2. Set up DR communication channel
|
|
353
|
-
3. Verify backup availability
|
|
354
|
-
|
|
355
|
-
### Recovery Steps
|
|
356
|
-
|
|
357
|
-
1. **Infrastructure**
|
|
358
|
-
```bash
|
|
359
|
-
# Provision infrastructure (if needed)
|
|
360
|
-
proagents infra provision --config dr-config.yaml
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
2. **Database**
|
|
364
|
-
```bash
|
|
365
|
-
proagents backup restore latest --component database
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
3. **Application**
|
|
369
|
-
```bash
|
|
370
|
-
proagents backup restore latest --component application
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
4. **Configuration**
|
|
374
|
-
```bash
|
|
375
|
-
proagents backup restore latest --component config
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
5. **Secrets**
|
|
379
|
-
```bash
|
|
380
|
-
proagents backup restore latest --component secrets
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
6. **Verification**
|
|
384
|
-
```bash
|
|
385
|
-
proagents dr verify --full
|
|
386
|
-
proagents test smoke
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
7. **Traffic Cutover**
|
|
390
|
-
```bash
|
|
391
|
-
proagents traffic switch --to dr-site
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
### Post-Recovery
|
|
395
|
-
|
|
396
|
-
☐ All services healthy
|
|
397
|
-
☐ Data integrity verified
|
|
398
|
-
☐ Monitoring active
|
|
399
|
-
☐ Stakeholders notified
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
---
|
|
403
|
-
|
|
404
|
-
## Backup Verification
|
|
405
|
-
|
|
406
|
-
### Automated Verification
|
|
407
|
-
|
|
408
|
-
```yaml
|
|
409
|
-
backup:
|
|
410
|
-
verification:
|
|
411
|
-
# Integrity checks
|
|
412
|
-
integrity:
|
|
413
|
-
enabled: true
|
|
414
|
-
frequency: "daily"
|
|
415
|
-
checksum: true
|
|
416
|
-
|
|
417
|
-
# Test restores
|
|
418
|
-
test_restore:
|
|
419
|
-
enabled: true
|
|
420
|
-
frequency: "weekly"
|
|
421
|
-
target: "dr-test-env"
|
|
422
|
-
cleanup_after: true
|
|
423
|
-
|
|
424
|
-
# Alerts
|
|
425
|
-
alerts:
|
|
426
|
-
on_failure: true
|
|
427
|
-
on_checksum_mismatch: true
|
|
428
|
-
on_test_restore_fail: true
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
### Manual Verification
|
|
432
|
-
|
|
433
|
-
```bash
|
|
434
|
-
# Verify backup integrity
|
|
435
|
-
proagents backup verify bkp_001
|
|
436
|
-
|
|
437
|
-
# Output:
|
|
438
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
439
|
-
│ Backup Verification: bkp_001 │
|
|
440
|
-
├─────────────────────────────────────────────────────────────┤
|
|
441
|
-
│ ✅ File integrity: Passed │
|
|
442
|
-
│ ✅ Checksum verification: Passed │
|
|
443
|
-
│ ✅ Encryption validation: Passed │
|
|
444
|
-
│ ✅ Metadata consistency: Passed │
|
|
445
|
-
│ │
|
|
446
|
-
│ Size: 2.3 GB │
|
|
447
|
-
│ Created: 2024-01-15 02:00:00 UTC │
|
|
448
|
-
│ Components: database, config, uploads │
|
|
449
|
-
└─────────────────────────────────────────────────────────────┘
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
---
|
|
453
|
-
|
|
454
|
-
## Backup Storage
|
|
455
|
-
|
|
456
|
-
### Multi-Region Storage
|
|
457
|
-
|
|
458
|
-
```yaml
|
|
459
|
-
storage:
|
|
460
|
-
regions:
|
|
461
|
-
primary:
|
|
462
|
-
provider: "aws"
|
|
463
|
-
region: "us-east-1"
|
|
464
|
-
bucket: "company-backups-primary"
|
|
465
|
-
storage_class: "STANDARD"
|
|
466
|
-
|
|
467
|
-
secondary:
|
|
468
|
-
provider: "gcs"
|
|
469
|
-
region: "us-west1"
|
|
470
|
-
bucket: "company-backups-secondary"
|
|
471
|
-
storage_class: "NEARLINE"
|
|
472
|
-
|
|
473
|
-
archive:
|
|
474
|
-
provider: "aws"
|
|
475
|
-
region: "us-east-1"
|
|
476
|
-
bucket: "company-backups-archive"
|
|
477
|
-
storage_class: "GLACIER"
|
|
478
|
-
|
|
479
|
-
replication:
|
|
480
|
-
enabled: true
|
|
481
|
-
async: true
|
|
482
|
-
verify_replication: true
|
|
483
|
-
```
|
|
484
|
-
|
|
485
|
-
### Storage Lifecycle
|
|
486
|
-
|
|
487
|
-
```yaml
|
|
488
|
-
storage:
|
|
489
|
-
lifecycle:
|
|
490
|
-
rules:
|
|
491
|
-
- name: "move_to_infrequent"
|
|
492
|
-
transition_after_days: 30
|
|
493
|
-
to_storage_class: "STANDARD_IA"
|
|
494
|
-
|
|
495
|
-
- name: "move_to_glacier"
|
|
496
|
-
transition_after_days: 90
|
|
497
|
-
to_storage_class: "GLACIER"
|
|
498
|
-
|
|
499
|
-
- name: "delete_expired"
|
|
500
|
-
delete_after_days: 365
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
---
|
|
504
|
-
|
|
505
|
-
## Backup Monitoring
|
|
506
|
-
|
|
507
|
-
### Dashboard
|
|
508
|
-
|
|
509
|
-
```
|
|
510
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
511
|
-
│ Backup Status Dashboard │
|
|
512
|
-
├─────────────────────────────────────────────────────────────┤
|
|
513
|
-
│ │
|
|
514
|
-
│ Last 24 Hours: │
|
|
515
|
-
│ ├── Backups Created: 4 │
|
|
516
|
-
│ ├── Backups Verified: 4 │
|
|
517
|
-
│ └── Failures: 0 │
|
|
518
|
-
│ │
|
|
519
|
-
│ Storage Usage: │
|
|
520
|
-
│ ├── Primary (us-east-1): 156 GB │
|
|
521
|
-
│ ├── Secondary (us-west1): 156 GB │
|
|
522
|
-
│ └── Archive: 2.3 TB │
|
|
523
|
-
│ │
|
|
524
|
-
│ Recovery Points: │
|
|
525
|
-
│ ├── Continuous: Available (2 min ago) │
|
|
526
|
-
│ ├── Daily: Jan 15, 02:00 │
|
|
527
|
-
│ └── Weekly: Jan 14, 03:00 │
|
|
528
|
-
│ │
|
|
529
|
-
│ Alerts: None │
|
|
530
|
-
│ │
|
|
531
|
-
└─────────────────────────────────────────────────────────────┘
|
|
532
|
-
```
|
|
533
|
-
|
|
534
|
-
### Alerts
|
|
535
|
-
|
|
536
|
-
```yaml
|
|
537
|
-
backup:
|
|
538
|
-
alerts:
|
|
539
|
-
- name: "backup_failed"
|
|
540
|
-
condition: "backup_status == 'failed'"
|
|
541
|
-
severity: "critical"
|
|
542
|
-
channels: ["pagerduty", "slack"]
|
|
543
|
-
|
|
544
|
-
- name: "backup_late"
|
|
545
|
-
condition: "backup_age > 25h"
|
|
546
|
-
severity: "warning"
|
|
547
|
-
channels: ["slack"]
|
|
548
|
-
|
|
549
|
-
- name: "verification_failed"
|
|
550
|
-
condition: "verification_status == 'failed'"
|
|
551
|
-
severity: "critical"
|
|
552
|
-
channels: ["pagerduty"]
|
|
553
|
-
|
|
554
|
-
- name: "storage_full"
|
|
555
|
-
condition: "storage_usage > 90%"
|
|
556
|
-
severity: "warning"
|
|
557
|
-
channels: ["slack"]
|
|
558
|
-
```
|
|
559
|
-
|
|
560
|
-
---
|
|
561
|
-
|
|
562
|
-
## Best Practices
|
|
563
|
-
|
|
564
|
-
1. **3-2-1 Rule**: 3 copies, 2 different media, 1 offsite
|
|
565
|
-
2. **Regular Testing**: Test restores weekly
|
|
566
|
-
3. **Encryption**: Always encrypt backups at rest
|
|
567
|
-
4. **Verification**: Verify backups automatically
|
|
568
|
-
5. **Documentation**: Keep recovery runbooks updated
|
|
569
|
-
6. **Monitoring**: Alert on backup failures
|
|
570
|
-
7. **Retention**: Balance cost with recovery needs
|
|
571
|
-
8. **Access Control**: Restrict backup access
|