From 19060819376428719cfa11ea4e2c28b1fa81ac32 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 13 Oct 2026 00:53:40 +0200 Subject: [PATCH 1/2] build-agent: declare busy, so a replaced agent finishes the check it runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every merge into mesh-controller replaced the agents and the queue started their checks again elsewhere (issue 594). Its server now declares busy as mesh-builder busy (novox/hq ADR 0335 ยง5). --- modules/build-agent/README.md | 5 +++++ modules/build-agent/module.json | 3 +++ 2 files changed, 8 insertions(+) diff --git a/modules/build-agent/README.md b/modules/build-agent/README.md index fd3a32c3..a27d2c45 100644 --- a/modules/build-agent/README.md +++ b/modules/build-agent/README.md @@ -13,3 +13,8 @@ that repository's main (`build.artifacts[].context`); this module ships the pack Assign it to every machine with a container runtime. It replaces `builder`, the one-holder form of the same thing; retire that once this is assigned where it was. + +A send that replaces the agent's container does not throw away the build it runs: the container declares +`busy` as `mesh-builder busy` (novox/hq ADR 0335). The node-engine asks it before replacing it; from that +ask the agent takes no new build, the node-engine leaves it running while it says a build is in hand, and +replaces it once it says idle, or after 15 minutes at the latest. diff --git a/modules/build-agent/module.json b/modules/build-agent/module.json index 51a9b547..ed8d6190 100644 --- a/modules/build-agent/module.json +++ b/modules/build-agent/module.json @@ -78,6 +78,9 @@ "timeout": "5s", "looks": 3, "grace": "60s" + }, + "busy": { + "command": "mesh-builder busy" } } ], -- 2.54.0 From 12a5e7be7321ddd652ed0c55d2bc6ae87c42e810 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 14 Oct 2026 00:07:42 +0200 Subject: [PATCH 2/2] build-agent: name mesh-builder by its path in busy, as its health does (review of #260) --- modules/build-agent/README.md | 2 +- modules/build-agent/module.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/build-agent/README.md b/modules/build-agent/README.md index a27d2c45..cb960f5c 100644 --- a/modules/build-agent/README.md +++ b/modules/build-agent/README.md @@ -15,6 +15,6 @@ Assign it to every machine with a container runtime. It replaces `builder`, the same thing; retire that once this is assigned where it was. A send that replaces the agent's container does not throw away the build it runs: the container declares -`busy` as `mesh-builder busy` (novox/hq ADR 0335). The node-engine asks it before replacing it; from that +`busy` as `/usr/local/bin/mesh-builder busy` (novox/hq ADR 0335). The node-engine asks it before replacing it; from that ask the agent takes no new build, the node-engine leaves it running while it says a build is in hand, and replaces it once it says idle, or after 15 minutes at the latest. diff --git a/modules/build-agent/module.json b/modules/build-agent/module.json index ed8d6190..ecb9c6c8 100644 --- a/modules/build-agent/module.json +++ b/modules/build-agent/module.json @@ -80,7 +80,7 @@ "grace": "60s" }, "busy": { - "command": "mesh-builder busy" + "command": "/usr/local/bin/mesh-builder busy" } } ], -- 2.54.0