Vakavuus on tuotteen periaate, ei jälkiajattelu. AiHummer seuraa sitä SemVer, sovelletaan eteenpäin-yhteensopivat tietokantasiirrot automaattisesti, ja voi itsepäivitys CDN:stä — joten päivitykset ovat rutiinia eivätkä riskialttiita.
Versiointi (SemVer)
Julkaisut noudattavat semanttista versionhallintaa. Versio raportoidaan seuraavasti /healthz ja avulla aihummer version, joten voit aina varmistaa tarkalleen, mikä on käynnissä ennen päivitystä ja sen jälkeen.
Migraatiot ovat eteenpäin turvallisia ja automaattisia
Käynnistyksen yhteydessä portti suorittaa odottavat tietokantamigraatiot automaattisesti. Kaksi ominaisuutta pitävät tämän turvallisena:
Eteenpäin turvallinen. Migraatiot on kirjoitettu siten, että uudempi binääri toimii sitä vastaan
skeemaan, johon se siirtyy, mikä tekee automaattisesta soveltamisesta ja vaiheittaisista päivityksistä turvallisia.
Yksittäinen soveltaja neuvoa-antavan lukon kautta. Migraatiot ajetaan alaisuudessa PostgreSQL
neuvontalukko, joten kun useampi yhdyskäytävä alkaa kerralla, vain yksi soveltaa niitä
ja muut odottavat — ei koskaan kaksinkertaista muuttoa.
[!NOTE]
Migraatiot suoritetaan aina omistajan tietokantapoolilla. Rajoitettu RLS-rooli
(AIHUMMER_DB_APP_URL) on liikenteen palvelemista varten, ei skeeman muutoksia varten.
Päivittäminen
Uudet versiot haetaan toimittajan julkaisu-CDN:stä. Vakiintunut tapa päivittää on
yksi komento palvelimella:
aihummer update --check # kerro vain, onko uudempi versio olemassaaihummer update # lataa ja ota käyttöön
--check ei kirjoita mitään, joten se ei vaadi root-oikeuksia. Itse käyttöön
ottaminen kirjoittaa asennushakemiston uudelleen ja käynnistää palvelun uudelleen,
joten se ajetaan sudo-oikeuksin.
Odotettu tulos:--check tulostaa nykyisen ja saatavilla olevan version ja
päättyy muuttamatta mitään. aihummer update lataa artefaktin, tarkistaa sen
sha256-tarkistussumman ja cosign-allekirjoituksen, vaihtaa binäärin ja käynnistää
palvelun uudelleen — minkä jälkeen aihummer version näyttää uuden version. Jos
tarkistus ei täsmää, päivitys keskeytyy ennen tiedoston vaihtoa: käynnissä
oleva versio jää koskematta.
[!NOTE]
Automaattisen päivityksen kytkee päälle toimittaja, et sinä. Automaattisen
päivityksen tila ja aikataulu kuuluvat julkaisun ylläpitoon ja ne asetetaan
toimittajan allekirjoittamalla määräyksellä. Vastaavia kytkimiä ei ole
verkkokäyttöliittymässä eikä aihummer settings -komennossa, eikä yhdyskäytävä
luegateway.env-tiedostoon kirjoitettuja automaattipäivityksen muuttujia —
jos näet niitä siellä, ne eivät vaikuta mihinkään. Päivittääksesi oman
aikataulusi mukaan käytä yllä olevaa komentoa aihummer update.
Palautus
Mitä voidaan palauttaa, kohta kohdalta:
Binääri — voidaan palauttaa edelliseen versioon (aiempien julkaisujen
artefaktit säilyvät CDN:ssä; asenna haluamasi versio uudelleen).
Tietokannan skeema — migraatiot ovat eteenpäin turvallisia, joten edellinen
binääri toimii uudemman skeeman kanssa; erillistä skeeman palautusta ei ole.
Liitännäiset — versioita hallitaan asennuskohtaisesti; palauta tarvittaessa
liitännäisen edellinen versio luettelosta.
Asetukset — päivitys ei muuta niitä; palauta ne tarvittaessa varmuuskopiosta.
Nollakatkon käyttöönotot
AiHummer on suunniteltu päivitettäväksi ilman seisokkia:
Käytä 2+ yhdyskäytävää proxyn takana. Rullaa ne yksi kerrallaan; valmiustarkastus
(/readyz) pitää uudelleenkäynnistyvää solmua pois kierrosta, kunnes se palvelee.
Ajoitin on yksijohtoinen. Taustasuunnittelu valitsee yhden johtajan
PostgreSQL-hallintalukon avulla, joten useiden porttien suorittaminen ei tuota kopiota
aikataulutettu työ.
Toimitus on idempotentti. Luotettava toimitus plus idempotenssiavaimet tarkoittavat
vastausta ei koskaan lähetetä kahdesti uudelleenkäynnistyksen aikana, mikä tekee siitä rullaavan
käynnistä uudelleen porttiesi kautta turvallisesti.
Vakavuus on tuotteen periaate, ei jälkiajattelu. AiHummer seuraa sitä **SemVer**, sovelletaan **eteenpäin-yhteensopivat tietokantasiirrot automaattisesti**, ja voi **itsepäivitys** CDN:stä — joten päivitykset ovat rutiinia eivätkä riskialttiita.
## Versiointi (SemVer)
Julkaisut noudattavat semanttista versionhallintaa. Versio raportoidaan seuraavasti `/healthz` ja avulla `aihummer version`, joten voit aina varmistaa tarkalleen, mikä on käynnissä ennen päivitystä ja sen jälkeen.
## Migraatiot ovat eteenpäin turvallisia ja automaattisia
Käynnistyksen yhteydessä portti suorittaa odottavat tietokantamigraatiot automaattisesti. Kaksi ominaisuutta pitävät tämän turvallisena:
- **Eteenpäin turvallinen.** Migraatiot on kirjoitettu siten, että uudempi binääri toimii sitä vastaan
skeemaan, johon se siirtyy, mikä tekee automaattisesta soveltamisesta ja vaiheittaisista päivityksistä turvallisia.
- **Yksittäinen soveltaja neuvoa-antavan lukon kautta.** Migraatiot ajetaan alaisuudessa **PostgreSQL
neuvontalukko**, joten kun useampi yhdyskäytävä alkaa kerralla, vain yksi soveltaa niitä
ja muut odottavat — ei koskaan kaksinkertaista muuttoa.
> [!NOTE]
> Migraatiot suoritetaan aina omistajan tietokantapoolilla. Rajoitettu RLS-rooli
> (`AIHUMMER_DB_APP_URL`) on liikenteen palvelemista varten, ei skeeman muutoksia varten.
## Päivittäminen
Uudet versiot haetaan toimittajan julkaisu-CDN:stä. Vakiintunut tapa päivittää on
yksi komento palvelimella:
```bash
aihummer update --check # kerro vain, onko uudempi versio olemassa
aihummer update # lataa ja ota käyttöön
```
`--check` ei kirjoita mitään, joten se **ei vaadi root-oikeuksia**. Itse käyttöön
ottaminen kirjoittaa asennushakemiston uudelleen ja käynnistää palvelun uudelleen,
joten se ajetaan `sudo`-oikeuksin.
**Odotettu tulos:** `--check` tulostaa nykyisen ja saatavilla olevan version ja
päättyy muuttamatta mitään. `aihummer update` lataa artefaktin, tarkistaa sen
sha256-tarkistussumman ja cosign-allekirjoituksen, vaihtaa binäärin ja käynnistää
palvelun uudelleen — minkä jälkeen `aihummer version` näyttää uuden version. Jos
tarkistus ei täsmää, päivitys keskeytyy **ennen** tiedoston vaihtoa: käynnissä
oleva versio jää koskematta.
> [!NOTE]
> **Automaattisen päivityksen kytkee päälle toimittaja, et sinä.** Automaattisen
> päivityksen tila ja aikataulu kuuluvat julkaisun ylläpitoon ja ne asetetaan
> toimittajan allekirjoittamalla määräyksellä. Vastaavia kytkimiä ei ole
> verkkokäyttöliittymässä eikä `aihummer settings` -komennossa, eikä yhdyskäytävä
> **lue** `gateway.env`-tiedostoon kirjoitettuja automaattipäivityksen muuttujia —
> jos näet niitä siellä, ne eivät vaikuta mihinkään. Päivittääksesi oman
> aikataulusi mukaan käytä yllä olevaa komentoa `aihummer update`.
### Palautus
Mitä voidaan palauttaa, kohta kohdalta:
- **Binääri** — voidaan palauttaa edelliseen versioon (aiempien julkaisujen
artefaktit säilyvät CDN:ssä; asenna haluamasi versio uudelleen).
- **Tietokannan skeema** — migraatiot ovat eteenpäin turvallisia, joten edellinen
binääri toimii uudemman skeeman kanssa; erillistä skeeman palautusta ei ole.
- **Liitännäiset** — versioita hallitaan asennuskohtaisesti; palauta tarvittaessa
liitännäisen edellinen versio luettelosta.
- **Asetukset** — päivitys ei muuta niitä; palauta ne tarvittaessa varmuuskopiosta.
## Nollakatkon käyttöönotot
AiHummer on suunniteltu päivitettäväksi ilman seisokkia:
- **Käytä 2+ yhdyskäytävää proxyn takana.** Rullaa ne yksi kerrallaan; valmiustarkastus
(`/readyz`) pitää uudelleenkäynnistyvää solmua pois kierrosta, kunnes se palvelee.
- **Ajoitin on yksijohtoinen.** Taustasuunnittelu valitsee yhden johtajan
PostgreSQL-hallintalukon avulla, joten useiden porttien suorittaminen ei tuota kopiota
aikataulutettu työ.
- **Toimitus on idempotentti.** Luotettava toimitus plus idempotenssiavaimet tarkoittavat
vastausta ei koskaan lähetetä kahdesti uudelleenkäynnistyksen aikana, mikä tekee siitä rullaavan
käynnistä uudelleen porttiesi kautta turvallisesti.
## Minne seuraavaksi
- Koettimet, jotka ohjaavat käynnissä olevan uudelleenkäynnistyksen:
[systemd ja terveystarkastukset](/fi/v1.0/operations/systemd-health).
- Varmuuskopioi ennen suurta päivitystä:
[Varmuuskopiot ja katastrofipalautus](/fi/v1.0/operations/backups-dr).
- Katso käyttöönotto:
[Havaittavuus](/fi/v1.0/operations/observability).