class Kontena::Cli::Certificate::ImportCommand
Public Instance Methods
certificate_subject(cert)
click to toggle source
# File lib/kontena/cli/certificate/import_command.rb, line 38 def certificate_subject(cert) cert.subject.to_a.each do |name, data| return data if name == 'CN' end exit_with_error "No CN in certificate subject: #{cert.subject}" end
execute()
click to toggle source
# File lib/kontena/cli/certificate/import_command.rb, line 46 def execute cert = load_certificate subject = self.subject || self.certificate_subject(cert) certificate = spinner "Importing certificate from #{cert_file.path}..." do client.put("certificates/#{current_grid}/#{subject}", certificate: cert.to_pem, private_key: self.key_file.read(), chain: chain_file_list.map{|chain_file| chain_file.read() }, ) end show_certificate(certificate) end
load_certificate()
click to toggle source
# File lib/kontena/cli/certificate/import_command.rb, line 32 def load_certificate OpenSSL::X509::Certificate.new(self.cert_file) rescue OpenSSL::OpenSSLError => exc exit_with_error "Invalid certificate at #{self.cert_file.path}: #{exc.class}: #{exc.message}" end
open_file(path)
click to toggle source
@raise [ArgumentError]
# File lib/kontena/cli/certificate/import_command.rb, line 11 def open_file(path) File.open(path) rescue Errno::ENOENT raise ArgumentError, "File not found: #{path}" end