I have a Rails 5 application with Carrierwave. I would like to use fog-google gem but I cannot set it up because fog cannot retrieve the credentials.
I created a .fog file in my application root populated this way:
default:
google_project: XXXX-website-cdn
google_client_email: [email protected]
google_json_key_location: google-storage-cdn.json
I then tried to run pry as mentioned in the guidelines, but it doesn't get the credentials.
[3] pry(main)> connection = Fog::Compute::Google.new
ArgumentError: Missing required arguments: google_project
from /Users/ab/.rvm/gems/ruby-2.3.1/gems/fog-core-1.43.0/lib/fog/core/service.rb:244:in `validate_options'
Infact:
[4] pry(main)> Fog.credentials
=> {}
Where do I tell fog to get credentials from the .fog file?
I don't know if it might be useful to know that I'm using Figaro gem to manage my secrets.
QUICK SOLUTION
Put the
.fogfile in the root of the server (or your computer), not the one of the app.This is pretty bad, but it's the first I found while quickly looking to solve the problem.
RIGHT SOLUTION
If you use
google_json_key_location: google-storage-cdn.jsonRails will look into/folder of the current server (your computer if you are working locally). In order to look into the application folder you need to use a Rails helper.