class PuppetDB::Config
Public Class Methods
new(overrides = nil, load_files = false)
click to toggle source
# File lib/puppetdb/config.rb, line 5 def initialize(overrides = nil, load_files = false) @overrides = {} overrides.each { |k, v| @overrides[k.to_sym] = v } unless overrides.nil? @load_files = load_files end
Public Instance Methods
[](key)
click to toggle source
# File lib/puppetdb/config.rb, line 101 def [](key) @config[key] end
config()
click to toggle source
# File lib/puppetdb/config.rb, line 76 def config @config ||= load_config end
default_cacert()
click to toggle source
# File lib/puppetdb/config.rb, line 48 def default_cacert File.join(puppetlabs_root, 'puppet', 'ssl', 'certs', 'ca.pem') end
defaults()
click to toggle source
# File lib/puppetdb/config.rb, line 52 def defaults { cacert: default_cacert, token_file: File.join(user_root, 'token') } end
global_conf()
click to toggle source
# File lib/puppetdb/config.rb, line 36 def global_conf File.join(puppetlabs_root, 'client-tools', 'puppetdb.conf') end
load_config()
click to toggle source
# File lib/puppetdb/config.rb, line 59 def load_config config = defaults if @load_files if File.exist?(global_conf) && File.readable?(global_conf) config = config.merge(load_file(global_conf)) end if @overrides[:config_file] config = config.merge(load_file(@overrides[:config_file])) elsif File.exist?(user_conf) && File.readable?(user_conf) config = config.merge(load_file(user_conf)) end end config.merge(@overrides) end
load_file(path)
click to toggle source
# File lib/puppetdb/config.rb, line 17 def load_file(path) loaded_conf = File.open(path) { |f| JSON.parse(f.read, symbolize_names: true)[:puppetdb] } # Munge token-file into token_file for better readability in Ruby if loaded_conf[:'token-file'] loaded_conf[:token_file] = loaded_conf.delete(:'token-file') end loaded_conf end
load_token()
click to toggle source
# File lib/puppetdb/config.rb, line 80 def load_token if @config.include?(:token) @config[:token] elsif File.readable?(config[:token_file]) File.read(config[:token_file]).strip end end
pem()
click to toggle source
# File lib/puppetdb/config.rb, line 97 def pem @config.select { |k, _| [:cacert, :cert, :key].include?(k) } end
puppetlabs_root()
click to toggle source
# File lib/puppetdb/config.rb, line 28 def puppetlabs_root if windows? 'C:\ProgramData\PuppetLabs' else '/etc/puppetlabs' end end
server_urls()
click to toggle source
# File lib/puppetdb/config.rb, line 92 def server_urls return config[:server_urls].split(',') if config[:server_urls].is_a?(String) config[:server_urls] || [] end
token()
click to toggle source
# File lib/puppetdb/config.rb, line 88 def token @token ||= load_token end
user_conf()
click to toggle source
# File lib/puppetdb/config.rb, line 44 def user_conf File.join(user_root, 'client-tools', 'puppetdb.conf') end
user_root()
click to toggle source
# File lib/puppetdb/config.rb, line 40 def user_root File.join(Dir.home, '.puppetlabs') end
windows?()
click to toggle source
# File lib/puppetdb/config.rb, line 12 def windows? @is_windows ||= (RbConfig::CONFIG['host_os'] =~ %r{mswin|mingw|cygwin}) @is_windows end