Operator feedback: no way to add servers; irrelevant storage-internals text; fail2ban only on/off; raw shell commands shown; no apt update/upgrade. - Add server: CreateServer modal (name, IP/host, SSH port, user, password|key, optional label) on the Servers index → creates server + encrypted credential ATOMICALLY (DB transaction). Strict IP/hostname validation (filter_var + hostname; rejects 999.x, ':'). - System updates (Debian/Ubuntu only): MaintenanceService + SystemUpdate modal — shows the pending-update count (or "unbekannt" when undeterminable) and runs apt update && upgrade as root; gated to apt hosts. - fail2ban configuration: Fail2banConfig modal — Sperrdauer / Max. Fehlversuche / Zeitfenster, written to a Clusev-owned jail.d drop-in (zz-clusev.local, last-wins; never touches the operator's jail.local/jails). Durations kept verbatim in fail2ban's native grammar (600, 10m, 1h 30m, -1). Reads the EFFECTIVE [DEFAULT] across files; refuses to save when the current policy couldn't be read (no overwrite with unseen defaults); reloads fail2ban only when already active (never starts it). - Modals: removed the raw "Befehle (als root)" preview + raw stdout dumps from the hardening modal — clean German description + result only. - System page: dropped the .env/Datenbank storage-internals callout (irrelevant to the user). R15 — Codex gate: `codex review --uncommitted` run iteratively; fixed every finding across 9 rounds (fail2ban jail clobbering, section/precedence, composite/-1 durations, reload-starting- inactive, read-failure propagation, glob exit code, apt-count failure, atomic server create, IP validation) until clean — 0 security issues throughout. Live-verified on 10.10.90.162; R12: Servers/Detail/System 200 / 0 console errors, modals open, hardening modal shows no commands. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Console/Commands | ||
| Events | ||
| Http | ||
| Jobs | ||
| Livewire | ||
| Models | ||
| Providers | ||
| Services | ||
| Support/Ssh | ||