v0.9.0: Storage paths registry, per-app HDD_PATH resolution, storage management UI

- Fix backup toggles not appearing (read each app's own HDD_PATH from app.yaml)
- Storage paths registry in settings.json with auto-discovery from deployed apps
- Settings page "Adattárolók" section with disk usage, add/remove/default/schedulable
- Deploy page path field as dropdown of registered storage paths
- Health check storage monitoring (mount point, disk usage alerts)
- Mount-point validation utilities (Linux syscall + cross-platform stubs)
- Controller docker-compose mount changed to /mnt:/mnt:rw for multi-storage

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 09:04:28 +01:00
parent 465dec443f
commit aca3b8680a
17 changed files with 963 additions and 33 deletions
+8 -2
View File
@@ -10,6 +10,7 @@ import (
"gitea.dooplex.hu/admin/felhom-controller/internal/metrics"
"gitea.dooplex.hu/admin/felhom-controller/internal/monitor"
"gitea.dooplex.hu/admin/felhom-controller/internal/scheduler"
"gitea.dooplex.hu/admin/felhom-controller/internal/settings"
"gitea.dooplex.hu/admin/felhom-controller/internal/stacks"
"gitea.dooplex.hu/admin/felhom-controller/internal/system"
)
@@ -22,6 +23,7 @@ func BuildReport(
cpuCollector *system.CPUCollector,
metricsStore *metrics.MetricsStore,
version string,
storagePaths []settings.StoragePath,
) *Report {
r := &Report{
Version: 1,
@@ -33,7 +35,11 @@ func BuildReport(
// System info
staticInfo := metrics.GetStaticInfo()
sysInfo := system.GetInfo(cfg.Paths.HDDPath, cpuCollector)
hddPath := cfg.Paths.HDDPath
if len(storagePaths) > 0 {
hddPath = storagePaths[0].Path
}
sysInfo := system.GetInfo(hddPath, cpuCollector)
r.System = SystemReport{
Hostname: staticInfo.Hostname,
@@ -72,7 +78,7 @@ func BuildReport(
r.Backup = buildBackupReport(cfg, backupMgr)
// Health
healthReport := monitor.RunHealthCheck(cfg, cpuCollector)
healthReport := monitor.RunHealthCheck(cfg, cpuCollector, storagePaths)
r.Health = HealthReport{
Status: healthReport.Status,
Issues: healthReport.Issues,