Produkt entfernen
Mit Remove Product wird ein Product Deployment inklusive aller Stacks und Container vollständig aus einer Environment entfernt. Der Vorgang zeigt eine Bestätigung mit Warnhinweis, eine Echtzeit-Fortschrittsanzeige pro Stack und ein abschließendes Ergebnis-Screen mit dem Status jedes Stacks.
Übersicht
Abschnitt betitelt „Übersicht“| Schritt | Beschreibung |
|---|---|
| Bestätigung | Warnung, Produktdetails und Liste der zu entfernenden Stacks |
| Fortschritt | Echtzeit-Status pro Stack mit Progress-Bar |
| Ergebnis | Übersicht aller Stacks mit Erfolg/Fehler-Status |
Schritt für Schritt: Produkt entfernen
Abschnitt betitelt „Schritt für Schritt: Produkt entfernen“Schritt 1: Deployments-Übersicht
Abschnitt betitelt „Schritt 1: Deployments-Übersicht“Navigiere zur Deployments-Seite um eine Übersicht aller deployten Products zu erhalten.

Schritt 2: Produkt-Detail mit Remove-Button
Abschnitt betitelt „Schritt 2: Produkt-Detail mit Remove-Button“Öffne die Detailseite eines Product Deployments. Der Remove-Link ist in der Aktionsleiste sichtbar, wenn das Produkt im Status Running, Stopped oder PartiallyRunning ist.

Schritt 3: Bestätigungsscreen
Abschnitt betitelt „Schritt 3: Bestätigungsscreen“Nach Klick auf Remove öffnet sich der Bestätigungsscreen mit:
- Warnhinweis (rote Card) — deutliche Warnung vor dem irreversiblen Vorgang
- Product Details — Name, Version, Environment, Anzahl Stacks und Services
- Stacks to remove — Liste aller Stacks in Entfernungsreihenfolge (umgekehrt zur Deployment-Reihenfolge)
- Cancel — Zurück zum Catalog ohne Aktion
- Remove All Stacks — Startet den Entfernungsvorgang

Stacks werden in umgekehrter Reihenfolge entfernt — der zuletzt deployete Stack wird zuerst entfernt. Das gewährleistet eine sichere Auflösung von Abhängigkeiten.
Schritt 4: Fortschrittsanzeige
Abschnitt betitelt „Schritt 4: Fortschrittsanzeige“Nach Klick auf Remove All Stacks wechselt die Ansicht in den Fortschrittsmodus:

Linkes Panel — Stack-Liste: Jeder Stack zeigt seinen aktuellen Status:
| Status | Icon | Bedeutung |
|---|---|---|
| Pending | Leerer Kreis | Wartet auf Entfernung |
| Removing | Roter Spinner | Wird gerade entfernt |
| Removed | Grüner Haken | Erfolgreich entfernt |
| Failed | Rotes X | Entfernung fehlgeschlagen |
Rechtes Panel — Stack-Detail: Ein Klick auf einen Stack in der linken Liste zeigt Details:
- Pending: „Waiting to remove…”
- Removing: Aktuelle Fortschrittsmeldung vom Backend
- Removed: Grüne Erfolgsmeldung
- Failed: Rote Fehlermeldung mit Details
Die rote Progress-Bar am oberen Rand zeigt den Gesamtfortschritt (X/Y Stacks entfernt).
Schritt 5: Ergebnis
Abschnitt betitelt „Schritt 5: Ergebnis“Nach Abschluss des Vorgangs erscheint der Ergebnis-Screen:

Erfolgreich entfernt:
- Grünes Erfolgs-Icon
- Heading: „Product Removed Successfully!”
- Zusammenfassung mit Produktname und Anzahl der Stacks
- Tabelle mit allen Stacks und grünem Haken
- Links: View Deployments und Browse Catalog
Mit Fehlern abgeschlossen:
- Rotes Warn-Icon
- Heading: „Removal Completed with Errors”
- Fehlermeldung vom Backend
- Zählung: „X removed, Y failed of Z stacks”
- Tabelle mit Einzelergebnissen — fehlgeschlagene Stacks zeigen die Fehlermeldung
API-Endpunkt
Abschnitt betitelt „API-Endpunkt“| Methode | Endpunkt | Beschreibung | Permission |
|---|---|---|---|
DELETE | /api/environments/{envId}/product-deployments/{id} | Produkt entfernen | Deployments.Update |
Request-Body:
{ "sessionId": "product-remove-<name>-<timestamp>"}Die sessionId wird vom Client generiert und dient zur Zuordnung von Echtzeit-Fortschrittsmeldungen via SignalR.
Response:
{ "success": true, "productDeploymentId": "...", "productName": "...", "status": "Removed", "stackResults": [ { "stackName": "...", "stackDisplayName": "...", "success": true, "serviceCount": 2 } ]}Fehlerbehandlung
Abschnitt betitelt „Fehlerbehandlung“| Situation | Verhalten |
|---|---|
| Produkt kann nicht entfernt werden | Fehlermeldung auf dem Bestätigungsscreen statt der Stack-Liste |
| Einzelner Stack schlägt fehl | Andere Stacks werden weiter entfernt; Ergebnis zeigt Einzelfehler |
| Netzwerkfehler während Removal | Fehlermeldung nach Timeout; Status im Backend kann davon abweichen |
| Produkt bereits entfernt | 404-Fehler beim Laden → Fehler-Screen mit Meldung |