Я погружаюсь в Puppet в нашей среде и понимаю, что есть много файлов, которые я хотел бы создать, которые используют факты Puppet и данные инвентаризации о нашей среде.
Можно ли, например, собрать файл / etc / hosts на основе узлов, включающих определенный класс? Другой пример - написание сценариев для сравнения существующей конфигурации Nagios с инвентарем Puppet.
Да, это так.
Вот ссылка на официальную документацию: https://puppet.com/docs/puppet/latest/lang_exported.html
В дополнении к Cakemoxс ответ, видеть этот модуль как пример этого. Он экспортирует ключ сервера ssh каждого сервера всем клиентам ssh. Точно так же вы можете экспортировать запись хоста или некоторую часть файла конфигурации и т. Д.
У меня нет его общедоступного (потому что это все еще очень большая работа), но у меня есть серверы JBoss, экспортирующие свои IP-адреса в pg_hba серверов Postgres, базы данных которых они используют, а также с объявлениями баз данных postgres, экспортирующими строки которые используются для создания XML-файла источника данных для приложений JBoss, которые их используют.