Phase 9 R1c: daemon wiring + integration test
Build with clawstor cache / Cargo build (clawstor-cached) (pull_request) Failing after 3s

- Wire RpcRouter::with_repo_root at daemon startup in services.rs
  using <blob_store_root>/repos. Nodes with no blob_store_root
  still return NotConfigured (unchanged).
- Add end-to-end ensure→cached→release integration test that seeds
  a bare git repo in a tempdir and exercises the real git-clone
  path. Marked #[ignore] so CI runners without git skip silently;
  runs green locally.
This commit is contained in:
Omar Sobh
2026-07-15 04:11:58 -07:00
parent 5c9bc7eb9c
commit dd2b90872a
2 changed files with 93 additions and 0 deletions
+9
View File
@@ -226,6 +226,15 @@ impl ClusterServices {
r = r.with_tag_store(store.clone());
}
r = r.with_outbound_client(outbound_client);
// Phase 9 R1a wiring: enable RepoEnsure/RepoRelease when
// the daemon has a blob_store_root (which is the
// canonical anchor for all fleet on-disk state). Repos
// materialize under <blob_store_root>/repos/<workspace>/…
if let Some(root) = blob_store_root.as_ref() {
let repo_root = root.join("repos");
let _ = std::fs::create_dir_all(&repo_root);
r = r.with_repo_root(repo_root);
}
let router = Arc::new(r);
let server =