Relevanzbewertung von CVEs gegen Produkte, ProduktVersionen und Umgebungen – entwickelt von adesso health solutions GmbH als Nachbau-/Weiterentwicklungs- pendant zu PortalCore und ZPV.
Verbindliche Arbeitsgrundlage ist
CLAUDE.md. Die Iterations-Roadmap steht indocs/initial/README-Iterationsplan.md. Das Fachkonzept liegt unterdocs/konzept/CVE-Relevance-Manager-Konzept-v0.2.md.
| Werkzeug | Mindestversion |
|---|---|
| JDK | Temurin 21 |
| Maven | 3.9+ (ein Maven-Wrapper ./mvnw liegt bei) |
| Node.js | 20 LTS |
| Docker | 24+ (wird fuer Testcontainers und Docker-Compose benoetigt) |
scripts/start.sh # aktueller HEAD, startet alles
scripts/start.sh main # vorher auf main wechseln + ff-pullDas Skript (Details in scripts/start.sh) fuehrt der Reihe nach aus:
- Voraussetzungen pruefen (git, java, mvnw, docker, node, npm).
- Optionaler Branch-Checkout + Fast-Forward-Pull (nur wenn ein Branch- Argument uebergeben wurde und das Working-Tree sauber ist).
docker compose up -d(Postgres + pgvector, Keycloak, MailHog), Warten auf Postgres-Healthcheck.- Backend
./mvnw spring-boot:run -pl cvm-appim Hintergrund, Warten auf/actuator/health. - Frontend
ng serveim Hintergrund, Warten auf Port 4200. tail -fauf alle Log-Dateien (Ctrl-C beendet alles sauber).
Nuetzliche Flags/Variablen:
scripts/start.sh main --skip-frontend # nur Backend-Stack
scripts/start.sh main --no-tail # ohne live-tail
CVM_BACKEND_PORT=8082 scripts/start.sh # abweichender Backend-Port
CVM_LOG_DIR=/tmp/cvm-logs scripts/start.shLogs landen unter logs/YYYYMMDD-HHMMSS/ (docker-, backend-, frontend.log).
# 1. Lokale Infrastruktur hochfahren (Postgres + pgvector, Keycloak, MailHog)
docker compose up -d
# 2. Backend bauen und starten
./mvnw -T 1C clean verify
./mvnw spring-boot:run -pl cvm-app
# 3. Frontend starten
cd cvm-frontend
npm install
npm start- API: http://localhost:8081/actuator/health
- OpenAPI: http://localhost:8081/swagger-ui.html
- Frontend: http://localhost:4200
- Keycloak: http://localhost:8080 (Admin: admin/admin)
- MailHog UI: http://localhost:8025
cvm-domain/ POJOs, Value Objects (keine Spring-Abhaengigkeiten)
cvm-persistence/ JPA-Entities, Repositories, Flyway-Migrationen
cvm-application/ Services, Use Cases, Orchestrierung
cvm-integration/ Adapter zu NVD/GHSA/KEV/EPSS/OSV, Jira, Git, SMTP
cvm-llm-gateway/ LLM-Abstraktion (Claude, Ollama, OpenAI),
Prompt-Templates, Injection-Detector, Validator
cvm-ai-services/ KI-Anwendungsfaelle: Vorbewertung, Copilot,
Delta-Summary, Reachability, Fix-Verifikation,
Regel-Extraktion, Anomalie-Check, Profil-Assistent
cvm-api/ REST-Controller, DTOs, OpenAPI (SpringDoc 2)
cvm-app/ Spring-Boot-Einstiegspunkt
cvm-architecture-tests/ ArchUnit-Regeln (Modulgrenzen)
cvm-frontend/ Angular 18 (Standalone, Tailwind, Lucide,
ngx-echarts, Monaco-Editor)
./mvnw -T 1C test # Unit- + ArchUnit-Tests
./mvnw -T 1C verify # inkl. Testcontainers-IT (Docker erforderlich)
cd cvm-frontend && npm test # Angular Unit-TestsIntegrationstests, die einen Postgres-Container benoetigen, werden automatisch
uebersprungen, wenn kein Docker-Daemon erreichbar ist
(siehe com.ahs.cvm.app.DockerAvailability).
CLAUDE.md— Arbeitsregeln und Tech-Stack (verbindlich)docs/initial/— urspruengliche Iterations-Prompts der Phase 0-4 (README-Iterationsplan.md+00-Initialisierung.mdbis21-Mandanten-CICD-KPIs.md,27-*,28-*)docs/konzept/— Fachkonzept v0.2docs/api/— REST-Schnittstellenbeschreibungdocs/YYYYMMDD/— tagesaktuelle Fortschrittsberichte
Interne Entwicklung der adesso health solutions GmbH.