Update README.md for @wfarr's changes

Based on the feedback in the Pull request <https://github.com/boxen/our-boxen/pull/12>,
this commit implements changes to clarify how someone would customize
their Boxen setup.
This commit is contained in:
Gary Larizza 2012-10-13 12:05:01 -07:00
parent a970e15714
commit 1bd7053c2d

View file

@ -81,17 +81,37 @@ declaration that looks like the following:
<...> <...>
} }
All Puppet ### How Boxen interacts with Puppet
[class declarations](http://docs.puppetlabs.com/learning/modules1.html#classes)
should be included in the default node definition. Theoretically, you _COULD_ Boxen runs everything declared in `manifests/site.pp` by default.
declare every But just like any other source code, throwing all your work into one massive
[Puppet resource](http://docs.puppetlabs.com/learning/ral.html) in the file is going to be difficult to work with. Instead, we recommend you
`manifests/site.pp` file, but that would quickly become unwieldy. Instead, use modules via the `Puppetfile` when you can and making new modules
it's easier to create in the `modules/` directory when you can't. Then you just need to
[Puppet modules](http://docs.puppetlabs.com/learning/modules1.html#modules) `include $modulename` those modules in `manifests/site.pp`. One pattern
inside the `modules` folder of the Boxen repo. Boxen is setup to discover any that's very common is to create a module for your organization
modules you create in the `modules` folder, and we've already created a (eg. `modules/github`) and put an environment class in that module
`people` and `projects` module structure for you to start using. to include all of the modules your organization wants to install for
everyone by default. An example of this might look like so:
```
class github::environment {
include github::apps::mac
include ruby::1-8-7
include projects::super-top-secret-project
}
```
If you'd like to read more about how Puppet works, we recommend
checking out [the official documentation](http://docs.puppetlabs.com/)
for:
* [Modules](http://docs.puppetlabs.com/learning/modules1.html#modules)
* [Classes](http://docs.puppetlabs.com/learning/modules1.html#classes)
* [Defined Types](http://docs.puppetlabs.com/learning/definedtypes.html)
* [Facts](http://docs.puppetlabs.com/guides/custom_facts.html)
### Creating a personal module ### Creating a personal module