Vagrant tips #1
Lors du Breizhcamp, j’ai présenté dans ma démonstration comment tuner un peu les VM.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
  config.vm.share_folder "apt-cache", "/var/cache/apt/archives", "../sources/apt-cache"
  config.vm.share_folder "gem-cache", "/usr/local/lib/ruby/gems/1.9.1/cache", "../sources/gem-cache"
  config.vm.share_folder "gem-cache-1.8", "/opt/ruby/lib/ruby/gems/1.8/cache", "../sources/gem-cache"
  config.vm.define :script do |app_config|
    app_config.vm.customize ["modifyvm", :id, "--name", "script", "--memory", "256"]
    app_config.vm.box = "lucid64"
    app_config.vm.host_name = "script"
    app_config.vm.forward_port 22, 2222, :auto => true
    app_config.vm.forward_port 80, 4567
    # app_config.vm.network :hostonly, "33.33.13.37"
    # config.vm.boot_mode = :gui
    app_config.vm.provision :shell, :path => "script-install-proxy.sh"
  end
  config.vm.define :chef do |app_config|
    app_config.vm.customize ["modifyvm", :id, "--name", "script", "--memory", "256"]
    app_config.vm.box = "chef"
    app_config.vm.host_name = "chef"
    app_config.vm.forward_port 22, 2222, :auto => true
    # sudo apt-get install chef
    app_config.vm.provision :chef_solo do |chef|
      chef.cookbooks_path = "cookbooks"
      chef.add_recipe("nginx")
    end
  end
  config.vm.define :puppet do |app_config|
    app_config.vm.customize ["modifyvm", :id, "--name", "script", "--memory", "256"]
    app_config.vm.box = "puppet"
    app_config.vm.host_name = "puppet"
    app_config.vm.forward_port 22, 2222, :auto => true
    # sudo vi /etc/puppet/puppet.conf
    # sudo apt-get install puppet-common
    app_config.vm.provision :puppet do |puppet|
      puppet.manifests_path = "manifests"
    end
  end
endAvec tout ça, vous avez 3 VM avec du provisioning :
- avec un script
- chef
- puppet
Du cache local (au niveau de votre machine hôte) pour APT et Gems, que vous pouvez adapter pour vos besoins.
La suite au prochain épisode…