class Sanctum::VaultClient
Public Class Methods
build(vault_address, vault_token)
click to toggle source
# File lib/sanctum/vault_client.rb, line 6 def self.build(vault_address, vault_token) vault_client = Vault::Client.new(address: vault_address, token: vault_token) check_token(vault_client) vault_client end
check_token(vault_client)
click to toggle source
# File lib/sanctum/vault_client.rb, line 12 def self.check_token(vault_client) response = vault_client.request(:get, "v1/auth/token/lookup-self") renewable = response[:data][:renewable] if renewable creation_ttl = response[:data][:creation_ttl] remaining = response[:data][:ttl] fifty_percent = (creation_ttl * 0.50).to_i renew_token(vault_client, creation_ttl) if remaining < fifty_percent end end
renew_token(vault_client, increment)
click to toggle source
# File lib/sanctum/vault_client.rb, line 25 def self.renew_token(vault_client, increment) payload = {"increment": increment}.to_json vault_client.request(:post, "v1/auth/token/renew-self", payload) end