Sha256: d13c2df6d639c42eaf84e361fa2673b2bc599989db97650588429fcdbfa0fe47

Contents?: true

Size: 685 Bytes

Versions: 12

Compression:

Stored size: 685 Bytes

Contents

# frozen_string_literal: true

require 'aws-sdk-secretsmanager'
require 'json'

module AwsSecretsLoader
  class AwsFetcher
    class << self
      def load
        secrets = fetch_secrets
        add_to_environment(secrets)
      end

      private

      def fetch_secrets
        client = Aws::SecretsManager::Client.new
        get_secret_value_response = client.get_secret_value(secret_id: secret_name)

        JSON.parse(get_secret_value_response.secret_string)
      end

      def add_to_environment(secrets)
        secrets.each do |key, value|
          ENV[key] = value
        end
      end

      def secret_name
        ENV['AWS_SECRET_NAME']
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
aws_secrets_loader-0.2.4 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.2.3 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.2.2 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.2.1 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.2.0 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.6 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.5 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.4 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.3 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.2 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.1 lib/aws_secrets_loader/aws_fetcher.rb
aws_secrets_loader-0.1.0 lib/aws_secrets_loader/aws_fetcher.rb