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.
While this project is alpha, we are actively adopting the current version of
Rust. The current minimum version is 1.70
.
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.
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.