Skip to main content

Module install

Module install 

Source
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)

  1. Cargo Binstall (fastest if available) - downloads pre-built binary via cargo, may fall back to a source build
  2. Pre-built Binary - direct binary download from GitHub releases with checksum verification
  3. Cargo Install - compile from source (most reliable fallback)
  4. 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§

InstallProgress
Progress update during installation.
InstallResult
Result of a successful installation.
RemoteInstaller
Installer for cass on remote machines.

Enums§

InstallError
Errors that can occur during remote installation.
InstallMethod
Installation method for cass.
InstallStage
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).