Hi,

the typical scenario for running nodes in differnet environments is to use
r10k.
https://docs.puppet.com/pe/latest/r10k_run.html

git + r10k . It's a well known combo that works perefctly.

Best,
Arnau


2017-05-25 12:15 GMT+02:00 Stephen <[email protected]>:

>
> 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]>:
>>
>>> 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].
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/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
> <https://groups.google.com/d/msgid/puppet-users/48209bb7-1c96-4a51-abc1-7ca7ccc1bb95%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/CAM69jx_FvJSZuMM0xEFjh-uzD22hiV6vEeyoTHmuSVhXGf3QrQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to