Как установить и запустить скрипт в Puppet

Я новичок в Puppet. Я пытаюсь установить сценарий оболочки и выполнить его с помощью Puppet. Сценарий оболочки после запуска создает еще один файл конфигурации и помещает его в указанное место /usr/local/conf/app.conf. Как я могу написать кукольный код для выполнения этого скрипта, а затем взять выходной файл и передать его на другой сервер (в моем случае это веб-сервер). Может кто-нибудь, пожалуйста, помогите.


person Mark    schedule 16.02.2016    source источник


Ответы (1)


Предположим, вы разработали модуль с именем webconfig, а каталог конфигурации puppet — /etc/puppet.

Вам нужно будет сохранить свой сценарий оболочки как /etc/puppet/modules/webconfig/files/script.sh

Ваш кукольный код будет частично выглядеть так:

file { '/path/to/script.sh':
  ensure   => present,
  source   => 'puppet:///modules/webconfig/script.sh',
  mode     => '0644',
  owner    => 'root',
  group    => 'root',
}
->
exec { 'Generate the config':
  command  => '/path/to/script.sh',
  cwd      => '/path/to',
  user     => 'root',
}
->
exec { 'SCP the config':
  command  => 'scp /usr/local/conf/app.conf user@remote-server:',
  cwd      => '/path/to',
  user     => 'root',
}
person Ali Ganjei    schedule 16.02.2016
comment
Благодарю вас! Это помогает. Таким образом, если клиент puppet работает на удаленном сервере и зарегистрирован на мастере puppet, работающем на другом сервере, то можно ли напрямую выполнить этот модуль puppet на удаленном сервере, устраняя необходимость в scp? - person Mark; 18.02.2016
comment
Что ж, если марионеточный агент работает на целевом веб-сервере, генерируя файл конфигурации где-то еще и используя SCP, это не будет лучшим решением. Как вы упомянули, лучше исключить SCP и сгенерировать конфиг на самом сервере. Кроме того, вместо сценария оболочки вы обычно создаете конфигурацию, используя шаблон erb и богатые встроенные и расширенные функции puppet. - person Ali Ganjei; 19.02.2016