class Armrest::Services::KeyVault::Base
Private Instance Methods
api()
click to toggle source
# File lib/armrest/services/key_vault/base.rb, line 11 def api check_vault_configured! vault_subdomain = @vault.downcase endpoint = "https://#{vault_subdomain}.vault.azure.net" logger.debug "Azure vault endpoint #{endpoint}" Armrest::Api::Main.new( api_version: "7.1", endpoint: endpoint, resource: "https://vault.azure.net", ) end
check_vault_configured!()
click to toggle source
# File lib/armrest/services/key_vault/base.rb, line 24 def check_vault_configured! return if @vault logger.error "ERROR: Vault has not been configured.".color(:red) logger.error <<~EOL Please configure the Azure KeyVault you want to use. Examples: 1. env var ARMREST_VAULT=demo-vault 2. class var Armrest::KeyVault::Secret.vault = "demo-vault" EOL raise VaultNotConfiguredError.new end
standard_error_message(resp)
click to toggle source
Secret
error handling: 1. network 2. json parse 3. missing secret
Azure API responses with decent error message when
403 Forbidden - KeyVault Access Policy needs to be set up 404 Not Found - Secret name is incorrect
# File lib/armrest/services/key_vault/base.rb, line 47 def standard_error_message(resp) data = JSON.load(resp.body) data['error']['message'] rescue JSON::ParserError resp.body end