glarizza / instapants

Vagrant configs and supporting files to build a PE environment from scratch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Instapants

Create a full Puppet Enterprise environment from vagrant base boxes.

Requirements

  • Vagrant 1.0
  • Virtualbox 4.x (4.0 strongly recommended for OSX 10.7)

Necessary Files

You'll need a config.yaml to specify how to build the environment. Contact your friendly neighborhood Puppet support monkey on where this is located. Place this file in the insta-pe directory.

You'll also need the extracted universtal installers for Puppet Enterprise. Place the extracted installers in insta-pe/files.

insta-pe assumes the you either have all your vagrant boxes already added or are hosted on a webserver.

Installation

git clone git://github.com/adrienthebo/insta-pe
cd insta-pe
wget http://your.web.server/insta-pe/config.yaml
vagrant up

Configuration

Configuration is provided through a yaml file. (Yes, the vagrant config file has a config file. Deal with it.) The top level values are all keys. You'll have something like this:

---
# Configuration settings for Puppet Enterprise.
pe:
  # The version of PE to install. Using a version of 0.0.0 disables the installation
  version: 2.5.1
  installer_path: /vagrant/files/puppet-enterprise-%s-all/puppet-enterprise-installer
  installer:
    # The program to execute to run the PE install. You can insert 'bash -x' to do a trace
    # of the installation. Any string containing :version will be replaced with the current version.
    executable: /vagrant/files/puppet-enterprise-:version-all/puppet-enterprise-installer
    args:
      # Additional arguments to pass to the installer
      - "-l /root/puppet-enterprise-installer.log"
      - "-D"
      - "| tee /root/installer-all.log"

# Profiles are generic configurations for a basebox
profiles:
  # One or more key/value pairs, where the name is the profile name and the values are hashes.
  debian:
    # The vagrant base box to use.
    boxname: debian-6.0.4-i386
    # The URL that the box can be downloaded from. This is optional
    boxurl: http://your.web.server/insta-pe/debian-6.0.4-i386.box
  # add more profiles as necessary

# Your actual node definitions. This is an array of hashes
nodes:
  # name: the name of the node to address with vagrant commands
  name: master
  # role: one of (master, agent). Self explanatory.
  role: master
  # The name of the profile to use in the previous section.
  profile: debian
  # The IP address to assign for the host
  address: 10.16.1.2
  # A hash where the keys are VM port names and the values are hypervisor port names. Optional.
  # You'll want to forward 443 on the master to your hypervisor for access to the PEC.
  forwards:
    443: 20443

You can also view the config.yaml.example in this directory.

Caveats

Do not look at the Vagrantfile in this directory. You'll go blind.

About

Vagrant configs and supporting files to build a PE environment from scratch