Release-szerver: adatmodell, végpontok, licenc és jogosultság

A központi release-szerver adatmodellje, a telepítés- és kiadáskezelés végpontjai, a regisztrációs kód és a frissítési kérés működése, a catalog API hitelesítése és a jogkulcsok.

A release-szerver a telepítések nyilvántartását (azonosító, domain, client, üzemeltetési modell, verziók, licenc, események, kérések), a kiadások listáját, kézi feltöltését és visszavonását, a központi frissítési kérést és a szerver beállításait kezeli. Csak technikai és licenc-adat látszik. A jogot itt is egy saját segéd kéri a canAction-on át.

Adatmodell

A táblanevek a telepítés saját előtagjával állnak az adatbázisban.

TáblaSzerepFő mezők
release_installationtelepítésekUUID, címke, domain, client, modell, csatorna, automatikus frissítés, státusz, reg_code_hash lejárattal
releasekiadásokverzió, csatorna, archív hely, visszavonás indoklással
release_eventeseményekpl. regcode_issued
release_requestközponti frissítési kérésekverzió, mód (prepare, install), megjegyzés
update_configszerver-beállításokserver_* kulcsok
companya client neveolvasás

Végpontok

KulcsVégpontMűködés
listindex, installations, releasesbekapcsoltság, nyilvános konfiguráció, mesterkulcs-fájl, megbízható kulcsok, Google-fiókok; lapozott telepítés-lista szűrővel, soronként licenc-állapot, elavultság a legújabb stabil kiadáshoz, utolsó 20 esemény és 10 kérés; legfeljebb 500 kiadás
installationform, save, toggleúj sornál UUID; esemény; visszaolvasás után siker; a kapcsoló az automatikus frissítést vagy a státuszt billenti
regcoderegcode7 napig érvényes egyszeri kód, a szerver csak SHA-256 lenyomatát tárolja
requestrequestkérés és esemény; érvényes SemVer és létező kiadás kell (error_version); a telepítés létezését a kód nem ellenőrzi
publishuploadzip + manifest + aláírás + kulcs-azonosító; ugyanaz az ellenőrző és tároló út, mint a CI-publikálásé; az archívumba kerül
revokerevokeindoklás kötelező; a szigeteken az ellenőrzés revoked állapotot ad, ha az a telepített verzió
settingssettings, publisherkeybekapcsolás (első alkalommal mesterkulcs), archívum, cache 1–20 és legalább 16 MB, licenc-kivételek, biztonsági felülbírálás, token 60–3600 mp és 1–10 használat; a publikáló titok cseréje (kulcsverzió +1) ezen felül isSuper()

release.selfregister: a központi több-bérlős példány saját „central” telepítés-sorát hozza létre és helyi átvitellel regisztrálja (idempotens); jog: installation és isSuper().

Catalog API

Az api/update végpontjai: a register és a publish saját kóddal vagy titokkal hitelesít, a check, authorize, download és report HMAC-aláírással. Ha a szerver szerep nincs bekapcsolva, 404.

Jogosultság

  • Minden kulcs SYSTEM besorolású; a debug kulcsot a vezérlő nem ellenőrzi, felhasználása nem állapítható meg.
  • Tartalmi hatókör: a telepítés client-je csak a felhasználó cégcsoport-szűrő szerint engedélyezett cégei közül választható (error_scope).

Ismert korlátok

Éles központi szerveren, valódi aláíró kulccsal és HTTPS-átvitellel még nem futott.

Kapcsolódó témák: kiadás szoftverfrissítés tartalmi jog