- Replace TLAS with License Authority throughout documentation - Add Government of Goa emblem/logo (Ashoka Chakra style) - Update frontend branding to match documentation - Add configurable Swagger API link via VITE_API_BASE_URL env var - Fix Docker build for VitePress (git dependency, .dockerignore) - Fix helmet security headers for HTTP deployments - Add CORS support for VM deployment Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
85 lines
1.6 KiB
Markdown
85 lines
1.6 KiB
Markdown
# Backup & Recovery
|
|
|
|
## Backup Strategy
|
|
|
|
| Data Type | Frequency | Retention |
|
|
|-----------|-----------|-----------|
|
|
| Database (full) | Daily | 30 days |
|
|
| Database (incremental) | Hourly | 7 days |
|
|
| Uploaded documents | Daily | 1 year |
|
|
| Configuration | On change | 90 days |
|
|
| Blockchain state | Daily | 90 days |
|
|
|
|
## Database Backup
|
|
|
|
### Automated Backups
|
|
|
|
```bash
|
|
# Daily full backup (runs at 02:00 UTC)
|
|
pg_dump -Fc license_prod > /backups/license_$(date +%Y%m%d).dump
|
|
|
|
# Hourly WAL archiving
|
|
archive_command = 'cp %p /backups/wal/%f'
|
|
```
|
|
|
|
### Manual Backup
|
|
|
|
```bash
|
|
# Create backup
|
|
docker exec postgres pg_dump -U license_app -Fc license_prod > backup.dump
|
|
|
|
# Verify backup
|
|
pg_restore --list backup.dump
|
|
```
|
|
|
|
## Recovery Procedures
|
|
|
|
### Database Recovery
|
|
|
|
```bash
|
|
# Stop application
|
|
docker-compose stop api
|
|
|
|
# Restore database
|
|
pg_restore -d license_prod -c backup.dump
|
|
|
|
# Verify data
|
|
psql -d license_prod -c "SELECT COUNT(*) FROM applications;"
|
|
|
|
# Restart application
|
|
docker-compose start api
|
|
```
|
|
|
|
### Point-in-Time Recovery
|
|
|
|
```bash
|
|
# Restore to specific timestamp
|
|
recovery_target_time = '2026-02-09 10:00:00'
|
|
```
|
|
|
|
## Disaster Recovery
|
|
|
|
### RTO/RPO Targets
|
|
|
|
| Metric | Target |
|
|
|--------|--------|
|
|
| Recovery Time Objective (RTO) | 4 hours |
|
|
| Recovery Point Objective (RPO) | 1 hour |
|
|
|
|
### DR Procedure
|
|
|
|
1. Identify failure scope
|
|
2. Activate DR environment
|
|
3. Restore from latest backup
|
|
4. Verify data integrity
|
|
5. Update DNS to DR site
|
|
6. Notify stakeholders
|
|
|
|
## Backup Verification
|
|
|
|
Monthly backup testing:
|
|
- Restore to test environment
|
|
- Run integrity checks
|
|
- Verify application functionality
|
|
- Document results
|