#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 или нет. Если да, то запускает скрипт. В принципе это можно использовать с любыми другими зависимостями или даже усовершенствовать логику работы.
Комментариев нет:
Отправить комментарий