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