Class: Makit::Secrets::SecretsManager
- Inherits:
-
Object
- Object
- Makit::Secrets::SecretsManager
- Defined in:
- lib/makit/secrets/secrets_manager.rb
Overview
Manager class for secrets management Uses AzureSecrets if Azure Key Vault environment variables are set, otherwise falls back to LocalSecrets
Instance Method Summary collapse
- #add(key, value) ⇒ Object
- #get(key) ⇒ Object
- #get_secrets_filename ⇒ Object
- #get_secrets_hash ⇒ Object
- #has_key?(key) ⇒ Boolean
- #info ⇒ Object
-
#initialize ⇒ SecretsManager
constructor
A new instance of SecretsManager.
- #key?(key) ⇒ Boolean
- #remove(key) ⇒ Object
- #save_secrets_hash(hash) ⇒ Object
- #set(key, value) ⇒ Object
Constructor Details
#initialize ⇒ SecretsManager
Returns a new instance of SecretsManager.
11 12 13 |
# File 'lib/makit/secrets/secrets_manager.rb', line 11 def initialize @secrets_backend = choose_backend end |
Instance Method Details
#add(key, value) ⇒ Object
36 37 38 |
# File 'lib/makit/secrets/secrets_manager.rb', line 36 def add(key, value) @secrets_backend.add(key, value) end |
#get(key) ⇒ Object
52 53 54 |
# File 'lib/makit/secrets/secrets_manager.rb', line 52 def get(key) @secrets_backend.get(key) end |
#get_secrets_filename ⇒ Object
60 61 62 |
# File 'lib/makit/secrets/secrets_manager.rb', line 60 def get_secrets_filename @secrets_backend.get_secrets_filename end |
#get_secrets_hash ⇒ Object
64 65 66 |
# File 'lib/makit/secrets/secrets_manager.rb', line 64 def get_secrets_hash @secrets_backend.get_secrets_hash end |
#has_key?(key) ⇒ Boolean
44 45 46 |
# File 'lib/makit/secrets/secrets_manager.rb', line 44 def has_key?(key) @secrets_backend.has_key?(key) end |
#info ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/makit/secrets/secrets_manager.rb', line 72 def info backend_name = backend_type puts " Backend: #{backend_name}" backend_class_name = @secrets_backend.class.name if backend_class_name == "Makit::Secrets::AzureSecrets" puts " Key Vault: #{@secrets_backend.instance_variable_get(:@keyvault_name)}" secret_name = Makit::Secrets::AzureKeyVault.secret_name puts " Secret Name: #{secret_name}" prefix = @secrets_backend.instance_variable_get(:@secret_prefix) puts " Secret Prefix: #{prefix}" if prefix elsif backend_class_name == "Makit::Secrets::LocalSecrets" puts " Secrets File: #{@secrets_backend.get_secrets_filename}" end puts "" @secrets_backend.info end |
#key?(key) ⇒ Boolean
48 49 50 |
# File 'lib/makit/secrets/secrets_manager.rb', line 48 def key?(key) @secrets_backend.has_key?(key) end |
#remove(key) ⇒ Object
40 41 42 |
# File 'lib/makit/secrets/secrets_manager.rb', line 40 def remove(key) @secrets_backend.remove(key) end |
#save_secrets_hash(hash) ⇒ Object
68 69 70 |
# File 'lib/makit/secrets/secrets_manager.rb', line 68 def save_secrets_hash(hash) @secrets_backend.save_secrets_hash(hash) end |
#set(key, value) ⇒ Object
56 57 58 |
# File 'lib/makit/secrets/secrets_manager.rb', line 56 def set(key, value) @secrets_backend.set(key, value) end |