Add admin Infra page with Redis and PostgreSQL monitoring

Shows real-time stats with color-coded indicators:
- Redis: version, memory, hit rate, ops/sec, evicted keys
- PostgreSQL: version, db size, connections, cache hit ratio, dead tuples
Uses MESSENGER_TRANSPORT_DSN for Redis auth (works in dev and prod).
Accessible via /admin/infra with nav link.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-26 10:27:15 +01:00
parent e4edc76f58
commit 58301840a6
4 changed files with 223 additions and 0 deletions

View File

@@ -754,6 +754,28 @@ class AdminControllerTest extends WebTestCase
self::assertResponseIsSuccessful();
}
public function testInfraPage(): void
{
$client = static::createClient();
$admin = $this->createUser(['ROLE_ROOT']);
$client->loginUser($admin);
$client->request('GET', '/admin/infra');
self::assertResponseIsSuccessful();
}
public function testInfraPageDeniedForNonRoot(): void
{
$client = static::createClient();
$user = $this->createUser();
$client->loginUser($user);
$client->request('GET', '/admin/infra');
self::assertResponseStatusCodeSame(403);
}
public function testInviteOrganizerPage(): void
{
$client = static::createClient();