class Kontena::Cli::Stacks::YAML::Opto::Resolvers::VaultCertPrompt
Public Instance Methods
default_indexes(secrets)
click to toggle source
@param [Array<Hash>] secrets @return [Array<Integer>]
# File lib/kontena/cli/stacks/yaml/opto/vault_cert_prompt_resolver.rb, line 30 def default_indexes(secrets) indexes = [] option.default.to_a.each do |name| index = secrets.index { |s| s['name'] == name } indexes << index.to_i + 1 if index end indexes end
get_secrets()
click to toggle source
@return [Array<Hash>] secrets
# File lib/kontena/cli/stacks/yaml/opto/vault_cert_prompt_resolver.rb, line 22 def get_secrets client.get("grids/#{current_grid}/secrets")['secrets'] rescue [] end
resolve()
click to toggle source
# File lib/kontena/cli/stacks/yaml/opto/vault_cert_prompt_resolver.rb, line 5 def resolve return nil unless current_master && current_grid message = hint || 'Select SSL certs' secrets = get_secrets.select{ |s| s['name'].match(/(ssl|cert)/i) } if secrets.size > 0 prompt.multi_select(message) do |menu| menu.default(*default_indexes(secrets)) if option.default secrets.each do |s| menu.choice s['name'] end end end end