canmove, Confirmed users
6,439
edits
No edit summary |
|||
Line 22: | Line 22: | ||
=== File layout === | === File layout === | ||
The files that Puppet serves to slaves live on an NFS drive mounted by the Puppet masters. That first 3 levels of the drive are laid out as follows: | |||
$level/$os-$hardwaremodel/$type | |||
* $level is support level (production, staging, pre-production) | |||
* $os is generally one of 'centos5', 'fedora12', 'darwin9', or 'darwin10'. | |||
* $hardwaremodel is whatever 'facter' identifies the machine's CPU as (x86_64, i686, i386, etc). | |||
* $type is the "type" of node of the slave is, generally 'build' or 'test'. | |||
Below '$type', are all of the files served by Puppet. They are organized according to where they'll end up on the slave. For example: | |||
/N/production/centos5-i686/build/home/cltbld/.bash_profile | |||
...will get synced to /home/cltbld/.bash_profile. | |||
There are two special directories for each level/os/hardwaremodel/type combination, too: | |||
* local -- This directory contains files which should NOT be synced between staging <-> production or between different locations. Files such as the Puppet configs which have different contents depending on location and support level live here. | |||
* DMGs (Mac) / RPMs (Fedora/CentOS) -- These directories contain platform specific packages which Puppet installs. | |||
== Common Use Cases == | == Common Use Cases == | ||
=== Installing a library for scratchbox === | === Installing a library for scratchbox === |