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

Multiple App Kernel Bundle Laravel Package

vbardales/multiple-app-kernel-bundle

A Symfony bundle for running multiple application kernels within a single project. Define separate apps, each with its own configuration, routing, and services, while sharing one codebase. Ideal for multi-app architectures that need clean separation without duplicating setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor, and mis-scoped for this stack. vbardales/multiple-app-kernel-bundle is a Symfony2 bundle, not a Laravel package. It is designed to extend Symfony's Kernel/Bundle system so a single Symfony2 base installation can boot and host multiple distinct applications (a shared front controller dispatching to per-app kernels and container configurations). Laravel has no bundle abstraction, no registerBundles() kernel extension point, and no equivalent notion of multiple kernels per installation. The closest Laravel primitives are a single App\Http\Kernel, route-level domain grouping, and package auto-discovery via service providers. Consequently there is no architectural seam into which this package can be dropped; adopting it is not an integration exercise but a re-implementation exercise.

Integration feasibility — effectively zero as a dependency. The codebase targets PHP 5.x-era Symfony (2.x reached end of life in November 2018) and almost certainly relies on APIs and conventions that no longer exist: PSR-0 autoloading, Resources/config YAML service definitions, getContainerExtension(), and Symfony 2 Bundle subclassing. Composer 2 constraints, PHP 8.1+ type strictness, and Laravel 10/11's typed container and bootstrapping pipeline make a direct install unlikely to even resolve, let alone boot. The only realistic path is to treat the repository as a reference pattern for how to multiplex applications behind one entry point, not as a library.

Technical risk — high and asymmetric. Signals of abandonment are unambiguous: zero stars, zero dependents, no release cadence, and no downstream consumers to surface regressions. That means no CVE disclosure path, no compatibility patches, and no community triage. A dependency with no dependents is a dependency whose failure modes are discovered exclusively by you, in production. Beyond maintenance, the pattern itself carries risk: a shared kernel hosting multiple apps creates a shared container, shared bootstrap, and shared failure domain — a bug or memory exhaustion in the kernel layer takes down every hosted application simultaneously.

Key questions to resolve before any commitment:

  1. What business problem is driving this — multi-tenant isolation, multi-brand/multi-site hosting, or consolidating legacy apps on one deployment? Each has a different (and better) Laravel-native answer.
  2. Is there an existing Symfony2 application in the estate that motivates looking at this repo, or was it surfaced by a keyword search? If the former, the Symfony app is the real risk item, not this bundle.
  3. Do we require hard isolation (separate processes, separate databases, independent deploy cadence), or is logical separation with shared infrastructure acceptable?
  4. What is the supported PHP/Laravel version floor for the target service, and does the team have any Symfony2 fluency remaining?
  5. Is "consolidate onto one deployment" a real cost driver, or an assumed one? Shared-kernel hosting frequently reduces operational flexibility more than it saves in infrastructure spend.

Integration Approach

Stack fit — none directly; the concept can be borrowed. For a Laravel host, the equivalent capability is achieved with supported, maintained mechanisms, in rough order of preference:

  • Domain/subdomain route groups with a single app and per-tenant configuration — lowest complexity, best fit for most multi-brand cases.
  • stancl/tenancy or spatie/laravel-multitenancy if true data isolation, per-tenant migrations, and cache partitioning are required. Both are actively maintained and have real dependent counts.
  • Separate Laravel applications behind a reverse proxy or ingress if the apps have genuinely independent lifecycles, teams, or scaling profiles. This is the honest answer when "multiple apps" means multiple products.

Migration path. Do not attempt a Composer install. If a legacy Symfony2 application exists that motivated this evaluation, isolate it: keep it running behind the same edge router as the Laravel target, communicate over HTTP or a message bus, and migrate capability-by-capability. If the goal is to replicate the bundle's multiplexing behavior inside Laravel, schedule a short spike to prototype domain-scoped route resolution and per-tenant container configuration; that spike is the actual deliverable, and this repository is at most a design reference.

Compatibility. Assume incompatibility with PHP 8.x, Composer 2, and any current Laravel release until proven otherwise. Any code lifted from the repository must be re-expressed against Laravel's service container, bootstrap/app.php configuration, and the current package-discovery conventions. Budget for a full rewrite of anything reused.

Sequencing.

  1. Requirements clarification (isolation level, deploy independence, tenant count, expected growth).
  2. Confirm whether a live Symfony2 dependency exists and scope its containment separately.
  3. Technology selection among the Laravel-native options above; explicitly record this package as evaluated-and-rejected with rationale.
  4. Spike the chosen approach against two representative apps/tenants, including a shared-failure test.
  5. Only then commit to a build plan.

Operational Impact

Maintenance — you would own it outright. There is no upstream to patch, no release notes to track, and no maintainer to escalate to. Any adoption implies a permanent fork with an internal owner, an assigned security-review cadence, and a documented divergence from upstream. For a zero-dependent, zero-star package, that carrying cost is difficult to justify against building the equivalent twenty-line route-domain configuration in Laravel.

Support — none. No vendor, no community, no issue-tracker throughput to rely on. Internal engineers become the sole escalation path, and their Symfony2 knowledge will decay as the team standardizes on Laravel. On-call runbooks must be authored from scratch.

Scaling — coupled. A shared-kernel multi-app model scales the host rather than the app. You cannot independently size, cache-warm, or horizontally scale one hosted application without affecting the others, and a noisy-neighbor app degrades the whole deployment. Independent deploy cadence is also lost: every app ships together, so a hotfix for one is a change window for all. If any hosted app has a materially different traffic profile, this model will become the constraint before infrastructure cost does.

Failure modes — correlated and broad. The critical risk is blast radius. Kernel bootstrap failure, container compilation errors, config-cache collisions, autoloader namespace conflicts between apps, and shared memory-limit exhaustion all take down every hosted application at once. Debugging is harder because stack traces cross application boundaries and configuration is resolved in a shared layer. Silent failure modes are worse: one app's service definition overriding another's in the shared container produces behavior that is intermittent and difficult to reproduce locally.

Ramp-up — steep and non-transferable. Engineers must learn Symfony2 idioms (bundles, extensions, kernel bootstrapping) that have no analogue in the team's Laravel practice. That knowledge is single-purpose and does not compound into the platform's forward roadmap. Expect multi-week onboarding for anyone expected to modify the kernel layer, plus ongoing cost from context-switching between two frameworks.

Recommendation. Reject as a dependency. Record the evaluation, close the ticket, and redirect the underlying requirement to Laravel-native domain routing or an established tenancy package. The only scenario warranting further time is the discovery of a live Symfony2 application in the estate — and in that case the work is a containment and migration plan for that application, for which this bundle is neither necessary nor sufficient.

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log