Sha256: ea0d6495dd8a31500b6fecb2efb899008b8da0201a261e39c9efb2d097ad7cd4

Contents?: true

Size: 1.12 KB

Versions: 9

Compression:

Stored size: 1.12 KB

Contents

module SecretsCli
  module Check
    class Vault
      include SecretsCli::Helpers

      attr_reader :options

      def initialize(options)
        @options = options
      end

      def call
        error! 'Missing VAULT_ADDR env' if ENV['VAULT_ADDR'].nil?
        error! 'Missing VAULT_AUTH_METHOD env' if missing_auth_method?
        if auth_method == 'app_id'
          error! 'Missing VAULT_AUTH_APP_ID' if missing_auth_app_id?
          error! 'Missing VAULT_AUTH_USER_ID' if missing_auth_user_id?
        else
          error! 'Missing VAULT_AUTH_TOKEN env' if missing_auth_token?
        end
      end

      private

      def missing_auth_token?
        options.auth_token.nil? && ENV['VAULT_AUTH_TOKEN'].nil?
      end

      def missing_auth_method?
        options.auth_method.nil? && ENV['VAULT_AUTH_METHOD'].nil?
      end

      def missing_auth_app_id?
        options.auth_app_id.nil? && ENV['VAULT_AUTH_APP_ID'].nil?
      end

      def missing_auth_user_id?
        options.auth_user_id.nil? && ENV['VAULT_AUTH_USER_ID'].nil?
      end

      def auth_method
        ENV['VAULT_AUTH_METHOD']
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
secrets_cli-1.6.0 lib/secrets_cli/check/vault.rb
secrets_cli-1.5.0 lib/secrets_cli/check/vault.rb
secrets_cli-1.4.2 lib/secrets_cli/check/vault.rb
secrets_cli-1.4.1 lib/secrets_cli/check/vault.rb
secrets_cli-1.4.0 lib/secrets_cli/check/vault.rb
secrets_cli-1.3.3 lib/secrets_cli/check/vault.rb
secrets_cli-1.3.2 lib/secrets_cli/check/vault.rb
secrets_cli-1.3.1 lib/secrets_cli/check/vault.rb
secrets_cli-1.3.0 lib/secrets_cli/check/vault.rb