pub struct Config {
pub auth_key: String,
pub lan_key: String,
pub host_reg_secret: Option<String>,
pub data_home: PathBuf,
pub config_home: PathBuf,
pub app_path: String,
pub is_dev: bool,
pub version: &'static str,
pub build_time: &'static str,
pub instance_id: String,
}Fields§
§auth_key: String§lan_key: StringA separate, narrowly-scoped credential for LAN peer discovery
(mDNS TXT record + UDP broadcast responder) — NOT auth_key.
Minted fresh per-launch, internal to srv only (never needs to
leave this process except via the LAN broadcast itself, unlike
auth_key which the launcher/frontend also need — see
LanDiscovery’s doc comment). Broadcasting the full-access
auth_key to anything that can receive an mDNS multicast packet
or send a UDP probe used to mean a passive LAN listener got
standing access to the ENTIRE local /agentmux/service surface,
not just LAN-forwarding — this key is accepted only by the two
routes LAN peer forwarding actually needs
(lan_or_full_auth_middleware in server/mod.rs), so a captured
value’s blast radius shrinks to “can forward jekts to this
instance and query which agents live here.”
host_reg_secret: Option<String>Shared secret proving a host_ipc.Register caller is really the
paired CEF host, not an agent process (agents share auth_key too
— see host_ipc.rs::handle_register’s doc comment). None when
nobody set AGENTMUX_HOST_REG_SECRET — handle_register then
refuses every registration rather than accepting one unauthenticated,
since there’s nothing to check the caller against. Sourced from the
launcher (agentmux-launcher::srv_spawner::SrvSpawnResult::host_reg_secret,
minted once and reused across host-only crash-restarts, exactly
like auth_key) or, in host-owned-spawn/dev mode, from the host
itself (crates/cef/src/sidecar.rs::spawn_backend, which
generates it alongside its own auth_key).
data_home: PathBufEmpty when unset. Paths stay PathBuf (read with var_os) so a home
directory that isn’t valid UTF-8 still reaches the stores intact
(Codex P2 on #3893).
config_home: PathBuf§app_path: String§is_dev: bool§version: &'static str§build_time: &'static str§instance_id: StringImplementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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