89 lines
No EOL
3.6 KiB
Markdown
89 lines
No EOL
3.6 KiB
Markdown
# 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? Gibt’s 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. |