Wartungsmodus
Verwalte Wartungsfenster mit automatischem Stoppen und Starten von Containern.
Operation Modes
ReadyStackGo verfolgt den Betriebszustand jedes Deployments separat vom Health-Status. So kannst du zwischen geplanter Downtime und echten Ausfällen unterscheiden.
Verfügbare Modi
🟢 Normal
Normalbetrieb, alle Services sollten laufen
🔧 Maintenance
Geplante Wartung, Services können gestoppt sein
🔄 Migrating
Upgrade oder Migration läuft
🔴 Failed
Operation fehlgeschlagen, Eingriff nötig
⏹️ Stopped
Stack absichtlich gestoppt
Automatisches Container-Lifecycle
Beim Wechsel in den Wartungsmodus werden Container automatisch verwaltet:
Container-Lifecycle:
- Normal → Maintenance: Alle Stack-Container werden gestoppt
- Maintenance → Normal: Alle Stack-Container werden gestartet
Container ausschließen
Manche Container (wie Datenbanken) sollten während der Wartung weiterlaufen.
Nutze das rsgo.maintenance Label:
services:
postgres:
image: postgres:16
labels:
rsgo.stack: my-app
rsgo.maintenance: ignore # Wird nicht gestoppt
api:
image: myapp/api:latest
labels:
rsgo.stack: my-app
# Kein rsgo.maintenance = wird gestoppt Anwendungsfälle
- Datenbank-Migrationen: App-Container stoppen, Migrationen ausführen, neustarten
- Backup-Fenster: Services während Backups stoppen
- Konfigurationsänderungen: Sichere Config-Changes ohne Traffic
- Upgrades: Kontrollierte Versionswechsel mit Rollback-Support
Maintenance Observers
Synchronisiere den Wartungsmodus automatisch mit externen Systemen. Konfiguriere Observer, die externe Zustände überwachen und den Wartungsmodus automatisch auslösen.
SQL Extended Property
Überwache Datenbank-Properties von Legacy- oder Backend-Systemen
SQL Query
Führe eigene Queries für komplexe Wartungsbedingungen aus
HTTP Endpoint
Überwache externe Status-APIs oder Maintenance-Endpoints
File Observer
Beobachte Maintenance-Flag-Dateien von Legacy-Systemen
# Beispiel: Sync mit ERP-Wartungsmodus
maintenanceObserver:
type: sqlExtendedProperty
connectionString: ${DB_CONNECTION}
propertyName: ams.MaintenanceMode
maintenanceValue: "1"
normalValue: "0"
pollingInterval: 30s Echtzeit UI-Updates
Modusänderungen werden sofort via SignalR gepusht:
- Dashboard zeigt aktuellen Operation Mode
- Health-Status im Modus-Kontext interpretiert
- Verfügbare Aktionen basierend auf aktuellem Modus
- Modus-Historie für Audit Trail
API Integration
PUT /api/deployments/{id}/operation-mode
{
"newMode": "Maintenance",
"reason": "Geplantes wöchentliches Backup"
} Vorteile
- Kontrollierte Downtime: Klare Unterscheidung zwischen geplanten und ungeplanten Ausfällen
- Automatisches Lifecycle: Kein manuelles Container Stop/Start nötig
- Selektiver Ausschluss: Kritische Services weiterlaufen lassen
- Audit Trail: Nachvollziehen wer den Modus wann geändert hat