Crate bonsaidb[][src]

Expand description

A programmable document database inspired by CouchDB written in Rust.

This crate provides a convenient way to access all functionality of BonsaiDb. The crates that are re-exported are:

Feature Flags

No feature flags are enabled by default in the bonsaidb crate. This is because in most Rust executables, you will only need a subset of the functionality. If you’d prefer to enable everything, you can use the full feature:

bonsaidb = { version = "*", default-features = false, features = "full" }
  • full: Enables local-full, server-full, and client-full.
  • cli: Enables the bonsaidb executable.

Local databases only

bonsaidb = { version = "*", default-features = false, features = "local-full" }
  • local-full: Enables local, local-encryption, local-instrument, local-multiuser, and local-cli
  • local: Enables the local module, which re-exports the crate bonsaidb-local.
  • local-cli: Enables the StructOpt structures for embedding database management commands into your own command-line interface.
  • local-encryption: Enables at-rest encryption support.
  • local-instrument: Enables tracing instrumentation.
  • local-multiuser: Enables multi-user support.

BonsaiDb server

bonsaidb = { version = "*", default-features = false, features = "server-full" }
  • server-full: Enables server, server-acme, server-encryption, server-instrument, and server-websockets
  • server: Enables the server module, which re-exports the crate bonsaidb-server.
  • server-acme: Enables automatic TLS certificate acquisition via ACME.
  • server-encryption: Enables at-rest encryption support.
  • server-instrument: Enables tracing instrumentation.
  • server-websockets: Enables WebSocket support for bonsaidb-server.

Client for accessing a BonsaiDb server.

bonsaidb = { version = "*", default-features = false, features = "client-full" }
  • client-full: Enables client, client-trusted-dns, and client-websockets
  • client: Enables the client module, which re-exports the crate bonsaidb-client.
  • client-trusted-dns: Enables using trust-dns for DNS resolution. If not enabled, all DNS resolution is done with the OS’s default name resolver.
  • client-websockets: Enables WebSocket support for bonsaidb-client.

VaultKeyStorage options

  • keystorage-s3: Enables S3-compatible key storage.


BonsaiDb command line tools.

Client for bonsaidb-server.

Core functionality and types for BonsaiDb.

VaultKeyStorage implementors.

Local storage backend for BonsaiDb.

The BonsaiDb Server.