Anexă Tehnică Comună — Caiet de Sarcini (Esempla Systems / GovStack)
| Câmp | Valoare |
|---|---|
| Document | Anexă Tehnică Comună (moștenită de toate caietele de sarcini) |
| Versiune | 1.0 |
| Autor | Esempla Systems |
| Bază | catalogul CU-* — skill cerinte-universale |
Cum se folosește (modelul de moștenire)
Section titled “Cum se folosește (modelul de moștenire)”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)”| Parametru | Default | Valoare pt. această aplicație |
|---|---|---|
| Țintă performanță (p95) | 500 ms | … |
| Disponibilitate țintă | 99,5%/lună | … |
| Retenție audit | conform legii | … |
| Retenție documente | conform legii | … |
| TTL cache (per resursă) | per caz | … |
| Latență max. reindexare search | conform caz | … |
| Roluri specifice aplicației | — | (în secțiunea Roluri din caiet) |
| Integrări building blocks active | MPass | + MSign/MConnect/MPay/MNotify/MDocs (după caz) |
| Limbi UI | RO, RU | … |
Procedura de deployment (referință comună)
Section titled “Procedura de deployment (referință comună)”- Branch feature → MR → pipeline GitLab (build → test → scan SAST/dependențe/imagine → artefact).
- Deploy automat pe dev; promovare manuală/gatată pe staging; aprobare pe prod.
- Strategie fără downtime (rolling sau blue-green), cu liveness/readiness; rollback rapid la imaginea anterioară.
- Migrări DB expand/contract rulate înaintea codului care le folosește.
- 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.