Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Maintenance Bundle Laravel Package

toshy/maintenance-bundle

A PHP maintenance-mode bundle that lets you temporarily disable your application, display a maintenance page, and configure bypass access for admins or authorized users during deployments and updates.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Framing note for this assessment: despite being scoped as a "Laravel/PHP package," toshy/maintenance-bundle is a Symfony2 bundle, not a Laravel package. It cannot be installed into a Laravel application. The repository name (LexikMaintenanceBundle) and the description indicate it is a repackaging or fork of the well-known lexik/maintenance-bundle. That mismatch is itself the most important product finding here: it informs stack-fit due diligence, not a feature decision.

The capability it represents — maintenance mode with a 503 response and an IP allowlist — supports these decisions:

  • Build vs. buy vs. framework-native. For any Laravel application this is a build-nothing decision: Laravel ships php artisan down / up with --secret (bypass token), --render (custom maintenance view), and --allow/--except (IP/method allowlisting) in current versions. The "buy" option is the framework you already pay for. This package adds no decision value to a Laravel roadmap.
  • Planned-downtime UX and release-day coordination. Whether deploys, migrations, or vendor cutovers get a coordinated "we'll be right back" experience versus raw 5xx errors. Directly affects support ticket volume and stakeholder confidence during launches.
  • Correct HTTP semantics for infrastructure. Returning a real 503 (not a 200 holding page, not a 302) is what tells load balancers, CDNs, and crawlers to retry rather than deindex or cache. This is a reliability/SEO decision, not a cosmetic one.
  • Internal access during lockdown. IP allowlisting lets QA, support, and executives validate a release before the public is let back in — a small feature with outsized impact on rollback risk.
  • Legacy Symfony2 estate triage. If the roadmap still includes Symfony2 applications (EOL since November 2018), this raises a standing question: are we investing in maintaining EOL frameworks at all? That is a platform-modernization decision, not a bundle-selection decision.
  • Dependency provenance policy. A 0-star, 0-dependent, 0-score repackaging of an existing MIT bundle is a signal to codify a rule: prefer upstream, verify forks, and require a maintenance/security owner for every third-party dependency.

When to Consider This Package

Adoption criteria — all must hold:

  1. You operate a Symfony2 application. This is the only context where the code is even installable. For Laravel, or Symfony 4+, it is a non-starter; use framework-native tooling or lexik/maintenance-bundle (upstream) respectively.
  2. You have confirmed provenance. Verify whether this is a verbatim fork of Lexik's bundle, what (if anything) was changed, whether the MIT license and attribution are preserved, and who is responsible for security patches. A fork with no visible maintenance is a liability, not a shortcut.
  3. The upstream is genuinely unusable for you — e.g., an abandoned internal Symfony2 app where you cannot bump dependencies but can vendor a small bundle.
  4. Scope is truly minimal. You need exactly: toggle maintenance on/off via CLI, serve a 503 page, allowlist IPs from config. Nothing more.

Look elsewhere when:

  • The stack is Laravel. Use php artisan down --secret=... --allow=.... Zero dependencies, tested with the framework, no supply-chain surface.
  • You need scheduling or automation. Native commands can be wrapped in a deploy script; a bundle with no API for this forces shell-out orchestration either way.
  • You need multi-tenant or per-route maintenance, staged/per-environment rollouts, custom messaging by locale or brand, or a status page. This bundle is a binary global switch.
  • You want maintenance handled at the edge. CDN/WAF-level maintenance pages (Cloudflare, Fastly) avoid hitting origin entirely and are usually the better answer for full outages.
  • You need supported software. Symfony2 is EOL; anything built for it inherits that risk. The upstream lexik/maintenance-bundle is the maintained path for modern Symfony.

How to Pitch It (Stakeholders)

To executives (one paragraph): A vendor package was proposed for putting the site into maintenance mode. On review, it is a small, unmaintained Symfony2 add-on — the wrong framework for our Laravel stack, with no adoption, no dependents, and a codebase that duplicates a well-known open-source bundle. We do not need it. The capability is already built into Laravel and is a config flag away, so the recommended decision is do not adopt; the only spend is a few hours of engineering to wire allowlisting and a branded maintenance page into the existing deploy pipeline. This avoids adding an unsupported dependency to our supply chain for something we already own.

To engineering: No new dependency. Implement maintenance mode using framework-native commands (down/up with secret bypass and IP allow), wrap it in the release runbook so on-call can toggle it in one step, and confirm we return a genuine HTTP 503 with Retry-After so load balancers and crawlers behave correctly. If any legacy Symfony2 service remains in the estate, treat it as a modernization backlog item rather than a reason to vendor an unmaintained bundle — and if a Symfony maintenance bundle is ever genuinely required, use the upstream lexik/maintenance-bundle, not this fork.

Bottom line: the problem is real and worth solving this quarter; this package is not the solution. The correct answer is a two-hour configuration task on tooling we already maintain.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package