On Fri, 2008-10-03 at 22:47 +0200, Jeroen van Meeuwen wrote:
> David Lutterkort wrote:
> > On Sun, 2008-09-28 at 15:54 +0200, Jeroen van Meeuwen wrote:
> >> Hi there,
> >>
> >> I'd like to collect some feedback on a conceptual simple Puppet Common 
> >> Module I want to propose;
> >>
> >> http://reductivelabs.com/trac/puppet/wiki/PuppetCommonModules/SSH
> > 
> > Nice. The one thing that leaves a bad taste in my mouth is the way the
> > file statements try to let you control which exact ssh{,d}_config file
> > is used on a client: won't that in practice go back pretty quickly to a
> > situation of one file per host on the server ? Even worse, when an
> > update to the package wants to change the default for some setting (or
> > add a new one), you'll have to spend lots of time merging that change
> > into all the copies of ssh{,d}_config.
> > 
> 
> No. Package defaults do not concern you unless the package default comes 
> with a major operating system version upgrade, and the package defaults 
> are moot as soon as you start managing the SSHd service (in grant 
> total). If the package defaults are really of interest, then all you 
> need to do is:
> 
> service { sshd: ensure => running, enable => true }
> 
> rather then:
> 
> include ssh::server
> 
> meaning that you won't need a module to begin with, or the module is of 
> no interest to anyone.

I didn't say that the default config file should be used verbatim, but
that it is a reasonable starting point; needing to modify ssh config is
very common.

Seeing all those sources for the reminded me a lot of home-grown config
mgmt systems where you simply store all the modified config files in
some sort of SCM, organized by some simple principle, like hostname or
similar and then just copy files around.

The problem with that organization is that there isn't one scheme that
fits a wide variety of uses; puppet's solution to that is to make it
easy to split a machine's configuration into small independent parts
that can be composed in a variety of ways (mostly inheritance and
inclusion of classes) to enable a DRY description of the configuration
of the whole site.

With the ssh config files, you have to stop decomposing at the
granularity of files; for other files, you can do that at a more
fine-grained level (e.g., the host type) My point was that if you can
describe the parts of the config file that need changing at a more
granular level, you don't need such an extensive categorization of ssh
config files.

> Although I understand your point, I'm not sure how ready anyone is right 
> now to "migrate" to auguas, especially seeing how it is only a few 
> months old. Then again, I'm not familiar with augeas and I could ask a 
> random large number of questions about it right now but it's besides the 
> point.

Point well taken - feel free to ask in private mail or on the augeas
list.

> Even when using augeas, the settings provided in a module like you 
> describe will differ in over a dozen ways even if just one or two 
> organizations are using the module.

My point was that if you have a very granular way to change individual
config settings, you don't need to worry as much about the different
ways in which to organize where the whole file comes from; users of the
module can simply compose the file using puppet's standard mechanisms.

> Besides, the file sshd_config *will* need to be managed as soon as you 
> attempt to manage the sshd server/service, regardless of the file 
> remaining to be the package default, or a default being shipped with the 
> module.

Yes, I think my point about whether to start from the package default or
sth else is a bit of a red herring. Basically what I am saying is the
large number of file sources is a side-effect of managing at the wrong
level of granularity. Imagine there wasn't a /etc/htpd/conf.d, and you
could only have one /etc/httpd/conf/httpd.conf - you would wind up with
similar headaches since there wouldn't be a convenient way to compose
the entire Apache config from disparate parts.

David



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

Reply via email to