Skip to content

oscar-stack/oscar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oscar

Oscar is a set of Vagrant plugins and templates that build up a full Puppet Enterprise environment based on top of Vagrant.

Synopsis

Initialize the base Oscar environment:

└> vagrant oscar init
A stub Vagrantfile has been placed in this directory and default configurations
have been placed into the `config` directory. You can now run `vagrant up` to start
your Oscar built environment, courtesy of Vagrant.

Define a set of VMs:

└> vagrant oscar init-vms \
  --master master=puppetlabs/centos-7.2-64-nocm \
  --agent first=puppetlabs/centos-7.2-64-nocm  \
  --agent second=puppetlabs/ubuntu-14.04-64-nocm
Your environment has been initialized with the following configuration:

And build everything:

└> vagrant up
Bringing machine 'master' up with 'virtualbox' provider...
Bringing machine 'first' up with 'virtualbox' provider...
Bringing machine 'second' up with 'virtualbox' provider...
[... normal `vagrant up` goes here ...]

Commands

Oscar provides a set commands to generate a working environment from templates.

vagrant oscar init

This command initializes the current working directory with a stub Vagrantfile that loads Oscar, and generates generic configuration information for use with PE.

vagrant oscar init-vms

This command generates a set of guest machines inside of the vagrant environment.

Configuring

Oscar handles guest machine configuration with YAML.

The default configuration looks something like this:

config/roles.yaml

---
roles:
  pe-puppet-master:
    private_networks:
      - {auto_network: true}
    provider:
      type: virtualbox
      customize:
        - [modifyvm, !ruby/sym id, '--memory', 1024]
    provisioners:
      - {type: hosts}
      - {type: pe_bootstrap, role: !ruby/sym master}
[...]

config/pe_build.yaml

---
pe_build:
  version: 3.0.0

config/vms.yaml

---
vms:
- name: master
  box: centos-6-i386
  roles:
  - pe-puppet-master
- name: agent
  box: debian-6-i386
  roles:
  - pe-puppet-agent

Oscar uses vagrant-config_builder to handle guest machine configuration.

Installation

$ vagrant plugin install oscar

Requirements

The plugins used in Oscar require the Vagrant 1.1 plugin API, so Vagrant 1.1+ is required.