lib/open-dock/chef.rb in open-dock-0.1.13 vs lib/open-dock/chef.rb in open-dock-0.1.14
- old
+ new
@@ -1,6 +1,27 @@
module Chef
- def self.cook(user, container_name, host, ssh_port)
+
+ def self.install(user, host)
+ Net::SSH.start(host, user) do |ssh|
+ if ssh.exec!('which chef-client')
+ say 'Chef already installed'
+ else
+ say "Installing Chef, please wait ..."
+ ssh.exec! 'apt-get -y update; \
+ apt-get -y install curl build-essential libxml2-dev libxslt-dev git ; \
+ curl -L https://www.opscode.com/chef/install.sh | bash'
+ end
+ end
+ end
+
+ def self.cook(user, host)
+ say "Configuring #{host}, please wait ....\n"
+ command = "knife solo cook #{user}@#{host}"
+ say "Chef CMD: #{command}\n"
+ system command
+ end
+
+ def self.cook_container(user, container_name, host, ssh_port)
say "Container '#{container_name}' configuring on #{host}, please wait ....\n"
command = "knife solo cook #{user}@#{host} -p #{ssh_port} nodes/#{host}/#{container_name}.json"
say "Chef CMD: #{command}\n"
system command
end
\ No newline at end of file