For Haskell.org we're using Rackspace as our hosting provider, and it would be really swell if we could upload files to their Cloud Files (AKA OpenStack Swift) application, similarly to S3 support now.
We have a working implementation [[ https://github.com/haskell-infra/phabricator/commits/rackspace | available here ]], but it requires a rather large dependency on `php-opencloud` for development (a concern from @epriestley) and is a fork. This (plus the small demand) makes upstreaming it more concerning, so it would be nice if storage backends could be loaded from `libphutil` libraries.
As far as I can tell this isn't currently possible since `PhabricatorDefaultFileStorageEngineSelector` currently has a hard-coded ordering for which backends to use (e.g. [[ https://github.com/haskell-infra/phabricator/blob/fbd5e9ad9805f4127ced9d1fa2034c046a9b3d11/src/applications/files/engineselector/PhabricatorDefaultFileStorageEngineSelector.php#L37 | in our fork, Rackspace is last ]]). So perhaps this wouldn't be too hard to fix in theory right now, but some other logic will need to be instituted to select storage engines.