@@PRODUCT@@

Patch en noodupdate

Sinds de overstap naar coreops start Claude een patch of noodupdate via /core-hotfix; een release start via /core-cut. Wat hieronder staat, is wat daar vanzelf onder gebeurt.

Geschreven voor: Beheerder

Sinds de overstap naar coreops start Claude een patch of noodupdate via /core-hotfix; een release start via /core-cut. Wat hieronder staat, is wat daar vanzelf onder gebeurt.

Niet elke fout kan wachten tot je de volgende keer om een release vraagt. 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?

patchnoodupdate
wanneereen ernstige fout zonder omweg, of iets dat de laatste release stuk maakteeen lek dat actief misbruikt wordt, dreigend gegevensverlies, of een storing die het platform plat legt
momentelke werkdagaltijd, ook 's avonds en in het weekend
testopstellingminstens 2 uurminstens 30 minuten
doelbinnen één werkdag uitgeroldbinnen vier uur uitgerold
achterafhet releasedossierhet 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:

  1. De reparatie wordt eerst in de hoofdlijn van de broncode gemaakt, met een test die bewijst dat hij werkt.
  2. Diezelfde reparatie wordt overgenomen in de versie die in productie draait, en er wordt een patchversie van gemaakt, bijvoorbeeld 0.51.1.
  3. Die patch draait minstens twee uur op de testopstelling, met de controles die bij deze reparatie horen.
  4. 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:

  1. Releases → Productiebron: vul 0.51.1 in bij Releaseset, een reden, klik Uitrollen en geef je tweede factor.
  2. Werk het paneel zelf bij (zie Vanaf de terminal).
  3. 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:

  1. Wat gebeurt er, sinds wanneer, en welke servers of klanten zijn geraakt?
  2. Is het echt een noodgeval (misbruikt lek, gegevensverlies, storing)? Zo niet, dan wordt het een patch.
  3. Kun je de schade nú stoppen zonder release — een firewallregel, een onderdeel uitzetten, een server in onderhoudsmodus? Doe dat dan eerst.
  4. 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 status

Welke punten nog open staan, in alle dossiers tegelijk (in de broncode):

python3 scripts/lib/release-dossier.py open docs/release-decisions

Op een server, na de uitrol:

corectl --version

Zie 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.