Was macht cel-rule-skill?
Eigenständiges celctl CLI + Claude-Skill zum Erstellen, Validieren, Unit-Testen und Ausführen von Kubernetes CEL-Compliance-Regeln (inkl. ComplianceAsCode/content cel/shared.yml) – kein MCP-Server erforderlich.
Funktionen
- Authoring: Erstellen und Bearbeiten von CEL-Compliance-Regeln direkt über Claude.
- Validierung: Überprüfung der Syntax und Semantik von CEL-Regeln.
- Unit-Testing: Automatisierte Tests für CEL-Regeln mit celctl.
- Ausführung: Direkte Ausführung von CEL-Regeln gegen Kubernetes-Ressourcen.
- Integration: Nahtlose Einbindung von ComplianceAsCode/content Regeln (cel/shared.yml).
Installation
- Klone das Repository:
git clone https://github.com/Vincent056/cel-rule-skill.git
cd cel-rule-skill
-
Stelle sicher, dass
celctlinstalliert ist. Details zur Installation findest du in der celctl Dokumentation. -
Lade das Skill in Claude (Desktop oder Code) über die Datei
skill.jsonoder direkt über das Projektverzeichnis.
Verwendung
Claude verwenden
Starte eine Unterhaltung mit Claude und verwende die folgenden Befehle:
/validate <pfad-zur-regel>– Validiert eine CEL-Regel./test <pfad-zur-regel>– Führt Unit-Tests für eine CEL-Regel aus./run <pfad-zur-regel>– Führt eine CEL-Regel gegen eine Kubernetes-Ressource aus./init– Initialisiert eine neue CEL-Regel aus einer Vorlage.
Beispiel
# Beispiel einer CEL-Compliance-Regel (custom-resource.yaml)
apiVersion: cel.dev/v1
kind: ComplianceRule
metadata:
name: check-namespace-labels
spec:
match:
resources:
- kind: Namespace
validate:
cel: |
has(metadata.labels) &&
has(metadata.labels.'env') &&
metadata.labels.'env' in ['production', 'staging', 'development']
Validiere die Regel in Claude:
/validate custom-resource.yaml
Plattformunterstützung
- Claude Desktop
- Claude Code
- Jede Umgebung mit celctl CLI
Beitrag
Beiträge sind willkommen! Bitte öffne ein Issue oder erstelle einen Pull Request im GitHub-Repository.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe die Datei LICENSE für Details.
Haftungsausschluss
Dieses Skill wird ohne Gewähr bereitgestellt. Der Autor haftet nicht für Schäden, die aus der Nutzung des Skills entstehen.