James Turnbull wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 3/02/10 3:27 AM, Michael DeHaan wrote:
Hi List!

So I was talking with several folks on IRC this morning, and we came up with an idea.

One of the strengths of Puppet is it has a very large community with tons of systems administration experience. This is huge. I'd like to unite that experience more closely, so that this power is immediately available and obvious to new and existing users. Currently we have a large collection of repos, some containing one module, some containing many, but they are fragmented:

Mike

I'd love to see this get off the ground.  There have been a couple
of attempts at it - and you can see some background at:

http://reductivelabs.com/trac/puppet/wiki/CommonModules
http://reductivelabs.com/trac/puppet/wiki/ModuleStandards


Yep, read these (for benefit of the list, we were talking on IRC, I don't actually read that fast!) ... seems not
be insurmountable.

Even a tiny bit of pain getting this off the ground seems hugely worth it.
What I'd like to do initially is start getting these together in one giant curated repo, hosted on our github space, that makes it easier for all Puppet users to contribute to.

Sounds great - we had a play with a couple of ways to do this -
mostly around git submodules (to allow you to check out individual
modules from a git repo).  I'd personally recommend not going down
that path - I had issues. :)

Can we start by grafting together everyone's modules and trying to namespace them?

Git subtree merge preserves attribution nicely... so everyone still gets their credits. The paths will then need to be merged around some. Temporarily, this might mean prefixing modules
the paths of their creators if we have conflicts.

If we need to make changes to them, there will be some testing work to be done as well, which we can use help with. So this may mean identifying which ones out of which repos are important for starters and trying them out ... and moving more into the "curated" repo later ... basically keeping a "to be processed" directory seperate from the main so we can more easily identify what we need to transmogrify? We'll start small with some good examples.


I think we need to start small, and identify some basic concepts we need a collection of namespaced modules to have, in order to work together well. If this takes off, we may want to create a seperate list for development of the common modules -- TBD -- but we could use puppet-users for now.

I think the primary issue here is to have some common rules for
handling certain scenarios:

1.  Cross-platform support
2.  Naming standard
3.  Module construction

I personally don't think these are hard problems to solve and I
think it we put together two or three straw man variants as a
talking point that'd get us further ahead than talking about it.

Indeed. I'd rather try it and see what comes crashing down. We need to be aware of what the problems could be though, no doubt.

For our initial attempt, perhaps we should aim for mostly Debian+Red Hat cross platformness with modules supporting both? That seems reasonable and achieves a good starting base. Of course there may be a lot of work getting to that...

I need to check for any explict licensing in there, of course. We'd also need to identify what parts of them did things "weird" and try to homogenize them a bit, I'd suspect.

I don't mind doing the initial driving and getting the repo set up. More collaborators on this would be good, and I think once we have this, it would be easier for more people to contribute than what we have now. That all being said, I'll be travelling a bit, so this may appear in pieces. Help would be outstanding.

If we commit to having something done a bit more quickly rather than trying to get it perfect, and perhaps we get further this time, and over time we can clean up what's there. Folks should know if they do a checkout in these early days of such an effort, the modules may not remain compatible and they should suspect a "git rebase" to break them. Over time, we can move that towards being more consistent.

So say we all?

--Michael

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to