pub struct HttpDeps {
pub host: Arc<dyn ChannelHost>,
pub store: Arc<dyn HttpStore>,
pub audit: SharedAuditSink,
pub verifier: Arc<dyn KeyVerifier>,
pub palace: Arc<dyn PalaceRunner>,
}Expand description
Everything the HTTP channel talks to.
Fields§
§host: Arc<dyn ChannelHost>Host orchestrator callbacks.
store: Arc<dyn HttpStore>Persistence (normally a talon_db::Db).
audit: SharedAuditSinkAudit sink for security-relevant decisions.
verifier: Arc<dyn KeyVerifier>API key verification backend.
palace: Arc<dyn PalaceRunner>MemPalace bridge (DisabledPalaceRunner unless one is supplied).
Implementations§
Source§impl HttpDeps
impl HttpDeps
Sourcepub fn new(
config: &HttpConfig,
host: Arc<dyn ChannelHost>,
store: Arc<dyn HttpStore>,
audit: SharedAuditSink,
) -> Self
pub fn new( config: &HttpConfig, host: Arc<dyn ChannelHost>, store: Arc<dyn HttpStore>, audit: SharedAuditSink, ) -> Self
Production wiring: the given store and SecurityKeyVerifier.
The palace is disabled (/palace/* answers 503) until a runner is
supplied with Self::with_palace — normally a
crate::CommandPalaceRunner that runs the palace in a hardened
container. Only if the operator set TALON_PALACE_HOST_EXEC=unsafe
(HttpConfig::palace_host_exec) does the default become a
ScriptPalaceRunner executing palace-call.sh on the host
(dangerous, MYTH-01).
Sourcepub fn with_palace(self, palace: Arc<dyn PalaceRunner>) -> Self
pub fn with_palace(self, palace: Arc<dyn PalaceRunner>) -> Self
Use palace for the /palace/* endpoints (replaces the default,
including the TALON_PALACE_HOST_EXEC=unsafe script runner).