Files
homelab-design/diagrams/velero-backup.mmd

61 lines
1.7 KiB
Plaintext

%% Velero Backup Architecture
%% Related: ADR-0032
flowchart TB
subgraph Schedule["Backup Schedule"]
Nightly["Nightly Backup<br/>2:00 AM"]
Hourly["Hourly Snapshots<br/>Critical Namespaces"]
end
subgraph Velero["Velero (velero namespace)"]
Server["Velero Server"]
NodeAgent["Node Agent<br/>(DaemonSet)"]
end
subgraph Sources["Backup Sources"]
PVs["Persistent Volumes<br/>(Longhorn)"]
Resources["Kubernetes Resources<br/>(Secrets, ConfigMaps)"]
DBs["Database Dumps<br/>(Pre-backup hooks)"]
end
subgraph Targets["Backup Destinations"]
subgraph Primary["Primary: S3"]
MinIO["MinIO<br/>On-premises S3"]
end
subgraph Secondary["Secondary: NFS"]
NAS["Synology NAS<br/>Long-term retention"]
end
end
subgraph Restore["Restore Options"]
Full["Full Cluster Restore"]
Namespace["Namespace Restore"]
Selective["Selective Resource Restore"]
end
Nightly --> Server
Hourly --> Server
Server --> NodeAgent
NodeAgent --> PVs
Server --> Resources
Server --> DBs
Server --> MinIO
MinIO -.->|Replicated| NAS
Server --> Full
Server --> Namespace
Server --> Selective
classDef schedule fill:#4a5568,stroke:#718096,color:#fff
classDef velero fill:#667eea,stroke:#5a67d8,color:#fff
classDef source fill:#48bb78,stroke:#38a169,color:#fff
classDef target fill:#ed8936,stroke:#dd6b20,color:#fff
classDef restore fill:#9f7aea,stroke:#805ad5,color:#fff
class Nightly,Hourly schedule
class Server,NodeAgent velero
class PVs,Resources,DBs source
class MinIO,NAS target
class Full,Namespace,Selective restore