#[non_exhaustive]pub struct StorageConfiguration {
pub path: Option<PathBuf>,
pub unique_id: Option<u64>,
pub vault_key_storage: Option<Box<dyn AnyVaultKeyStorage + 'static, Global>>,
pub default_encryption_key: Option<KeyId>,
pub workers: Tasks,
pub views: Views,
pub key_value_persistence: KeyValuePersistence,
pub argon: ArgonConfiguration,
/* private fields */
}
Expand description
Configuration options for Storage
.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.path: Option<PathBuf>
The path to the database. Defaults to db.bonsaidb
if not specified.
unique_id: Option<u64>
The unique id of the server. If not specified, the server will randomly generate a unique id on startup. If the server generated an id and this value is subsequently set, the generated id will be overridden by the one specified here.
vault_key_storage: Option<Box<dyn AnyVaultKeyStorage + 'static, Global>>
The vault key storage to use. If not specified,
LocalVaultKeyStorage
will be
used with the server’s data folder as the path. This is incredibly
insecure and should not be used outside of testing.
For secure encryption, it is important to store the vault keys in a location that is separate from the database. If the keys are on the same hardware as the encrypted content, anyone with access to the disk will be able to decrypt the stored data.
default_encryption_key: Option<KeyId>
The default encryption key for the database. If specified, all documents will be stored encrypted at-rest using the key specified. Having this key specified will also encrypt views. Without this, views will be stored unencrypted.
workers: Tasks
Configuration options related to background tasks.
views: Views
Configuration options related to views.
key_value_persistence: KeyValuePersistence
Controls how the key-value store persists keys, on a per-database basis.
argon: ArgonConfiguration
Password hashing configuration.
Implementations
Trait Implementations
Registers the schema and returns self.
Sets StorageConfiguration::path
to path
and returns self.
Sets StorageConfiguration::unique_id
to unique_id
and returns self.
pub fn vault_key_storage<VaultKeyStorage>(
self,
key_storage: VaultKeyStorage
) -> StorageConfiguration where
VaultKeyStorage: AnyVaultKeyStorage,
pub fn vault_key_storage<VaultKeyStorage>(
self,
key_storage: VaultKeyStorage
) -> StorageConfiguration where
VaultKeyStorage: AnyVaultKeyStorage,
Sets StorageConfiguration::vault_key_storage
to key_storage
and returns self.
Sets StorageConfiguration::default_encryption_key
to path
and returns self.
Sets Tasks::worker_count
to worker_count
and returns self.
Sets Views::check_integrity_on_open
to check
and returns self.
Sets StorageConfiguration::key_value_persistence
to persistence
and returns self.
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl !RefUnwindSafe for StorageConfiguration
impl Send for StorageConfiguration
impl Sync for StorageConfiguration
impl Unpin for StorageConfiguration
impl !UnwindSafe for StorageConfiguration
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more