Allow forced server deletion

This commit is contained in:
npc0-hue
2026-08-04 15:03:49 +08:00
parent 96a1939f32
commit cf9af14eaf
17 changed files with 236 additions and 24 deletions
@@ -0,0 +1,24 @@
## Why
Operators need a way to remove server instances that are stuck in `running` or `installing` state when the runtime can no longer be stopped cleanly. The current delete safety rule blocks those instances forever, which leaves stale servers in the active management console.
## What Changes
- Add an explicit forced delete path to the existing server deletion flow.
- Preserve owner/platform-admin authorization and current-password confirmation for all server deletion.
- Require an additional force confirmation when deleting a running or installing instance.
- Keep deletion as a soft delete that marks the server instance `deleted` and preserves history.
- Make the UI expose forced deletion only through the existing destructive password confirmation dialog.
## Capabilities
### New Capabilities
- `server-deletion`: server instance soft deletion, including authorization, password confirmation, and explicit forced deletion of active/stuck instances.
### Modified Capabilities
## Impact
- `platform/` delete DTO, API handler docs, service validation, and tests.
- `platform_web/` delete request types, client-side delete dialog, error/confirmation copy, and tests.
- No changes to run executor ownership, plugin lifecycle execution, or hard-delete persistence.