docs: update infrastructure state and roadmap
This commit is contained in:
+190
-1
@@ -6,6 +6,58 @@ This document describes the backup strategy for SilverLinux.
|
||||
|
||||
The goal is to ensure that all critical services can be restored after hardware failure, accidental deletion, corruption, or disaster recovery scenarios.
|
||||
|
||||
Current state:
|
||||
|
||||
```text
|
||||
Backup v2 operational
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Backup System Status
|
||||
|
||||
### Backup v1.4
|
||||
|
||||
Implemented:
|
||||
|
||||
* HTML backup reports
|
||||
* Email notification after backup
|
||||
* Automatic archive creation
|
||||
* Backup logging
|
||||
* Restore validation
|
||||
|
||||
---
|
||||
|
||||
### Backup v1.5
|
||||
|
||||
Implemented:
|
||||
|
||||
* MSSQL backup fix
|
||||
* Runtime MSSQL data included correctly
|
||||
* Restore tests verified MSSQL data is present in backups
|
||||
* Improved backup structure
|
||||
|
||||
---
|
||||
|
||||
### Backup v2
|
||||
|
||||
Implemented:
|
||||
|
||||
* Backup metrics generation
|
||||
* Prometheus metrics export
|
||||
* Backup duration metric
|
||||
* Backup size metric
|
||||
* Backup success metric
|
||||
* Automatic low disk space handling
|
||||
* Automatic deletion of oldest backups when required
|
||||
* Improved logging
|
||||
|
||||
Status:
|
||||
|
||||
```text
|
||||
Operational
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Backup Priorities
|
||||
@@ -41,12 +93,13 @@ Required:
|
||||
* Native SQL Server database backups
|
||||
* MSSQL Compose configuration
|
||||
* `MSSQL_SA_PASSWORD` from the shared secrets backup
|
||||
* Runtime MSSQL data included by the v1.5+ backup structure
|
||||
|
||||
Importance:
|
||||
|
||||
Critical
|
||||
|
||||
Do not rely on copying live database files as the only backup method.
|
||||
Restore validation has verified that MSSQL data is present in current backup archives.
|
||||
|
||||
---
|
||||
|
||||
@@ -241,8 +294,42 @@ Medium
|
||||
|
||||
---
|
||||
|
||||
#### Xray Configuration
|
||||
|
||||
Location:
|
||||
|
||||
```text
|
||||
/srv/docker/xray
|
||||
```
|
||||
|
||||
Contains:
|
||||
|
||||
* Xray Docker Compose configuration
|
||||
* Xray runtime configuration
|
||||
* Endpoint credentials, UUIDs or keys if stored with the service
|
||||
|
||||
Importance:
|
||||
|
||||
Medium
|
||||
|
||||
Xray credentials and keys must be backed up securely and must never be committed to Git.
|
||||
|
||||
---
|
||||
|
||||
## Backup Storage
|
||||
|
||||
Current backup capabilities:
|
||||
|
||||
* Automatic archive generation
|
||||
* HTML backup report generation
|
||||
* Backup log generation
|
||||
* Email report delivery
|
||||
* Prometheus metrics export
|
||||
* Automatic cleanup when disk space is low
|
||||
* Automatic deletion of oldest backups when required
|
||||
|
||||
---
|
||||
|
||||
Current Location:
|
||||
|
||||
```text
|
||||
@@ -262,6 +349,14 @@ Suggested Structure:
|
||||
|
||||
## Retention Policy
|
||||
|
||||
Current cleanup behavior:
|
||||
|
||||
* Backup v2 monitors available disk space.
|
||||
* If disk space is low, the oldest backups are deleted automatically.
|
||||
* Cleanup is logged.
|
||||
|
||||
---
|
||||
|
||||
### Daily
|
||||
|
||||
Keep:
|
||||
@@ -303,6 +398,99 @@ Restore order:
|
||||
9. BaGet
|
||||
10. Gitea Actions Runner
|
||||
11. DbGate
|
||||
12. Xray
|
||||
|
||||
---
|
||||
|
||||
## Restore Validation
|
||||
|
||||
Restore procedure has been validated.
|
||||
|
||||
Completed:
|
||||
|
||||
* Dry-run restore
|
||||
* Full archive validation
|
||||
* Archive extraction
|
||||
|
||||
Verified:
|
||||
|
||||
* PostgreSQL
|
||||
* Microsoft SQL Server
|
||||
* Gitea
|
||||
* BaGet
|
||||
* OpenProject assets
|
||||
* Docker configuration
|
||||
|
||||
Validation results:
|
||||
|
||||
* MSSQL backup integrity verified
|
||||
* PostgreSQL backup verified
|
||||
* Restore archive extraction verified
|
||||
|
||||
---
|
||||
|
||||
## Monitoring Integration
|
||||
|
||||
Backup v2 exports metrics for Prometheus.
|
||||
|
||||
Current metrics:
|
||||
|
||||
* Backup success
|
||||
* Backup duration
|
||||
* Backup size
|
||||
|
||||
Export path:
|
||||
|
||||
```text
|
||||
Node Exporter Textfile Collector
|
||||
```
|
||||
|
||||
Prometheus target status:
|
||||
|
||||
```text
|
||||
Validated
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Automation
|
||||
|
||||
Current automation:
|
||||
|
||||
* Daily backup execution
|
||||
* Root cron configuration
|
||||
* Backup wrapper command
|
||||
* Email report
|
||||
* HTML report
|
||||
* Automatic cleanup
|
||||
* Automatic archive generation
|
||||
|
||||
Status:
|
||||
|
||||
```text
|
||||
Operational
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Email Notifications
|
||||
|
||||
Postfix is configured to relay through Gmail SMTP.
|
||||
|
||||
Implemented:
|
||||
|
||||
* Gmail relay
|
||||
* App Password authentication
|
||||
* TLS encryption
|
||||
* Successful email delivery
|
||||
* Backup success emails
|
||||
* Backup report emails
|
||||
|
||||
Status:
|
||||
|
||||
```text
|
||||
Operational
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -363,3 +551,4 @@ Verify:
|
||||
* openproject/README.md
|
||||
* mssql/README.md
|
||||
* dbgate/README.md
|
||||
* docs/roadmap.md
|
||||
|
||||
Reference in New Issue
Block a user