canmove, Confirmed users
1,394
edits
(→How To) |
|||
| Line 93: | Line 93: | ||
== Nodes == | == Nodes == | ||
<tt>manifests/nodes.pp</tt> defines all of the nodes the puppet masters recognize. Note that all nodes are defined for all masters. | <tt>manifests/nodes.pp</tt> defines all of the nodes the puppet masters recognize. Note that all nodes are defined for all masters. This file is a symlink to <tt>$org-nodes.pp</tt>, e.g., <tt>moco-nodes.pp</tt>. With this arrangement, each organization can make node changes without any risk to other organizations. | ||
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. | 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. | ||
| Line 99: | Line 99: | ||
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]]. | 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]]. | ||
== | == Configuration == | ||
Per-organization configuration is read from <tt>manifests/config.pp</tt>, which is a symlink to <tt>$org-config.pp</tt>, similar to that for nodes. The <tt>config.pp</tt> file defines a "config" class that inherits from "config::base". It is free to express the configuration using any mechanism available to puppet. For some organizations, simple puppet literals will do, while more complex organizations will want to perform some more sophisticated automatic generation of configuration. See [[ReleaseEngineering/PuppetAgain/Modules/config|config]] for more. | |||
== Secrets == | |||
Secret values are stored in <tt>manifests/extlookup/secrets.csv</tt>, which should be based on <tt>secrets-template.csv</tt>. Of course, this file should not be checked into version control! The values in the file are read for use by the <tt>secret</tt> function. See [[ReleaseEngineering/PuppetAgain/Modules/config|config]] for a description of this function, noting that it also interacts with [[ReleaseEngineering/PuppetAgain/Aspects|aspects]]. | |||
= How To = | = How To = | ||