Module: Shipitron::ConsulKeys
- Extended by:
- ConsulKeys
- Defined in:
- lib/shipitron/consul_keys.rb
Instance Method Summary collapse
- #configure_consul_client! ⇒ Object
- #fetch_key(key:) ⇒ Object
- #fetch_key!(key:) ⇒ Object
- #set_key(key:, value:) ⇒ Object
- #set_key!(key:, value:) ⇒ Object
Instance Method Details
#configure_consul_client! ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/shipitron/consul_keys.rb', line 8 def configure_consul_client! if ENV['CONSUL_HOST'].nil? raise 'Environment variable CONSUL_HOST required' end Diplomat.configure do |config| config.url = "http://#{ENV['CONSUL_HOST']}:8500" end end |
#fetch_key(key:) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/shipitron/consul_keys.rb', line 18 def fetch_key(key:) Logger.debug "Fetching key #{key}" value = Diplomat::Kv.get(key, {}, :return) value = nil if value == '' value end |
#fetch_key!(key:) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/shipitron/consul_keys.rb', line 25 def fetch_key!(key:) fetch_key(key: key).tap do |value| if value.nil? raise "Key #{key} not found in consul!" end end end |
#set_key(key:, value:) ⇒ Object
33 34 35 36 |
# File 'lib/shipitron/consul_keys.rb', line 33 def set_key(key:, value:) Logger.debug "Setting key #{key}" Diplomat::Kv.put(key, value) end |
#set_key!(key:, value:) ⇒ Object
38 39 40 41 42 |
# File 'lib/shipitron/consul_keys.rb', line 38 def set_key!(key:, value:) set_key(key: key, value: value).tap do |retval| raise "Unable to set #{key}!" if retval != true end end |