Sha256: d9e34389a9988fbdd40453f0c1f5df6ca471fcd257b53c85991999b2f28965f6

Contents?: true

Size: 948 Bytes

Versions: 1

Compression:

Stored size: 948 Bytes

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

    { 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

1 entries across 1 versions & 1 rubygems

Version Path
from-scratch-0.3.0 lib/from-scratch.rb