Project

oscar

0.05
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Oscar is a series of extensions to simplify building out a Puppet Enterprise environment. It handles networking configuration and fetching/installing Puppet Enterprise.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

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.