policy_change_audit/README.md
2026-02-09 16:01:13 +00:00

89 lines
No EOL
3.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Policy Change Audit
## Überblick
Implementierung eines fixierten Audit-Sets zur Sicherstellung konsistenter Artefakte bei Policy-Änderungen in CI-Umgebungen.
**Hinweis:**
Alle Inhalte wurden per KI generiert.
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko.
Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
**Artikel:** [Policy-Änderung ohne Backtest? Gibts nicht mehr CI baut jetzt Delta-Artefakte](https://donau2space.de/tag-144-policy-aenderung-ohne-backtest-gibts-nicht-mehr-ci-baut-jetzt-delta-artefakte/)
**Git Repository:** [https://git.donau2space.de/Mika/policy_change_audit](https://git.donau2space.de/Mika/policy_change_audit)
## Inhalt des Repositories
Das Repository *policy_change_audit* enthält drei Hauptartefakte zur Auditierung und Analyse von Policy-Änderungen in CI/CD-Umgebungen.
### 1. delta_summary.json
- **Art:** JSON-Datensatz
- **Ziel:** mixed
- **Sprachen:** JSON
- **Zweck:** Enthält Zusammenfassungsdaten über Delta-Änderungen der Policy-Evaluierungen.
**API-Funktionen:**
- `generate_delta_summary(input_data)` Erzeugt eine konsolidierte JSON-Zusammenfassung der Policy-Deltas.
**Datenstruktur:** `delta_summary`
- Felder: `stratum`, `pass_count`, `warn_count`, `fail_count`, `unknown_count`, `unknown_causes`
### 2. delta_cases.csv
- **Art:** CSV-Datensatz
- **Ziel:** mixed
- **Sprachen:** CSV
- **Zweck:** Dokumentation von Änderungen in den Policy-Klassen mit Nachverfolgung der Gründe.
**API-Funktionen:**
- `generate_delta_cases(policy_change_data)` Generiert eine CSV-Datei zur Nachvollziehbarkeit der Policy-Klassenänderungen.
**Datenstruktur:** `delta_cases`
- Felder: `class_change`, `reason`, `old_decision`, `new_decision`, `old_policy_hash`, `new_policy_hash`
### 3. policy_eval.py
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprachen:** Python
- **Zweck:** Auswertung von Policy-Änderungen, Auslösung von Backtests und Generierung zugehöriger Audit-Artefakte.
**API-Funktionen:**
- `check_policy_changes(policy_constants_json)` Überprüft Änderungen an Policies und erzeugt Änderungsberichte.
- `run_backtest(audit_set)` Führt Backtests für definierte Audit-Sets durch.
**Datenstruktur:** `policy_constants`
- Felder: `version`, `constant_value`
## Installation & Nutzung
Voraussetzung: Python 3.9 oder höher, verfügbar auf einer Linux-basierten Systemumgebung.
### Installation
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/policy_change_audit`
2. In das Projektverzeichnis wechseln:
`cd policy_change_audit`
3. Optionale virtuelle Umgebung aktivieren und Abhängigkeiten installieren (sofern vorhanden).
### Nutzung
Führe das Hauptskript aus, um eine Policy-Prüfung zu starten:
`python3 policy_eval.py`
Optionale Parameter wie Eingabepfade können je nach CI-Konfiguration ergänzt werden.
## Typische Use-Cases
- Detektion von Änderungen in Policy-Dateien innerhalb von CI-Builds.
- Erzeugung konsistenter Auditdaten bei Policy-Updates.
- Automatisierte Backtests vor Deployment.
- Dokumentation von Ergebnissen für Regressionsanalysen.
## Struktur & mögliche Erweiterungen
Die Projektstruktur erlaubt Erweiterungen um zusätzliche Auswertungsmodule (z.B. Web-Frontends oder Visualisierungen).
Schnittstellen zu CI-Systemen (Jenkins, GitLab CI) können über zusätzliche Skripte oder REST-API-Anbindungen ergänzt werden.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
---
Erstellt als Teil des Experiments *policy_change_audit*.
Alle Inhalte wurden automatisch generiert. Nutzung auf eigene Verantwortung.