https://github.com/linguinecode/puppet-controlrepo
Complete starter kit for your Puppet controlled infrastructure
https://github.com/linguinecode/puppet-controlrepo
Last synced: about 1 year ago
JSON representation
Complete starter kit for your Puppet controlled infrastructure
- Host: GitHub
- URL: https://github.com/linguinecode/puppet-controlrepo
- Owner: LinguineCode
- License: mit
- Created: 2015-10-02T14:37:01.000Z (over 10 years ago)
- Default Branch: production
- Last Pushed: 2016-06-09T00:09:31.000Z (about 10 years ago)
- Last Synced: 2025-03-31T21:18:53.145Z (over 1 year ago)
- Language: Puppet
- Homepage: https://github.com/seanscottking/puppet-controlrepo
- Size: 74.2 KB
- Stars: 6
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# puppet-controlrepo
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*.
## Project Goals
1. Whitelabel so that anyone can use this project from a class demo all the way to a full blown Fortune 500 datacenter
1. Compatible with as many operating systems as possible
1. Stay current with all the best practices
## Installation and Usage
1. Clone the repo
1. Install some vagrant plugins
1. `vagrant plugin install vagrant-cachier`
1. `vagrant plugin install vagrant-r10k`
1. `vagrant up` and watch your new virtual machine get fully provisioned
1. `vagrant ssh` and have a look around
1. Now try making a change to some YAML data. Edit [`common.yaml`](hieradata/common.yaml) and add/remove a DNS server, just for fun
1. `vagrant provision`, now watch the DNS client configuration recieve your change.
### Setting facter facts for Vagrant to use (i.e. `app_role` or `app_tier`)
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
```
## Compatibility
Tested with Puppet v3.8 (open source) on CentOS 6.7 and Ubuntu Server 14.04 LTS.
## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D
## History
Nov 2015: Initial commit
## Credits
[Sean S. King](https://github.com/seanscottking), author
Thanks to [Rob Nelson](http://rnelson0.com). His project [puppetinabox](https://github.com/puppetinabox) was the inspiration for this one.
Thanks to [Craig Dunn](www.craigdunn.org) and [Gary Larizza](http://garylarizza.com) for their broad research on ways to make Puppet not suck.
## License
[See LICENSE.md](LICENSE.md)