fix: Gitea Traefik routing and connection pool optimization
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled

- Remove middleware reference from Gitea Traefik labels (caused routing issues)
- Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s)
- Add explicit service reference in Traefik labels
- Fix intermittent 504 timeouts by improving PostgreSQL connection handling

Fixes Gitea unreachability via git.michaelschiemer.de
This commit is contained in:
2025-11-09 14:46:15 +01:00
parent 85c369e846
commit 36ef2a1e2c
1366 changed files with 104925 additions and 28719 deletions

View File

@@ -3,19 +3,37 @@ declare(strict_types=1);
namespace App\Framework\ExceptionHandling;
use App\Framework\Config\EnvironmentType;
use App\Framework\ExceptionHandling\Strategy\ErrorPolicyResolver;
/**
* Manages global exception, error, and shutdown handlers
*
* Supports early registration with basic handlers before Discovery,
* and replacement with full handlers after Discovery.
*/
final readonly class ExceptionHandlerManager
{
public function __construct()
public function __construct(
private ErrorHandlerInterface $errorHandler,
private ExceptionHandler $exceptionHandler,
private ShutdownHandlerInterface $shutdownHandler
) {
$this->registerErrorHandler($this->errorHandler);
$this->registerExceptionHandler($this->exceptionHandler);
$this->registerShutdownHandler($this->shutdownHandler);
}
/**
* Create ExceptionHandlerManager with basic handlers for early registration
*
* This factory method creates a manager with minimal handlers that don't
* require full dependencies. Useful for registering handlers before Discovery.
*/
public static function createWithBasicHandlers(): self
{
$resolver = new ErrorPolicyResolver();
$this->registerErrorHandler(new ErrorHandler($resolver->resolve(EnvironmentType::DEV)));
$this->registerExceptionHandler(new GlobalExceptionHandler());
$this->registerShutdownHandler(new ShutdownHandler());
return new self(
new BasicErrorHandler(),
new BasicGlobalExceptionHandler(),
new BasicShutdownHandler()
);
}
public function registerExceptionHandler(ExceptionHandler $handler): void
@@ -23,12 +41,12 @@ final readonly class ExceptionHandlerManager
set_exception_handler($handler->handle(...));
}
private function registerErrorHandler(ErrorHandler $handler):void
private function registerErrorHandler(ErrorHandlerInterface $handler): void
{
set_error_handler($handler->handle(...), E_ALL);
}
public function registerShutdownHandler(ShutdownHandler $handler): void
public function registerShutdownHandler(ShutdownHandlerInterface $handler): void
{
register_shutdown_function($handler->handle(...));
}