Class: Prepd::Setup
Constant Summary collapse
- ANSIBLE_ROLES_PATH =
TODO: add OS detection TODO: Externalize next two values to a yaml file?
"#{Dir.home}/.ansible/roles".freeze
- ANSIBLE_ROLES =
{'prepd-roles' => 'prepd', 'terraplate' => 'terraplate', 'terraplate-components' => 'terraplate-components' }.freeze
Instance Method Summary collapse
-
#clone_ansible_roles ⇒ Object
Clone Ansible roles.
- #directory_cannot_exist ⇒ Object
- #initialize_setup ⇒ Object
- #machine_is_host ⇒ Object
- #requested_dir ⇒ Object
Methods inherited from Base
Instance Method Details
#clone_ansible_roles ⇒ Object
Clone Ansible roles
38 39 40 41 42 43 44 45 46 |
# File 'lib/prepd/models/setup.rb', line 38 def clone_ansible_roles FileUtils.mkdir_p(ANSIBLE_ROLES_PATH) unless Dir.exists? ANSIBLE_ROLES_PATH Dir.chdir(ANSIBLE_ROLES_PATH) do ANSIBLE_ROLES.each do |key, value| next if Dir.exists? "#{ANSIBLE_ROLES_PATH}/#{value}" system("git clone #{Prepd.git_log} [email protected]:rjayroach/#{key} #{value}") end end end |
#directory_cannot_exist ⇒ Object
12 13 14 15 |
# File 'lib/prepd/models/setup.rb', line 12 def directory_cannot_exist return if Prepd.config.force errors.add(:directory_exists, requested_dir) if Dir.exists?(requested_dir) end |
#initialize_setup ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/prepd/models/setup.rb', line 21 def initialize_setup FileUtils.mkdir_p(requested_dir) Dir.chdir(requested_dir) do FileUtils.cp_r("#{Prepd.files_dir}/setup/.", '.') end Prepd.config.working_dir = Prepd.config_dir Workspace.new(name: 'share').create end |
#machine_is_host ⇒ Object
7 8 9 10 |
# File 'lib/prepd/models/setup.rb', line 7 def machine_is_host return if Prepd.config.machine_type.host? errors.add(:machine_type, 'Setup can only run on the host machine') end |
#requested_dir ⇒ Object
17 18 19 |
# File 'lib/prepd/models/setup.rb', line 17 def requested_dir "#{Prepd.config_dir}/setup" end |