Class: Kamal::Cli::Secrets

Inherits:
Base
  • Object
show all
Defined in:
lib/kamal/cli/secrets.rb

Instance Method Summary collapse

Methods inherited from Base

dynamic_command_class, exit_on_failure?, #initialize

Constructor Details

This class inherits a constructor from Kamal::Cli::Base

Instance Method Details

#extract(name, secrets) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/kamal/cli/secrets.rb', line 15

def extract(name, secrets)
  parsed_secrets = JSON.parse(secrets)
  value = parsed_secrets[name] || parsed_secrets.find { |k, v| k.end_with?("/#{name}") }&.last

  raise "Could not find secret #{name}" if value.nil?

  return_or_puts value, inline: options[:inline]
end

#fetch(*secrets) ⇒ Object



7
8
9
10
11
# File 'lib/kamal/cli/secrets.rb', line 7

def fetch(*secrets)
  results = adapter(options[:adapter]).fetch(secrets, **options.slice(:account, :from).symbolize_keys)

  return_or_puts JSON.dump(results).shellescape, inline: options[:inline]
end


25
26
27
28
29
# File 'lib/kamal/cli/secrets.rb', line 25

def print
  KAMAL.config.secrets.to_h.each do |key, value|
    puts "#{key}=#{value}"
  end
end