Sha256: 364adbcc182d0d4527d8fba0e976f3bb0527b29db5f34273ae9ad4e4d77a2c1a

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'securerandom'
require 'erb'
require 'fileutils'

module FromScratch
  def self.run!
    app_name, host = ARGV
    ssh_pub_key = `cat ~/.ssh/id_rsa.pub`.strip
    postgresql_admin_password = `echo -n '#{SecureRandom.base64(16)}''postgres' | openssl md5 | sed -e 's/.* /md5/'`.strip

    puts "Your PG #{app_name} password is:"
    puts postgresql_user_password = SecureRandom.base64(16)
    puts

    { node: ['nodes', host], user: ['data_bags/users', 'deploy'] }.each do |from, to|
      FileUtils.mkdir_p File.expand_path("../../tmp/#{to[0]}", __FILE__)
      File.open(File.expand_path("../../tmp/#{to.join('/')}.json", __FILE__), 'w') do |f|
        f.write ERB.new(File.open(File.expand_path("../../templates/#{from}.json.erb", __FILE__)).read).result(binding)
      end
    end

    Dir.chdir(File.expand_path('../..', __FILE__)) do
      system "knife solo bootstrap root@#{host} -c ./.chef/knife.rb"
      system "knife solo clean root@#{host} -c ./.chef/knife.rb"
    end

    FileUtils.rm_rf [File.expand_path('../../tmp', __FILE__)]
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
from-scratch-0.3.0 cookbooks/scratchify/lib/from-scratch.rb
from-scratch-0.2.0 lib/from-scratch.rb