class Portunus::Configuration

Attributes

encrypter[RW]
max_key_duration[RW]
storage_adaptor[RW]

Public Class Methods

new() click to toggle source
# File lib/portunus/configuration.rb, line 5
def initialize
  @storage_adaptor = ::Portunus::StorageAdaptors::Credentials
  @encrypter = ::Portunus::Encrypters::OpenSslAes
  @keys_loaded = false
  @master_key_names = []
  @max_key_duration = 6.months
end

Public Instance Methods

add_key(key_name) click to toggle source
# File lib/portunus/configuration.rb, line 18
def add_key(key_name)
  @master_key_names.push(key_name)
  # we want to load all the names of the keys in the storage
  # adaptor. Because we might need to search through an environment
  # that has quite a few keys often for every key we want to load
  # the valid keys
end
keys_loaded?() click to toggle source
# File lib/portunus/configuration.rb, line 26
def keys_loaded?
  @keys_loaded
end
load_keys() click to toggle source
# File lib/portunus/configuration.rb, line 13
def load_keys
  storage_adaptor.load
  @keys_loaded = true
end
master_key_names() click to toggle source
# File lib/portunus/configuration.rb, line 43
def master_key_names
  load_keys unless keys_loaded?

  @master_key_names
end
reload_master_keys() click to toggle source
# File lib/portunus/configuration.rb, line 36
def reload_master_keys
  # Perform a reload on the master keys. This is used in tests and to
  # add new keys into the environment without rebooting the app.
  @master_key_names = []
  load_keys
end
reset_master_keys() click to toggle source
# File lib/portunus/configuration.rb, line 30
def reset_master_keys
  # Clear all master keys to empty, used for testing
  @master_key_names = []
  @keys_loaded = false
end