Sha256: 33ad00af168bb412cdb92a757edfc0c56905013500ed0964492877e133d621bb

Contents?: true

Size: 657 Bytes

Versions: 7

Compression:

Stored size: 657 Bytes

Contents

# templates for certs
class Vault::Provision::Pki::Roles < Vault::Provision::Prototype
  include Vault::Provision::Pki

  def repo_files
    mounts = @vault.sys.mounts
    pki_mounts = mounts.keys.select { |mp| mounts[mp].type == 'pki' }
    roles = []
    pki_mounts.each do |mp|
      Find.find("#{@instance_dir}/#{mp}/roles/").each do |rf|
        next unless rf.end_with? '.json'
        roles << rf
      end
    end
    roles
  end

  def provision!
    repo_files.each do |rf|
      mount_point = rf.split('/')[-3]
      role_name = File.basename(rf, '.json')
      @vault.post "v1/#{mount_point}/roles/#{role_name}", File.read(rf)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
vault-provision-0.1.7 lib/vault/provision/pki/roles.rb
vault-provision-0.1.6 lib/vault/provision/pki/roles.rb
vault-provision-0.1.5 lib/vault/provision/pki/roles.rb
vault-provision-0.1.4 lib/vault/provision/pki/roles.rb
vault-provision-0.1.2 lib/vault/provision/pki/roles.rb
vault-provision-0.1.1 lib/vault/provision/pki/roles.rb
vault-provision-0.1.0 lib/vault/provision/pki/roles.rb