Fleet tools: add Rust version card (probe rustc + nightly latest + rustup update)
ci / gates (push) Successful in 5s
ci / frontend (push) Successful in 24s
ci / rust (push) Failing after 2m39s
ci / e2e (push) Has been skipped

Adds Rust to the per-node dev-tool cards: daemon probes rustc → reports 'rust';
nightly checker fetches latest stable from GitHub rust-lang/rust; GET endpoint maps
rust→Rust (after docker); one-click update runs 'rustup update stable'. Frontend is
data-driven (no change). $HOME/.cargo/bin added to probe candidate dirs.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
Omar Sobh
2026-06-27 13:04:16 -07:00
co-authored by Claude Opus 4.8
parent 96d1409a23
commit 1a531e91cd
3 changed files with 34 additions and 5 deletions
+2 -1
View File
@@ -199,6 +199,7 @@ pub async fn tools(
// (probe key, display name, ui key) in display order; `glm` mirrors `claude`.
let order = [
("docker", "Docker", "docker"),
("rust", "Rust", "rust"),
("claude", "Claude Code", "claude"),
("kimi-cli", "Kimi", "kimi"),
("glm", "GLM (Claude Code)", "glm"),
@@ -230,7 +231,7 @@ pub async fn tool_update(
nodes::get(&state.pool, node_id, user.workspace_id)
.await?
.ok_or(ApiError::NotFound)?;
if !["claude", "glm", "kimi", "ollama"].contains(&tool.as_str()) {
if !["claude", "glm", "kimi", "ollama", "rust"].contains(&tool.as_str()) {
return Ok(Json(json!({ "ok": false, "output": "tool not updatable" })));
}
// ~180s: tool updates (npm/uv/brew/installer) legitimately run long.