Синхронизация директорий с помощью puppet проще пареной репы, на мастере в site.pp добавляем
file {
"/var/www/test.com/htdocs" :
ensure => directory,
source => "puppet:///test",
recurse => true,
purge => true,
backup => false,
}
далее в fileserver.conf
[test]
path /var/www/test.com/htdocs/
allow *
передергиваем мастер
/etc/init.d/puppetmaster restart
и спустя некоторое время, обнаружим, что директория на клиенте полностью синхронизирована с мастером.
Также можно сразу указать владельца,группу, разрешения, для этого в секции с нашей директорией в site.pp добавляем
owner => "user",
group => "group",
mode => "0775",
Для более шустрого обрабатывания puppet клиентом, можно уменьшить в puppet.conf (на клиенте) значение runinterval, например
runinterval=30
30 секунд.