diff --git a/README.md b/README.md index fa01cd1..afab0a4 100644 --- a/README.md +++ b/README.md @@ -60,12 +60,34 @@ schemas/ expense/canonical/v1.0.0.json ds/expense/project_assignment/v1.0.0.json sink/db/expense/v1.0.0.json +policies/ + README.md # Policy-Klassen, Input-Verträge, Deployment + transformations/expense.rego (+ _test.rego) + sinks/expense_db_app.rego (+ _test.rego) + data_sources/expense_db_app.rego (+ _test.rego) +.forgejo/workflows/ + validate.yml # JSON-Schema (ajv) + Rego (opa fmt + opa test) ``` -Weitere Verzeichnisse (Services, Policies, Deployment-Manifeste, Senken-/Datenquellen-Adapter) folgen im Zuge der Architekturentwicklung. +Weitere Verzeichnisse (Services, Deployment-Manifeste, Senken-/Datenquellen-Adapter) folgen im Zuge der Architekturentwicklung. ## Einstiegspunkte - [Architektur V1.1](docs/architecture/v1.1.md) — Zielbild - [ADRs](docs/adr/README.md) — getroffene Entscheidungen - [Schemas](schemas/README.md) — kanonische Business-, Datenquellen- und Senken-Formate +- [Policies](policies/README.md) — OPA/Rego-Policies für Transformationen, Senken und Datenquellen + +## Lokal validieren + +```bash +# JSON-Schemas +npx -y ajv-cli@5 compile --spec=draft2020 -c ajv-formats \ + -s schemas/expense/canonical/v1.0.0.json + +# Rego +opa fmt --list --diff policies/ +opa test policies/ -v +``` + +CI (`.forgejo/workflows/validate.yml`) läuft dieselben Prüfungen auf jedem Push und PR gegen `main`.