This project serves as a complete starter kit for your Puppet controlled infrastructure. It is feature filled with everything you ever wanted but never had; such as Hiera, R10K, Roles and Profiles framework, and Vagrant.
- Whitelabel so that anyone can use this project from a class demo all the way to a full blown Fortune 500 datacenter
- Compatible with as many operating systems as possible
- Stay current with all the best practices
- Clone the repo
- Install some vagrant plugins
1.
vagrant plugin install vagrant-cachier
1.vagrant plugin install vagrant-r10k
vagrant up
and watch your new virtual machine get fully provisionedvagrant ssh
and have a look around- Now try making a change to some YAML data. Edit
common.yaml
and add/remove a DNS server, just for fun vagrant provision
, now watch the DNS client configuration recieve your change.
Use environment variables to set facter facts that get passed to Vagrant.
$ APP_ROLE=webserver vagrant provision
or...
$ APP_ROLE=webserver APP_TIER=production vagrant provision
Tested with Puppet v3.8 (open source) on CentOS 6.7 and Ubuntu Server 14.04 LTS.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Nov 2015: Initial commit
Sean S. King, author
Thanks to Rob Nelson. His project puppetinabox was the inspiration for this one.
Thanks to Craig Dunn and Gary Larizza for their broad research on ways to make Puppet not suck.