| Elektra 0.11.0

Use Case: Get configuration

# Summary

- Scope: `libelektra-kdb`
- Level: Developer Goal
- Actors: Application, Elektra
- Brief: Application loads configuration from KDB

# Scenarios

- Precondition: -
- Main success scenario:
  - Application requests current configuration from KDB
  - Elektra loads from backends
  - Elektra returns configuration
- Alternative scenario:
  - Application requests current configuration from KDB
  - Elektra detects configuration hasn't changed and is already present in memory (of current instance)
  - Elektra returns previously loaded configuration
- Error scenario:
  - Application requests current configuration from KDB
  - Elektra fails to load requested configuration
  - Elektra returns error with problem description
- Postcondition:
  - The returned configuration MUST exactly match the requested part of the KDB
- Non-functional Constraints:
  - Applications SHOULD be able to err on the side of "better load config more often than needed" rather than "only load when necessary".
    - Loading configuration MUST be reasonably fast, especially when nothing has changed (caching!).
    - Reloading configuration MUST NOT destroy previously loaded configuration.