Patch en noodupdate
Niet elke fout kan wachten tot de weekrelease van maandag. Daarvoor zijn er twee kortere routes: de patch (een reparatie op een gewone werkdag) en de noodupdate (een spoeduitgave, op elk moment). Beide verhogen alleen het derde cijfer van d
Geschreven voor: Beheerder
Niet elke fout kan wachten tot de weekrelease van maandag. Daarvoor zijn er twee kortere routes: de patch (een reparatie op een gewone werkdag) en de noodupdate (een spoeduitgave, op elk moment). Beide verhogen alleen het derde cijfer van de versie — 0.51.0 wordt 0.51.1 — en beide bevatten uitsluitend reparaties: nooit iets nieuws, en nooit een databasewijziging die niet terug kan.
Deze pagina legt uit wanneer je welke route kiest, wat er voor je wordt klaargezet, en hoe je hem uitrolt. Het uitrollen zelf gaat met dezelfde knoppen als een weekrelease: zie Een release uitrollen.
Welke route?
| patch | noodupdate | |
|---|---|---|
| wanneer | een ernstige fout zonder omweg, of iets dat de laatste release stuk maakte | een lek dat actief misbruikt wordt, dreigend gegevensverlies, of een storing die het platform plat legt |
| moment | elke werkdag | altijd, ook 's avonds en in het weekend |
| testopstelling | minstens 2 uur | minstens 30 minuten |
| doel | binnen één werkdag uitgerold | binnen vier uur uitgerold |
| achteraf | het releasedossier | het releasedossier, een nabespreking binnen vijf werkdagen, en alsnog de volledige controleronde |
Twijfel je, dan is het een patch. Alles wat niet dringend is, gaat mee met de volgende weekrelease. De testopstelling wordt bij geen van beide overgeslagen, en in productie gaat de testserver altijd eerst.
Een patch
Je hoeft een patch niet zelf te bouwen. Wat er gebeurt:
- De reparatie wordt eerst in de hoofdlijn van de broncode gemaakt, met een test die bewijst dat hij werkt.
- Diezelfde reparatie wordt overgenomen in de versie die in productie draait, en er wordt een patchversie van gemaakt, bijvoorbeeld
0.51.1. - Die patch draait minstens twee uur op de testopstelling, met de controles die bij deze reparatie horen.
- Je krijgt het pad van het releasedossier. Daarin staat, naast wat je van een weekrelease kent, een cherry-pick plan: welke reparatie precies is overgenomen.
Uitrollen doe je daarna zoals altijd:
- Releases → Productiebron: vul
0.51.1in bij Releaseset, een reden, klik Uitrollen en geef je tweede factor. - Werk het paneel zelf bij (zie Vanaf de terminal).
- Releases → Uitrolplan → Uitrol volgens plan starten. De volgorde is die van een weekrelease; de wachttijd tussen de golven mag korter.
Een noodupdate
Een noodupdate doe je niet alleen: je doet hem samen met Claude, in één gesprek. Het begint met vier vragen, en je beantwoordt ze voordat er iets gebouwd wordt:
- Wat gebeurt er, sinds wanneer, en welke servers of klanten zijn geraakt?
- Is het echt een noodgeval (misbruikt lek, gegevensverlies, storing)? Zo niet, dan wordt het een patch.
- Kun je de schade nú stoppen zonder release — een firewallregel, een onderdeel uitzetten, een server in onderhoudsmodus? Doe dat dan eerst.
- Het tijdstip waarop het incident begon.
Daarna wordt de reparatie gemaakt en getest, en na minstens dertig minuten op de testopstelling rol jij uit — met dezelfde stappen als bij een patch.
Op het releasebord staat voor spoed de noodbaan. Die vraagt om een reden en verkort de wachttijden (de proefperiode en de pauze tussen golven), maar slaat nooit de kanarie over en negeert nooit een rode controle. Wat de noodbaan doet, wordt vastgelegd op de release, op de uitrol en in het auditlog.
Je klanten informeer je via de statuspagina en de kanalen van je eigen bedrijf.
Na afloop
In het releasedossier staan onder Open points de dingen die nog moeten:
- forward-port — kon de reparatie niet rechtstreeks worden overgenomen, dan is hij in de productieversie zelf gemaakt en moet hij binnen één werkdag ook in de hoofdlijn. Zolang dat punt open staat, wordt er geen nieuwe weekrelease gemaakt: die zou de reparatie anders weer ongedaan maken.
- full-gate — na een noodupdate draait alsnog de volledige controleronde.
- post-incident-review — de nabespreking van een noodupdate, binnen vijf werkdagen: wat er gebeurde, waarom de controles het niet vonden, en wat er verandert.
Een punt is af als het vakje is afgevinkt, met erbij waar het is gedaan.
Vanaf de terminal
Op de paneelserver, als root — dezelfde opdrachten als bij een weekrelease, met het patchnummer:
corecp-panel dist publish 0.51.1 --reason "patch: de knop op de DNS-pagina bewaart weer"
corecp-panel self-update --to 0.51.1
corecp-panel self-update statusWelke punten nog open staan, in alle dossiers tegelijk (in de broncode):
python3 scripts/lib/release-dossier.py open docs/release-decisionsOp een server, na de uitrol:
corectl --versionZie ook
- Een release uitrollen — de weekrelease, stap voor stap.
- Releases beheren — het releasebord en de noodbaan.
- Hoe CoreCP-versies werken — waarom een patch alleen het derde cijfer verhoogt.