Elektra  0.9.3
elektra-plugins(7) -- plugins overview

Multiple plugins can be mounted into the key database (KDB). On every access to the key data base they are executed and thus can change the functionality and behavior.

Unlike Elektra's core the plugins have all kinds of dependencies. It is the responsibility of the plugin to find and check its dependencies using CMake. If a dependency cannot be found, the plugin will automatically disable itself.

Elektra has a wide range of different plugins. The plugin folders should contain a README.md with further information. (Or follow links below.) The plugins are:

plugins.png
Overview Plugins

All plugins implement the same interface:

Furthermore, plugins might export symbols:

For an easy introduction, see this tutorial how to write a storage plugin. For more background information of the plugins framework, continue here. Otherwise, you can visit the the API documentation.

Before configuration is actually written, the file name needs to be determined (resolvers will be automatically added by kdb mount):

Are responsible for reading writing the configuration to configuration files.

Read and write everything a KeySet might contain:

Read (and write) standard config files:

Using semi-structured data for config files, mainly suitable for spec-namespace (put a focus on having nice syntax for metadata):

Only suited for import/export:

Plugins that just show some functionality, (currently) not intended for productive use:

Information compiled in Elektra:

Providing information found on the system not available in persistent files:

Filter plugins process keys and their values in both directions. In one direction they undo what they do in the other direction. Most filter plugins available now encode and decode values. Storage plugins that use characters to separate key names, values or metadata will not work without them.

Rewrite unwanted characters with different techniques:

Log/Send out all changes to configuration to:

Notification of key changes:

Trace everything that happens within KDB:

Copies metadata to keys:

Plugins that check if values are valid based on metadata (typically copied by the spec plugin just before):

Value Validation

Other Validation

These plugins start an interpreter and allow you to execute a script in an interpreted language whenever Elektra’s key database gets accessed. Note that they depend on the presence of the respective binding during run-time.