Sha256: bb4a6e78e9d88acf309fb335a595870c95ee24cb14ec8cc296b25b2df2bc977b

Contents?: true

Size: 1.58 KB

Versions: 4

Compression:

Stored size: 1.58 KB

Contents

Vagrant Config Builder
======================

Configure and manage your Vagrant environments with data.

Synopsis
--------

This plugin provides an interface to the Vagrant configuration constructs in a
logic free manner. You can format your input data to fit your needs and use
`vagrant-config_builder` to transform that into the needed Vagrant config.

Example
-------

This example loads all yaml files in the config directory and generates a
Vagrant config based on that information. File names are arbitrary and chosen
for clarity.

#### Directory structure

    .
    ├── config
    │   ├── roles.yaml
    │   └── vms.yaml
    └── Vagrantfile

#### Vagrantfile

    require 'config_builder'
    Vagrant.configure('2', &ConfigBuilder.load(
      :yaml,
      :yamldir,
      File.expand_path('config', __DIR__)
    ))

#### config/roles.yaml

    ---
    roles:
      bigvm:
        provider:
          type: virtualbox
          customize: [[modifyvm, !ruby/sym id, '--memory', 1024]]

#### config/vms.yaml

    ---
    vms:
      -
        name: db
        private_networks: [ {ip: '10.20.1.2'} ]
        box: centos-5-i386
        hostname: db.puppetlabs.vm
        roles: bigvm
      -
        name: web
        private_networks: [ {ip: '10.20.1.3'} ]
        box: centos-5-i386

Installation
------------

### Installation into the Vagrant internal gems:

  * `vagrant plugin install vagrant-config_builder`

### Installation from source

Build the gem:

  * `gem build vagrant-config_builder.gemspec`

Install the gem:

  * `gem install vagrant-config_builder-<version>.gem`

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vagrant-config_builder-0.4.0 README.markdown
vagrant-config_builder-0.3.1 README.markdown
vagrant-config_builder-0.3.0 README.markdown
vagrant-config_builder-0.2.0 README.markdown