pub enum OutboundAgentEvent {
DispatchAck {
current_closure_at_dispatch: ClosureHash,
received_at: DateTime<Utc>,
seq: u64,
},
ActivationStarted {
started_at: DateTime<Utc>,
switch_method: String,
seq: u64,
},
ActivationCompleted {
observed_current_closure: ClosureHash,
exit_code: i32,
completed_at: DateTime<Utc>,
seq: u64,
},
ActivationFailed {
exit_code: i32,
stderr_tail: String,
failed_at: DateTime<Utc>,
seq: u64,
},
ActivationDeferred {
component: String,
deferred_at: DateTime<Utc>,
seq: u64,
},
ProbeTopologyDeclared {
probes: Vec<ProbeTopologyEntry>,
declared_at: DateTime<Utc>,
seq: u64,
},
ProbeObservedFirst {
probe_name: ProbeName,
mode: ProbeMode,
observed_at: DateTime<Utc>,
seq: u64,
},
ProbeResult {
probe_name: ProbeName,
mode: ProbeMode,
status: ProbeStatus,
observed_at: DateTime<Utc>,
failure_reason: Option<String>,
sub_results: Option<Vec<ProbeSubResult>>,
seq: u64,
},
ProbeFailureFirst {
probe_name: ProbeName,
mode: ProbeMode,
first_failed_at: DateTime<Utc>,
seq: u64,
},
Failed {
failed_at: DateTime<Utc>,
sustained_duration_secs: u64,
failing_probes: Vec<ProbeName>,
policy_applied: OnHealthFailure,
seq: u64,
},
RollbackComplete {
reverted_to_closure: ClosureHash,
exit_code: i32,
completed_at: DateTime<Utc>,
seq: u64,
},
Converged {
converged_at: DateTime<Utc>,
current_closure: ClosureHash,
seq: u64,
},
}Expand description
Outbound wire payloads (POST /v1/agent/events). Defined here for the
reducer’s LocalEmitEvent effect; Phase 6/7 lifts these into
nixfleet-proto::agent_wire once the HTTP routes are wired.
Variants§
DispatchAck
ActivationStarted
ActivationCompleted
ActivationFailed
ActivationDeferred
LIFT #2 (RFC-0005 §4.2): live activation skipped because
component (dbus/systemd/kernel/init) cannot be live-swapped on
a running system. Profile + bootloader updated; next reboot
completes the activation. Host stays at Activating until the
operator reboots; CP’s handle_heartbeat (LIFT #1) synthesizes
the completion on the agent’s next boot-recovery handshake.
Visibility-only at the wire level — replaces the pre-LIFT #2
fake-ActivationCompleted that lied with exit_code = 0 and a
stale observed_current_closure.
ProbeTopologyDeclared
ProbeObservedFirst
ProbeResult
Fields
status: ProbeStatussub_results: Option<Vec<ProbeSubResult>>None for non-evidence probes; Some(vec) for evidence
probes, carrying per-control sub-results. The applier’s
probe_failures co-write iterates this to populate one row
per failing control (RFC-0007 §7.1 + §7.2).
ProbeFailureFirst
Failed
Fields
policy_applied: OnHealthFailureRollbackComplete
Converged
Trait Implementations§
Source§impl Clone for OutboundAgentEvent
impl Clone for OutboundAgentEvent
Source§fn clone(&self) -> OutboundAgentEvent
fn clone(&self) -> OutboundAgentEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more