Enum taskchampion::server::ServerConfig

source ·
pub enum ServerConfig {
    Local {
        server_dir: PathBuf,
    },
    Remote {
        origin: String,
        client_id: Uuid,
        encryption_secret: Vec<u8>,
    },
    Gcp {
        bucket: String,
        credential_path: Option<String>,
        encryption_secret: Vec<u8>,
    },
}
Expand description

The configuration for a replica’s access to a sync server.

Variants§

§

Local

A local task database, for situations with a single replica.

Fields

§server_dir: PathBuf

Path containing the server’s DB

§

Remote

A remote taskchampion-sync-server instance

Fields

§origin: String

Sync server “origin”; a URL with schema and hostname but no path or trailing /

§client_id: Uuid

Client ID to identify and authenticate this replica to the server

§encryption_secret: Vec<u8>

Private encryption secret used to encrypt all data sent to the server. This can be any suitably un-guessable string of bytes.

§

Gcp

A remote taskchampion-sync-server instance

Fields

§bucket: String

Bucket in which to store the task data. This bucket must not be used for any other purpose.

§credential_path: Option<String>

Path to a GCP credential file, in JSON format. This is required for GCP access incase some other application already makes use of Application Default Credentials. See https://cloud.google.com/docs/authentication#service-accounts for more details. See https://cloud.google.com/iam/docs/keys-create-delete for instructions on how to create a service account key.

§encryption_secret: Vec<u8>

Private encryption secret used to encrypt all data sent to the server. This can be any suitably un-guessable string of bytes.

Implementations§

source§

impl ServerConfig

source

pub fn into_server(self) -> Result<Box<dyn Server>, Error>

Get a server based on this configuration

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more