Files
Orchestrator/bahn/aisupport/powers/db-scm-info-compliance/POWER.md
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

4.8 KiB

name, displayName, description, keywords, author
name displayName description keywords author
db-scm-info-compliance DB scm-info and Compliance Erstellt und validiert die scm-info.yaml für DB-GitLab-Repos und erklärt die Checks der DXP Compliance Suite (Secrets, Dependencies, Lizenzen, DB Compliance). Liefert eine Compliance-Checkliste, damit ein Repo konform zur DB-Vorgabe Source-Control-Management ist.
scm-info.yaml
compliance suite
betterleaks
beam id
dbisl lizenz
sbom
syft grype
source control management
vmp export
einfachbahn-lab

DB scm-info and Compliance

Overview

Diese Power hilft, ein DB-GitLab-Repo compliant zu machen: die Pflichtdatei scm-info.yaml korrekt zu erstellen/validieren und die Checks der DXP Compliance Suite (Secrets, Dependencies, Lizenzen, DB Compliance) zu verstehen und zu bestehen. Grundlage ist die DB-Vorgabe „Source-Control- und Software-Repositories".

scm-info.yaml — harte Regeln

  • Dateiendung muss .yaml sein.yml wird nicht akzeptiert.
  • Liegt im Repo-Root.
  • Wird gegen das scm-info JSON Schema validiert (git.tech.rz.db.de/db-inner-source/scm-info-json-schema).
  • Am einfachsten per Developer-Portal-Template init-app-general erzeugen (legt scm-info.yaml + README + LICENSE an).

Vorlagen

Minimal

version: v3
license: LicenseRef-DBISL
contacts: DEINE_EMAIL_ADRESSE
confidentiality: internal
reference-ids: none

Erweitert (pipeship-Kontext)

---
version: v3
license: DBISL
contacts: team@deutschebahn.com
confidentiality: internal
reference-ids: A-123456          # eure echte Beam-ID
custom:
    production-branch: main
    integrity: normal
    availability: normal
    confidentiality: normal
    it-service-id: itaps-service-id-1

Felder

Feld Zweck
version Schema-Version (z. B. v3)
license Lizenz (DBISL/LicenseRef-DBISL), geprüft gegen Open-Source-Lizenzkompass
contacts Kontakt(e) — von pipeship als Container-Annotation GA_CONTACT genutzt
confidentiality Vertraulichkeitsstufe (z. B. internal)
reference-ids Beam-/Referenz-ID (Pflicht) — pipeship-Annotation GA_REFERENCE_ID
custom.production-branch Produktions-Branch (z. B. main)
custom.integrity/availability/confidentiality Schutzbedarf
custom.it-service-id ITAPS-Service-ID

Warum sie wichtig ist

  • Verknüpfung mit Beam/LeanIX (Anwendungskontext)
  • Bessere Erreichbarkeit über Kontaktdaten
  • VMP-Export von Security-Findings nur mit gültiger Beam ID möglich
  • Compliance-Pflicht — fehlt sie, entstehen Findings
  • pipeship liefert daraus automatisch die Container-Annotations

Compliance Suite — die Scanner

Scanner Prüft
Secrets (Betterleaks) Passwörter/API-Keys in Code, Job-Logs, Artefakten
Dependencies (Syft + Grype) Syft erstellt SBOM, Grype scannt auf bekannte Schwachstellen
DB Compliance Sichtbarkeit, protected Branches, Existenz README/LICENSE/scm-info.yaml + Schema-Validierung
Licenses (Grant) Lizenzkonformität gemäß DB Open-Source-Lizenzkompass
  • Wöchentliche Scans (Di/Do/Sa 18:00), Dependency-Checks alle 12 h, SBOM je Scan.
  • Findings im Developer Portal: https://dp.dxc.comp.db.de/compliance/repositories
  • Sichtbarkeit: GitLab-Rolle ≥ Developer. Kein DXP Mandant nötig, nur um Findings zu sehen.

Compliance-Checkliste (vor erstem Release)

  • scm-info.yaml vorhanden, Endung .yaml, schema-valide
  • reference-ids = echte Beam-ID gesetzt
  • license korrekt (DBISL o. zulässige Open-Source-Lizenz)
  • contacts gesetzt (Erreichbarkeit + Container-Annotation)
  • README.md und LICENSE vorhanden
  • Default-Branch protected; Sichtbarkeit gemäß Schutzbedarf
  • keine Klartext-Secrets im Repo/Logs/Artefakten (Betterleaks grün)
  • Dependency-/Lizenz-Findings gesichtet und behandelt
  • (Container) SBOM-Job aktiv, Images aktuell gehalten (≤ 14 Tage / Renovate)

Best Practices

  • confidentiality und Repo-Sichtbarkeit am tatsächlichen Schutzbedarf ausrichten.
  • Beam-ID früh setzen — ohne sie kein VMP-Export der Findings.
  • Secrets nie im Klartext; verschlüsselt mit SOPS/age committen.
  • Findings nicht ignorieren — patchen/mitigieren oder Restrisiko dokumentieren.

Troubleshooting

  • Finding „scm-info invalid" → Endung .yaml? Pflichtfelder (version, reference-ids) gesetzt? Gegen Schema prüfen.
  • VMP-Export geht nicht → gültige Beam-ID in reference-ids fehlt.
  • Secret-Finding trotz Verschlüsselung → false positive dokumentieren oder Wert wirklich entfernen/rotieren.

Weiterführend

Repo einfachbahn-lab/doku/deployment-doku: docs/09-pipeship-setup-guide.md (Teil B) und docs/08-dxp-plattform.md (Kap. 4, Compliance Suite).