#nginx #puppet
Как написать манифест для puppet, чтобы он проверял, установлен ли пакет nginx, и если установлен, то создавал файл? Пробовал примерно так: if ! defined(Package['nginx-full']) { file { "/opt/puppet/test_nginx4.tmp": ensure => "present", owner => "root", group => "root", mode => '664', } }
Ответы
Ответ 1
Решил данную задачу следующим способом: class base::nginx { file { "vim_nginx": ensure => 'present', path => '/tmp/puppet/vim_nginx.sh', source => 'puppet:///modules/base/vim_nginx.sh', mode => '774', } exec { "highlighting": command => 'bash /tmp/puppet/vim_nginx.sh', path => "/usr/bin:/usr/sbin:/bin", require => File['vim_nginx'], onlyif => 'test -e /etc/nginx/nginx.conf' } } Т.е. тут я создал скрипт, который устанавливает подсветку синтаксиса, копируется на все сервера, относящиеся к заданному классу. Далее отрабатывает проверка на наличие файла /etc/nginx/nginx.conf , что подтверждает установлен ли nginx или нет. Если да, то запускает скрипт. В принципе это можно использовать с любыми другими зависимостями или даже усовершенствовать логику работы.
Комментариев нет:
Отправить комментарий