On Tuesday, July 2, 2013 5:27:56 PM UTC-5, Eric Sorenson wrote:

> Hi Jesse -- I think this is getting pretty close, but you're right this 
> would not work without a major version bump. Some comments/questions from 
> the thread--
>
> - The 'creeping perlism' of more sigils seems to be pretty unpopular, 
> instead most people favour concrete syntax like your example below
>

I agree that using a single sigil for interpolation, '%', and using 
function notation is more explicit, I will update the pull request with 
that change. 

- Erik had concerns about using hiera data outside of Puppet - is this a 
> common use case? we're looking at moving hiera closer to puppet (i.e. for 
> data in modules) and if we can move to a single codebase there it 
> simplifies things a fair bit (i.e. relying on future parser) at the expense 
> of hiera-without-puppet. Is it using hiera as a library that's important or 
> specifically the command-line program?
>

We have only recently moved a large percentage of our data into hiera, but 
we are already thinking of use cases where querying hiera outside of puppet 
would be useful. As an example since we use 
supply_drop<https://github.com/pitluga/supply_drop>to puppet our servers it 
would be useful to query our hiera configuration 
to create our capistrano roles. We would love to use Hiera as a general 
configuration store, which could then be queried from multiple sources. 
Also, given that hiera fills a niche that is under served, I think it would 
be great if other configuration tools picked it up, e.g. chef, cfengine, 
etc.
 

> - Exploring that line of thought further, what if the right-hand-side 
> value could contain Puppet DSL expressions? Obviously this opens the door 
> to some crazy stuff -- I already have concern with putting code back into 
> data and this goes further down the path, but y'all have pretty convincing 
> use cases for increasing sophistication in hiera, so it seems worth 
> thinking about taking it to the logical extension.
>

I think there would be possible value in this, we have already hand 
instances where it would help to interpolate values in hiera that are keys 
of a hash, i.e. %{hiera(ips["potto01_ip"])}
 

> - Reading through Wil's example is really interesting because it also 
> touches on module reusability and module APIs. Are others on the thread in 
> a similar situation, where you need to compose/abstract common config 
> parameters to reduce duplication across your site data hierarchy? (And Wil, 
> is there a reason you can't just do that 'ldap_login_server_uris' mapping 
> at class declaration time rather than putting the lookups into the class 
> definitions themselves?)
>

Here I think Henrik's description of the separation of concerns provides a 
persuasive argument for having logic in data. Specifically having hiera 
interpolation support has helped us to move more of our configuration out 
of puppet and into hiera.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to