Elektra  0.9.0
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.

Description

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

C-Interface

All plugins implement the same interface:

KDB-Interface

See Also

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.

Plugins

Resolver

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

Storage

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:

System Information

Information compiled in Elektra:

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

Filter

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.

Encoding

Rewrite unwanted characters with different techniques:

Transformations:

Doing other stuff:

Notification and Logging

Log/Send out all changes to configuration to:

Notification of key changes:

Debug

Trace everything that happens within KDB:

Checker

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

Interpreter

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.

Others