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