VAGRANT

Components

  • boxes
  • providers
  • provisioners
  • plugins

Boxes

  • Must have provider (al least 1)
  • Must be accessible (http orĀ file system)

Links

Provides

  • VirtualBox
  • VMWare
  • Docker
  • Hyper-V
  • remote (AWS, RackSpace, etc)

Links

Provisioners

  • puppet
  • chef
  • ansible
  • shell
  • file
  • docker

Links

Plugins

  • vagrant-cachier
  • vagrant-hosts
  • sahara

Links

require 'yaml'

dir = File.dirname(File.expand_path(__FILE__))

configValues = YAML.load_file("#{dir}/puphpet/config.yaml")
data         = configValues['vagrantfile-local']

Vagrant.require_version '>= 1.6.0'

Vagrant.configure('2') do |config|
  config.vm.box_check_update = false
  config.vm.hostname = "ik-dev"
  if data['vm']['hostname'].to_s.strip.length != 0
    config.vm.hostname = "#{data['vm']['hostname']}"
  end

  config.vm.box     = "#{data['vm']['box']}"
  config.vm.box_url = "#{data['vm']['box_url']}"

Analyze

Analyze. Again

---
vagrantfile-local:
    vm:
        box: interkassa/interkassa
        box_url: interkassa/interkassa
        hostname: 'interkassa.loc'
        memory: '1024'
        cpus: '2'
        chosen_provider: virtualbox
        network:
            private_network: 192.168.56.101
            forwarded_port:
                xtrJTx6UGiXJ:
                    host: 45424
                    guest: '22

Let's go!

Live demo

Made with Slides.com