diff --git a/core/archipelago/src/api/rpc/package/update.rs b/core/archipelago/src/api/rpc/package/update.rs index 72b0c391..03633c1e 100644 --- a/core/archipelago/src/api/rpc/package/update.rs +++ b/core/archipelago/src/api/rpc/package/update.rs @@ -306,11 +306,14 @@ impl RpcHandler { Ok(o) => { let stderr = String::from_utf8_lossy(&o.stderr); warn!("Rollback: could not restart {}: {}", name, stderr.trim()); - // Container was already removed — try reconcile to recreate with old image + // Container was already removed (forward path ran `podman rm`). + // Use --create-missing so reconcile rebuilds it from its + // canonical spec instead of skipping it as optional. let _ = tokio::process::Command::new("bash") .args([ "/opt/archipelago/scripts/reconcile-containers.sh", &format!("--container={}", name), + "--create-missing", "--force", ]) .output()