ruwork/object-store-bundle
Symfony bundle that wires a configurable object store into your app. Register storage services, persist and retrieve objects through a clean API, and keep storage concerns decoupled from domain logic. Suitable for files or serialized data with simple configuration.
Storage facade plus Flysystem already occupies this slot. The decision it informs is a Symfony one.Consider it only under a narrow, unusual set of conditions:
ruwork/object-store or sibling Ruwork bundles, and this bundle is the configuration glue that matches your existing DI conventions.Look elsewhere in essentially every other case:
league/flysystem-bundle (the de facto Symfony standard, actively maintained, broad adapter coverage), OneupFlysystemBundle for older Symfony versions, knplabs/gaufrette historically, or the cloud provider SDK directly when you want explicit, provider-native control. On Laravel: the built-in Storage facade with Flysystem adapters.Recommendation: do not adopt. Not a viable dependency; treat as reference material at most.
Summary for executives. This package is a small Symfony integration layer for object storage. It is MIT-licensed but archived, with no stars, no known dependents, and no maintenance. Adopting it means inheriting full ownership of a third-party component's lifecycle — security patches, framework upgrades, and bug fixes become our cost, for functionality we can obtain from a well-maintained library at zero incremental effort. In a build-vs-buy framing, this is "buy" priced as "build," with none of the build's control.
For engineering. The abstraction it provides — application code insulated from the storage backend — is the right architectural goal; the implementation is not the right vehicle. Standardize on league/flysystem-bundle for Symfony (Flysystem v3 adapters for S3, GCS, Azure, local, SFTP), and on Laravel's native Storage facade where applicable. Both give us the same environment-parity benefit with active maintenance, PHP 8.x support, security responsiveness, and a hiring-friendly skill surface.
If we already depend on it. Scope the exit now. If the bundle is the thin wrapper it appears to be, migration is a contained task: identify the service IDs and configuration in use, swap the adapter registration to Flysystem, and keep the application-facing interface stable so feature code is untouched. Sequence it ahead of the next major framework upgrade, not after — the archived status means the upgrade will otherwise block on us.
Risk if we proceed anyway: an unpatched component in the storage path of user content is a data-handling exposure, and the absence of community usage means defects surface in production first, at our expense.
How can I help you explore Laravel packages today?