Назад | Перейти на главную страницу

Марионетка: запускать в режиме noop, кроме первого раза

Я пытаюсь понять, как запустить конфигурацию 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