Storing keys in your repository is A Bad Idea™. With idkfa, you can store them in a YAML file outside your repository yet include them easily.
Once installed and setup with Idkfa.load_keys, your sensitive information will be stored in upper-cased keys inside ENV.
Why “idkfa?” Haven’t you played Doom?
To configure idkfa, you will need to add a credentials.yml file to your project
Sample config/credentials.yml:
common: &COMMON
domain_url: http://localhost:3000
my_secret_api_key: something_really_secret
development:
<<: *COMMON
production:
<<: *COMMON- Add
gem 'idkfa'to yourGemfile - Run
bundle - Add the
Idkfa.load_keyscall inside your Application definition inconfig/application.rb:
class Application < Rails::Application
Idkfa.load_keys Rails.env, :credentials => Rails.root.join('config', 'credentials.yml')
...
end- In your application, use
ENV['MY_SECRET_API_KEY']
- Run
gem install idkfa - Use
Idkfa.load_keys :production, :credentials => File.expand_path('../credentials.yml', __FILE__)(or similar) - In your code, use
ENV['MY_SECRET_API_KEY']
Written/Conceived by:
- Bradley Grzesiak – Bendyworks
- Jaymes Waters – Bendyworks
- Nick Karpenske – Bendyworks