• Student @ AGH, Kraków, Poland • Google Summer of Code 2012, Google Code-In 2010 • Worked on virtualization tools with Oregon State University Open Source Lab
created. Booting if it's not already running... [default] Clearing any previously set forwarded ports... [default] Forwarding ports... [default] -- 22 => 2222 (adapter 1) [default] -- 80 => 8080 (adapter 1) [default] Creating shared folders metadata... [default] Clearing any previously set network interfaces... [default] Preparing network interfaces based on configuration... [default] Booting VM... [default] Waiting for VM to boot. This can take a few minutes. ....... [default] Running chef-solo... .......
freelancers – total separation, no need to switch between different versions of some libraries, „clean” host • for small teams – identical working environments, members can haz their Operating System Of Preference™ (because Vagrant works well on MacOSX, Linux and even Windows) • for businesses – Vagrant's the quickest way to set up a new environment for new employees – it can provide the cheapest development servers
programs, configure them, expose some functions (e.g. to install nginx sites from our own cookbook). You can get the from here. • Roles: – collections of cookbooks
look at David Cramer's (GetSentry, Disqus) post regarding Chef. – Put chef.add_recipe("our_project") in your provision scope – Create cookbooks/our_project/recipes/default.rb – Change that file to your needs
"root" group "root" mode "0755" action :create end directory "/srv/www/our_project.com" do # used by nginx owner "www-data" group "www-data" mode "0755" action :create end
postgresql_database_user "our_project_user" do connection postgresql_connection_root password "super-duper-hard" action :create end postgresql_database_user "our_project_user" do connection postgresql_connection_root database_name "our_project" # this way we grant all privileges on that DB #privileges [:select, :insert, :update, :drop] action :grant end
group "vagrant" action :create end python_pip "/home/vagrant/project/requirements.txt" do virtualenv "/home/vagrant/project" action :install_requirements end