Add chef_install(ed?) guest capability for freebsd
This commit is contained in:
parent
147b7e3275
commit
30f4eb62ea
|
@ -0,0 +1,18 @@
|
||||||
|
require_relative "../../omnibus"
|
||||||
|
|
||||||
|
module VagrantPlugins
|
||||||
|
module Chef
|
||||||
|
module Cap
|
||||||
|
module FreeBSD
|
||||||
|
module ChefInstall
|
||||||
|
def self.chef_install(machine, project, version, channel, options = {})
|
||||||
|
machine.communicate.sudo("pkg install -y -qq curl bash")
|
||||||
|
|
||||||
|
command = Omnibus.sh_command(project, version, channel, options)
|
||||||
|
machine.communicate.sudo(command)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,22 @@
|
||||||
|
module VagrantPlugins
|
||||||
|
module Chef
|
||||||
|
module Cap
|
||||||
|
module FreeBSD
|
||||||
|
module ChefInstalled
|
||||||
|
# Check if Chef is installed at the given version.
|
||||||
|
# @return [true, false]
|
||||||
|
def self.chef_installed(machine, product, version)
|
||||||
|
knife = "/opt/#{product}/bin/knife"
|
||||||
|
command = "test -x #{knife}"
|
||||||
|
|
||||||
|
if version != :latest
|
||||||
|
command << "&& #{knife} --version | grep 'Chef: #{version}'"
|
||||||
|
end
|
||||||
|
|
||||||
|
machine.communicate.test(command, sudo: true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -58,6 +58,16 @@ module VagrantPlugins
|
||||||
Cap::Debian::ChefInstall
|
Cap::Debian::ChefInstall
|
||||||
end
|
end
|
||||||
|
|
||||||
|
guest_capability(:freebsd, :chef_install) do
|
||||||
|
require_relative "cap/freebsd/chef_install"
|
||||||
|
Cap::FreeBSD::ChefInstall
|
||||||
|
end
|
||||||
|
|
||||||
|
guest_capability(:freebsd, :chef_installed) do
|
||||||
|
require_relative "cap/freebsd/chef_installed"
|
||||||
|
Cap::FreeBSD::ChefInstalled
|
||||||
|
end
|
||||||
|
|
||||||
guest_capability(:linux, :chef_installed) do
|
guest_capability(:linux, :chef_installed) do
|
||||||
require_relative "cap/linux/chef_installed"
|
require_relative "cap/linux/chef_installed"
|
||||||
Cap::Linux::ChefInstalled
|
Cap::Linux::ChefInstalled
|
||||||
|
|
Loading…
Reference in New Issue