Fix infra page crash when snapshot missing: provide default server values
Template accesses server.hostname etc. but server was passed as empty array when infra.json does not exist. Now provides all expected keys with '?' defaults. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -707,9 +707,18 @@ class AdminController extends AbstractController
|
||||
{
|
||||
$path = $projectDir.'/var/infra.json';
|
||||
if (!file_exists($path)) {
|
||||
$emptyServer = [
|
||||
'hostname' => '?', 'os' => '?', 'uptime' => '?',
|
||||
'cpu_model' => '?', 'cpu_cores' => '?', 'load_1m' => '?', 'load_5m' => '?', 'load_15m' => '?', 'load_percent' => '?',
|
||||
'ram_total' => '?', 'ram_used' => '?', 'ram_free' => '?', 'ram_percent' => '?',
|
||||
'disk_total' => '?', 'disk_used' => '?', 'disk_free' => '?', 'disk_percent' => '?',
|
||||
'caddy' => ['status' => 'unknown', 'info' => '?'], 'docker' => ['status' => 'unknown', 'info' => '?'],
|
||||
'ssl' => ['domain' => '?', 'issuer' => '?', 'valid_until' => '?', 'days_left' => '?', 'status' => 'unknown'],
|
||||
];
|
||||
|
||||
return $this->render('admin/infra.html.twig', [
|
||||
'snapshot_missing' => true,
|
||||
'server' => [], 'containers' => [], 'redis_global' => ['connected' => false],
|
||||
'server' => $emptyServer, 'containers' => [], 'redis_global' => ['connected' => false],
|
||||
'redis_dbs' => [], 'postgres' => ['connected' => false], 'pgbouncer' => ['connected' => false],
|
||||
'generated_at' => null,
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user