Sync the self-hosting stack
This commit is contained in:
@@ -9,6 +9,37 @@ one of them changed. An entry says which artefact and which version, so `web 0.1
|
|||||||
Every version published to a channel appears here. Nothing is written from memory afterwards: a build
|
Every version published to a channel appears here. Nothing is written from memory afterwards: a build
|
||||||
cannot be published without its entry.
|
cannot be published without its entry.
|
||||||
|
|
||||||
|
## 2026-08-28 — A machine that moves between replicas lets go of the old one `api 0.98.0`
|
||||||
|
|
||||||
|
**Only affects deployments running more than one copy of the api.** Nothing here changes a single-
|
||||||
|
container stack.
|
||||||
|
|
||||||
|
**Reconnections are tidied up immediately instead of being waited out.** When a machine reconnects
|
||||||
|
to a different replica, the one it left still held its old connection until its own liveness check
|
||||||
|
noticed — up to thirty seconds in which two replicas each believed they could talk to the same
|
||||||
|
machine, and a command could be sent down the connection the machine had already abandoned. The
|
||||||
|
replica that takes over now tells the other one to let go, straight away and precisely: only the
|
||||||
|
connection that was actually replaced is closed.
|
||||||
|
|
||||||
|
**And you can now see what the presence machinery is doing**, at
|
||||||
|
`GET /api/admin/agents/presence`, for platform administrators. It reports five counters, added up
|
||||||
|
across every replica rather than only the one that answered your request:
|
||||||
|
|
||||||
|
- how often a machine's connection moved from one replica to another;
|
||||||
|
- how often a closing connection was found to have already been replaced, and correctly ignored;
|
||||||
|
- how often a command followed a machine that moved instead of failing;
|
||||||
|
- **how often a command could not be delivered at all** — this is the one worth alerting on, because
|
||||||
|
it is what someone experiences as "the agent is not connected";
|
||||||
|
- how often a stored status had to be corrected because it said a live machine was offline. This
|
||||||
|
should sit at zero; if it does not, please tell us.
|
||||||
|
|
||||||
|
It is JSON, every counter only ever goes up, and a replica that has stopped reporting is excluded
|
||||||
|
from the totals and counted separately — so you can point a scraper at it with a service account.
|
||||||
|
There is deliberately no unauthenticated `/metrics` endpoint: your replica count and machine totals
|
||||||
|
are facts about your estate, not about Jarvis.
|
||||||
|
|
||||||
|
**Nothing to do.** Take the build.
|
||||||
|
|
||||||
## 2026-08-28 — Machines no longer flicker offline when they reconnect `api 0.97.0`
|
## 2026-08-28 — Machines no longer flicker offline when they reconnect `api 0.97.0`
|
||||||
|
|
||||||
**Only affects deployments running more than one copy of the api.** On Docker Compose one of these
|
**Only affects deployments running more than one copy of the api.** On Docker Compose one of these
|
||||||
|
|||||||
Reference in New Issue
Block a user