GithubHelp home page GithubHelp logo

isabella232 / vagrant-installers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hashicorp/vagrant-installers

0.0 0.0 0.0 158.93 MB

Project to automatically create Vagrant installers for various platforms.

License: MIT License

Shell 62.10% PowerShell 17.45% Go 5.00% Ruby 2.65% Batchfile 9.95% HTML 0.09% Python 0.79% PHP 0.67% Qt Script 1.30%

vagrant-installers's Introduction

Vagrant Installer Generators

This project is able to build installers for Vagrant. The installers contain the full-stack of Vagrant dependencies: Ruby, RubyGems, Vagrant, etc.

Current status: Production quality. This project has generated the installers and packages in use by Vagrant on Linux, Windows, and Mac OS X since March, 2012.

How it Works

  1. Substrate Layer - This contains all the pre-compiled software for the various platforms that Vagrant has installers for. These are generated whenever dependencies change and are built/distributed by HashiCorp. You likely won't need to build these yourself.

  2. Package Layer - This is a set of scripts that can install a specific version of Vagrant into a substrate and package it up for the running operating system. You'll invoke this layer, most likely.

Prerequisites

The Vagrant Installer Generators use Vagrant to generate both the substrate layer and package layer. The boxes used for generating these layers can be built using the packer templates located in packer/vagrant.

Building Substrates and Packages

By default, Vagrant will build substrate layers. The result of Vagrant's provisioning step is controlled by an environment variable:

  • VAGRANT_BUILD_TYPE - substrate or package

The substrate layers must be built prior to building packages. To build substrates:

$ VAGRANT_BUILD_TYPE="substrate" vagrant up

Once the generation of the substrate layers has completed, the packages can be generated. This can be done by either first destroying the running VMs:

$ vagrant destroy --force
$ VAGRANT_BUILD_TYPE="package" vagrant up

or by simply re-provisioning the running VMs:

$ VAGRANT_BUILD_TYPE="package" vagrant provision

vagrant-installers's People

Contributors

benesch avatar briancain avatar chrisroberts avatar danp avatar dbishop avatar drnic avatar emyl avatar fnichol avatar g0t4 avatar glensc avatar hades32 avatar hjr3 avatar kimhmadsen avatar mitchellh avatar nacht avatar ogarcia avatar sethvargo avatar soapy1 avatar sschuberth avatar stefanscherer avatar trinitronx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.