uniconfd - a daemon program for the UniConf configuration system
uniconfd [ OPTIONS ] MOUNT ...
UniConf is the One True Configuration system that includes all the others because it has
plugin backends and frontends. Or, less grandiosely, it's a lightweight, distributed,
cacheable tree of strings.
o retrieving, storing, and enumerating key/value pairs (where both keys and values are
o multiple backends where the actual key/value pairs are stored.
o multiple frontends for tying it to other configuration architectures.
It operates locally, and across a network, allowing you to tie multiple different applica-
tions together for distributed computing. Also, it provides notifications in the form of
callbacks, so your application can be notified if a configuration key has changed.
uniconfd is necessary when you have more than one application, or multiple instances of an
application, sharing one configuration. UniConf-enabled applications contact uniconfd
which provides notifications when any of their watched keys change.
You tell uniconfd which UniConf MOUNT you want it to manage. See the MOUNTS section for
-f Run in the foreground. Do not fork into a separate daemon process.
Print debugging messages to the console. The second d increases the verbosity of
-V Print the version number and exit.
-a Require authentication on incoming connections.
-A Check all accesses against a perms moniker.
Listen on a given TCP port. The default is 4111. If port is 0, then listening on
TCP is disabled.
Listen on a given TCP port wrapped in SSL. The default is 4112. If port is 0,
then listening on SSL-over-TCP is disabled.
Listen on a given Unix socket filename. This is disabled by default.
Mounts are UniConf path monikers which are in the form:
This is the tree to manage. All trees are descended from the root tree, indicated
by a bare slash (/).
These are the generators used to read and write key/value pairs. You can chain
them with colons. For example, the generator chain: cache:retry:ini will cache the
configuration for speed, retry persistently if the data source disappears, and
store the data in an INI-formatted file.
PATH This is the location where the data is stored. It is dependent on which GENERATORS
were specified. For instance, it could be: o a filename (ini:/var/lib/app/con-
o a network address, (tcp:open.nit.ca:4111),
o or even an empty string (tmp:).
This software was written by the hackers at Net Integration Technologies. Contact us at
UniConfDaemon 4.4.1 August 2004 UNICONFD(8)