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

On 05/23/2014 11:37 AM, Atom Powers wrote:
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.
http://nvie.com/posts/a-successful-git-branching-model/
http://danielkummer.github.io/git-flow-cheatsheet/
http://semver.org/



On Fri, May 23, 2014 at 6:40 AM, Jonathan Gazeley <[email protected] <mailto:[email protected]>> wrote:

    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

-- 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]
    <mailto:puppet-users%[email protected]>.
    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--
--
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] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAF-H%3DOks5JyUWCTEvbwLyEa-OFXH64pePXXJTLst8d1KixhWBg%40mail.gmail.com <https://groups.google.com/d/msgid/puppet-users/CAF-H%3DOks5JyUWCTEvbwLyEa-OFXH64pePXXJTLst8d1KixhWBg%40mail.gmail.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/537FE1A8.6080904%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to