Sha256: 28d41d3a60872b66a474ed064b87bed1e1df86528203eb5a675f1e21ad1af284

Contents?: true

Size: 1.39 KB

Versions: 32

Compression:

Stored size: 1.39 KB

Contents

require 'hybrid_platforms_conductor/secrets_reader'

module HybridPlatformsConductor

  module HpcPlugins

    module SecretsReader

      # Read secrets from a secrets source
      class MySecretsReaderPlugin < HybridPlatformsConductor::SecretsReader

        # Complete an option parser with options meant to control this secrets reader
        # [API] - This method is optional
        #
        # Parameters::
        # * *options_parser* (OptionParser): The option parser to complete
        def options_parse(options_parser)
          @key_file = nil
          options_parser.on('--key-file FILE', 'Key file decrypting a secret vault.') do |file|
            @key_file = file
          end
        end

        # Return secrets for a given service to be deployed on a node.
        # [API] - This method is mandatory
        # [API] - The following API components are accessible:
        # * *@config* (Config): Main configuration API.
        # * *@cmd_runner* (CmdRunner): Command Runner API.
        # * *@nodes_handler* (NodesHandler): Nodes handler API.
        #
        # Parameters::
        # * *node* (String): Node to be deployed
        # * *service* (String): Service to be deployed
        # Result::
        # * Hash: The secrets
        def secrets_for(node, service)
          JSON.parse(Vault.decrypt("/path/to/#{node}_#{service}.vault", key: @key_file))
        end

      end

    end

  end

end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
hybrid_platforms_conductor-33.9.5 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.9.4 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.9.2 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.9.1 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.9.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.8.4 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.8.3 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.8.2 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.8.1 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.8.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.7.4 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.7.3 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.7.2 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.7.1 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.7.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.6.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.5.1 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.5.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.4.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample
hybrid_platforms_conductor-33.3.0 lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/my_secrets_reader_plugin.rb.sample