Elektra Project 0.6.2 review

by rbytes.net on

The Elektra Project provides an alternative back-end for text configuration files. Instead of each program to have its own text co

License: BSD License
File size: 0K
Developer: Avi Alkalay
0 stars award from rbytes.net

The Elektra Project provides an alternative back-end for text configuration files.

Instead of each program to have its own text configuration files, with a variety of formats, Elektra tries to provide a universal, hierarchical, fast and consistent namespace and infrastructure to access configuration parameters through a key-value pair mechanism. This way any software can read/save its configuration/state using a consistent API.

Being a common infrastructure, it also lets other softwares be aware of this application configurations, leveraging easy software integration.

Elektra Project is designed to be lightweight, with no dependencies, ready to be used also by early boot stage programs.

Using Elektra, configuration file's syntax and handling will not be a rework for each software.

Elektra lets system administrators control security in a much fine grained way. With the current flat file paradigm it is impossible to control permissions and access times on each /etc/passwd or /etc/shadow atoms. Elektra lets you do that because each information atom stored in it (key) has a unique name (key name) and access properties.

Here are some key features of "Elektra Project":
It is much more an agreement then a piece of software. Relation is 99% to 1%.
It is a simple and consistent API to help software developers programatically store and retrieve global and user-specific configuration parameters.
All key-value pairs are stored in clear-text files, UTF-8 encoded. All old charsets are also supported, with automatic transparent conversion to and from UTF-8.
API supports change notifications and multiple backends.
It provides a unique namespace for all values. Anywhere, anytime, any program can preciselly access keys by their names. Security restrictions may obviously apply.
It is designed to be secure and lightweight, to let even early boot-stage programs like /sbin/init to use it, instead of /etc/inittab file.
It is designed to be easy to administrate with regular command line tools like cat, vi, cp, ls, ln. Its storage is 100% open.
It tries to set distribution-independent naming standards to store things like hardware configuration, networking, user's session configuration, system's mime-types, parameters for kernel modules, etc, that are generally stored under /etc.
It requires existing software to be changed to use its API. This will substitute hundreds of configuration-text-file parsing code, into clear Elektra's API key-value access methods.
It is POSIX compliant. If it doesn't compile and run easily on some POSIX system, it should be easily modified to do so.

Elektra Project 0.6.2 keywords