canmove, Confirmed users
1,394
edits
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
A sysadmin asked the Architect, | |||
"What's the best way to install a new system?" | |||
The Architect answered, | |||
"Turn it on." | |||
The sysadmin was enlightened. | |||
= Documentation - Manifests & Modules = | = Documentation - Manifests & Modules = | ||
The Puppet manifests themselves are documented here. Any new modules should be added to the proper list below. | The Puppet manifests themselves are documented here. Any new modules should be added to the proper list below. | ||
== Modules == | == Modules == | ||
| Line 95: | Line 80: | ||
Custom functions, types, and providers are documented in the modules that implement them. Most are in [[ReleaseEngineering/PuppetAgain/Modules/shared|shared]]. | Custom functions, types, and providers are documented in the modules that implement them. Most are in [[ReleaseEngineering/PuppetAgain/Modules/shared|shared]]. | ||
== Stages == | |||
Stages need to be defined globally in Puppet manifests, and this is done in <tt>manifests/stages.pp</tt>. The following stages are available, aside from 'main', the default stage. | |||
* network - This stage should handle any network related configurations for some specific cases (like AWS) | |||
* packagesetup - This stage should handle any preliminaries required for package installations, so that subsequent package installations do not need to require them explicitly. | |||
* users - This stage creates user accounts; while this is normally automatically required, the requirement doesn't work with the temporary 'darwinuser' type. | |||
== Nodes == | |||
<tt>manifests/nodes.pp</tt> defines all of the nodes the puppet masters recognize. Note that all nodes are defined for all masters. | |||
In anticipation of using an external node classifier (ENC), node definitions should only include classes - do not define any resources within nodes. In general, the included classes should be in the [[ReleaseEngineering/Puppet/Modules/toplevel|toplevel]] module. | |||
Host-specific values are specified as node-scope variables, as these are easier to represent in an ENC. Such variables (including some Puppet gotchas) are described in [[ReleaseEngineering/PuppetAgain/node-scope variables|node-scope variables]]. | |||
== extlookup/ == | |||
We store <tt>csv</tt> files pertaining to the <tt>[[ReleaseEngineering/Puppet/Modules/config|Config]]</tt> module here (under <tt>manifests/extlookup/</tt>). Expect to find the local secrets details and possibly a symlink to a local-config in this dir. | |||
= How To = | = How To = | ||