Promote pipeline-parallel-inference to a first-class app and consolidate observability on the datastream wire, decoupling the dashboard crate from `distribution`. - apps/pipeline-parallel-inference: move the example out of `examples/` into `apps/` as its own workspace, rename binaries to `pp-worker`/`pp-orchestrator`, and strip release binaries - cluster: add `ClusterNode`, a synchronous facade over the actorized distribution protocol (IrohDriver + per-node Runtime hosting Swim/Registry/Metadata/Directory actors with a `MembershipFanout`), replacing ad-hoc `driver.node()`/`tick()` call sites - fleet: add per-node fleet telemetry that ships identity/resource records as `DatastreamFrame`s over the cluster transport to the orchestrator's `DatastreamSink`, folded into a `FleetView` on a 3s tick - provision: add best-effort, opt-in SSH boot-phase telemetry (`PP_DEPLOY_KEY`) that streams rented-node boot logs onto the orchestrator's datastream as `proc.boot.<stage>.*` - dashboard: rewire the crate dependency from `distribution` to `datastream`, drop the standalone `swactor-datastream-dashboard` binary, and rewrite `datastream_source.rs` to demux per-node frames into Overview/Distribution/Fleet views with live-node TTL filtering - distribution: refresh dist/netmap plugin copy and README from "Kademlia routing" to gossip-directory terminology Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
32 lines
1 KiB
Rust
32 lines
1 KiB
Rust
//! Shared test config for the distribution integration tests.
|
|
#![allow(dead_code)]
|
|
|
|
use distribution::node::DistributedNodeConfig;
|
|
use distribution::registry::RegistryConfig;
|
|
use distribution::swim::probe::SwimConfig;
|
|
use std::time::Duration;
|
|
|
|
/// Wall-clock granularity of one gossip round. SWIM is wall-clock driven, so
|
|
/// the actor stack advances its clock by `TICK` per round; the old integer
|
|
/// tick-count config carries over as multiples of `TICK`.
|
|
const TICK: Duration = Duration::from_millis(10);
|
|
|
|
/// Default test config shared across all integration tests.
|
|
pub fn test_config() -> DistributedNodeConfig {
|
|
DistributedNodeConfig {
|
|
swim: SwimConfig {
|
|
probe_interval: TICK,
|
|
probe_timeout: TICK * 3,
|
|
indirect_probes: 1,
|
|
suspicion_timeout: TICK * 5,
|
|
dead_reprobe_interval: Duration::ZERO,
|
|
..SwimConfig::default()
|
|
},
|
|
cache_capacity: 100,
|
|
registry: RegistryConfig::default(),
|
|
metadata_lambda: 3,
|
|
}
|
|
}
|
|
|
|
#[cfg(feature = "iroh")]
|
|
pub mod iroh;
|