Plugin system infrastructure for ThemisDB.
Implements the plugin system infrastructure for ThemisDB, providing dynamic plugin loading, secure plugin execution with manifest validation and signing, and plugin lifecycle management.
In scope: Dynamic shared library loading, plugin manifest validation, Ed25519 signing/verification, plugin lifecycle (register/initialize/execute/shutdown), capability-based permissions.
Out of scope: Plugin business logic (in individual plugin packages), WASM sandboxing (planned), plugin dependency registry (planned).
plugin_loader.cpp— dynamic library loading and registrationplugin_api.cpp— plugin API implementationmanifest_validator.cpp— manifest schema validationplugin_signer.cpp— signing/verification
Maturity: 🔴 Alpha — Core plugin loading and manifest validation operational; WASM sandbox and Ed25519 signing in progress.
- Plugin loader
- Plugin API implementation
- Plugin lifecycle management
- Plugin security and signing
- Dynamic plugin loading
- Secure plugin execution
- Plugin manifest validation
- Plugin signing and verification
For plugin documentation, see:
-
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. ISBN: 978-0-201-63361-0
-
Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley. ISBN: 978-0-321-12742-6
-
Herzfeld, C. (1989). Plugin Architectures and Extensible Applications. ACM SIGPLAN Notices, 24(4), 57–65.
-
Szyperski, C. (2002). Component Software: Beyond Object-Oriented Programming (2nd ed.). Addison-Wesley. ISBN: 978-0-201-74572-6