Sysrepo is a datastore for configuration and state data of Unix/Linux applications, which provides the following features:
- Centralized repository of YANG-modeled configuration files and state data,
- Simple (XPath -based) API for accessing the configuration from applications,
- Startup, running and candidate datastores support,
- Full transaction and concurrency support, conforming all ACID properties,
- Automatic data consistency and constraints enforcement according to the YANG models,
- No single point of failure – applications do not need any other process to run to access their configuration.
Sysrepo is integrated with Netopeer 2 NETCONF server and can be easily integrated into any other management agents (e.g. RESTCONF). This means that just by using Sysrepo as the configuration storage, applications become remotely manageable via NETCONF out of the box.
Sysrepo consists of several components:
- sysrepo library - Shared library which provides API for accessing the data in applications (northbound + southbound)
- sysrepo daemon - If running, this daemon can handle requests from applications and save resources and processing time
- sysrepo plugins daemon - Used for integrating with services that do not run as userspace daemons
- sysrepoctl tool - Used for installing / uninstalling of YANG modules in Sysrepo and to enable YANG features
- sysrepocfg tool - Used for accessing / altering the configuration by local system administrators
Benchmarks & showcases:
Sysrepo at conferences / events: