pub struct CaddyConfig {}Expand description
Caddy TLS reverse proxy configuration
Caddy is a special service with fixed behavior:
- Always exposes ports 80 (ACME), 443 (HTTPS), 443/udp (QUIC)
- Always connects to the Proxy network
Unlike other services, Caddy doesn’t have user-configurable port behavior,
but it still implements PortDerivation for consistency.
§Example
use torrust_tracker_deployer_lib::domain::caddy::CaddyConfig;
use torrust_tracker_deployer_lib::domain::topology::PortDerivation;
let config = CaddyConfig::new();
let ports = config.derive_ports();
assert_eq!(ports.len(), 3);Implementations§
Trait Implementations§
Source§impl Clone for CaddyConfig
impl Clone for CaddyConfig
Source§impl Debug for CaddyConfig
impl Debug for CaddyConfig
Source§impl Default for CaddyConfig
impl Default for CaddyConfig
Source§impl<'de> Deserialize<'de> for CaddyConfig
impl<'de> Deserialize<'de> for CaddyConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl NetworkDerivation for CaddyConfig
impl NetworkDerivation for CaddyConfig
Source§fn derive_networks(&self, _enabled_services: &EnabledServices) -> Vec<Network>
fn derive_networks(&self, _enabled_services: &EnabledServices) -> Vec<Network>
Derives network assignments for the Caddy service
Implements NET-09: Caddy always connects to Proxy network only
Source§impl PartialEq for CaddyConfig
impl PartialEq for CaddyConfig
Source§impl PortDerivation for CaddyConfig
impl PortDerivation for CaddyConfig
Source§fn derive_ports(&self) -> Vec<PortBinding>
fn derive_ports(&self) -> Vec<PortBinding>
Derives port bindings for the Caddy TLS proxy service
Implements PORT-09: Caddy always exposes 80, 443, 443/udp
These ports are required for:
- Port 80/tcp: ACME HTTP-01 challenge for Let’s Encrypt certificate renewal
- Port 443/tcp: HTTPS traffic for all proxied services
- Port 443/udp: HTTP/3 (QUIC) support for modern browsers
Source§impl Serialize for CaddyConfig
impl Serialize for CaddyConfig
impl StructuralPartialEq for CaddyConfig
Auto Trait Implementations§
impl Freeze for CaddyConfig
impl RefUnwindSafe for CaddyConfig
impl Send for CaddyConfig
impl Sync for CaddyConfig
impl Unpin for CaddyConfig
impl UnsafeUnpin for CaddyConfig
impl UnwindSafe for CaddyConfig
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request