6713df2186
Complete DR implementation (TASK2.md Phases 1-4): - Hub infra-backup push/pull endpoints (controller.yaml, disk layout, stacks) - Fresh-deployment detection pulls config from Hub, auto-mounts drives by UUID - Full-page restore UI with drive status, app table, sequential restore - docker-setup.sh shows DR instructions when customer_id is configured New files: disk_layout.go, restore_scan.go, restore_app_linux.go, restore_drives_linux.go, infra_backup.go, infra_pull.go, handler_restore.go, restore.html Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20 lines
690 B
Go
20 lines
690 B
Go
package backup
|
|
|
|
// DiskLayout holds the fstab-derived mount topology for disaster recovery.
|
|
type DiskLayout struct {
|
|
Mounts []DiskMount `json:"mounts"`
|
|
}
|
|
|
|
// DiskMount represents a single mount entry from fstab.
|
|
type DiskMount struct {
|
|
UUID string `json:"uuid"`
|
|
Label string `json:"label"`
|
|
MountPoint string `json:"mount_point"`
|
|
FSType string `json:"fs_type"`
|
|
SizeBytes int64 `json:"size_bytes"`
|
|
FstabOptions string `json:"fstab_options"`
|
|
Role string `json:"role"` // "system_data", "hdd_storage"
|
|
BindSubdir string `json:"bind_subdir"` // e.g., "felhom_data"
|
|
RawMount string `json:"raw_mount"` // e.g., "/mnt/.felhom-raw/hdd_1"
|
|
}
|