Created
November 7, 2018 03:26
-
-
Save stevehodgkiss/8959d30c37723d773666321941e313af to your computer and use it in GitHub Desktop.
Displays Heroku config vars as JSON, to make importing them into EJSON files easier
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'json' | |
require 'optparse' | |
options = {} | |
ARGV << '--help' if ARGV.empty? | |
OptionParser.new do |opts| | |
opts.on('--heroku-app HEROKU_APP', String, 'Heroku app name') do |o| | |
options[:heroku_app] = o | |
end | |
opts.on('--config-vars CONFIG_VARS', Array, 'comma separated list of Heroku config vars') do |o| | |
options[:config_vars] = o | |
end | |
end.parse! | |
unless options[:heroku_app] | |
STDERR.puts "Missing --heroku-app" | |
exit 1 | |
end | |
unless options[:config_vars] | |
STDERR.puts "Missing --config-vars" | |
exit 1 | |
end | |
secret_hash = {} | |
options[:config_vars].each do |config_var| | |
secret_value = `heroku config:get #{config_var} --app #{options[:heroku_app]}` | |
secret_hash[config_var] = secret_value.chomp | |
end | |
puts JSON.pretty_generate(secret_hash) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment