Hiera Example

---
:backends:
  - ldap
  - yaml
  - json
:ldap:
  :url:ldaps://ldap.stoney-cloud.org:636/
  :binddn:cn=Manager,dc=stoney-cloud,dc=org
  :bindpw:secret
  :basedn:dc=stoney-cloud,dc=org
:yaml:
  :datadir: /etc/puppet/hieradata
:json:
  :datadir: /etc/puppet/hieradata
:hierarchy:
  - "ou=virtual machines,ou=services?sub?(&(sstNetworkHostName=%{::hostname})(sstNetworkDomainName=%{::domainname}))"
  - "ou=software stack,ou=configuration?sub?(uid=%{::rzUid})"
  - "%{::clientcert}"
  - "%{::custom_location}"
  - common
---
:backends:
  - json
:json:
  :datadir: /etc/puppet/hieradata
:hierarchy:
  - "%{::clientcert}"
  - "%{::custom_location}"
  - common

Notes:

  • This is an example of how a hiera config file might look with an mock ldap backend. The backend in question still needs to be found or written.
  • mapping from a DN to directory structure would be nice, so we would rather have to write: ou=virtual machines/ou=services instead to be compatible with the already existing yaml/json backends or something different entirely
  • this needs to take into consideration that puppet expects keys to be defined in a way to enable implicit parameter injection in parameterized classes
  • existing ldap backends for hiera: [1], [2]
  • we should probably aim at integrating this in hiera-2 with regards to ARM-8 and the already imlemented ARM-9
  • I'm not convinced that we should not just grab all this data from the stoney_core:_REST_API and use that as an integration point for puppet.
Last modified 11 years ago
Cancel

Help improve this page!

Cancel

Keep track of this page and all changes to it.