carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1# Fast release convergence — carlos-adopt.path's twin for the OTHER half the
2# sandboxed agent cannot do itself. The agent's adoptLoop/fastConvergeLoop see a
3# promotion within seconds but run inside carlos-edge.service
4# (ProtectSystem=strict, no /opt write), so they can resolve the new pointer
5# and stage nothing; release.OnStageBlocked touches this file when that
6# happens. Without it a promote is invisible for up to an hour on a box that
7# noticed it immediately — the canary loop's 2-second cadence buys nothing,
8# because the step it is racing to perform is the one it is forbidden.
9#
10# It starts carlos-stage.service — `carlos adopt --stage-only` — deliberately
11# NOT carlos-adopt.service: that unit also prints the canary-TTL nag, an
12# HOURLY visibility feature, and this trigger fires per agent request. Same
13# split, and the same reason, as carlos-adopt.path pointing at
14# carlos-config-sync.service rather than the full pass.
15#
16# /data is hardcoded like every path in these unit files — a box with a
17# nonstandard data dir simply never fast-triggers and keeps the hourly floor.
18[Unit]
19Description=CARLOS release staging on agent request (fast release convergence)
20
21[Path]
22PathChanged=/data/stage-requested
23Unit=carlos-stage.service
24
25[Install]
26WantedBy=multi-user.target
27