fix(selfhost): explain unsupported update services

This commit is contained in:
2026-09-23 17:36:30 +02:00
parent 0ff74cdcdf
commit fdf1d42a3d
2 changed files with 15 additions and 2 deletions

View File

@@ -371,8 +371,19 @@ class Updater:
def validate_configs(self):
old, new = self.current["services"], self.candidate["services"]
required = {"backend", "frontend", "db", "minio", "createbuckets", "traefik", "node-exporter"}
if set(old) != required or set(new) != required:
raise UpdateError("Dieser Updater unterstützt den Standard-Selfhost-Stack mit lokalen Daten und MinIO.")
differences = []
for label, services in (("Bestehende Konfiguration", old), ("Zielkonfiguration", new)):
missing, additional = required - set(services), set(services) - required
details = []
if missing:
details.append("fehlend: " + ", ".join(sorted(missing)))
if additional:
details.append("zusätzlich: " + ", ".join(sorted(additional)))
if details:
differences.append(label + " (" + "; ".join(details) + ")")
if differences:
raise UpdateError("Dieser Updater unterstützt den Standard-Selfhost-Stack mit lokalen Daten und MinIO. "
+ ". ".join(differences) + ". Zusätzliche Dienste benötigen Unterstützung für Erhalt, Backup und Wiederherstellung.")
for name in required:
if old[name].get("profiles") or new[name].get("profiles") or new[name].get("build"):
raise UpdateError("Build-Kontexte und Compose-Profile werden nicht unterstützt.")