feat(#2302): thread &Ident through agent path builders
This commit is contained in:
parent
1286029947
commit
bf644cc126
23 changed files with 168 additions and 85 deletions
|
|
@ -321,7 +321,9 @@ fn matrix_http_client() -> Result<reqwest::Client> {
|
|||
/// True when `name` has a state dir under the agents root, i.e. it's a
|
||||
/// managed agent rather than a bare (operator/human) matrix account.
|
||||
fn agent_exists(name: &str) -> Result<bool> {
|
||||
crate::paths::agent_state_dir(name)
|
||||
let name = hive_host_sock::Ident::parse(name)
|
||||
.map_err(|e| anyhow::anyhow!("invalid agent name {name:?}: {e}"))?;
|
||||
crate::paths::agent_state_dir(&name)
|
||||
.try_exists()
|
||||
.with_context(|| format!("check agent state dir for {name}"))
|
||||
}
|
||||
|
|
@ -354,7 +356,9 @@ async fn handle_matrix_create_user(name: &str, password: Option<&str>) -> Result
|
|||
crate::matrix::ensure_user_for(&client, name, ®ister_token)
|
||||
.await
|
||||
.with_context(|| format!("matrix create-user {name}"))?;
|
||||
let path = Coordinator::agent_notes_dir(name).join("matrix-token");
|
||||
let agent = hive_host_sock::Ident::parse(name)
|
||||
.map_err(|e| anyhow::anyhow!("invalid agent name {name:?}: {e}"))?;
|
||||
let path = Coordinator::agent_notes_dir(&agent).join("matrix-token");
|
||||
out.push(format!("matrix: provisioned agent user '{name}'"));
|
||||
out.push(format!("token persisted at: {}", path.display()));
|
||||
} else {
|
||||
|
|
@ -405,7 +409,9 @@ async fn handle_forge_create_user(name: &str, password: Option<&str>) -> Result<
|
|||
crate::forge::ensure_user_for(name)
|
||||
.await
|
||||
.with_context(|| format!("forge create-user {name}"))?;
|
||||
let path = Coordinator::agent_notes_dir(name).join("forge-token");
|
||||
let agent = hive_host_sock::Ident::parse(name)
|
||||
.map_err(|e| anyhow::anyhow!("invalid agent name {name:?}: {e}"))?;
|
||||
let path = Coordinator::agent_notes_dir(&agent).join("forge-token");
|
||||
out.push(format!("forge: provisioned agent user '{name}'"));
|
||||
out.push(format!("token persisted at: {}", path.display()));
|
||||
} else {
|
||||
|
|
@ -459,7 +465,10 @@ async fn handle_quota_limit(name: &str, limit: Option<u64>) -> Result<HostRespon
|
|||
async fn handle_quota_show(name: Option<&str>) -> Result<HostResponse> {
|
||||
let agents: Vec<String> = match name {
|
||||
Some(n) => vec![n.to_owned()],
|
||||
None => Coordinator::kept_state_names(),
|
||||
None => Coordinator::kept_state_names()
|
||||
.into_iter()
|
||||
.map(hive_host_sock::Ident::into_string)
|
||||
.collect(),
|
||||
};
|
||||
let mut rows = Vec::with_capacity(agents.len());
|
||||
for agent in &agents {
|
||||
|
|
|
|||
Loading…
Reference in a new issue