Add a lightweight embedded alternative to the MongoDB datastore.
Rationale
MongoDB 5.0 requires use of the AVX instruction set, which is not available on all processors, limiting the number of systems that can run this software. Furthermore, an embedded solution with local data storage minimizes dependencies for this minimum viable implementation of the Whiteflag protocol that is primarily used for protocol and interoperability testing.
Solution
Add support for Simple.DB, or a similar solution satisfying the specifications below.
Specification
The datastore must be: 1. local; 2. embedded; 3. able to store JSON documents; and 3. able to query JSON documents.
Affected components
Requires addition of a module in datastores, and related configuration options in config/datastores.toml.
Alternatives
Alternatives are an external dependency and not as lightweight, e.g.:
Description
Add a lightweight embedded alternative to the MongoDB datastore.
Rationale
MongoDB 5.0 requires use of the AVX instruction set, which is not available on all processors, limiting the number of systems that can run this software. Furthermore, an embedded solution with local data storage minimizes dependencies for this minimum viable implementation of the Whiteflag protocol that is primarily used for protocol and interoperability testing.
Solution
Add support for Simple.DB, or a similar solution satisfying the specifications below.
Specification
The datastore must be: 1. local; 2. embedded; 3. able to store JSON documents; and 3. able to query JSON documents.
Affected components
Requires addition of a module in
datastores
, and related configuration options inconfig/datastores.toml
.Alternatives
Alternatives are an external dependency and not as lightweight, e.g.:
... or more complex, e.g.:
... or not well maintained, e.g.: