envFilter = $env; } public function with(): array { $query = Server::query()->withCount('sites'); if ($this->envFilter !== 'all') { $query->where('env', $this->envFilter); } if ($this->regionFilter !== '') { $query->where('region', $this->regionFilter); } return [ 'servers' => $query->orderBy('name')->get(), 'totalServers' => Server::count(), 'okCount' => Server::where('status', 'ok')->count(), 'avgCpu' => (int) Server::avg('cpu_load_pct'), 'avgRam' => (int) Server::avg('ram_used_pct'), 'maintenance' => Server::where('status', 'maintenance')->count(), 'regions' => Server::query()->select('region')->distinct()->pluck('region'), 'prodCount' => Server::where('env', 'prod')->count(), 'edgeCount' => Server::where('env', 'edge')->count(), 'stagingCount' => Server::where('env', 'staging')->count(), ]; } }; ?>
{{-- ───── Topbar ───── --}}

Server

{{ $totalServers }} nodes · cluster acme
{{ $okCount }}/{{ $totalServers }} aktiv
{{-- ───── Metric tiles ───── --}}
Aktive Nodes
{{ $okCount }}/{{ $totalServers }}
{{ $maintenance }} im Maintenance
Ø CPU Load
{{ $avgCpu }}%
across {{ $totalServers }} nodes
Ø RAM
{{ $avgRam }}%
used
Maintenance
{{ $maintenance }}
geplant
{{-- ───── Toolbar ───── --}}
{{-- ───── Server cards grid ───── --}}
@forelse ($servers as $server)
{{ $server->country_flag }}
{{ $server->name }}
{{ $server->region }} · {{ $server->env }}
{{ strtoupper($server->status) }}
{{ $server->cpu_cores }} vCPU · {{ $server->ram_gb }} GB RAM · {{ $server->disk_gb }} GB SSD
CPU
{{ $server->cpu_load_pct }}%
RAM
{{ $server->ram_used_pct }}%
DISK
{{ $server->disk_used_pct }}%
{{ $server->sites_count }} sites
@empty
Keine Server gefunden.
@endforelse