class SecretGarden::Vault

Attributes

with_retries[RW]

Public Instance Methods

fetch(secret) click to toggle source
# File lib/secret_garden/vault.rb, line 15
def fetch(secret)
  unless vault_secret = fetch_from_vault(secret.path)
    raise SecretNotDefined,
      "Vault does not have secret at #{secret.path.inspect}"
  end

  unless value = vault_secret.data[secret.property.to_sym]
    raise PropertyNotDefined,
      "Vault does not have secret at #{secret.path}:#{secret.property}"
  end

  value
end
fetch_from_vault(path) click to toggle source
# File lib/secret_garden/vault.rb, line 29
def fetch_from_vault(path)
  if with_retries
    ::Vault.logical.with_retries(*with_retries) do
      ::Vault.logical.read path
    end
  else
    ::Vault.logical.read path
  end
end