cel-rule-skill은(는) 무엇을 하나요?
자체 포함된 celctl CLI + Claude 스킬로, Kubernetes CEL 규정 준수 규칙 (ComplianceAsCode/content cel/shared.yml 포함)을 작성, 검증, 단위 테스트 및 실행할 수 있습니다 — MCP 서버가 필요 없습니다.
개요
이 스킬은 Kubernetes 환경에서 CEL 기반 규정 준수 규칙을 생성, 테스트 및 실행하는 작업 흐름을 간소화합니다. CLI와 Claude의 맥락 인식 기능을 결합하여 반복적인 규칙 개발을 지원합니다.
주요 기능
- 규칙 작성: CEL 표현식을 사용하여 새로운 규정 준수 규칙을 작성합니다.
- 검증: 제공된 규칙이 예상 YAML 스키마를 따르는지 확인합니다.
- 단위 테스트: 예제 Kubernetes 리소스에 대해 규칙을 테스트하여 예상대로 작동하는지 확인합니다.
- 실행: 규칙을 실행하여 규정 준수 검사를 수행합니다.
- 통합: ComplianceAsCode/content 프로젝트에서 기존 규칙 (예:
cel/shared.yml)을 지원합니다.
사전 조건
- celctl CLI:
celctl명령줄 도구가 시스템에 설치되어 있어야 합니다. 설치 방법은 celctl 저장소를 참조하세요. - Claude: 이 스킬은 Claude 데스크톱 앱 또는 웹 인터페이스와 함께 사용하도록 설계되었습니다.
시작하기
1. celctl 설치
# 예제 설치 명령 (실제 지침은 celctl 저장소 참조)
go install github.com/vincent056/celctl@latest
2. Claude에서 스킬 활성화
이 스킬을 Claude에 추가하려면 claude_desktop_config.json 또는 해당되는 구성 파일에 다음 구성을 포함하세요:
{
"skills": [
{
"name": "cel-rule-skill",
"repository": "Vincent056/cel-rule-skill"
}
]
}
3. CEL 규칙 생성
Claude에게 "새 CEL 규정 준수 규칙을 만들어줘"라고 요청하세요. 스킬이 생성 프로세스를 안내합니다.
사용법
규칙 작성
규칙은 일반적으로 CEL 표현식과 메타데이터를 포함하는 YAML 파일로 정의됩니다. 예:
apiVersion: compliance.openshift.io/v1alpha1
kind: ComplianceRule
metadata:
name: example-rule
spec:
cel:
expression: 'resource.spec.replicas > 1'
description: "복제본이 1보다 큰지 확인합니다"
규칙 검증
celctl validate rule.yaml
단위 테스트
테스트 케이스가 포함된 YAML 파일을 생성하세요:
tests:
- name: "테스트 1: 복제본이 2인 경우"
input:
apiVersion: apps/v1
kind: Deployment
spec:
replicas: 2
expected: true
- name: "테스트 2: 복제본이 1인 경우"
input:
apiVersion: apps/v1
kind: Deployment
spec:
replicas: 1
expected: false
celctl test rule.yaml tests.yaml
규칙 실행
celctl run rule.yaml --resource deployment.yaml
ComplianceAsCode 통합
ComplianceAsCode/content 저장소의 규칙으로 작업하려면 해당 파일을 로컬에 복제하거나 다운로드하세요:
git clone https://github.com/ComplianceAsCode/content.git
그런 다음 Claude에게 "ComplianceAsCode의 cel/shared.yml 규칙을 검증해줘"라고 요청하세요. 스킬이 자동으로 파일을 찾고 처리합니다.
예제 워크플로우
- 초기화: Claude에게 "celctl 작업 공간을 초기화해줘"라고 요청하세요.
- 작성: Claude가 안내하는 대로 새로운 규칙을 생성하세요.
- 검증: 규칙을 검증하여 오류가 없는지 확인하세요.
- 테스트: 예제 리소스로 단위 테스트를 작성하고 실행하세요.
- 실행: Kubernetes 클러스터의 실제 리소스에 대해 규칙을 실행하세요.
- 반복: Claude가 제공하는 피드백을 기반으로 규칙을 수정하고 개선하세요.
문제 해결
- celctl을 찾을 수 없음: celctl이 설치되어 있고 PATH에 있는지 확인하세요.
- YAML 오류: YAML 파일 형식이 올바른지 확인하세요. 특히 들여쓰기에 주의하세요.
- 권한 문제: 규칙 파일과 테스트 파일을 읽고 쓸 수 있는 적절한 권한이 있는지 확인하세요.
추가 리소스
라이선스
이 스킬은 MIT 라이선스에 따라 배포됩니다.