Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Feb 2002 12:52:14 -0800
From:      Sean Chittenden <sean@chittenden.org>
To:        freebsd-arch@freebsd.org
Subject:   Site wide daemon startup policy for ports ala ${PREFIX}/etc/(rc.conf|defaults/)...
Message-ID:  <20020210125214.B43813@ninja1.internal>

next in thread | raw e-mail | index | archive | help
[Please direct to -hackers or -ports if more appropriate]


Hypothetical situation: let's say that with SNMP I like to use syslog,
which requires the -s flag to snmpd.  No biggie, I can hack
etc/rc.d/snmpd.sh.  With many machines, however, this is a tad
tiresome, esp if I don't have SNMP installed on every box.  What I'd
like to do is be able to use a system similar to what's in /etc with
its rc.conf and defaults/rc.conf that way I could specify something
akin to:

snmpd_flags="-s"

Just like one does with /etc/rc.conf.


Quick summary (bad pseudo-code):

Defaults       = eval `cat ${PREFIX}/etc/defaults/*.conf`
Host specific  = eval `cat ${PREFIX}/etc/rc.conf`
Startup script = ${PREFIX}/etc/rc.d/snmpd.sh


Example implementation:

A port that has configuration options would install its default
parameters in ${PREFIX}/etc/defaults in a .conf file, using SNMP as an
example, in ${PREFIX}/etc/defaults/snmpd.conf).  When the host
administrator wants to tweak a setting, such as adding the -s flag to
snmpd, they tweak the settings in ${PREFIX}/etc/rc.conf.

Now, when the system boots or the administrator kicks the port via
${PREFIX}/etc/snmpd.sh, it'd source a global "integrate with FreeBSD's
rc/ports startup foo" function which sets the default and host
specific parameters that way in snmpd.sh, you can see a nifty little
line that looks something like:

      ${PREFIX}/sbin/snmpd ${snmpd_flags}

This'd apply to other ports/apps and would require their startup
scripts to be adjusted, but seems like a nice way of centralizing a
lot of this configuration goo (mailman's default hostname comes to
mind as another quick and easy win, same with postfix UIDs).

A follow up win would also come in documenting application specific
CLI tunables though ${PREFIX}/etc/defaults/${app_name}.conf.  This
could be a huge win for administrators.


Sources of Discussion:

The one bit of this that I'm a little torn about is the situation for
NFS mounting /usr or /usr/local.  That said, ${PREFIX}/etc/rc.conf
could also be /etc/rc.conf because /etc/rc.conf shouldn't be NFS
mounted.  What I think would be the ideal situation would be to
sourcing all three defaults in this order: defaults,
${PREFIX}/etc/rc.conf, then /etc/rc.conf.



Thoughts?  -sc

--
Sean Chittenden

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020210125214.B43813>