Sha256: 6a44c5fb1e92436b23096063e331d3d4c1a24b0c434d8ff3ee094c9031be1a16

Contents?: true

Size: 885 Bytes

Versions: 4

Compression:

Stored size: 885 Bytes

Contents

# frozen_string_literal: true

module ForemanVault
  module Macros
    def vault_secret(vault_connection_name, secret_path)
      vault = VaultConnection.find_by!(name: vault_connection_name)
      raise VaultError.new(N_('Invalid token for %s'), vault.name) if vault.with_token? && !vault.token_valid?

      vault.fetch_secret(secret_path)
    rescue ActiveRecord::RecordNotFound => e
      raise VaultError, e.message
    end

    def vault_issue_certificate(vault_connection_name, secret_path, *options)
      vault = VaultConnection.find_by!(name: vault_connection_name)
      raise VaultError.new(N_('Invalid token for %s'), vault.name) if vault.with_token? && !vault.token_valid?
      vault.issue_certificate(secret_path, *options)
    rescue ActiveRecord::RecordNotFound => e
      raise VaultError, e.message
    end

    class VaultError < Foreman::Exception; end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
foreman_vault-1.2.0 app/lib/foreman_vault/macros.rb
foreman_vault-1.1.0 app/lib/foreman_vault/macros.rb
foreman_vault-1.0.0 app/lib/foreman_vault/macros.rb
foreman_vault-0.4.0 app/lib/foreman_vault/macros.rb