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.
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:
php-opencloud versions almost certainly carry known CVEs and will not install alongside a modern Laravel stack.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?
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.
Storage facade so application code never sees Swift specifics.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.
How can I help you explore Laravel packages today?