API
Acest conținut nu este încă disponibil în limba selectată.
Conform Standardului API GovStack: api/v{N} + zone, erori RFC 7807, endpoint-uri operaționale.
Endpoint-uri funcționale
Section titled “Endpoint-uri funcționale”| Metodă | Cale | Zonă | Scope | Descriere | Stare |
|---|---|---|---|---|---|
| POST | /api/v1/app/audit-events | app | audit:write | ingest unitar (201 + Location + entryHash) | ✅ |
| GET | /api/v1/app/audit-events/{id} | app | audit:read | detaliu eveniment | ✅ |
| GET | /api/v1/app/audit-events | app | audit:read | listă paginată {items,page,size,total} | ✅ |
| GET | /api/v1/admin/audit-events/integrity | admin | audit:admin | verificare lanț → chain breaks | ✅ |
| POST | /api/v1/admin/audit-events/forward/replay | admin | audit:admin | replay outbox ERROR | ✅ |
POST :batch | /api/v1/app/audit-events:batch | app | audit:write | ingest în lot (max 500) | 🟡 |
Endpoint-uri operaționale (publice)
Section titled “Endpoint-uri operaționale (publice)”| Cale | Descriere |
|---|---|
/health/live | liveness |
/health/ready | readiness (cu checks DB) |
/metrics | Prometheus |
/info | service/version/commit/builtAt |
/api/v1/openapi.json | contract OpenAPI 3.1 |
Ingest non-REST
Section titled “Ingest non-REST”| Canal | Detalii | Stare |
|---|---|---|
| AMQP | exchange audit.events (topic, durable) → coada audit.ingest + DLX audit.ingest.dlx | ✅ |
| Kafka | consumer pe topic | 🟡 |
| SDK | NuGet (.NET) / Nexus (Java), buffer + retry, mod AUTO | 🟡 |
Autentificare
Section titled “Autentificare”GLog rulează în trei moduri exclusive (profil Spring) — vezi pagina dedicată 🔐 Autentificare:
localdev— auth ocolită (dev local).localauth— user/parolă de sine stătător, token HS512 auto-emis, tabelaapp_user; endpoint-uri/api/auth/{register,login,me}. Fără Keycloak. (deployment demo curent:glog.gstack.esempla.systems)staging— Keycloak resource server (realminterdictii); UI = client publicglog-web(PKCE), servicii = client confidențial +client_credentials.
Comun tuturor: autoritățile audit:read|write|admin (din scope-uri sau din
realm_access.roles: ROLE_ADMIN → toate, ROLE_USER → audit:read) + claim tenant
(scriere cu tenant ≠ claim → 403). Detalii, variabile de mediu și exemple: 🔐 Autentificare.
Erori (RFC 7807)
Section titled “Erori (RFC 7807)”application/problem+json cu type/title/status/detail + correlationId (din X-Correlation-Id sau generat).
Idempotență
Section titled “Idempotență”Header Idempotency-Key pe scrieri; a doua trimitere cu aceeași cheie → aceeași înregistrare, fără duplicat.