Re: [Puppet Users] How to manage third-party module?

Brian Lalor
2013-08-06T09:52:12Z

On Aug 6, 2013, at 5:27 AM, Feifei Jia <feifei.j@gmail.com> wrote:

> This is very inconvenient, obviously. So how do you guys manage third-party
modules, except using git submodule? Thanks.

I use librarian-puppet https://github.com/rodjek/librarian-puppet for one of my
projects.  It''s basically a dependency management system for Puppet
modules, a la Maven, Ruby gems, etc.  The problem is that I find its resolution
of versions quite unreliable, for example grabbing apache 0.8.1 when 0.6.x is
specified.  The author is working on a replacement called Henson
https://github.com/wfarr/henson.

Librarian-puppet has some (undocumented) functionality that looks like
it''ll allow you to cache your dependencies and work from those, so
I''m considering looking into that and committing the cardinal version
control sin of checking in 3rd-party dependencies.  For right now, tho, despite
my concerns with it, I find it a huge improvement over submodules or managing
others modules in my source.

An alternative may be to separate out your own modules from 3rd-party modules.
As it is, I put librarian-puppet-managed modules into a
"library_modules" folder and ones developed just for a given project
into "modules".  That will give you some separation of code and at
least make it easier to manage updates.

--
Brian Lalor
blalor@bravo5.org