Я пытаюсь понять, как запустить конфигурацию Puppet на недавно загруженном узле, а затем, с этого момента, запускать только как noop, чтобы собирать отчеты об изменениях / дрейфах инфраструктуры.
Итак ... допустим, у меня есть этот простой манифест:
node puppeta1, puppeta2 {
file { "/var/tmp/testfile2":
noop => true,
ensure => "present",
owner => "root",
group => "root",
mode => "664",
content => "This is a test file created using puppet.
Puppet is really cool",
}
..
В этом случае я хочу только /var/tmp/testfile2
файл создается в первый раз, когда puppeta1
и puppeta2
узлы созданы. С этого момента я просто хочу запустить его в режиме noop, чтобы определить, был ли файл изменен.
С file
тип ресурса, добавив replace => false
достичь того, что вам нужно? Затем Puppet создаст файл, если он отсутствует, но не будет перезаписывать любые возможные изменения, внесенные в этот файл, если содержимое файла было изменено впоследствии.
Я бы лично сохранил ваши объявления о ресурсах без noop
, и запустите Puppet вне диапазона, используя puppet apply
или puppet agent
при загрузке, затем настройте системную службу Puppet для использования --noop
путем редактирования /etc/puppetlabs/puppet/puppet.conf
:
[agent]
noop = true
Или полностью отключите системную службу и добавьте --noop
к вашей записи cron.
Ссылка: https://puppet.com/docs/puppet/5.4/configuration.html#noop