class SettingsReader::VaultResolver::Engines::Auth

Adapter to retrieve / renew auth tokens

Constants

K8S_AUTH
MOUNT

Public Instance Methods

retrieves?(address) click to toggle source
# File lib/settings_reader/vault_resolver/engines/auth.rb, line 9
def retrieves?(address)
  address.mount == MOUNT
end

Protected Instance Methods

get_secret(address) click to toggle source
# File lib/settings_reader/vault_resolver/engines/auth.rb, line 15
def get_secret(address)
  return k8s_auth(address) if address.path == K8S_AUTH

  raise SettingsReader::VaultResolver::Error, "Unsupported auth backed for #{address}"
end
renew_lease(_entry) click to toggle source
# File lib/settings_reader/vault_resolver/engines/auth.rb, line 21
def renew_lease(_entry)
  secret = Vault.client.auth_token.renew_self
  secret&.auth
end

Private Instance Methods

k8s_auth(address) click to toggle source
# File lib/settings_reader/vault_resolver/engines/auth.rb, line 28
def k8s_auth(address)
  options = { route: address.options['route'], service_token_path: address.options['service_token_path'] }
  secret = Vault.auth.kubernetes(address.options['role'], **options)
  secret&.auth
end