操作审计
operator-audit
/operator-audit
对 Kubernetes Operator 仓库运行完整审计:
1. 根据 operator-pattern 最佳实践验证所有 CRD YAML
2. 对每个 Go 控制器的 reconcile 函数进行 Lint 检查,识别反模式
3. 根据 OperatorHub 能力等级(1-5 级)对 Operator 进行评分
4. 输出一份 Markdown 报告,包含每项检查的通过/失败状态及具体的后续改进步骤
使用方法
code
/operator-audit
/operator-audit --operator-dir ./my-operator
/operator-audit --crd-dir ./config/crd --controller-dir ./controllers实现细节
bash
SKILL=engineering/kubernetes-operator/skills/kubernetes-operator
DIR="${OPERATOR_DIR:-.}"
echo "## CRD validation"
python "$SKILL/scripts/crd_validator.py" --crd "$DIR/config/crd" || true
echo ""
echo "## Reconcile lint"
python "$SKILL/scripts/reconcile_lint.py" --controller "$DIR/controllers" || python "$SKILL/scripts/reconcile_lint.py" --controller "$DIR/internal/controller" || true
echo ""
echo "## Capability audit"
python "$SKILL/scripts/operator_capability_audit.py" --operator-dir "$DIR"
输出结果
一份包含以下内容的 Markdown 报告:
- CRD 检查结果(按文件):每项检查标记为 FAIL / WARN / PASS
- Reconcile 检查结果:带有行号的反模式记录
- 当前能力等级 + 具体的提升步骤
前置条件
- 在 Kubernetes Operator 仓库中运行
- Go 控制器需位于
controllers/或internal/controller/
- CRD 需位于
config/crd/(kubebuilder 布局)
- 已安装
kubernetes-operatorskill
后置条件
- Markdown 报告将流式输出到终端
- 若全部 PASS 则退出码为 0;若有任何 FAIL 则退出码为 1