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

Распечатать конфигурацию hiera в несколько строк в файле конфигурации, управляемом марионеткой

В моем файле yaml у меня есть несколько значений, которые необходимо распечатать в ini-файле, управляемом другим модулем php. Я могу получить значения через heira и вывести их в файл ini, но он в неправильном формате. Каждый элемент в файле yaml должен быть разделен строкой, как мне этого добиться?

Вот мой файл yaml:

---
nginx:
  phpini:
    - display_errors = On
    - error_reporting = -1
    - date.timezone = "Europe/London"
    - sendmail_path = "/usr/bin/env /usr/local/bin/catchmail"
    - xdebug.default_enable = 1
    - xdebug.remote_autostart = 0
    - xdebug.remote_connect_back = 1
    - xdebug.remote_enable = 1
    - xdebug.remote_handler = "dbgp"
    - xdebug.remote_port = 9000

И это мой манифест, почему я безуспешно пробовал несколько разных вещей:

php::ini { 'php.ini':
  value => [
    $nginx['phpini']
  ],
  require => Package["php5-cli"]
}

Где значение, мне нужно вывести каждое значение из phpini в отдельную строку.

Обновить:

Вот используемый файл шаблона:

; File Managed by Puppet

<% if @value != "" -%>
<% if @value.is_a? Array -%>
<% @value.each do |name| -%>
<%= name %>
<% end %>
<% else -%>
<%= value %>
<% end -%>
<% end -%>

Таким образом, шаблон поддерживает массивы (я думаю, что рубин не моя сильная сторона), но Хейра объединяет массив из yaml. Вызов данных с помощью heira_array без разницы.

Hiera получает массив, но вы передаете его в шаблон в виде строки с $nginx['phpini'].join("\n") - переключиться на передачу переменной напрямую, не манипулируя ею.