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

Flysystem Cloudflare Bundle Laravel Package

softavis/flysystem-cloudflare-bundle

A Symfony bundle that integrates Flysystem with Cloudflare R2 object storage, making it easy to configure R2 as a filesystem for uploads, downloads, and file management through familiar Flysystem APIs.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Object storage vendor selection (S3 vs. Cloudflare R2). This package is only plumbing — it makes R2 a config-level choice behind Laravel's Storage facade, which is what makes the R2 decision (usually driven by egress pricing, not features) cheap to reverse. That reversibility, not the package itself, is the PM-relevant fact.
  • Build vs. buy for a storage adapter. The build alternative is owning AWS SDK glue in-house. Buying a thin adapter is normally right; the decision here is whether this adapter clears the bar versus the first-party S3-compatible route.
  • Media/upload pipeline roadmap. If user uploads, generated assets, or CDN-served media are on the roadmap, the storage driver is an early dependency. Confirming a one-line disk config de-risks scoping that work.
  • Lock-in / portability posture. Flysystem is an abstraction, so adopting this does not couple the product to a vendor API — you can swap to the official S3 adapter behind the same Storage::disk() calls.
  • What it does not decide: no customer-facing behavior, no pricing, no UX. Cap PM time at an evaluation spike; this is engineering-led with a PM-visible cost line (egress) attached.

Caveat for this release: 0.1.2 ships with no release notes — the changelog is a bare diff link. That is a process signal, not a feature signal. Treat version number, repo activity, test coverage, license, and open issues as the real evidence, and confirm scope yourself — the -bundle naming suggests Symfony, so verify it actually targets the Laravel/Flysystem integration you need.

When to Consider This Package

Consider it when:

  • You're on Laravel, already use the Filesystem/Storage facade, and have decided (or are seriously evaluating) Cloudflare R2.
  • You want Storage::disk('r2')->put(...) to work without custom SDK code.
  • The team has no appetite to own and patch an in-house S3-compatible adapter.
  • You can pin an exact version and wrap the driver behind a thin internal interface, so a swap costs hours, not a sprint.

Look elsewhere when:

  • The default path already works. R2 is S3-compatible; league/flysystem-aws-s3-v3 pointed at an R2 endpoint is the best-supported option and needs no third-party adapter. This package must justify itself on convenience alone.
  • Maturity is a hard requirement. A 0.1.x package with thin release communication is pre-1.0 by definition — expect breaking changes in patch releases. Fine for a spike, risky as a load-bearing dependency.
  • Framework fit is unconfirmed. Verify Laravel support and the PHP/Laravel version matrix; the -bundle suffix signals Symfony, which would make the wrapper dead weight in Laravel (the reusable asset would be the adapter class only).
  • You need Cloudflare-specific features (image transforms, custom domain, signed-URL ergonomics) rather than plain object storage — confirm the package actually covers them.
  • Governance matters more than convenience: unclear license, no CI badge, single maintainer, or unresponsive issues is a reason to walk regardless of API cleanliness.

How to Pitch It (Stakeholders)

To executives (one paragraph): We're evaluating a small open-source adapter that lets our Laravel app store files on Cloudflare R2 instead of S3. The business case isn't the package — it's R2's egress pricing, which removes the bandwidth charges that grow with usage. The package is low-risk if we isolate it: it's a thin layer over an abstraction we already use, so replacing it is measured in hours. Recommendation: a timeboxed one-day spike and a pinned version, not a commitment.

To engineering (the ask):

  • Timebox a spike: confirm PHP/Laravel version support, install at an exact version (0.1.2, never a caret range at 0.x), and exercise upload/read/delete/visibility/signed URLs against a real R2 bucket.
  • Keep the driver behind a small internal adapter so swapping to the official S3-compatible adapter is a config change, not a refactor.
  • Review the repo first: license, test coverage, CI, commit cadence, open issues, and what actually changed in 0.1.2 (read the diff — the notes don't say).
  • Set expectations: pre-1.0, so pin versions, read every diff, and budget for occasional breakage.

Bottom line: worth a spike, not worth a dependency you can't remove. Fund it as a cost-optimization experiment with a one-day cap; the decision that matters is R2, and this package is a replaceable part of executing it.

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.
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
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