class SettingsReader::VaultResolver::Configuration
Configurations for vault resolver
Attributes
lease_refresh_interval[RW]
How often do we check if secret lease is about to expire Default: 60seconds
lease_renew_delay[RW]
Time before expiration when we try to renew the lease Default: 300seconds
lease_renew_error_listener[RW]
Block to be executed when lease is not refreshed Default: empty proc
lease_renew_retries[RW]
How many times to retry renew of the secret Default: 4
lease_renew_success_listener[RW]
Block to be executed when lease is refreshed Default: empty proc
logger[RW]
Logger for gem Default: Logger.new(STDOUT, level: Logger::ERROR)
retrieval_retries[RW]
How many times to retry retrieval of the secret Default: 2
Public Class Methods
new()
click to toggle source
# File lib/settings_reader/vault_resolver/configuration.rb, line 33 def initialize @logger = Logger.new($stdout, level: Logger::ERROR) @retrieval_retries = 2 @lease_refresh_interval = 60 @lease_renew_delay = 300 @lease_renew_retries = 4 @lease_renew_error_listener = proc {} @lease_renew_success_listener = proc {} end
Public Instance Methods
setup_lease_refresher(cache, previous_task = nil)
click to toggle source
# File lib/settings_reader/vault_resolver/configuration.rb, line 43 def setup_lease_refresher(cache, previous_task = nil) previous_task&.shutdown timer_task = Concurrent::TimerTask.new(execution_interval: lease_refresh_interval) do SettingsReader::VaultResolver::Refresher.new(cache, self).refresh end timer_task.add_observer(SettingsReader::VaultResolver::RefresherObserver.new(self)) timer_task.execute timer_task end
vault_engine_for(address)
click to toggle source
# File lib/settings_reader/vault_resolver/configuration.rb, line 62 def vault_engine_for(address) unless (engine = vault_engines.detect { |e| e.retrieves?(address) }) raise SettingsReader::VaultResolver::Error, "Unknown engine for #{address}" end engine end
vault_engines()
click to toggle source
# File lib/settings_reader/vault_resolver/configuration.rb, line 54 def vault_engines @vault_engines ||= [ SettingsReader::VaultResolver::Engines::KV2.new(self), SettingsReader::VaultResolver::Engines::Database.new(self), SettingsReader::VaultResolver::Engines::Auth.new(self) ] end