Commit 923bcf46aebdb24fa68bb9c1bf6b46f7ab3b9b7d
Merge pull request #53 from kyleprager/master
More detailed documentation on how to include modules.
Showing 1 changed file Side-by-side Diff
README.md
... | ... | @@ -88,6 +88,49 @@ |
88 | 88 | tested to be compatible with Boxen. Use the `Puppetfile` to pull them |
89 | 89 | in dependencies automatically whenever `boxen` is run. |
90 | 90 | |
91 | +### Including boxen modules from github (boxen/puppet-<name>) | |
92 | + | |
93 | +You must add the github information for your added Puppet module into your Puppetfile at the root of your | |
94 | +boxen repo (ex. /path/to/your-boxen/Puppetfile): | |
95 | + | |
96 | + # Core modules for a basic development environment. You can replace | |
97 | + # some/most of these if you want, but it's not recommended. | |
98 | + | |
99 | + github "dnsmasq", "1.0.0" | |
100 | + github "gcc", "1.0.0" | |
101 | + github "git", "1.0.0" | |
102 | + github "homebrew", "1.0.0" | |
103 | + github "hub", "1.0.0" | |
104 | + github "inifile", "0.9.0", :repo => "cprice-puppet/puppetlabs-inifile" | |
105 | + github "nginx", "1.0.0" | |
106 | + github "nodejs", "1.0.0" | |
107 | + github "nvm", "1.0.0" | |
108 | + github "ruby", "1.0.0" | |
109 | + github "stdlib", "3.0.0", :repo => "puppetlabs/puppetlabs-stdlib" | |
110 | + github "sudo", "1.0.0" | |
111 | + | |
112 | + # Optional/custom modules. There are tons available at | |
113 | + # https://github.com/boxen. | |
114 | + | |
115 | + github "java", "1.0.5" | |
116 | + | |
117 | +In the above snippet of a customized Puppetfile, the bottom line | |
118 | +includes the Java module from Github using the tag "1.0.5" from the github repository | |
119 | +"boxen/puppet-java". The function "github" is defined at the top of the Puppetfile | |
120 | +and takes the name of the module, the version, and optional repo location: | |
121 | + | |
122 | + def github(name, version, options = nil) | |
123 | + options ||= {} | |
124 | + options[:repo] ||= "boxen/puppet-#{name}" | |
125 | + mod name, version, :github_tarball => options[:repo] | |
126 | + end | |
127 | + | |
128 | +Now Puppet knows where to download the module from when you include it in your site.pp or mypersonal.pp file: | |
129 | + | |
130 | + # include the java module referenced in my Puppetfile with the line | |
131 | + # github "java", "1.0.5" | |
132 | + include java | |
133 | + | |
91 | 134 | ### Node definitions |
92 | 135 | |
93 | 136 | Puppet has the concept of a |