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(), ]; } }; ?>