Escrevi o módulo puppet-rbaselines com um conjunto de coisas que costumo aplicar em todos os meus servidores. Nele, podem ser configuradas coisas como NTP, Swap, logrotate, mcollective, sysctl, parâmetros do SSHd etc. A maioria parametrizável.
A idéia de publicar este módulo (e outro:puppet-trollme – um módulo para trollar seus amigos) é principalmente me forçar a usar as boas práticas escrevendo módulos Puppet.
https://github.com/andreramoni/puppet-rbaselines
Claro que aqui não estão todas as regras comuns que aplico nos servidores. Muita coisa é peculiar de cada empresa, mesmo assim, irei disponibilizando aqui as coisas mais comuns e neutras que possam ser úteis à todos.
O que sugiro: crie profiles (ou config groups caso use Foreman) incluindo essas classes.
Como usar cada classe está exemplificado dentro de cada manifesto. Dê uma olhada !
Uso pelo Foreman
O que eu normalmente faço é utilizar hostgroups hierárquicos no Foreman, herdando as classes do grupo pai.
Com isso, costumo criar um config group “Linux Baselines” pinçando classes deste módulo e aplicando este config group ao host group “Linux”. Todos os hostgroups filhos herdarão as baselines.
Criando o config group com as classes:
Hostgroup incluindo o config group:
Com isso, pelo Foreman você pode parametrizar as classes com valores default, valores específicos por Hostgroup e por host.
Para saber mais do Foreman como classificador para o Puppet, veja: Foreman como ENC para o Puppet