Switching to directory environments

96 views
Skip to first unread message

Jonathan Gazeley

unread,
May 23, 2014, 9:40:34 AM5/23/14
to puppet...@googlegroups.com
Hi puppet peeps,

Something to think about for the weekend. We're running puppet 3.6 now
and it is warning me that config environments are deprecated and that I
should migrate. That's fine, but I'm not quite sure how to replicate the
setup I've got now with directory environments.

Currently, there are 3 puppet environments served out of
/etc/puppet/environments on my puppetmaster. These are basically
checked-out from svn and are used for production servers. They are also
checked out in the homedirs of some of my puppet users and served as dev
environments so they can develop in their homedirs, check into svn, and
I then push their changes to prod.

e..g

[resnet]
modulepath =
$confdir/environments/resnet/modules:$confdir/environments/common/modules:$confdir/modules
manifest = $confdir/environments/resnet/manifests/nodes.pp

[netops]
modulepath =
$confdir/environments/netops/modules:$confdir/environments/common/modules:$confdir/modules
manifest = $confdir/environments/netops/manifests/nodes.pp

[resnet_jg4461]
modulepath =
/home/jg4461/PUPPETROOT/environments/resnet/modules:/home/jg4461/PUPPETROOT/environments/common/modules:$confdir/modules
manifest =
/home/jg4461/PUPPETROOT/environments/resnet/manifests/nodes.pp

[netops_jg4461]
modulepath =
/home/jg4461/PUPPETROOT/environments/netops/modules:/home/jg4461/PUPPETROOT/environments/common/modules:$confdir/modules
manifest =
/home/jg4461/PUPPETROOT/environments/netops/manifests/nodes.pp

With directory environments, I don't think I can serve dev environments
from home directories any longer, which implies that the dev
environments will have to be served from /etc/puppet/environments. This
in turn means I'm going to have to look at more granular permissions so
my users can only edit their dev environments, not the prod ones. Then I
can use symlinks to link back their homedir so it looks the same for them.

At the same time, we're shortly thinking of moving to git rather than
svn, because svn is a pain to do branching and merging. Does anyone have
advice for using svn or git in a multiplayer puppet system?

Happy weekend,
Jonathan

Atom Powers

unread,
May 23, 2014, 11:38:08 AM5/23/14
to puppet...@googlegroups.com
Regarding SVN/Git.
I've done both and I much prefer Git, even though there are only two of us working on the Puppet code. We don't, yet, use branches as environment paths though I believe it would be much easier to do so with Git than SVN.

These may help, they helped me.





--
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 puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/537F4FC6.20103%40bristol.ac.uk.
For more options, visit https://groups.google.com/d/optout.



--
Perfection is just a word I use occasionally with mustard.
--Atom Powers--

Yanis Guenane

unread,
May 23, 2014, 8:03:12 PM5/23/14
to puppet...@googlegroups.com
What you could do is a mix of gerrit/gitolite and r10k.

r10k[1] allows you to deploy environment based on branches name.  So if you have a branch called team1, team2 and team42 you will have team1, team2 and team42 puppet environment. Reading Garry Larizza's blog[2] will give you a great overview of r10k possible workflow.

Gitolite or Gerrit (for just git permission Gerrit is overkilled), allows you to grant user permission to git repository branch, hence controlling who can push on which branch.

So by having a setup mixing r10k and gitolite you can achieve what you're currently doing,

[1]: https://github.com/adrienthebo/r10k
[2]: http://garylarizza.com/blog/2014/02/18/puppet-workflow-part-3/

--
Yanis Guenane
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.



--
Perfection is just a word I use occasionally with mustard.
--Atom Powers--
--
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 puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF-H%3DOks5JyUWCTEvbwLyEa-OFXH64pePXXJTLst8d1KixhWBg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages