lib/secrets_loader.rb in secrets_loader-0.1.0 vs lib/secrets_loader.rb in secrets_loader-0.1.1
- old
+ new
@@ -1,33 +1,35 @@
# frozen_string_literal: true
-require 'secrets_loader/version'
require 'json'
+require 'secrets_loader/config'
+require 'secrets_loader/version'
module SecretsLoader
class << self
attr_accessor :config
def load
- return unless enable_secrets_loader?
+ return unless enable?
- load_secret_values.each do |key, value|
- if ENV.has_key?(key)
+ secret_values.each do |key, value|
+ if ENV.has_key?(key.to_s)
warn "WARNING: Skipping key #{key.inspect}. Already set in ENV."
else
- ENV[key] = value.to_s
+ ENV[key.to_s] = value.to_s
end
end
end
- def load_secret_values
- secrets_manager = config.client
- secret_string = secrets_manager.get_secret_value(secret_id: config.secret_id).secret_string
- JSON.parse(secret_string)
+ private
+
+ def secret_values
+ config.loader.load
end
- def enable_secrets_loader?
- return false if ENV['ENABLE_SECRETS_LOADER'].nil? || ENV['ENABLE_SECRETS_LOADER'].empty?
- !(config.secret_id.nil? || config.secret_id.empty?)
+ def enable?
+ config.loader.enable?
end
end
+
+ self.config = SecretsLoader::Config.new
end