No description
Find a file
Zachery Aaron Shores-Chmielewski f54f62b491 refactor ssh bootstrap logic
Replace stdout-parsed runtime-ready detection with an explicit, plugin-driven bootstrap-completion step and actorize SSH bootstrap teardown.

- provisioning: drop the `PluginObservation::RuntimeReady` variant and add `ProvisionPlugin::complete_bootstrap`, an explicit per-node completion hook (no-op for `LocalDockerPlugin`)
- bootstrap_datastream: remove `parse_runtime_ready`/`RuntimeReadyLine` so bootstrap no longer infers readiness from a parsed stdout JSON line
- vastai_provisioning: drop the `ReadyTrackingSink` ready-flag wrapper; the SSH retry loop now runs purely `while !stopping`, and `complete_bootstrap` stops the node's bootstrap with `BootstrapStopReason::RuntimeReady`
- vastai_provisioning: actorize teardown as `SshBootstrapActor` on the swactor `Runtime` (handle holds an `ActorAddress`), with `stop_bootstrap(handle, reason)` delivering a `Stop` message; add `BootstrapStopReason::{RuntimeReady,NodeStop}`
- actors/provisioner: replace the `RuntimeReady` observation arm with a `ProvisionerMsg::RuntimeReady` handler that calls `complete_bootstrap` then `mark_live`/emits NodeLive (or NodeFailed on error)
- callers/tests: wire the new explicit ready flow through node_agent, the orchestrator/worker_node binaries, and `mvp_one_node_chat`; add the `ssh_bootstrap_actor_stop_kills_child` test

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-07-08 18:06:00 +04:00
.cargo feat(mvp-system): expand one-node mvp binaries and provisioning 2026-07-05 13:59:51 +04:00
apps/mvp-node refactor ssh bootstrap logic 2026-07-08 18:06:00 +04:00
crates refactor ssh bootstrap logic 2026-07-08 18:06:00 +04:00
src refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
tests refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
tools/vastai refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
xtask refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
.dockerignore refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
.gitignore refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
Cargo.lock refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
Cargo.toml feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00
README.md feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00

swactor

Minimal actor runtime for Rust. One trait, one message type. Single-threaded (tick()) or multi-threaded (run()).

Description

Core runtime is src/. Actors implement ActorInterface (in actor.rs), interact through Ctx (in runtime.rs), and run on worker threads (worker.rs).

crates/ builds upward: std adds OTP patterns (supervision, monitoring, groups), distribution adds clustering, everything else composes from there.

Dev commands

cargo xtask --help for the basic test command.

Testing

cargo check --workspace
cargo xtask test