Vagrant

A vagrant is a person, often in poverty, who wanders from place to place without a home or regular employment or income.

Vagrant is a  individual animal appear well outside it normal range

 "vagrant"  ultimately derive from Latin word vagari

 

I ramble, wander, stroll about.

I waver, am unsettled.

 

Vagrant is free and open-source software for creating and configuring virtual development environments

It can be considered a wrapper around virtualization and configuration management software

Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team

https://docs.vagrantup.com/v2/why-vagrant/index.html

 

Create and configure lightweight, reproducible, and portable development environments.

Vagrant will isolate dependencies and their configuration within a single disposable, consistent environment

Vagrant gives you a disposable environment and consistent workflow for developing and testing infrastructure management scripts

Vagrant will automatically set everything up that is required.

Once a developer configures Vagrant, you don't need to worry about how to get that app running ever again. 

PROVIDERS

  • VirtualBox
  • VMware
  • Docker
  • Hyper-V
  • custom
    • AWS
    • CloudStack
    • OpenStack
    • ...

PROVISION

  • File
  • Shell
  • Ansible
  • CFEngine
  • Chef
  • Puppet
  • Salt

NETWORKING

  • Forwarded ports
  • Private networks 
  • Public networks

MULTI-MACHINE

 

Define and control multiple guest machines.

These machines are generally able to work together or are somehow associated with each other.

Accurately modeling a multi-server production topology, such as separating a web and database server.


Modeling a distributed system and how they interact with each other.
Testing an interface, such as an API to a service component.


Disaster-case testing: machines dying, network partitions, slow networks, inconsistent world views, etc.

Vagrant.configure("2") do |config|

  config.vm.define "web" do |web|
    web.vm.box = "apache"
  end

  config.vm.define "db" do |db|
    db.vm.box = "mysql"
  end

end

BOXES

Boxes are the package format for Vagrant environments. A box can be used by anyone on any platform that Vagrant supports to bring up an identical working environment.

public Vagrant box catalog

https://vagrantcloud.com/discover​

Getting started ..

  • install provider (virtualbox)
  • install vagrant
$> vagrant init debian/trusty64
$> vagrant up
$> vagrant ssh

Vagrant

By Hillar Aarelaid

Vagrant

  • 1,033