uniconfd - a daemon program for the UniConf configuration system
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.
- retrieving, storing, and enumerating key/value pairs (where
both keys and values are strings).
- multiple backends where the actual key/value pairs are
- multiple frontends for tying it to other configuration
It operates locally, and across a network, allowing you to tie multiple
different applications 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.
is necessary when you have more than one application, or
multiple instances of an application, sharing one configuration.
UniConf-enabled applications contact uniconfd
notifications when any of their watched keys change.
You tell uniconfd
which UniConf MOUNT
you want it to manage. See
section for more information.
- Run in the foreground. Do not fork into a separate daemon
- -d, -dd
- Print debugging messages to the console. The second
d increases the verbosity of the messages.
- Print the version number and exit.
- Require authentication on incoming connections.
- Check all accesses against a perms moniker.
- -p port
- Listen on a given TCP port. The default is 4111. If
port is 0, then listening on TCP is disabled.
- -s port
- Listen on a given TCP port wrapped in SSL. The
default is 4112. If port is 0, then listening on SSL-over-TCP is
- -u filename
- 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
- This is the location where the data is stored. It is
dependent on which GENERATORS were specified. For instance, it
could be: • a filename (ini:/var/lib/app/config.ini),
• a network address, (tcp:open.nit.ca:4111),
• or even an empty string (tmp:).
This software was written by the hackers at Net Integration Technologies.
Contact us at <firstname.lastname@example.org>