Ask Your Question

What's the current best practice for managing my puppet config in Git?

asked 2013-10-24 08:49:55 -0500

Narq gravatar image

I found a few different web pages on the subject, notably I'd like to be able to work on my local machine in a private github repo, and then have checked in changes automatically apply to puppet. In addition, I'd also like to be able to work in feature branches, and then merge them into head.

I'd also like to use the forge as much as possible, and maintain modules with r10k.

Is anyone running something like this, or is there a better way? Having read so many blog posts about the ... (more)

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2013-10-24 18:03:17 -0500

lavaman gravatar image

updated 2013-10-24 18:03:47 -0500

I recently gave a short presentation to the Denver Puppet Meetup concerning a scheme for module management.

Basically, I use the concept of dynamic environments, but on branches in my Puppetfile repository instead of on branches in a single module repo. This lets us use github/forge/internal modules at the same time. Each branch in the Puppetfile repo is a version I'm calling a Puppet Module Release. So rather than puppet environments of dev/stage/prod or similar, I have puppet environments called v1/v2/v3 and each ... (more)

edit flag offensive delete link more


You should precise you're using Librarian-puppet, anybody not using it would get lost by your references to Puppetfile !

ThinkBriK gravatar imageThinkBriK ( 2013-10-25 04:20:51 -0500 )edit

The OP already stated he wanted to use r10k, which is basically the replacement for librarian-puppet. Plus, anyone confused can just google puppetfile :)

lavaman gravatar imagelavaman ( 2013-10-25 10:56:12 -0500 )edit

Sorry, I really need to go back home... Went short on tea today :D

ThinkBriK gravatar imageThinkBriK ( 2013-10-25 11:40:48 -0500 )edit

Thanks Lavaman. So does this mean that you have one repo for each of your modules, plus another for your puppetfile? What else is in your puppetfile repo? There are ...(more)

Narq gravatar imageNarq ( 2013-11-01 07:08:14 -0500 )edit

Narq, yes we have separate repos for each module and the puppetfile. We don't keep anything else in the puppetfile repo. We clone the puppetfile repo on the puppetmaster ...(more)

lavaman gravatar imagelavaman ( 2013-12-30 10:31:12 -0500 )edit

answered 2013-12-29 17:22:28 -0500

Brett gravatar image

Hey lavaman & thread.
I'm interested in your workflow - right now we've got a process for an "immutable environment" which requires the dynamic environment to be set as a git-hash instead of branch. I'm interested in moving to multiple repos, and librarian. I'm interested if you have this automated?

My goals are to have an application developer check in code, and compile in the CI server (we're using Teamcity). The next step would be to build a server from the ground up to run integration tests. (we use VMWare). The process is as follows:

  1. restore VM ...
edit flag offensive delete link more


You should use r10k instead of librarian-puppet to do the puppetfile install (librarian-puppet is abandoned). Our ENC is a simple mongodb setup. We're working on something better, but it ...(more)

lavaman gravatar imagelavaman ( 2013-12-30 10:38:57 -0500 )edit

@lavaman I need to rebuttal your comment that librarian-puppet is abandoned. I spoke with the creator of it today, and he says it is still being actively developed.

spuder gravatar imagespuder ( 2014-01-01 22:34:26 -0500 )edit

Well, that's good to know. I just know that r10k has Puppetfile functionality due to a lack of movement on bugs and PRs in librarian-puppet.

lavaman gravatar imagelavaman ( 2014-01-02 11:02:26 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2013-10-24 08:49:55 -0500

Seen: 1,523 times

Last updated: Dec 29 '13