Issue #2636 has been updated by R.I. Pienaar.
Thought about it some more, the comments expressed in person about 'but this is
how Ruby does it too' is wrong,
A current foo module that has foo::bar has:
<pre>
foo
`-- manifests
|-- bar.pp
`-- init.pp
</pre>
This is not at all like any programming language, if it was like a normal
programming language it would be something like:
<pre>
foo
`-- manifests
|-- foo
| `-- bar.pp
`-- foo.pp
</pre>
In todays module organization if you add foo::baz and foo::baz::quux it looks
like:
<pre>
foo
`-- manifests
|-- bar.pp
|-- baz
| `-- quux.pp
|-- baz.pp
`-- init.pp
</pre>
Which is like Ruby and other similar languages but very unlike how the module
namespace works today. So in puppet language we mix 2 models, one with a flat
everything in one structure and one more ruby like.
I like the everything in one structure and think it will resonate better with
sysadmins than the ruby structure and this is why I think the nested example
should also support being everything in a flat structure in addition to the
current method - or to deprecate the current method over time.
The module would ideally support looking like this:
<pre>
foo
`-- manifests
|-- init.pp
|-- bar.pp
`-- baz
|-- init.pp
`-- quux.pp
</pre>
Which greatly improves consistency, each level of the modules namespace works
the same way and on the same basic design rather than a mixture of puppet style
and ruby style in one place.
----------------------------------------
Feature #2636: Improvement to module organization
https://projects.puppetlabs.com/issues/2636
Author: R.I. Pienaar
Status: Needs Decision
Priority: Normal
Assignee: Nigel Kersten
Category: modules
Target version:
Affected Puppet version: 0.25.0
Keywords:
Branch:
hello,
In the case where someone wants to create classes like this:
apache
apache::php
apache::php::gd
apache::php::mysql
etc
it would be nice if all php related classes was in one sub directory, currently
that isn't possible without the help of import, it would be great if the above
classes could be laid out like this in addition to the current behaviour:
apache/manifests/php/init.pp <- apache::php
apache/manifests/php/gd.pp <- apache::php::gd
at present we would need to have apache/manifests/php.pp apache::php class in a
different directory than the rest of the php stuff.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.