hiera에서 꼭두각시 ERB의 배열 출력 가져오기

hiera에서 꼭두각시 ERB의 배열 출력 가져오기

hiera에 다음 형식으로 정의된 배열이 있습니다.

 master_servers:
  - "stage-01.com"
  - "stage-02.com"

다음 형식의 ERB로 구성 파일을 채우려고 합니다.

discovery.zen.ping.unicast.hosts: ["stage-01.com", "stage-02.com" ]

ERB에서 다음을 시도했지만 배열이 단일 문자열로 나옵니다.

discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers'] %>

profiles::xxx::master_serversHiera 조회가 올바르게 수행되고 있습니다 .

ERB를 어떻게 정정할 수 있나요?

답변1

주석 확장 - 모듈 의 기능을 jordanm사용할 수 있습니다 -to_jsonpuppetlabs-stdlib원천.

Puppet 매니페스트에서:

class profiles::xxx(
  $master_servers,
) {
  $master_servers_json = to_json($master_servers)
  ...
}

ERB에서:

discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers_json'] %>

관련 정보