Sha256: 36b95c1ee44a743f5c82ff76e4899757faad81e240cfe09979f392c92338b6c5
Contents?: true
Size: 1.15 KB
Versions: 41
Compression:
Stored size: 1.15 KB
Contents
module Pvcglue class Ssl < Thor desc "csr", "create new csr" def csr name = Pvcglue.cloud.app_and_stage_name system("openssl req -new -newkey rsa:2048 -nodes -keyout #{name}.key -out #{name}.csr") end desc "import", "import .key or .crt or both if no extension given (.crt must be 'prepared' for nginx)" 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 end end
Version data entries
41 entries across 41 versions & 1 rubygems