pub enum TlsMode {
Off,
Files {
cert_path: String,
key_path: String,
},
Acme {
domains: Vec<String>,
email: String,
cache_dir: String,
staging: bool,
},
}Expand description
Whether, and how, recall-server terminates TLS itself rather than
leaving it to an ingress.
The two modes are mutually exclusive and each requires its own pair of
variables in full; see ConfigError::PartialTlsFiles,
ConfigError::PartialTlsAcme and ConfigError::BothTlsModes.
Variants§
Off
Plain HTTP on Config::addr. An ingress is expected to terminate
TLS in front of this, per deploy/README.md.
Files
RECALL_TLS_CERT + RECALL_TLS_KEY: serve HTTPS on
Config::addr from a certificate and key already on disk, such as
one a separate ACME client keeps renewed.
Fields
Acme
RECALL_TLS_ACME_DOMAINS + RECALL_TLS_ACME_EMAIL: the server gets
and renews its own certificate from an ACME directory (Let’s
Encrypt, by default) over TLS-ALPN-01, which needs only the one port
it is already serving on, port 80 is never touched.
Implementations§
Trait Implementations§
impl Eq for TlsMode
impl StructuralPartialEq for TlsMode
Auto Trait Implementations§
impl Freeze for TlsMode
impl RefUnwindSafe for TlsMode
impl Send for TlsMode
impl Sync for TlsMode
impl Unpin for TlsMode
impl UnsafeUnpin for TlsMode
impl UnwindSafe for TlsMode
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more