clusev/resources/views/livewire
boban 4c67b278bd fix(docker): admin-gate the host target + honour a "0" key passphrase (Codex review)
Two findings from the Codex review of the host-Docker changes:

1. Under-gated host target (security). Listing/actioning/log-reading the
   CLUSEV HOST's containers only required `operate`, but the host is the
   control-plane machine — a `Stop` on clusev-mariadb takes Clusev down —
   and the host TERMINAL is already `manage-fleet`-only. Align it:
   - effectiveTarget() resolves to the host only for manage-fleet users;
     everyone else is pinned to a fleet server (no host default, no toggle).
   - action()/viewLogs() and the ContainerLogs host sentinel (serverId 0)
     now abort_unless manage-fleet.
   A viewer/operator can no longer reach the host, even by forcing
   target=host.

2. HostCredential::toServer() dropped a key passphrase equal to the string
   "0" via a falsy `if ($this->passphrase)` check, which would break key
   auth. Use an explicit null/'' check.

Added tests: non-admin never targets the host, a forced target=host still
hits a fleet server, operator cannot open host logs. 751 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 23:43:18 +02:00
..
alerts fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
audit fix(rbac,honeypot): gate audit-retention + email sendTest; honeytoken scans JSON body 2026-07-05 02:28:13 +02:00
auth feat(auth): make password rotation optional + correct the 2FA copy 2026-06-25 19:47:17 +02:00
certs fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
commands fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
docker fix(docker): admin-gate the host target + honour a "0" key passphrase (Codex review) 2026-07-05 23:43:18 +02:00
files fix(security): close file-read RBAC gap + fail2ban arg-injection + update/HMAC hardening 2026-07-05 16:05:16 +02:00
health fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
help docs: fix stale first-login copy (random initial password, rotation optional) 2026-07-02 22:50:35 +02:00
modals feat(docker): container management over SSH (feature 3/8) 2026-07-05 20:23:56 +02:00
onboarding feat(onboarding): first-run spotlight tour — dimmed backdrop, sidebar highlights, relaunchable 2026-07-02 20:00:19 +02:00
patch fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
posture feat(security): fleet security-posture score (feature 5/8) 2026-07-05 20:43:56 +02:00
release refactor(release): single stable channel — cut internal release candidates (-rc), remove all beta wording 2026-07-05 13:13:09 +02:00
servers fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
services feat(rbac): hide gated controls in the UI with @can (operator/viewer see no dead buttons) 2026-07-05 01:49:38 +02:00
settings fix(ui,docker): normalise oversized buttons + surface the real Docker error 2026-07-05 21:22:49 +02:00
system feat(rbac): hide gated controls in the UI with @can (operator/viewer see no dead buttons) 2026-07-05 01:49:38 +02:00
terminal feat(rbac): hide gated controls in the UI with @can (operator/viewer see no dead buttons) 2026-07-05 01:49:38 +02:00
threats harden honeypot/ban path: close evasions, unmask & audit-DoS vectors 2026-07-05 15:05:35 +02:00
versions feat(rbac): hide gated controls in the UI with @can (operator/viewer see no dead buttons) 2026-07-05 01:49:38 +02:00
wireguard harden honeypot/ban path: close evasions, unmask & audit-DoS vectors 2026-07-05 15:05:35 +02:00
dashboard.blade.php perf(fleet,wg) + i18n(dashboard,update) + a11y(btn): re-audit design/perf cleanups 2026-07-05 17:10:19 +02:00
server-switcher.blade.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00