pub async fn ensure<F, Fut>(
host: &HostSsh,
connection: &str,
tag: &str,
announce: F,
) -> Result<(), String>Expand description
Put this version’s helper on host if it is not there (spec §6.2): probe
the platform (recorded under connection for Connectors → Remotes), get the
matching build (checked against the release’s hashes), upload it over
ssh, check its hash there, move it in. tag names
this install’s own temp file (letters, digits, -, _), so two installs
on one host never touch each other’s upload. announce hears the size
just before the upload, for whoever is waiting to say what is happening.