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

Df Rackspace Laravel Package

dreamfactory/df-rackspace

A DreamFactory integration package for Rackspace that lets PHP projects connect Rackspace services and expose their resources through configurable REST API endpoints. Useful for adding Rackspace connectivity to DreamFactory instances.

View on GitHub
Deep Wiki
Context7

Getting Started

This package is a DreamFactory service connector for Rackspace (Cloud Files / OpenStack Swift and related Rackspace endpoints). It is not a standalone library — it must be installed into an existing DreamFactory instance (dreamfactory/df-core already present).

Minimal steps:

  1. Add it as a dependency of your DreamFactory install:
    composer require dreamfactory/df-rackspace
    
  2. Verify the df-core constraint in the package’s composer.json against your DreamFactory version — this is the first thing to check, because the package has not been released since Feb 2023.
  3. Run the DreamFactory setup/registration command (e.g. php artisan dreamfactory:setup or its df:* equivalent depending on your core version) so the bundled ServiceProvider registers the new service type.
  4. Restart the web/queue workers and open Admin → Services → Create. You should see a Rackspace service type in the dropdown.
  5. Configure credentials (username / API key or password, region, container) and save.

Where to look first in the repo:

  • src/ServiceProviders/ — the provider that registers the service type.
  • src/Services/ — the actual service/handler classes; this is where endpoint behavior lives.
  • config/ — any publishable config (usually empty or minimal for connectors).
  • composer.json — pin the correct df-core and OpenStack SDK versions.

First realistic use case: expose a Rackspace Cloud Files container as a governed REST API (list containers/objects, upload, download, delete) so an internal app or LLM tool harness can read/write objects without embedding Rackspace credentials. Point the service at a container, then browse /api/v2/{api_name}/_schema for the auto-generated endpoint map.

Implementation Patterns

Configure once, consume through the standard DreamFactory API surface. The Rackspace connector plugs into DreamFactory's uniform verbs, so once a service named e.g. rackspace exists, everything lives under /api/v2/rackspace/.... Prefer letting DreamFactory generate the Swagger at _schema and build clients from that rather than hand-coding URLs.

Service definition via Admin or seed data. For repeatable environments, define the service through the Admin API / database seeder rather than clicking through the UI. Store the credential set in DreamFactory's credential store (or env vars referenced from the config) — do not commit raw API keys into service records in version control.

Role-based exposure. Treat the connector as untrusted by default: create roles that grant only the specific containers/verbs each app needs. This is the main reason to use a connector instead of direct SDK calls — governance is the point.

Server-side scripting for orchestration. Use DreamFactory's scripting engine (Node/V8js) with platform.api to chain Rackspace calls to other services. For example: on a POST event to an app endpoint, upload a generated file to Cloud Files via the Rackspace service, then write a pointer record to a SQL service. Keep scripts small; each script is a deployment artifact.

Events as extension points. Hook pre_process / post_process events on the Rackspace service to enforce naming conventions, inject metadata, or reject oversized uploads before they hit Rackspace. This avoids forking the connector.

Wrapper service for product-specific endpoints. If your app needs a stable contract (e.g. /files/{id}) that survives a migration off Rackspace, put a thin custom service in front of the connector. That way swapping the backend later is a service-class change, not an app rewrite.

Gotchas and Tips

  • Staleness is the primary risk. Last release 2023-02-28, zero stars, no dependents. Expect the underlying OpenStack/Swift SDK it pulls in to conflict with newer PHP and Laravel versions in modern DreamFactory releases. Check compatibility before adopting; treat the repo as a reference implementation you may need to patch.
  • Auth endpoint differs by region and account type. Rackspace (US vs UK) uses different identity endpoints, and API-key auth is not interchangeable with password auth. Wrong endpoint shows up as generic 401/404 from the OpenStack client, not a helpful DreamFactory error.
  • Cloud Files ≠ S3. Swift semantics (containers, pseudo-folders, metadata headers) don’t map 1:1 to S3-style operations. Don’t assume S3 patterns copied from df-aws will work here; verify container/object paths against _schema.
  • Debugging: enable DreamFactory’s verbose logging and watch storage/logs/laravel.log. The connector frequently swallows OpenStack exceptions into a generic platform error — the real stack trace is in the log, not the API response.
  • Schema cache: after changing service config, clear DreamFactory’s cache (or run the cache-clear artisan command) or you’ll keep hitting the old endpoint definitions.
  • Extension without forking: subclass the connector’s service class, override the handler methods you need, and bind your class in a small custom ServiceProvider. This survives composer update far better than editing vendor/.
  • Rackspace’s own platform direction (migrations away from legacy Cloud Files, S3-compatible options) means this connector is a transitional dependency. Isolate it behind a wrapper service and keep an S3-compatible fallback in mind for the next iteration.
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.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core