Eu não acho que haja uma maneira recomendada. Depende da sua configuração, eu acho.
Existem várias maneiras de conseguir isso. Você pode usar recursos exportados e consultar puppetDB .
O método que eu prefiro, porque eu já estou usando o Foreman, é usar foremans paraser função para obter a lista de nós do capataz.
Então, no seu manifesto, você pode fazer algo como:
$appservers = foreman("hosts", 'hostgroup = appservers')
Supondo que seus servidores de aplicativos estejam em 'appservers' de chamadas do grupo de hosts Foremans. Aqui é uma postagem no blog que explica isso.
Outra forma seria armazenar sua lista de 'appserver' em um arquivo de texto ou banco de dados e, em seguida, gravar sua própria função para recuperar a lista. Como você pode ver, escrever uma função de analisador é fácil.
Outra maneira é usar Hiera .