Thank you very much for this. I have successfully tested it!

I perfer the idea of Puppet 'knowing' which yaml file to use by way of a 
passed variable, rather than having to read from disk for it (and if there 
is a way to do this, I'd like to hear it).

But your solution works and it's not complicated, so thank you :)

Kind regards,
Stephen


On Wednesday, 24 May 2017 15:51:38 UTC+1, Arnau wrote:
>
> Hi,
>
> I don't know if there's another (or better) way, but I use a custom fact 
> for the *environment*. Then you can tell hiera to use this new fact in 
> the hierarchy tree:
>
> As an example:
> node:
>
> /etc/facter/facts.d/local.yaml
> ---
> env: "prod"
>
> puppet server:
> /etc/puppet/hiera.yaml
>
> ---
> :backends:
>   - yaml
>   - eyaml
> :hierarchy:
>   - "%{environment}/hieradb/%{::env}/cert/%{::clientcert}"
>
>
> *Notice that %{environment} refers to puppet environemnt 
> <https://docs.puppet.com/puppet/4.10/environments.html>. (In my case those 
> are the git branches that I create).*
>
>
> HTH,
> Arnau
>
>
> 2017-05-24 16:17 GMT+02:00 Stephen <[email protected] <javascript:>>:
>
>> Hello,
>>
>> At the moment I do not use Hiera to store any config at all, but I want 
>> to.
>>
>> Currently, I can use the variable "$mysettings::config::envtype" in my 
>> classes, as long as I put 'require mysettings::config' at the head of those 
>> classes.
>>
>> In my environment, I use this variable to hold "PROD", "DEV", "PERFTEST", 
>> "QA", etc (It derives this from IP subnet).
>>
>>
>> I have this in my hiera.yaml file, which successfully pulls the data 
>> from, for example, the *os/RedHat.yaml* file when needed.
>>   - name: "OS defaults"
>>     path: "os/%{facts.os.family}.yaml"
>>     
>>
>>     
>> How do I use my variable above in the same way? I've tried the below, and 
>> a number of other syntaxes, and can't get it working. ie. I want to 
>> retrieve config from the *envtype/DEV.yaml* file, but it's not returning 
>> anything.
>>   - name: "Envtype data"
>>     path: "envtype/%{'mysettings::config::envtype'}.yaml"
>>     
>>
>> Apologies if this is explained in documentation, I have gone over it and 
>> it's just not clicking for me. Should I be doing it this way, should I be 
>> using custom facts, should I be doing something else?
>>
>> I'm on Puppet PE v2017.1.0.
>>
>> Thanks for any help.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/puppet-users/c569bc63-69b5-481c-8f38-7e3388ea49a3%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/puppet-users/c569bc63-69b5-481c-8f38-7e3388ea49a3%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/48209bb7-1c96-4a51-abc1-7ca7ccc1bb95%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to