@php // Threshold tone for gauges/bars: >=90 offline, >=75 warning, else online. $tone = fn (int $v): string => $v >= 90 ? 'offline' : ($v >= 75 ? 'warning' : 'online'); $barColor = ['online' => 'bg-online', 'warning' => 'bg-warning', 'offline' => 'bg-offline']; $statusLabel = ['online' => 'Online', 'warning' => 'Warnung', 'offline' => 'Offline'][$server->status] ?? ucfirst($server->status); $specs = $server->specs ?? []; $specRows = [ ['Kerne', $specs['cores'] ?? '—'], ['RAM', isset($specs['ram_gb']) ? $specs['ram_gb'].' GB' : '—'], ['Disk', isset($specs['disk_gb']) ? $specs['disk_gb'].' GB' : '—'], ['Architektur', $specs['arch'] ?? '—'], ['Kernel', $specs['kernel'] ?? '—'], ['Virtualisierung', $specs['virt'] ?? '—'], ]; @endphp
{{-- Header --}}
Zurück zur Flotte

Server

{{ $server->name }}

{{ $server->hostname }} · {{ $server->ip }} · {{ $server->os }} · Uptime {{ $server->uptime }} · zuletzt gesehen {{ optional($server->last_seen_at)->diffForHumans() ?? '—' }}

{{ $statusLabel }}
{{-- Auslastung + Spezifikationen --}}
@foreach ($specRows as [$key, $val])
{{ $key }}
{{ $val }}
@endforeach
{{-- Volumes + Netzwerk-Interfaces --}}
@foreach ($volumes as $vol) @php $vt = $tone((int) $vol['used']); @endphp

{{ $vol['mount'] }}

{{ $vol['fs'] }} · {{ $vol['size'] }}

{{ $vol['used'] }}%
@endforeach
{{-- Dense table on desktop; horizontal scroll keeps columns aligned on small screens (R7) --}}
@foreach ($interfaces as $if) @endforeach
Name IP MAC RX TX
{{ $if['name'] }} {{ $if['ip'] }} {{ $if['mac'] }} {{ $if['rx'] }} {{ $if['tx'] }}
{{-- Sicherheit (Hardening) + SSH-Schlüssel --}}
@foreach ($hardening as $check)

{{ $check['label'] }}

{{ $check['detail'] }}

{{ $check['status'] === 'online' ? 'OK' : 'Fehlt' }}
@endforeach
{{-- R5: wire to wire-elements/modal --}}
@foreach ($sshKeys as $key)

{{ $key['comment'] }}

{{ $key['type'] }}

{{ $key['fingerprint'] }}

{{-- R5: destructive → wire-elements/modal confirm + audit --}}
@endforeach