lib/release_tools/consul/client.rb (21 lines of code) (raw):

# frozen_string_literal: true require 'diplomat' require 'json' module ReleaseTools module Consul class Client class KeyNotFoundError < StandardError; end def initialize consul_host = ENV.fetch('CONSUL_HOST', 'localhost') consul_port = ENV.fetch('CONSUL_PORT', '8500') # Configure Diplomat with the specified host and port Diplomat.configure do |config| config.url = "http://#{consul_host}:#{consul_port}" end end def get(key) Diplomat::Kv.get(key) rescue Diplomat::KeyNotFound raise KeyNotFoundError, "The key '#{key}' was not found in Consul" end end end end