Class: Makit::Secrets::SecretsManager

Inherits:
Object
  • Object
show all
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

Constructor Details

#initializeSecretsManager

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_filenameObject



60
61
62
# File 'lib/makit/secrets/secrets_manager.rb', line 60

def get_secrets_filename
  @secrets_backend.get_secrets_filename
end

#get_secrets_hashObject



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

Returns:

  • (Boolean)


44
45
46
# File 'lib/makit/secrets/secrets_manager.rb', line 44

def has_key?(key)
  @secrets_backend.has_key?(key)
end

#infoObject



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

Returns:

  • (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