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

Version Path
pvcglue-0.9.6 lib/pvcglue/ssl.rb
pvcglue-0.9.5 lib/pvcglue/ssl.rb
pvcglue-0.9.4 lib/pvcglue/ssl.rb
pvcglue-0.9.3 lib/pvcglue/ssl.rb
pvcglue-0.9.2 lib/pvcglue/ssl.rb
pvcglue-0.9.1 lib/pvcglue/ssl.rb
pvcglue-0.9.0 lib/pvcglue/ssl.rb
pvcglue-0.1.39 lib/pvcglue/ssl.rb
pvcglue-0.1.38 lib/pvcglue/ssl.rb
pvcglue-0.1.37 lib/pvcglue/ssl.rb
pvcglue-0.1.36 lib/pvcglue/ssl.rb
pvcglue-0.1.35 lib/pvcglue/ssl.rb
pvcglue-0.1.34 lib/pvcglue/ssl.rb
pvcglue-0.1.33 lib/pvcglue/ssl.rb
pvcglue-0.1.32 lib/pvcglue/ssl.rb
pvcglue-0.1.31 lib/pvcglue/ssl.rb
pvcglue-0.1.30 lib/pvcglue/ssl.rb
pvcglue-0.1.29 lib/pvcglue/ssl.rb
pvcglue-0.1.28 lib/pvcglue/ssl.rb
pvcglue-0.1.27 lib/pvcglue/ssl.rb