pub struct GatewayConfig {Show 16 fields
pub port: u16,
pub host: String,
pub require_pairing: bool,
pub allow_public_bind: bool,
pub paired_tokens: Vec<String>,
pub pair_rate_limit_per_minute: u32,
pub webhook_rate_limit_per_minute: u32,
pub trust_forwarded_headers: bool,
pub path_prefix: Option<String>,
pub rate_limit_max_keys: usize,
pub idempotency_ttl_secs: u64,
pub idempotency_max_keys: usize,
pub session_persistence: bool,
pub session_ttl_hours: u32,
pub pairing_dashboard: PairingDashboardConfig,
pub tls: Option<GatewayTlsConfig>,
}Expand description
Gateway server configuration ([gateway] section).
Controls the HTTP gateway for webhook and pairing endpoints.
Fields§
§port: u16Gateway port (default: 42617)
host: StringGateway host (default: 127.0.0.1)
require_pairing: boolRequire pairing before accepting requests (default: true)
allow_public_bind: boolAllow binding to non-localhost without a tunnel (default: false)
paired_tokens: Vec<String>Paired bearer tokens (managed automatically, not user-edited)
pair_rate_limit_per_minute: u32Max /pair requests per minute per client key.
webhook_rate_limit_per_minute: u32Max /webhook requests per minute per client key.
trust_forwarded_headers: boolTrust proxy-forwarded client IP headers (X-Forwarded-For, X-Real-IP).
Disabled by default; enable only behind a trusted reverse proxy.
path_prefix: Option<String>Optional URL path prefix for reverse-proxy deployments.
When set, all gateway routes are served under this prefix.
Must start with / and must not end with /.
rate_limit_max_keys: usizeMaximum distinct client keys tracked by gateway rate limiter maps.
idempotency_ttl_secs: u64TTL for webhook idempotency keys.
idempotency_max_keys: usizeMaximum distinct idempotency keys retained in memory.
session_persistence: boolPersist gateway WebSocket chat sessions to SQLite. Default: true.
session_ttl_hours: u32Auto-archive stale gateway sessions older than N hours. 0 = disabled. Default: 0.
pairing_dashboard: PairingDashboardConfigPairing dashboard configuration
tls: Option<GatewayTlsConfig>TLS configuration for the gateway server ([gateway.tls]).
Trait Implementations§
Source§impl Clone for GatewayConfig
impl Clone for GatewayConfig
Source§fn clone(&self) -> GatewayConfig
fn clone(&self) -> GatewayConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GatewayConfig
impl Debug for GatewayConfig
Source§impl Default for GatewayConfig
impl Default for GatewayConfig
Source§impl<'de> Deserialize<'de> for GatewayConfig
impl<'de> Deserialize<'de> for GatewayConfig
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>,
Source§impl JsonSchema for GatewayConfig
impl JsonSchema for GatewayConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for GatewayConfig
impl RefUnwindSafe for GatewayConfig
impl Send for GatewayConfig
impl Sync for GatewayConfig
impl Unpin for GatewayConfig
impl UnsafeUnpin for GatewayConfig
impl UnwindSafe for GatewayConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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