Imprimir hiera config em várias linhas no arquivo de configuração gerenciado pelo fantoche

4

No meu arquivo yaml eu tenho vários valores que precisam ser impressos em um arquivo ini gerenciado por outro módulo php. Eu posso pegar os valores através do heira e enviá-los para o arquivo ini, mas está no formato errado. Cada item no arquivo yaml tem que ser separado por uma linha, como faço para isso?

Aqui está o meu arquivo 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

E este é o meu manifesto porque tentei algumas coisas diferentes sem sucesso:

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

Em que valor eu preciso dar saída de cada valor do phpini para uma linha separada.

Atualização:

Aqui está o arquivo de modelo que está sendo usado:

; File Managed by Puppet

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

Assim, o modelo suporta matrizes (acho que Ruby não é o meu ponto strong), mas Heira está concatenando o array do yaml. Chamar os dados usando heira_array não faz diferença.

    
por digital 23.01.2014 / 10:28

1 resposta

3

O Hiera está buscando como um array, mas você está passando para o template como uma string com $nginx['phpini'].join("\n") - mude para passar a variável diretamente sem manipulá-la.

    
por 24.01.2014 / 17:17