Sari la conținut

GRegistry — Wiki (Registrul Sistemelor Informaționale)

Acest conținut nu este încă disponibil în limba selectată.

GRegistry (RSI) este sursa unică de adevăr pentru catalogul de sisteme informaționale al platformei GStack (Republica Moldova): ce sisteme există, cine le deține, în ce stare și vizibilitate sunt, ce medii și ce dependențe au. Îl citesc GPortal, GLog, GStorage și GMonitor.

Microserviciu JHipster API-first · Spring Boot · PostgreSQL · OAuth2/OIDC (GSSO) · port 8085 · package md.gov.gregistry · ro (nativ) + en · fără Kafka/Elasticsearch.

Terminal window
cd gregistry
# Regenerare din JDL (după orice modificare a modelului):
jhipster jdl GRegistry.jdl --force
# Backend pe :8085 (host fără Java → container Maven):
docker run --rm -it -v "$PWD":/app -w /app maven:3.9-eclipse-temurin-21 ./mvnw
# Servicii dependente (doar Postgres — fără Kafka/ES):
docker compose -f src/main/docker/postgresql.yml up -d
# Teste:
./mvnw verify # backend (unit + integrare)
# Build de producție:
./mvnw -Pprod clean verify && java -jar target/*.jar
SPA Angular --HTTPS + OIDC bearer (GSSO)--> web.rest.*Resource (DTO)
-> service.*Service (+ *QueryService, JPA Criteria pe entitățile filter)
-> service.mapper (MapStruct) -> repository.*Repository -> PostgreSQL
  • Entitățile nu ies din stratul de servicii (controllerele schimbă DTO).
  • Zone API GovStack: /api/v1/public (consumatori — doar PUBLIC+PUBLISHED), /api/v1/staff, /api/v1/admin (OIDC). Erori RFC 7807. /management/health/*, /prometheus.
  • Tranzițiile de publicare și mutațiile scriu în RegistryAudit (append-only).
  • RSI — Registrul Sistemelor Informaționale (acest sistem).
  • InformationSystem — sistemul catalogat; code = cheia stabilă pentru consumatori.
  • Provider — instituția/organizația care deține sisteme (STISC, Cancelarie, Esempla…).
  • Environment — mediu de rulare (prod/staging/test/dev) cu stare de sănătate.
  • SystemDependency — muchie direcțională tipizată: system consumă dependsOn.
  • PublicationRequest — cererea de publicare pe GPortal (DRAFT→…→PUBLISHED).
  • RegistryAudit — jurnal inalterabil (append-only) al modificărilor.
  • GSSO — Keycloak-ul platformei (OAuth2/OIDC). GPortal — portalul public consumator.
  1. JDL = sursa de adevăr. Modelul se schimbă în GRegistry.jdl, apoi regenerare; editările manuale în cod generat se pierd.
  2. Bilingv deliberat. Nume de domeniu păstrate; plumbing în engleză; i18n în ro + en.
  3. RegistryAudit append-only — fără UPDATE/DELETE (serviciu + trigger DB).
  4. Publicare = act de guvernanță — prin state machine cu aprobare; doar PUBLIC ajunge public.
  5. Changelog-uri Liquibase append-only — se adaugă unul nou, nu se editează cele comise.
  6. Stack minimal — fără Kafka/Elasticsearch (ADR-008).
  • Acum: spec + design tehnic + schema + ADR-uri (Acceptate) + plan + scenarii de test = ✅. Codul JHipster: de generat (vezi IMPLEMENTATION_PLAN.md Faza 1).
  • Următorii pași: generare din JDL → custom code (audit, publicare, zone API, dependențe, OIDC) → frontend → testare pe docker-compose → review → livrare (MR pe branch).
  • GitLab: git.esempla.systems/govtech/gstack/gregistry
  • Proces comun: ../../.claude/skills/playbook.md, ../../.claude/skills/skill.md
  • Sistem-frate: ../../saas_interdictii/docs/Home.md