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ábla | Szerep | Fő mezők |
|---|---|---|
release_installation | telepítések | UUID, címke, domain, client, modell, csatorna, automatikus frissítés, státusz, reg_code_hash lejárattal |
release | kiadások | verzió, csatorna, archív hely, visszavonás indoklással |
release_event | események | pl. regcode_issued |
release_request | központi frissítési kérések | verzió, mód (prepare, install), megjegyzés |
update_config | szerver-beállítások | server_* kulcsok |
company | a client neve | olvasás |
Végpontok
| Kulcs | Végpont | Működés |
|---|---|---|
list | index, installations, releases | bekapcsoltsá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 |
installation | form, 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 |
regcode | regcode | 7 napig érvényes egyszeri kód, a szerver csak SHA-256 lenyomatát tárolja |
request | request | ké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 |
publish | upload | zip + 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 |
revoke | revoke | indoklás kötelező; a szigeteken az ellenőrzés revoked állapotot ad, ha az a telepített verzió |
settings | settings, publisherkey | bekapcsolá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
debugkulcsot 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.