AiHummer
Latviešu
PierakstītiesKonts
v1.1.x
{ }Swagger

Atjaunināšanas politika

v1.1.x · atjaunināts 2026-08-04

Stabilitāte ir produkta princips, nevis pēctecība. AiHummer seko SemVer, piemērojams automātiskas drošas datu bāzes migrācijas uz priekšu, un var pašatjaunināšanās no CDN — tāpēc jauninājumi ir rutīna, nevis riskanti.

Versiju noteikšana (SemVer)

Izlaidumi seko semantisko versiju numurēšanai. Versija tiek ziņota ar /healthz un pēc aihummer version, tāpēc jūs vienmēr varat precīzi pārbaudīt, kas darbojas pirms un pēc jaunināšanas.

Migrācijas ir drošas un automātiskas

Palaistā laikā vārteja automātiski lieto gaidāmas datubāzes migrācijas. Divi īpašumi nodrošina šo drošību:

  • Uz priekšu droši. Migrācijas ir rakstītas tā, lai jaunāka binārā versija darbotos pret shēma, uz kuru tā migrē, kas padara automātisko piemērošanu un pakāpeniskas jaunināšanas drošas.
  • Vienlaicīgs lietotājs, izmantojot konsultatīvo bloķēšanu. Migrācijas darbojas zem PostgreSQL brīdinājuma slēdzene, tāpēc, kad vairākas vārtejas sāk darboties vienlaikus, tās piemēro tikai viena un pārējie gaida — nekad dubultu migrāciju.

[!NOTE] Migrācijas vienmēr tiek veiktas uz īpašnieka datubāzu grupu. Ierobežotā RLS loma (AIHUMMER_DB_APP_URL) ir paredzēts satiksmes apkalpošanai, nevis shēmas izmaiņām.

Atjaunināšana

Jaunās versijas tiek ņemtas no piegādātāja laidienu CDN. Standarta veids, kā atjaunināties, ir viena komanda uz servera:

aihummer update --check   # tikai paziņot, vai ir jaunāka versija
aihummer update           # lejupielādēt un piemērot

--check neko neraksta un tāpēc neprasa root tiesības. Pati piemērošana pārraksta instalācijas sakni un pārstartē pakalpojumu, tāpēc to palaiž ar sudo.

Gaidāmais rezultāts: --check izvada pašreizējo un pieejamo versiju un beidz darbu, neko nemainot. aihummer update lejupielādē artefaktu, pārbauda tā sha256 kontrolsummu un cosign parakstu, nomaina bināro failu un pārstartē pakalpojumu — pēc tam aihummer version rāda jauno versiju. Ja pārbaude nesakrīt, atjaunināšana tiek pārtraukta pirms faila nomaiņas: strādājošā versija paliek neskarta.

[!NOTE] Automātisko atjaunināšanu ieslēdz piegādātājs, nevis jūs. Automātiskās atjaunināšanas režīms un grafiks ietilpst laidiena apkalpošanā un tiek iestatīti ar parakstītu piegādātāja rīkojumu. Atbilstošu pārslēdzēju nav ne tīmekļa saskarnē, ne aihummer settings, bet gateway.env ierakstītos automātiskās atjaunināšanas mainīgos vārteja nelasa — ja tos tur redzat, tie neko neietekmē. Lai atjauninātos pēc sava grafika, izmantojiet iepriekš minēto komandu aihummer update.

Atgriešana atpakaļ

Ko var atgriezt atpakaļ — pa punktiem:

  • Binārais fails — var atgriezties uz iepriekšējo versiju (iepriekšējo laidienu artefakti paliek CDN; instalējiet vajadzīgo versiju no jauna).
  • Datubāzes shēma — migrācijas ir uz priekšu drošas, tāpēc iepriekšējais binārais fails strādā ar jaunāko shēmu; atsevišķas shēmas atgriešanas nav.
  • Spraudņi — versijas tiek pārvaldītas katrai instalācijai atsevišķi; ja nepieciešams, atgrieziet iepriekšējo spraudņa versiju no kataloga.
  • Konfigurācija — atjaunināšanas laikā netiek mainīta; vajadzības gadījumā to atjauno no rezerves kopijas.

Izvēršanas process bez dīkstāves

AiHummer ir veidots, lai veiktu jaunināšanu bez pārtraukuma:

  • Palaidiet 2+ vārtus aiz starpniekservera. Mest tos pa vienam; gatavības sondēšana (/readyz) aiztur restartējošu mezglu no rotācijas, līdz tas sāk darboties.
  • Ieplānotājs ir ar vienu līderi. Fona grafika izpilde izvēlas vienu līderi caur PostgreSQL padomu bloķēšanu, tāpēc vairāku vārteju palaišana nedublējas plānotie darbi.
  • Piegāde ir idempotenta. Uzticama piegāde un idempotences atslēgas nozīmē atbilde nekad netiek nosūtīta divreiz pēc restartēšanas, kas arī padara to par ritējošu droša restartēšana visos jūsu vārtos.

Kur uz nākamo