- Does carteni/maintenance-bundle work with Laravel 9 or 10?
- No, this bundle is built for Symfony 2/3 and relies on deprecated Laravel patterns like `AppKernel`. You’d need to manually adapt it or rewrite it as a Laravel middleware for compatibility with Laravel 9+. Test thoroughly, as it may not support PHP 8.x features.
- How do I install this bundle in Laravel without breaking routing?
- Since Laravel 5.4+, `AppKernel` is deprecated. You’ll need to register the bundle via a custom service provider or rewrite it as middleware in `app/Http/Kernel.php`. The bundle’s Symfony 2 conventions won’t integrate seamlessly with Laravel’s routing system.
- Can I whitelist IPv6 addresses or private networks (e.g., 192.168.x.x) for maintenance access?
- The bundle supports IP whitelisting, but its implementation may not explicitly handle IPv6 or private network ranges. Test with your specific IPs, and consider adding validation logic if you rely on these formats.
- Will this bundle work for API maintenance mode (e.g., blocking API routes during deployments)?
- No, this bundle is web-focused and lacks API-specific logic. For APIs, you’d need to create custom middleware or use Laravel’s built-in `maintenance:down` command with additional route filtering.
- How do I customize the maintenance page template for my Laravel app?
- Override the Twig templates in `app/Resources/MesMaintenanceBundle/views/`. Copy `index.html.twig` or `maintenance.html.twig` to your project and modify them. Ensure your templates extend Laravel’s base layout if needed.
- Does this bundle support dynamic IP whitelisting (e.g., adding IPs via a database or environment variable)?
- No, the bundle uses static YAML/XML configuration. For dynamic whitelisting, you’d need to extend the bundle or replace it with Laravel’s native `maintenance:down` command, which supports `.env` or database-driven IP lists.
- Are there performance concerns with high-traffic sites using this bundle?
- Yes, the bundle processes every request through middleware, which could add latency. For high-traffic sites, consider caching the maintenance response (e.g., via Redis) or using Laravel’s `maintenance:down` with a reverse proxy like Nginx for faster redirects.
- What happens if the bundle fails (e.g., misconfiguration or server error)?
- There’s no built-in fallback mechanism. If the bundle fails, your app may return a 500 error instead of the maintenance page. Test edge cases like malformed IPs or missing templates to ensure graceful degradation.
- Can I use this bundle alongside Livewire or Inertia.js?
- The bundle doesn’t natively support Livewire/Inertia.js. Ensure your maintenance templates don’t block JavaScript hydration (e.g., avoid inline scripts). For SPAs, consider a client-side maintenance check instead.
- Are there alternatives to this bundle for Laravel maintenance mode?
- Yes, Laravel’s built-in `maintenance:down` command (via `php artisan`) is a simpler, modern alternative. For advanced IP whitelisting, consider packages like `spatie/laravel-maintenance-mode` or custom middleware. This bundle’s Symfony 2 legacy may not justify its use in new Laravel projects.