Paket je nastao u asp-terminia/licence/ ali je sav posao serverski, pa se seli ovde. Firmverska strana je gotova od FW 0.10.0 i ne dira se. - docs/asp-terminia/ - 6 dokumenata: postojece stanje servera i FW klijenta, tacan API ugovor koji firmware ocekuje, zadaci Z1-Z6 sa kriterijumima prihvatanja, pravila rada na produkciji, enforcement pitanja E1-E6 - reference prepravljene: "ASP repo" = https://git.terminia.net/djuka/asp-terminia (ranije su pokazivale na lokalnu putanju D:\priv\... koja vise ne postoji) - CLAUDE.md: sekcija o cetvrtom proizvodu + pokazivac na paket ASP-Terminia se od ESIR/ARV/LIGHT_TICKET razlikuje po tome sto je machine_fingerprint MAC cipa (eFuse), a uredjaj radi offline - mrezna greska ne sme da ga obori. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3.4 KiB
3.4 KiB
ASP-Terminia — licenciranje (radni paket)
Misija: dovesti licenciranje ASP‑Terminia terminala do produkcije na postojećem
dal-license-server-u (server 151), bez lomljenja ijednog postojećeg klijenta (ESIR/ARV/LIGHT_TICKET su ŽIVI u produkciji).Jezik projekta: srpski (ekavica), latinica. Kod/komentari na serveru su Go — komentari srpski ASCII.
Poreklo: paket je nastao u firmverskom repou (
asp-terminia/licence/) i prebačen ovde 2026-07-24, jer je sav posao serverski. Firmverska strana je gotova i ne dira se. „ASP repo" u tekstu znači https://git.terminia.net/djuka/asp-terminia.
Sadržaj foldera
| Fajl | Šta je unutra |
|---|---|
| 01-postojece-stanje.md | šta VEĆ postoji: server (Go/MySQL/nginx/kripto) i firmware klijent (gotov!) |
| 02-api-ugovor-firmware.md | tačan ugovor koji firmware očekuje — polja, potpis, greške |
| 03-zadaci.md | šta treba uraditi, redom, sa kriterijumima prihvatanja |
| 04-pravila-rada.md | OBAVEZNO pročitati prvo — produkcija, backup, tajne, granice |
| 05-enforcement-odluke.md | pitanja E1–E6 za vlasnika: šta uređaj radi bez licence |
Kontekst u 5 redova
- Šta se licencira: ESP32‑S3 terminal za kontrolu prolaza (bazeni/spa), proizvod
„ASP‑Terminia" (Autonomni Sistem Prolaza). Licenca je vezana za MAC čipa
(eFuse, nepromenljiv) preko
machine_fingerprint. - Server već postoji:
dal-license-server(Go, MySQL, RSA‑2048/SHA‑256) na157.180.119.151, u produkciji sa 3 proizvoda / ~140 licenci / ~19 aktivacija. - Firmware klijent je GOTOV (modul
licenca.h/.cppu firmveru, od verzije 0.10.0): aktivacija, offline verifikacija potpisa javnim ključem, UI. Čeka samo proizvod i ključ na serveru. - Dva sloja: potpisana lokalna licenca (radi offline) + serverska provera/obnova (opoziv). Mrežna greška NIKAD ne obara uređaj.
- Domeni (kupuje vlasnik):
licenca.terminia.net→ 157.180.119.151 (Let's Encrypt). Dok domena nema, uređaj radi preko IP‑a sasetInsecure()— odluku ionako štiti RSA potpis, ne TLS kanal.
Šta agent NE radi
- Ne donosi odluku o ponašanju uređaja bez licence (gašenje funkcija) — to je odluka vlasnika (pitanja u 03-zadaci.md §Z4). Priprema se predlog, čeka se DA.
- Ne dira postojeće proizvode (ESIR, ARV, LIGHT_TICKET) niti
terminiaSaaS (portovi 8091/8092 na istom serveru — TO NIJE OVAJ POSAO). - Ne čita niti loguje tajne (
.env, privatni ključ) — vidi 04-pravila-rada.md.
Veze ka ostatku projekta
- Firmware repo (ASP repo): https://git.terminia.net/djuka/asp-terminia
(klijent:
firmware/10_terminia/licenca.h,licenca.cpp; javni ključ ugrađen). Firmverska strana je GOTOVA od FW 0.10.0 — ovaj paket je ne dira. - Dizajn/istorijat:
ASP repo docs/18-licenciranje-po-mac.md(pisan PRE nego što je pravi API poznat — gde se razlikuju, ovaj folder je merodavan),ASP repo docs/21-platforma-i-provisioning.md. - Serviserska strana (RBAC, uređaji, LoggerService):
ASP repo: serviseri/— isti backend, drugi radni paket; koordinacija preko šeme baze (vidi tamo 01). (Taj paket se seli u ovaj repo posebno — vidi dogovor od 2026-07-24.) - Serverski kod i konvencije: ../../CLAUDE.md, ../ARCHITECTURE.md, ../../API.md.