feat(ops-agent): drift-detector kijkt nu ook naar de geinstalleerde build #135

Merged
janpeter merged 1 commit from feat/arm-drift-build-layer into main 2026-08-02 16:38:13 +02:00
Owner

Part D, fase 3. OPS_AGENT_SRC_DIR in de drift-unit, nu de agent gedeployd is en een provenance-stamp heeft.

Beide richtingen bewezen

schoon:   no drift, exit 0, geen note (stamp aanwezig en matchend)
vuil:     | build:zz-drift-proof.tmp | 1 | installed, not in repo source |  exit 1
hersteld: no drift, exit 0

De eerste schone run was betekenisloos

En dat had ik bijna zo gerapporteerd. Het runtime-script had nul treffers op OPS_AGENT_SRC_DIR — de build-laag uit PR #127 zat in de repo maar was nooit naar /srv/scrum4me/ops-agent-drift/ gesynct, dus de env-knop werd domweg genegeerd. Dezelfde double-edit-val als eerder bij de baseline. Runtime is nu gelijkgetrokken.

Dat is ook waarom de vuil-toets niet optioneel is: zonder die had ik een groene melding gerapporteerd van een check die de build helemaal niet bekeek.

Part D, fase 3. `OPS_AGENT_SRC_DIR` in de drift-unit, nu de agent gedeployd is en een provenance-stamp heeft. ## Beide richtingen bewezen ``` schoon: no drift, exit 0, geen note (stamp aanwezig en matchend) vuil: | build:zz-drift-proof.tmp | 1 | installed, not in repo source | exit 1 hersteld: no drift, exit 0 ``` ## De eerste schone run was betekenisloos En dat had ik bijna zo gerapporteerd. Het **runtime**-script had nul treffers op `OPS_AGENT_SRC_DIR` — de build-laag uit PR #127 zat in de repo maar was nooit naar `/srv/scrum4me/ops-agent-drift/` gesynct, dus de env-knop werd domweg genegeerd. Dezelfde double-edit-val als eerder bij de baseline. Runtime is nu gelijkgetrokken. Dat is ook waarom de vuil-toets niet optioneel is: zonder die had ik een groene melding gerapporteerd van een check die de build helemaal niet bekeek.
feat(ops-agent): drift-detector kijkt nu ook naar de geinstalleerde build
All checks were successful
CI / Root app checks (pull_request) Successful in 6m1s
CI / Ops-agent checks (pull_request) Successful in 15s
CI / Deploy artifact checks (pull_request) Successful in 12s
CI / Docker image build (pull_request) Successful in 1m20s
2efa329729
OPS_AGENT_SRC_DIR in de drift-unit. Bewust pas nu: eerder armen had elke nacht een
terechte melding gegeven over de agent die we nog niet gedeployd hadden — precies de
cry-wolf die het ontwerp uitsluit. Sinds vandaag draait /opt/ops-agent op de huidige
bron mét provenance-stamp, dus dit hoort stil te zijn.

Beide richtingen bewezen, want een schone melding telt pas als je hem ook vuil hebt
gezien:
  schoon:  no drift, exit 0, geen note (stamp aanwezig en matchend)
  vuil:    build:zz-drift-proof.tmp | installed, not in repo source | exit 1
  hersteld: no drift, exit 0

LET OP — de eerste "schone" run was betekenisloos en dat had ik bijna zo gerapporteerd.
Het RUNTIME-script /srv/scrum4me/ops-agent-drift/check-ops-agent-drift.sh had nul
treffers op OPS_AGENT_SRC_DIR: de build-laag uit PR #127 zat wel in de repo maar was
nooit naar het runtime-pad gesynct, dus de env-knop werd genegeerd. Dezelfde
double-edit-val als bij de baseline. Runtime is nu gelijkgetrokken met de repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
s4m-codex-reviewer left a comment

APPROVED

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Findings

  • Geen findings.

Review-notities

De toegevoegde Environment=OPS_AGENT_SRC_DIR=/srv/scrum4me/ops-dashboard/ops-agent in deploy/ops-agent/systemd/ops-agent-drift.service:34 sluit aan op deploy/ops-agent/check-ops-agent-drift.sh: de build-driftcontrole is expliciet opt-in via deze variabele en vergelijkt /opt/ops-agent met de repo-source, inclusief de provenance-stamp die door deploy/ops-agent/setup.sh wordt geschreven. De wijziging is klein, operationeel gericht en conform de gedocumenteerde ops-agent/systemd-inrichting.

# APPROVED Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. ## Findings - Geen findings. ## Review-notities De toegevoegde `Environment=OPS_AGENT_SRC_DIR=/srv/scrum4me/ops-dashboard/ops-agent` in `deploy/ops-agent/systemd/ops-agent-drift.service:34` sluit aan op `deploy/ops-agent/check-ops-agent-drift.sh`: de build-driftcontrole is expliciet opt-in via deze variabele en vergelijkt `/opt/ops-agent` met de repo-source, inclusief de provenance-stamp die door `deploy/ops-agent/setup.sh` wordt geschreven. De wijziging is klein, operationeel gericht en conform de gedocumenteerde ops-agent/systemd-inrichting.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Ops-dashboard!135
No description provided.