Preskoči na sadržaj

Dokumentacija · Vlastita infrastruktura

Jedna skripta, potpisane slike, bez iznenađenja

Produkcijska instanca nikad se ne gradi iz izvornog koda. Povlači tri unaprijed izgrađene slike po izdanju, svaku potpisanu u cjevovodu izdanja, a sve orkestrira jedna operaterska skripta koja potpise provjerava sama.

Model implementacije

  • Jedna instanca jest jedan kupac. Izolacija je granica implementacije; višekorisnički način rada ne postoji.
  • Samo povlačenje: slika aplikacije i workera, slika ruba s izgrađenim sučeljem i servis za isključivo primanje ulazne pošte, svaka potpisana cosignom.
  • Tajne se generiraju po instanci i compose datoteka ih zahtijeva; ništa se ne commita.
  • Sve orkestrira jedna operaterska skripta: instalacija, konfiguracija, nadogradnja, status i probni način rada. Svako izvođenje završava popisom onoga što ne može učiniti umjesto vas: DNS zapisi, postavke sigurnosnih kopija, koraci provjere.

Prije početka

  • Svježa Ubuntu 22.04 ili 24.04 instanca.
  • Domena pod vašom kontrolom; TLS je automatski kroz Let's Encrypt čim se ispisani DNS zapisi razriješe.
  • API ključ modela, osim ako će instanca raditi samo s lokalnim modelima.
  1. 1

    Dohvatite operatersku skriptu

    Skripta instalira vlastite alate, uključujući cosign za provjeru potpisa.

    curl -fsSL https://raw.githubusercontent.com/Cogeto/cogeto/main/scripts/operator/cogeto -o cogeto
    chmod +x cogeto
  2. 2

    Najprije probno izvođenje

    Način provjere validira okruženje i ispisuje što bi instalacija napravila, bez ikakvih promjena.

    sudo ./cogeto install --check --domain <your.domain> --acme-email <you>
  3. 3

    Instalirajte

    Skripta povlači slike izdanja, provjerava njihove potpise, generira tajne i podiže instancu.

    sudo ./cogeto install --domain <your.domain> --acme-email <you> --mistral-key <key>

    Izvođenje završava kontrolnim popisom za tu instancu: DNS zapisi koje treba stvoriti, postavke sigurnosnih kopija koje treba potvrditi i koraci provjere. TLS se aktivira čim se DNS zapisi razriješe.

  4. 4

    Sami provjerite sliku izdanja, bilo kada

    Potpisivanje je bez ključa, kroz javni dnevnik transparentnosti, pa provjera ne treba nikakav ključ od nas. Svako GitHub izdanje nosi i popis softverskih komponenti slike i točnu naredbu za provjeru.

    cosign verify cogeto/cogeto:<version> \
      --certificate-identity-regexp '^https://github.com/Cogeto/cogeto/\.github/workflows/release\.yml@refs/tags/' \
      --certificate-oidc-issuer 'https://token.actions.githubusercontent.com'

Nadogradnje i povratak

Najprije ponovno preuzmite skriptu: instalirana kopija ne može ažurirati samu sebe, a samo nova skripta dopunjuje vjerodajnice koje noviji compose zahtijeva. Skripta odbija neobjavljene oznake, ponovno izvodi migracije, provjerava zdravlje instance i prepoznaje kad je izdanje promijenilo model vektorskih prikaza te nudi ponovno indeksiranje. Povratak vraća slike; migracije idu samo naprijed, a potpuni povratak podataka jest uvježbana obnova iz sigurnosne kopije prema runbooku.

curl -fsSL https://raw.githubusercontent.com/Cogeto/cogeto/main/scripts/operator/cogeto -o cogeto
chmod +x cogeto
sudo ./cogeto upgrade

Što implementacija namjerno nije

Bez Terraforma, bez automatizacije cloud API-ja, bez samoposlužnog provizioniranja, bez automatskih ažuriranja: jedna dobra skripta koju pokreće čovjek, za skupinu korisnika u kojoj je svaka instanca važna. Sigurnosne kopije koriste mogućnosti samog pružatelja hostinga, a obnova se uvježbava, a ne pretpostavlja. Operaterski runbook pokriva provizioniranje, DNS, uvođenje, sigurnosne kopije s uvježbanom obnovom, nadogradnje i rješavanje problema, popis po popis.

Želite da ga umjesto toga vodimo mi?

Hostana instanca na EU infrastrukturi počinje razgovorom o pilotu, a ne obrascem za registraciju.