Skip to content

Instantly share code, notes, and snippets.

@hedgehog
Created February 9, 2011 09:01
Show Gist options
  • Save hedgehog/818177 to your computer and use it in GitHub Desktop.
Save hedgehog/818177 to your computer and use it in GitHub Desktop.
Chef-server Vagrantfile (Vagrant 0.7)
Vagrant::Config.run do |config|
@cs_box = "chefserver"
@cs_nodename = "chefserver"
@cs_tld = "taqtik.com"
@cs_ip = "192.168.1.1" # Host-only networking
@cs_port = 4000
@cs_ssh_port = 2222
@cs_webui_port = 4040
@cs_kitchen = "~/chef/kitchens/ironchef"
@cs_validation_client_name = "taqtik-validator"
@cs_client_key_path = "~/chef/admin"
@cs_validation_key_path = "~/chef/admin/#{@cs_validation_client_name}.pem"
config.vm.define :chefserver do |csc|
# csc.chef.log_level = :debug
# csc.chef.node_name=@cs_nodename
# csc.cookbooks_path = [
# File.expand_path("#{@cs_kitchen}/cookbooks"),
# File.expand_path("#{@cs_kitchen}/site-cookbooks")]
csc.vm.box=@cs_box
csc.vm.forward_port("chefs", @cs_port, @cs_port)
csc.vm.forward_port("chefs_web", @cs_webui_port, @cs_webui_port)
csc.vm.forward_port("ssh", 22, @cs_ssh_port, :auto => true)
csc.vm.network(@cs_ip, :netmask => "255.255.0.0")
csc.vm.share_folder "chef",
"~/chef", "~/chef"
csc.vm.provision :chef_solo do |chef|
chef.add_recipe("hosts::chefserver")
chef.add_recipe("apt")
chef.add_recipe("build-essential")
chef.add_recipe("chef::bootstrap_server")
chef.cookbooks_path = [
File.expand_path("#{@cs_kitchen}/cookbooks"),
File.expand_path("#{@cs_kitchen}/site-cookbooks")]
chef.json.merge!({
:chef=> {
:name=> @cs_nodename,
:url_type=>"http",
:server_fqdn=> "#{@cs_nodename}.#{@cs_tld}",
:server_port=> "4000",
:webui_port=> "4040",
:webui_enabled=> true,
}
})
end
csc.vm.provision :chef_server do |chef|
chef.chef_server_url = "#{@cs_nodename}.#{@cs_tld}"
chef.node_name = @cs_nodename
chef.add_recipe("hosts::chefserver")
chef.add_recipe("apt")
chef.add_recipe("build-essential")
chef.add_recipe("chef::bootstrap_server")
chef.validation_client_name = @cs_validation_client_name
chef.validation_key_path = @cs_validation_key_path
chef.client_key_path = @cs_client_key_path
chef.json.merge!({
:chef=> {
:name=> @cs_nodename,
:url_type=>"http",
:server_fqdn=> "#{@cs_nodename}.#{@cs_tld}",
:server_port=> "4000",
:webui_port=> "4040",
:webui_enabled=> true,
}
})
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment