Я пытаюсь понять, как запустить конфигурацию 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, чтобы определить, был ли файл изменен.
Я бы лично сохранил ваши объявления ресурсов без 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
С типом ресурса файл
добавит ли replace => false
того, что вам нужно? Затем Puppet создаст файл, если он отсутствует, но не перезапишет любые возможные изменения, внесенные в этот файл, если содержимое файла было изменено впоследствии.