Sha256: e3fad1bbec2b23ce8192b8d06e20b0f8bb1ba7fdc705134393d3afdbccd80b63

Contents?: true

Size: 760 Bytes

Versions: 3

Compression:

Stored size: 760 Bytes

Contents

require 'handsome_fencer/circle_c_i/crypto'
require 'thor'

namespace :handsome_fencer do

  class Hammer < Thor
    include Thor::Actions
  end

  namespace :circle_c_i do

    class Hammer < Thor
      include Thor::Actions
    end

    desc "generate deploy key"

    task :generate_key do

      if ARGV.include?('--rakefile')
        environment = ARGV[3]
        directory = ARGV[4]
      else
        environment = ARGV[1]
        directory = ARGV[2]
      end

      @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
      @salt = '8 octets'
      @new_key = @cipher.random_key

      hammer :create_file, ".circleci/#{environment}.key", Base64.encode64(@new_key)

      exit
    end

  end
  private

  def hammer(*args)
    Hammer.new.send *args
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
handsome_fencer-circle_c_i-0.1.22 lib/handsome_fencer/circle_c_i/tasks/generate_key.rake
handsome_fencer-circle_c_i-0.1.21 lib/handsome_fencer/circle_c_i/tasks/generate_key.rake
handsome_fencer-circle_c_i-0.1.20 lib/handsome_fencer/circle_c_i/tasks/generate_key.rake