Vagrant Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 46: Line 46:


=Environment=
=Environment=
An environment is identified by an ID. It has a name, a provider, and a directory, and at any moment is in a specific state (for example, "running"). The details of all environments for the logged in user is given by the [[Vagrant Environment Operations#global-status|vagrant global-status]] command.


==Environment Operations==
==Environment Operations==


* [[Vagrant Environment Operations|Environment Operations]]
* [[Vagrant Environment Operations|Environment Operations]]

Revision as of 19:17, 17 November 2019

Internal

Vagrantfile

Vagrantfile

Box

https://www.vagrantup.com/docs/cli/box.html

Vagrant boxes are prepackaged development environments that are the foundation of Vagrant. In most cases, this is usually just a stripped and naked operating system such as Ubuntu, Debian, or CentOS. Boxes exist with the intention to be provisioned with additional features like Apache and PHP using tools like Chef or Puppet. There are publicly available Vagrant boxes: https://www.vagrantup.com/docs/cli/box.html

Dummy Box

Box Operations

Box Operations


Plugin

https://www.vagrantup.com/docs/plugins/

A plugin extends Vagrant by adding new functionality such as new providers. Plugins extend Vagrant using a stable API. Most of the core Vagrant functionality is implemented using core plugins. Plugins are usually packages as RubyGems.

Plugin Operations

Plugin Operations

Provider

https://www.vagrantup.com/docs/providers/

A provider is the functionality that allows Vagrant to support a specific type of VM. Vagrant ships out of the box with support for VirtualBox, HyperV and Docker. Support for other types of machines can be added via external providers, integrated with Vagrant via plugins. Examples of such providers are AWS provider.

AWS Provider

https://github.com/mitchellh/vagrant-aws
https://www.vagrantup.com/docs/plugins/providers.html#example-provider-aws

The above link documents a Vagrant plugin that adds an AWS provider to Vagrant, allowing Vagrant to control and provision AWS EC2 VM.

State

Project

Local Project

Environment

An environment is identified by an ID. It has a name, a provider, and a directory, and at any moment is in a specific state (for example, "running"). The details of all environments for the logged in user is given by the vagrant global-status command.

Environment Operations