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

Rackspace Cloud Files Bundle Laravel Package

tvision/rackspace-cloud-files-bundle

A Symfony bundle for integrating Rackspace Cloud Files into PHP applications. It provides configuration and service wiring to upload, store, manage, and serve files via Rackspace cloud object storage, simplifying Cloud Files usage within Symfony projects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite the "PHP package" framing, this is a Symfony 2 bundle, not a Laravel package: it follows Symfony's Bundle/DependencyInjection conventions (service definitions, *Bundle class, autoloaded via the Symfony2 bundle registration flow). Laravel's container knows nothing about bundles, and this package predates Composer-based Laravel auto-discovery by several years, so nothing will register itself. The only path to using it inside a Laravel app is to wrap its underlying storage client in a hand-written ServiceProvider — and at that point you have discarded the actual package and kept only its glue code.

Integration feasibility. Low. The bundle's only real value was wiring a third-party Rackspace Cloud Files SDK into Symfony's container. That wiring is ~100 lines of trivial config, and it's the part you'd throw away. You can consume the underlying SDK directly without this repository, which makes the package's marginal value close to zero for a Laravel codebase. composer require should be expected to fail or resolve to nothing on a modern PHP 8.x project — the 2013 constraint set (PHP 5.3/5.4 era, Symfony 2.0–2.3, old php-opencloud) is not compatible with current frameworks.

Technical risk. High across every axis:

  • Abandonment. Last release 2013-11-13, zero dependents, no maintenance activity for over a decade. There is no one to file a security issue with.
  • Deprecation of the service, not just the package. Rackspace acquired (and then divested) its public cloud; Cloud Files is now an OpenStack Swift-compatible endpoint rather than the proprietary product this bundle targeted. The code may be calling an API surface that has since changed.
  • Dependency rot. Pinned transitive dependencies on ancient php-opencloud versions almost certainly carry known CVEs and will not install alongside a modern Laravel stack.
  • Hidden effort. The nominal scope ("add a disk driver") is deceptive; real effort is in reverse-engineering the 2013 auth flow, container naming, and CDN behavior before you can even spike it.

Key questions. (1) Is the requirement Rackspace Cloud Files specifically, or open object storage with a Swift/S3 API? The answer almost certainly changes the recommendation. (2) What is the data gravity — are we reading existing Cloud Files data, or writing net-new? (3) Is the business still on Rackspace public cloud at all, or is this greenfield where a modern provider would do? (4) Does the team have a hard compliance requirement to stay on Swift, or is this a legacy integration we are inheriting? (5) What is the acceptable blast radius if the storage layer breaks for 24 hours?

Integration Approach

Stack fit. Poor as-is. Do not attempt to install this bundle into a Laravel application. Treat the repository as reference documentation for how a previous team wired a Cloud Files client, and build the integration using a maintained, framework-agnostic client instead.

Migration path. The pragmatic path is to bypass this package entirely and implement a Laravel filesystem disk backed by a modern Swift/OpenStack client — either php-opencloud/openstack (v3.x, actively maintained) or a Flysystem adapter such as royvoetman/flysystem-openstack-cloud (Flysystem v3 + league/flysystem), registered through Laravel's FilesystemManager / Storage::disk() facade. If the target is actually S3-compatible (Rackspace's newer object storage, or any migration target), use the first-party league/flysystem-aws-s3-v3 and skip Swift altogether. Both options give you a supported dependency tree, Laravel-native configuration, and a clean exit path later.

Compatibility. Run composer why-not tvision/rackspace-cloud-files-bundle and composer why-not on the transitive SDK before any evaluation; expect hard conflicts on PHP and Symfony versions. Verify the actual Rackspace endpoint spec (auth URL, region, CDN container) against the tenant you intend to use — the 2013 assumptions about UK/US auth endpoints are unlikely to hold.

Sequencing.

  1. Confirm the API contract and account type with the storage provider (one day, highest-information step).
  2. Spike a throwaway script against the modern SDK: auth, container list, put/get/delete, CDN invalidation if used.
  3. Wrap the surviving client in a Laravel filesystem driver behind the Storage facade so application code never sees Swift specifics.
  4. Add integration tests with a mocked adapter plus one live smoke test gated behind a feature flag.
  5. Parallel-run against the legacy path (dual-write or shadow-read) before cutover, then retire the 2013 code.

Operational Impact

Maintenance. Effectively unmaintained. Adopting this means forking and owning it indefinitely, including the unpatched transitive dependencies. A fork is a permanent line item on the maintenance budget for what should be a commodity capability.

Support. None upstream — no issue triage, no security advisories, no documentation beyond the README and Rackspace's own archival docs. Internal escalation has to go through whoever wrote the wrapper, which is nobody. Budget for self-sufficiency from day one.

Scaling. The storage service scales well (Swift/Cloud Files is object storage designed for high object counts and large blobs), but the wrapper is irrelevant at scale. The scaling concerns that actually bite are multipart upload thresholds for large files, per-container rate limits, CDN cache invalidation latency, and egress cost — none of which this package handles gracefully, and some of which will require custom code regardless.

Failure modes. Expect fragility around: token expiry and re-auth (2013-era SDKs often assumed short-lived tokens without robust refresh), silent success on partial multipart uploads, hard-coded container/region assumptions, unhandled 5xx with no retry/backoff, and unpatchable CVEs in the vendored SDK. Because the package is unreleased and undependable, none of these will be surfaced by upstream changelogs — you discover them in production.

Ramp-up. Counterintuitively bimodal. If the team takes the modern-adapter route, ramp-up is under a day: it's a Laravel Storage disk and a config block. If the team insists on making this bundle work, expect days to weeks of yak-shaving against PHP 5-era constraints, only to arrive at a fork you now own. The opportunity score of ~1.14 and zero dependents are consistent with the first reading, not the second: this package is a historical artifact, not a dependency to adopt.

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