Question to the community. This isn't really a specific Puppet issue but 
more a question around the workflow that others are using.

My basic setup is a git repository per module. Then I have a, what I call 
control repo, that contains my Puppet file plus all my roles and profiles 
and hiera data. My hiera hierarchy doesn't include environment because each 
branch of the control repo (and module repos) corresponds to an environment 
(r10k) and that is how I obtain different data based on environment. 
However this is where the problem lies. 

For 99% of the hiera data, it should be in sync across environments. 
However, there are cases (as an example as Java memory limit) that should 
always differ between development and production. But with the setup I have 
if it is hard to maintain that separation because a git merge of 
development up the chain (qa, staging, production) is going to take that 
config setting and merge it. 

I have thought about moving the hiera data out of the control repo to its 
own repository. That way when you are making changes to profiles or roles 
you can safely merge those through the development life cycle.  If I move 
it to its own repository I still have a choice to make. I can create 
branches and have r10k create those as environments on the Puppet server. 
But this still results in my initial issue. You could make a change to the 
development branch and 99% of the data you set you want to merge to qa and 
so forth but there is that one value that is specific to dev and should 
differ in the other environments. You could solve this by a manual process 
that after the merge the user has to remember to set the environment 
specific value such that it differs. The other option is to not have 
branches corresponding to environments for the hiera data and instead 
insert environment into the hierarchy.

Just wondering what others have done and what approaches they have taken to 
solve this issue? Maybe there is some feature of git I am not aware of 
where I can systematically pick what to merge and what not (although if 
that was possible I can see it being very confusing). 

Thanks

-- 
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/d5254a2f-1f4d-4eb9-984b-2e30ad13c435%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to