Expand description
Remote cass installation via SSH.
This module provides functionality to automatically install cass on remote machines via SSH. It supports multiple installation methods with intelligent fallback and robust handling of long-running installations.
§Installation Methods (Priority Order)
- Cargo Binstall (fastest if available) - downloads pre-built binary via cargo, may fall back to a source build
- Pre-built Binary - direct binary download from GitHub releases with checksum verification
- Cargo Install - compile from source (most reliable fallback)
- Full Bootstrap - install rustup first, then compile
§Example
ⓘ
use coding_agent_search::sources::install::{RemoteInstaller, InstallProgress};
use coding_agent_search::sources::probe::{SystemInfo, ResourceInfo};
let installer = RemoteInstaller::new("laptop", system_info, resources);
installer.install(|progress| {
println!("{}: {}", progress.stage, progress.message);
})?;Structs§
- Install
Progress - Progress update during installation.
- Install
Result - Result of a successful installation.
- Remote
Installer - Installer for cass on remote machines.
Enums§
- Install
Error - Errors that can occur during remote installation.
- Install
Method - Installation method for cass.
- Install
Stage - Current stage of installation.
Constants§
- CASS_
VERSION - Current cass version for installation.
- CRATE_
NAME - Package name on crates.io.
- DEFAULT_
INSTALL_ TIMEOUT_ SECS - Default SSH connection timeout for installation commands.
- MIN_
DISK_ MB - Minimum disk space required for installation (MB).
- MIN_
MEMORY_ MB - Minimum memory recommended for compilation (MB).