It is possible to integrate with sysrepo in two ways, and that is by using:
- native sysrepo application
- sysrepo plugins
Native sysrepo applications
The native sysrepo application stores its configuration inside Sysrepo and reads it from Sysrepo when it starts. In this case Sysrepo is either the only one, or one of the primary configuration sources. The Sysrepo library is linked to the application binary.
Sysrepo plugin extensions
In this scenario the application does not store its configuration in Sysrepo, it uses some other way of storing the configuration. This is often refered to as legacy approach and Sysrepo contains just a YANG view (or copy) of the configuration. The plugin acts as the interface between Sysrepo and the legacy configuration store of the application and it needs to synchronize the content between them.
The biggest difference from the native approach is that the application is not even aware of the fact that it is controlled by sysrepo. That said, the Sysrepo library is not linked to the application binary.