Module: ChefApply::TargetHost::MacOS

Defined in:
lib/chef_apply/target_host/macos.rb

Instance Method Summary collapse

Instance Method Details

#chown(path, owner) ⇒ Object



32
33
34
35
36
# File 'lib/chef_apply/target_host/macos.rb', line 32

def chown(path, owner)
  owner ||= user
  run_command!("chown #{owner} '#{path}'")
  nil
end

#del_dir(path) ⇒ Object



52
53
54
# File 'lib/chef_apply/target_host/macos.rb', line 52

def del_dir(path)
  del_file(path)
end

#del_file(path) ⇒ Object



48
49
50
# File 'lib/chef_apply/target_host/macos.rb', line 48

def del_file(path)
  run_command!("rm -rf #{path}")
end

#install_package(remote_path) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/chef_apply/target_host/macos.rb', line 38

def install_package(remote_path)
  install_cmd = <<-EOS
  hdiutil detach "/Volumes/chef_software" >/dev/null 2>&1 || true
  hdiutil attach #{remote_path} -mountpoint "/Volumes/chef_software"
  cd / && sudo /usr/sbin/installer -pkg `sudo find "/Volumes/chef_software" -name \\*.pkg` -target /
  EOS
  run_command!(install_cmd)
  nil
end

#make_temp_dirObject



56
57
58
59
60
61
# File 'lib/chef_apply/target_host/macos.rb', line 56

def make_temp_dir
  installer_dir = "/tmp/chef-installer"
  run_command!("mkdir -p #{installer_dir}")
  run_command!("chmod 777 #{installer_dir}")
  installer_dir
end

#mkdir(path) ⇒ Object



28
29
30
# File 'lib/chef_apply/target_host/macos.rb', line 28

def mkdir(path)
  run_command!("mkdir -p #{path}")
end

#omnibus_manifest_pathObject



21
22
23
24
25
26
# File 'lib/chef_apply/target_host/macos.rb', line 21

def omnibus_manifest_path
  # TODO - if habitat install on target, this won't work
  # Note that we can't use File::Join, because that will render for the
  # CURRENT platform - not the platform of the target.
  "/opt/chef/version-manifest.json"
end

#ws_cache_pathObject



63
64
65
# File 'lib/chef_apply/target_host/macos.rb', line 63

def ws_cache_path
  "/var/chef-workstation"
end