This works just fine. I can't figure out how to do this in Paperclip, but if I use the following code, I can tell from tcpdump and the resulting error that my app is talking to Amazon, not the host I have specified:
Since the fog gem itself can cope with a non-AWS host, it seems like we just need to pass it on through, but maintain the logic going on in host_name_for_directory. Would it make sense to add a :provider of CEPH maybe? Then we can check for that in the fog_credentials and construct the host/path appropriately?
Actually... if you pass in the :host in :fog_credentials, it properly passes it on to Fog. The bucket-name prepending that happens throws things off if you specify :fog_directory. Currently I'm getting an error from (I think) Fog - undefined method 'gsub!' for nil:NilClass.
Ok, it is all working now. Here's the deal: you need to pass in :host in the :fog_credentials and things work as one would expect. The problems I was having stemmed from us not having some important configuration bits on our Ceph cluster, but the good news for anyone who finds this thread is that Paperclip works out of the box if your cluster is properly configured.