Skip to content

Anexă Tehnică Comună — Caiet de Sarcini (Esempla Systems / GovStack)

CâmpValoare
DocumentAnexă Tehnică Comună (moștenită de toate caietele de sarcini)
Versiune1.0
AutorEsempla Systems
Bazăcatalogul CU-* — skill cerinte-universale

Orice aplicație/modul GovStack moștenește implicit cerințele din această anexă. În caietul specific NU se rescriu — se completează doar un Tabel de conformitate (vezi §13 din template-ul de business) care marchează, per domeniu:

  • Aplicabil (default) — se aplică integral, fără modificări.
  • Parametrizat — se aplică, dar cu valori specifice (vezi tabelul de parametri mai jos).
  • N/A — nu se aplică, cu justificare.
  • Abatere — se aplică diferit, cu justificare + aprobare arhitect.

Astfel, redactarea caietului scade dramatic: ~80% (partea tehnică) e moștenită, autorul scrie ~20% (businessul).

Comportament normativ implicit (pe domenii)

Section titled “Comportament normativ implicit (pe domenii)”
  • Securitate (CU-SEC-001..005): TLS peste tot, fără secrete în cod, validare server-side + OWASP, scan dependențe/imagini, rate limiting pe API publice.
  • Autentificare & semnătură (CU-AUTH-001..003): login via MPass; acte semnate via MSign; sesiuni cu expirare/revocare.
  • Gestiune roluri (CU-RBAC-001..003): RBAC deny-by-default, roluri configurabile (fără re-deploy), 4-ochi pe acțiuni sensibile.
  • Audit (CU-AUDIT-001..003): orice acțiune cu efect → jurnal imutabil (cine/ce/când/de unde), consultabil de rolurile autorizate.
  • Logare & observabilitate (CU-OBS-001..004): logs JSON cu correlation-id, metrici + dashboard, tracing pe căi critice, alerte SLO.
  • Cache (CU-CACHE-001..003): Redis cu TTL, invalidare la scriere, degradare grațioasă.
  • Search (CU-SEARCH-001..003): Elasticsearch, indexare asincronă (sursa de adevăr în DB), reindexare reproductibilă, i18n RO/RU.
  • Storage documente (CU-DOCS-001..004): object storage S3-compatibil / MDocs, antivirus la upload, acces RBAC + URL-uri semnate, retenție.
  • Integrări externe (CU-INTEROP/API/MSG): MConnect pentru date inter-instituționale, MNotify/MPay unde e cazul, API REST versionat + OpenAPI + idempotență, async via RabbitMQ cu DLQ.
  • Persistență (CU-DATA-001..003): PostgreSQL, migrări expand/contract fără downtime, backup + restore testat, tranzacții.
  • Date personale (CU-PD-001..003): temei legal + minimizare, drepturile persoanei, cifrare la repaus.
  • i18n / accesibilitate (CU-I18N-001, CU-A11Y-001): RO+RU fără hardcodare; WCAG 2.1 AA pe fluxuri principale.
  • Performanță / disponibilitate (CU-PERF-001, CU-AVAIL-001): p95 < 500 ms (parametrizabil), 99,5% disponibilitate, fără SPOF.
  • Deployment (CU-DEPLOY-001..003): GitLab CI/CD build→test→scan→deploy, fără downtime (rolling/blue-green) + rollback, config prin Secrets, imagini imutabile.
  • Kubernetes (CU-K8S-001..003): probes liveness/readiness, requests/limits, stateless + stare în servicii dedicate, HPA.

Parametri configurabili per aplicație (autorul completează doar ce diferă de default)

Section titled “Parametri configurabili per aplicație (autorul completează doar ce diferă de default)”
ParametruDefaultValoare pt. această aplicație
Țintă performanță (p95)500 ms…
Disponibilitate țintă99,5%/lună…
Retenție auditconform legii…
Retenție documenteconform legii…
TTL cache (per resursă)per caz…
Latență max. reindexare searchconform caz…
Roluri specifice aplicației—(în secțiunea Roluri din caiet)
Integrări building blocks activeMPass+ MSign/MConnect/MPay/MNotify/MDocs (după caz)
Limbi UIRO, RU…

Procedura de deployment (referință comună)

Section titled “Procedura de deployment (referință comună)”
  1. Branch feature → MR → pipeline GitLab (build → test → scan SAST/dependențe/imagine → artefact).
  2. Deploy automat pe dev; promovare manuală/gatată pe staging; aprobare pe prod.
  3. Strategie fără downtime (rolling sau blue-green), cu liveness/readiness; rollback rapid la imaginea anterioară.
  4. Migrări DB expand/contract rulate înaintea codului care le folosește.
  5. Verificări post-deploy: smoke tests (vezi biblioteca-cazuri-test-comune.md, secțiunea DEPLOY/K8S).

Detaliile fiecărei cerințe (criterii de verificare, mapare): skill cerinte-universale.