How do you track large lists of modules?

46 views
Skip to first unread message

leam hall

unread,
Aug 28, 2015, 5:00:07 PM8/28/15
to puppet...@googlegroups.com
I'm wondering how people track large lists of modules, to ensure new team members know which does what, when the last time a module was reviewed for usefulness, etc. How do you handle growth and complexity?

Leam

Rich Burroughs

unread,
Aug 28, 2015, 6:14:57 PM8/28/15
to puppet...@googlegroups.com
I have not been in a position to have to do that, but one thing that comes to mind is that "puppet strings" can generate HTML docs. Those could be leveraged in a lot of interesting ways:

https://github.com/puppetlabs/puppetlabs-strings/blob/master/README.md



Rich
--
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/CACv9p5oKQNhGSxe9JFbrofTes3Z_bievoea6gs7U%2BZ0sK0FYag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Trevor Vaughan

unread,
Aug 28, 2015, 8:53:18 PM8/28/15
to puppet...@googlegroups.com
Hi Leam,

We use Git Submodules to collect our various modules together and add comments to the headers of the files.

Unfortunately, 'puppet doc' was deprecated and 'strings' isn't quite ready for prime time.

The new skeleton suggests moving all of the information to a README.md in each module and we're slowly getting there but it's quite time consuming.

Trevor

--
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/CACv9p5oKQNhGSxe9JFbrofTes3Z_bievoea6gs7U%2BZ0sK0FYag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699

-- This account not approved for unencrypted proprietary information --

Lindsey Smith

unread,
Aug 28, 2015, 9:57:02 PM8/28/15
to puppet...@googlegroups.com
On Fri, Aug 28, 2015 at 5:53 PM, Trevor Vaughan <tvau...@onyxpoint.com> wrote:
Hi Leam,

We use Git Submodules to collect our various modules together and add comments to the headers of the files.

Unfortunately, 'puppet doc' was deprecated and 'strings' isn't quite ready for prime time.

What do you think is missing from puppet strings?
 

The new skeleton suggests moving all of the information to a README.md in each module and we're slowly getting there but it's quite time consuming.

Trevor

On Fri, Aug 28, 2015 at 5:00 PM, leam hall <leam...@gmail.com> wrote:
I'm wondering how people track large lists of modules, to ensure new team members know which does what, when the last time a module was reviewed for usefulness, etc. How do you handle growth and complexity?

Leam

--
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/CACv9p5oKQNhGSxe9JFbrofTes3Z_bievoea6gs7U%2BZ0sK0FYag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699

-- This account not approved for unencrypted proprietary information --

--
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.

Trevor Vaughan

unread,
Aug 29, 2015, 1:05:45 AM8/29/15
to puppet...@googlegroups.com
Hi Lindsey,

These may be fixed (hoping!)

1) The ability to run it as a Gem

2) The ability to generate docs for all of your modules without 'strings' being part of the bunch (see #1)

3) The ability to point at a directory and have strings just parse everything without needing to have it in your modulepath (see #1)

4) If you're using RVM (or something like it), you'll run into issues with Gems and Gempaths unless you do some fancy shenanigans with your modulepath (which I've never gotten to work properly)

5) I haven't been able to successfully get it to output a consolidated document set containing all of my modules which are formatted in the legacy style.

Also, it sticks cruft all over my modules when I'd much rather be able to stick the docs all together in a single location.

100% willing to admit that I might be doing something wrong here but the way that I *expect* it to work is:

$ puppet-strings /path/to/my/development/stack/modules

Output: puppet_doc/index.html <and other stuff>

Faces are fun until you start trying to use them across 3 different versions of Ruby and not have them inject into your working module set.

Thanks,

Trevor


For more options, visit https://groups.google.com/d/optout.

Trevor Vaughan

unread,
Aug 29, 2015, 11:40:53 AM8/29/15
to puppet...@googlegroups.com
Here are a few other items passed along to me:

* There's no way to make strings stop trying to add it's own default class parameters. $::foo::params::bar isn't a very useful default besides to say "g look at the code".

* There wasn't a current way to document inline code and some of the YARD parameters don't map well to Puppet code.

* Rendering legacy RDoc works, but renders dumb html instead of the current puppet doc output which hurts when documenting class parameters.

I think that there are bugs reported out there for most of this but I ran strings this morning and ran into most of them still.

Thanks,

Trevor

Garrett Honeycutt

unread,
Aug 29, 2015, 5:23:35 PM8/29/15
to puppet...@googlegroups.com
> Mind on a Mission <http://leamhall.blogspot.com/>
>

Hi Leam,

Suggest using a Puppetfile[1] that tracks which modules you use, where
you get them from and at what version. There are multiple tools to
install the modules based on the Puppetfile including r10k,
librarian-puppet and librarian-puppet-simple.

Here's a link to the talk[2], Multiple Approaches to Managing Your
Puppet Modules, that I gave last year at a few Puppet Camps. It contains
descriptions of each of the methods along with their pro's, con's and
analysis.


[1] - https://github.com/ghoneycutt/puppet-modules/blob/master/Puppetfile

[2] -
http://www.slideshare.net/gh/20141111-multiple-approaches-to-managing-puppet-modules-puppet-camp-seattle

Best regards,
-g

--
Garrett Honeycutt
@learnpuppet
Puppet Training with LearnPuppet.com
Mobile: +1.206.414.8658

Martin Alfke

unread,
Aug 30, 2015, 6:18:51 AM8/30/15
to puppet...@googlegroups.com

On 29 Aug 2015, at 23:23, Garrett Honeycutt <g...@garretthoneycutt.com> wrote:

> On 8/28/15 5:00 PM, leam hall wrote:
>> I'm wondering how people track large lists of modules, to ensure new
>> team members know which does what, when the last time a module was
>> reviewed for usefulness, etc. How do you handle growth and complexity?
>>
>> Leam
>>
>>
>> --
>> Mind on a Mission <http://leamhall.blogspot.com/>
>>

Hi Leam,

Puppetfile is a marvellous approach to manage different module versions in Puppet environments.
There are modules available for hooks and web hooks. e.g. [1]

Puppetfile requires you to have each module in a single repository.
For managing multiple repositories I recommend myrepos[2] instead of git submodules.

Documentation of each Puppet module should be done inside the Module.
Version and Update information should be done in good written git commit messages.
Another nice way to achieve an overview on what has been changed lately is possible with a git review tool (gerrit, gitlab, …).

[1] https://github.com/acidprime/r10k
[2] https://myrepos.branchable.com/

Best,
Martin

>
> Hi Leam,
>
> Suggest using a Puppetfile[1] that tracks which modules you use, where
> you get them from and at what version. There are multiple tools to
> install the modules based on the Puppetfile including r10k,
> librarian-puppet and librarian-puppet-simple.
>
> Here's a link to the talk[2], Multiple Approaches to Managing Your
> Puppet Modules, that I gave last year at a few Puppet Camps. It contains
> descriptions of each of the methods along with their pro's, con's and
> analysis.
>
>
> [1] - https://github.com/ghoneycutt/puppet-modules/blob/master/Puppetfile
>
> [2] -
> http://www.slideshare.net/gh/20141111-multiple-approaches-to-managing-puppet-modules-puppet-camp-seattle
>
> Best regards,
> -g
>
> --
> Garrett Honeycutt
> @learnpuppet
> Puppet Training with LearnPuppet.com
> Mobile: +1.206.414.8658
>
> --
> 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/55E222C8.3010303%40garretthoneycutt.com.
Reply all
Reply to author
Forward
0 new messages