Class: Conjur::Config
- Inherits:
-
Object
- Object
- Conjur::Config
- Defined in:
- lib/conjur/config.rb
Constant Summary collapse
- @@attributes =
{}
Class Method Summary collapse
- .[](key) ⇒ Object
- .apply ⇒ Object
- .clear ⇒ Object
- .default_config_files ⇒ Object
- .inspect ⇒ Object
- .keys ⇒ Object
- .load(config_files = default_config_files) ⇒ Object
- .merge(a) ⇒ Object
- .plugins ⇒ Object
Class Method Details
.[](key) ⇒ Object
94 95 96 |
# File 'lib/conjur/config.rb', line 94 def [](key) @@attributes[key.to_s] end |
.apply ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/conjur/config.rb', line 54 def apply require 'conjur/configuration' keys = Config.keys.dup keys.delete(:plugins) keys.each do |k| value = Config[k] Conjur.configuration.set k, value if value end if Conjur.log require 'conjur/api' Conjur.log << "Using authn host #{Conjur::Authn::API.host}\n" end if Config[:cert_file] OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE.add_file Config[:cert_file] end end |
.clear ⇒ Object
29 30 31 |
# File 'lib/conjur/config.rb', line 29 def clear @@attributes = {} end |
.default_config_files ⇒ Object
33 34 35 |
# File 'lib/conjur/config.rb', line 33 def default_config_files [ File.join("/etc", "conjur.conf"), ( ENV['CONJURRC'] || File.("~/.conjurrc") ), '.conjurrc' ] end |
.inspect ⇒ Object
72 73 74 |
# File 'lib/conjur/config.rb', line 72 def inspect @@attributes.inspect end |
.keys ⇒ Object
90 91 92 |
# File 'lib/conjur/config.rb', line 90 def keys @@attributes.keys.map(&:to_sym) end |
.load(config_files = default_config_files) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/conjur/config.rb', line 37 def load(config_files = default_config_files) require 'yaml' require 'conjur/log' config_files.each do |f| if File.file?(f) if Conjur.log Conjur.log << "Loading #{f}\n" end config = YAML.load(IO.read(f)).stringify_keys rescue {} if config['cert_file'] config['cert_file'] = File.(config['cert_file'], File.dirname(f)) end Conjur::Config.merge config end end end |
.merge(a) ⇒ Object
85 86 87 88 |
# File 'lib/conjur/config.rb', line 85 def merge(a) a = {} unless a @@attributes.deep_merge!(a.stringify_keys) end |
.plugins ⇒ Object
76 77 78 79 80 81 82 83 |
# File 'lib/conjur/config.rb', line 76 def plugins plugins = @@attributes['plugins'] if plugins plugins.is_a?(Array) ? plugins : plugins.split(',') else [] end end |