9 releases (5 breaking)
0.5.0 | Oct 5, 2023 |
---|---|
0.4.1 | Apr 5, 2022 |
0.4.0 | Mar 29, 2022 |
0.3.0 | Mar 3, 2022 |
0.0.0-reserve.0 | Jan 19, 2022 |
#347 in Database implementations
Used in 2 crates
(via bonsaidb)
1.5MB
30K
SLoC
BonsaiDb Server
BonsaiDb's networked database implementation.
This crate implements BonsaiDb's networked database implementation. The
Server
and CustomServer<Backend>
types provide their most common functionality by implementing the
StorageConnection
.
This crate supports two methods for exposing a BonsaiDb server: QUIC and WebSockets.
QUIC is a new protocol built atop UDP. It is designed to operate more reliably than TCP, and features TLS built-in at the protocol level. WebSockets are an established protocol built atop TCP and HTTP.
Our user's guide has a section covering setting up and accessing a BonsaiDb server.
Minimum Supported Rust Version (MSRV)
While this project is alpha, we are actively adopting the current version of
Rust. The current minimum version is 1.70
.
Feature Flags
By default, the full
feature is enabled.
full
: Enables all the flags below,acme
: Enables automtic certificate acquisition through ACME/LetsEncrypt.cli
: Enables thecli
module.encryption
: Enables at-rest encryption.hyper
: Enables convenience functions for upgrading websockets usinghyper
.instrument
: Enables instrumenting withtracing
.pem
: Enables the ability to install a certificate using the PEM format.websockets
: EnablesWebSocket
support.password-hashing
: Enables the ability to use password authentication using Argon2.token-authentication
: Enables the ability to authenticate using authentication tokens, which are similar to API keys.
Open-source Licenses
This project, like all projects from Khonsu Labs, is open-source. This repository is available under the MIT License or the Apache License 2.0.
To learn more about contributing, please see CONTRIBUTING.md.
Dependencies
~31–46MB
~849K SLoC