Maak handmatige releaseherstelcommando's ref-veilig #2295

Closed
opened 2026-10-05 23:41:37 +00:00 by brenno · 0 comments
Owner

Aanleiding

Na de fase-2-fout adviseerde release_auto: make ci-image-scans-publish. Het script had de lokale releasebranch toen al opgeruimd en stond weer op main. De Makefile leest de scannerpins uit de huidige checkout; bij v0.6.14 waren die op main ouder dan op release/v0.6.14. Het geadviseerde commando zou dus het verkeerde image publiceren.

Ook --status adviseert git checkout TAG && make deploy-web. Dat omzeilt de schone-werkboomcontrole, de vergelijking van lokale en remote tag en het terugzetten van de startbranch.

Bewijs

  • scripts/release_auto.sh:1421 print het ongebonden scans-imagecommando.
  • Makefile:1572-1590 leidt de tag af uit de huidige .github/pinned-ci-versions.json.
  • scripts/release_auto.sh:555-558 print de handmatige webdeployroute.
  • scripts/release_auto.sh:1039-1089 bevat juist de veiligheidscontroles die dat commando omzeilt.

Gewenst gedrag

  • Herstel gebruikt alleen --resume, of een helper die expliciet de release-ref ophaalt en verifieert.
  • Een lokale imagefallback bouwt aantoonbaar de pins van origin/release/vX.Y.Z en verifieert daarna exact die registrytag.
  • Een webfallback bewijst lokale tag == origin-tag, eist een schone werkboom en herstelt de startbranch.
  • Geen foutmelding adviseert nog een los make-commando waarvan de bron impliciet de huidige checkout is.

Regressietoets

Start de herstelroute vanaf main terwijl de releasebranch andere scannerpins bevat. Alleen de release-image-tag mag worden gebouwd/gecontroleerd. Test tevens dat een afwijkende lokale tag de webdeploy blokkeert.

## Aanleiding Na de fase-2-fout adviseerde release_auto: make ci-image-scans-publish. Het script had de lokale releasebranch toen al opgeruimd en stond weer op main. De Makefile leest de scannerpins uit de huidige checkout; bij v0.6.14 waren die op main ouder dan op release/v0.6.14. Het geadviseerde commando zou dus het verkeerde image publiceren. Ook --status adviseert git checkout TAG && make deploy-web. Dat omzeilt de schone-werkboomcontrole, de vergelijking van lokale en remote tag en het terugzetten van de startbranch. ## Bewijs - scripts/release_auto.sh:1421 print het ongebonden scans-imagecommando. - Makefile:1572-1590 leidt de tag af uit de huidige .github/pinned-ci-versions.json. - scripts/release_auto.sh:555-558 print de handmatige webdeployroute. - scripts/release_auto.sh:1039-1089 bevat juist de veiligheidscontroles die dat commando omzeilt. ## Gewenst gedrag - Herstel gebruikt alleen --resume, of een helper die expliciet de release-ref ophaalt en verifieert. - Een lokale imagefallback bouwt aantoonbaar de pins van origin/release/vX.Y.Z en verifieert daarna exact die registrytag. - Een webfallback bewijst lokale tag == origin-tag, eist een schone werkboom en herstelt de startbranch. - Geen foutmelding adviseert nog een los make-commando waarvan de bron impliciet de huidige checkout is. ## Regressietoets Start de herstelroute vanaf main terwijl de releasebranch andere scannerpins bevat. Alleen de release-image-tag mag worden gebouwd/gecontroleerd. Test tevens dat een afwijkende lokale tag de webdeploy blokkeert.
brenno 2026-10-07 08:10:28 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
LibreKAT/Ocideck#2295
No description provided.