Você está fazendo a coisa certa em manter a configuração fora do módulo que está usando.
Os módulos devem ser reutilizáveis e, se você personalizar um módulo para conter a configuração local do site, precisará manter suas personalizações. Não será possível instalar uma versão mais recente do módulo sem mesclar suas alterações (dependendo de como você mantém as alterações e instala os módulos, isso pode ser algo trivial ou difícil).
O módulo fornece uma interface pública através de sudo::conf
e seus parâmetros de classe para personalizar tudo o que você precisa.
A classe site_sudo
que você criou é uma classe perfil (veja: Funções e Perfis ) para configurar o sudo usando o módulo saz / sudo para suas preferências de site e serviço. Este é um padrão de design comum e bem usado em ambientes Puppet, por isso, continue com isso.
O segundo método que o saz / sudo suporta é definir a configuração em Hiera sob a chave sudo::configs
. Ele procurará esses dados e aplicará a configuração. Usar o Hiera é outra boa maneira de manter a configuração fora do módulo que você está usando. Seus arquivos de dados Hiera podem ser armazenados em seu ambiente Puppet.