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

Object Store Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Storage-layer architecture (build vs. buy vs. adopt). The bundle addresses a real, recurring product need: decoupling application code from a specific object-storage backend (local disk in dev, S3/GCS/MinIO in staging and production). It is a candidate input to the "do we abstract storage ourselves, wire up an OSS bundle, or call the cloud SDK directly?" decision.
  • Symfony, not Laravel. Despite the framing, this is a Symfony bundle from the Ruwork/Ruvents family, not a Laravel package. For a Laravel roadmap it is effectively out of scope — Laravel's Storage facade plus Flysystem already occupies this slot. The decision it informs is a Symfony one.
  • Feature enablement: user-generated content uploads, media/asset libraries, document attachments, report and data-export delivery to a bucket, backup/snapshot offloading, and multi-tenant per-tenant bucket or prefix isolation.
  • Environment parity: a single storage contract that lets the same feature code run against local filesystem in developer environments and S3-compatible object storage in production — a recurring source of "works on my machine" defects and a genuine reduction in integration risk.
  • Roadmap signal, not roadmap item. With zero stars, zero dependents, and an archived repository, this is not a component to schedule work around. Its highest-value use in a product decision is as a reference point: it confirms the abstraction is worth having, while its adoption data argues for a better-supported implementation.

When to Consider This Package

Consider it only under a narrow, unusual set of conditions:

  • You maintain a legacy Symfony application (likely Symfony 3.x/4.x era) that already depends on ruwork/object-store or sibling Ruwork bundles, and this bundle is the configuration glue that matches your existing DI conventions.
  • You have in-house PHP/Symfony capacity and appetite to fork and own it — treat it as a code sample to vendor, not a dependency to install.
  • Your storage needs are simple (put/get/delete/exists, URL generation) and you do not need multipart uploads, presigned URL policies, lifecycle rules, or provider-specific features.

Look elsewhere in essentially every other case:

  • Archived repository. No security patching, no PHP 8.x compatibility work, no bug fixes. That is an unpriced liability, and it fails most procurement and security-review checklists outright.
  • Zero stars, zero dependents. No community to validate behavior against, no third-party bug reports to learn from, no ecosystem of answers.
  • Thin value-add. Bundles of this shape typically do little more than register services and map configuration to a library — value you can reproduce in a few dozen lines.
  • Preferred alternatives: 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.

How to Pitch It (Stakeholders)

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.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager