Существует другой инструмент проверки защиты конфигурации PHP, который Вы могли бы найти полезным (и я буду ценить любые предложения, которые Вы могли бы иметь для него :)
Да, Puppet игнорирует модуль, потому что он не структурирован так, как допускает автозагрузчик классов Puppetmaster.
Начиная с самого начала, где находятся ваши модули? Вероятно, в / etc / puppet / modules
. Итак, у вас есть следующая структура каталогов и файлов:
<modulename>/files/
<modulename>/templates/
<modulename>/manifests/
<modulename>/manifests/init.pp
В структуре модуля есть еще несколько каталогов, но эти три являются наиболее часто используемыми и наиболее важными. Каталоги files
и templates
являются необязательными, в то время как каталог manifestests
является обязательным, если ваш модуль содержит классы или, в более общем смысле, манифесты. Там вы размещаете свои классы. Файл init.pp
также в большинстве случаев является обязательным.
Каталоги и файлы ваших модулей теперь выглядят следующим образом:
splunkforwarder/files/
splunkforwarder/templates/
splunkforwarder/manifests/
splunkforwarder/manifests/init.pp
Ваш init. pp
может содержать всю магию:
class splunkforwarder {
package { 'splunkforwarder':
ensure => 'installed',
}
}
Вы определили класс splunkforwarder, который управляет одним пакетом с тем же именем. Теперь вы можете выполнить
include 'splunkforwarder'
в конфигурации своего узла, и пакет splunkforwarder должен быть установлен при следующем запуске Puppet.