class Pvcglue::Ssl

Public Instance Methods

csr() click to toggle source
# File lib/pvcglue/ssl.rb, line 6
def csr
  name = Pvcglue.cloud.app_and_stage_name
  system("openssl req -new -newkey rsa:2048 -nodes -keyout #{name}.key -out #{name}.csr")
end
import(file_name) click to toggle source
# File lib/pvcglue/ssl.rb, line 14
def import(file_name)
  cloud_data = Pvcglue.cloud.data

  ext = File.extname(file_name)

  case ext
  when ".crt", ".key"
    cloud_data[Pvcglue.cloud.app_name][:stages][Pvcglue.cloud.stage_name]["ssl_#{ext[1..-1]}"] = File.read(file_name)
  when ""
    cloud_data[Pvcglue.cloud.app_name][:stages][Pvcglue.cloud.stage_name]["ssl_key"] = File.read("#{file_name}.key")
    cloud_data[Pvcglue.cloud.app_name][:stages][Pvcglue.cloud.stage_name]["ssl_crt"] = File.read("#{file_name}.crt")
  else
    raise(Thor::Error, "Unknown file extension:  #{ext}.")
  end

  # File.write(::Pvcglue.cloud.local_file_name, TOML.dump(cloud_data))
  File.write(::Pvcglue.cloud.local_file_name, TOML::PvcDumper.new(cloud_data).toml_str)

  Pvcglue::Manager.push_configuration
end