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

kilik/maintenance-bundle

A maintenance-mode bundle for PHP applications that makes it easy to enable maintenance mode, show a custom maintenance page, and let selected users or IP addresses bypass downtime during deployments. Lightweight and simple to configure for existing projects.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for maintenance mode. This package maps to a capability that is already table stakes in modern PHP frameworks — Laravel ships php artisan down (with --secret bypass, --render custom page, and Retry-After handling), and Symfony has first-party equivalents. The decision this informs is "build it natively, don't adopt a dependency," not "evaluate this vendor."
  • Scoping the actual requirement set. It clarifies the minimum viable feature list for planned downtime: (1) return HTTP 503 so crawlers and monitors behave correctly, (2) allowlist specific IPs so internal QA, stakeholders, and on-call can preview the live site, (3) toggle state from the console without a deploy. Anything beyond that — branded pages, scheduled windows, per-segment messaging — is a separate roadmap item.
  • Dependency risk triage. Zero stars, zero dependents, and a last release of January 2022 make this a poor candidate for anything on a critical path. Useful as a design reference for the IP-allowlist pattern; not useful as a dependency.
  • Framework-fit check. Note the mismatch: this is a Symfony2 bundle, not a Laravel package. The prompt's framing assumes Laravel; adopting this in a Laravel codebase would mean porting the concept, not installing the code. That alone kills it as a buy decision.

When to Consider This Package

Adopt (narrowly) only if all of the following hold:

  • You are maintaining a legacy Symfony 2.x/3.x application where adding a new bundle is cheaper than touching kernel/middleware code.
  • You already depend on other Lexik bundles and are comfortable with that vendor's conventions.
  • You need only the 503 + IP allowlist toggle, with no expectation of modern PHP compatibility, security patches, or community support.
  • You have accepted that you will fork and maintain it yourself.

Look elsewhere if:

  • You are on Laravel — use artisan down with --secret and a custom errors::503 view. Zero new dependencies.
  • You are on modern Symfony (5/6/7) — the bundle's Symfony2-era assumptions make compatibility unverified, and better-maintained options exist.
  • You need scheduled maintenance windows, per-environment behavior, or a branded customer-facing page — this package does almost none of that.
  • Your organization has any supply-chain or dependency-vetting policy; a package with no dependents and a stale, single release will not clear review.

How to Pitch It (Stakeholders)

To executives: We evaluated a third-party library for "maintenance mode" and recommend not adopting it. The capability is already built into our framework of choice, so the buy decision is a no — we get better behavior, zero new dependencies, and no vendor risk for roughly a day of engineering effort. The evaluated package is a Symfony2 component from 2022 with no user base, which is a maintenance liability rather than a shortcut.

To engineering: Use the framework-native toggle (Laravel's artisan down with a secret bypass, or the Symfony equivalent) plus a custom 503 view. If we need an IP allowlist beyond the built-in secret, implement it as a small middleware — the concept here is worth copying, the package is not. Budget ~1 day. Add a smoke test that asserts a 503 status and Retry-After header so the behavior doesn't silently regress.

Bottom line: Treat kilik/maintenance-bundle as a reference implementation, not a dependency. Ship the feature natively.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums