@raishin/vanguard-frontier-agentic 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +250 -110
- package/agents/AGENTS.md +263 -21
- package/agents/argocd/README.md +46 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/AGENT.md +55 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/codex.toml +29 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/metadata.json +31 -0
- package/agents/argocd/argocd-gitops-review-agent/AGENT.md +55 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/codex.toml +32 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/metadata.json +30 -0
- package/agents/aws/aws-live-deployment-guarded-operator-agent/metadata.json +10 -1
- package/agents/aws/aws-live-ecs-rollout-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-live-iac-change-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-live-pipeline-approval-operator-agent/metadata.json +10 -1
- package/agents/aws/aws-live-serverless-release-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-private-ca-issuer-review-agent/AGENT.md +53 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/metadata.json +37 -0
- package/agents/azure/README.md +45 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/AGENT.md +53 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/metadata.json +36 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-cost-budget-action-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/AGENT.md +59 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/codex.toml +34 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/metadata.json +37 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/metadata.json +11 -2
- package/agents/backstage/README.md +36 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/AGENT.md +54 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/codex.toml +31 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/metadata.json +30 -0
- package/agents/cert-manager/README.md +46 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/AGENT.md +55 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/codex.toml +29 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/metadata.json +31 -0
- package/agents/cilium/README.md +46 -0
- package/agents/cilium/cilium-network-policy-review-agent/AGENT.md +55 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/codex.toml +32 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/metadata.json +37 -0
- package/agents/falco/README.md +36 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/AGENT.md +49 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/codex.toml +31 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/metadata.json +31 -0
- package/agents/finops/README.md +27 -0
- package/agents/finops/finops-cloud-price-advisor-agent/metadata.json +10 -1
- package/agents/fluxcd/README.md +39 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/AGENT.md +55 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/codex.toml +32 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/metadata.json +31 -0
- package/agents/istio/README.md +46 -0
- package/agents/istio/istio-ambient-mesh-review-agent/AGENT.md +55 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/codex.toml +32 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/metadata.json +30 -0
- package/agents/kubernetes/README.md +143 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/AGENT.md +49 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/codex.toml +31 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/metadata.json +31 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/AGENT.md +56 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/claude-code.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/copilot.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/cursor.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/kiro-ide.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/metadata.json +31 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/AGENT.md +62 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/claude-code.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/codex.toml +35 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/copilot.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/cursor.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/kiro-ide.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/copilot.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/cursor.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/gemini.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/metadata.json +40 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/AGENT.md +54 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/codex.toml +27 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/codex.toml +29 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/codex.toml +32 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/copilot.agent.md +51 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/codex.toml +29 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/metadata.json +37 -0
- package/agents/kyverno/README.md +46 -0
- package/agents/kyverno/kyverno-policy-review-agent/AGENT.md +55 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/codex.toml +32 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/metadata.json +30 -0
- package/agents/oci/README.md +45 -0
- package/agents/oci/oci-certificates-issuer-review-agent/AGENT.md +53 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/metadata.json +36 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/metadata.json +11 -2
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/metadata.json +11 -2
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/metadata.json +10 -1
- package/agents/oci/oci-live-network-security-rule-guard-agent/AGENT.md +59 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/codex.toml +34 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/metadata.json +37 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/metadata.json +11 -2
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/metadata.json +10 -1
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/metadata.json +10 -1
- package/agents/opentelemetry/README.md +37 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/AGENT.md +55 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/codex.toml +32 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/metadata.json +37 -0
- package/agents/prometheus/README.md +36 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/AGENT.md +48 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/claude-code.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/codex.toml +31 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/copilot.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/cursor.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/gemini.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/kiro-ide.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/metadata.json +31 -0
- package/agents/sigstore/README.md +38 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/AGENT.md +55 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/codex.toml +29 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/metadata.json +31 -0
- package/agents/terraform/README.md +29 -0
- package/agents/terraform/terraform-reviewer/AGENT.md +2 -1
- package/agents/terraform/terraform-reviewer/harnesses/claude-code.agent.md +29 -0
- package/agents/terraform/terraform-reviewer/harnesses/codex.toml +29 -0
- package/agents/terraform/terraform-reviewer/harnesses/copilot.agent.md +42 -0
- package/agents/terraform/terraform-reviewer/harnesses/cursor.agent.md +31 -0
- package/agents/terraform/terraform-reviewer/harnesses/gemini.agent.md +30 -0
- package/agents/terraform/terraform-reviewer/harnesses/kiro-cli.agent.json +5 -0
- package/agents/terraform/terraform-reviewer/harnesses/kiro-ide.agent.md +29 -0
- package/agents/terraform/terraform-reviewer/metadata.json +10 -1
- package/agents/velero/README.md +41 -0
- package/assets/logos/vanguard-frontier-agentic-logo.png +0 -0
- package/catalog/agents.json +1452 -634
- package/catalog/install-roles.json +455 -0
- package/catalog/skill-manifest.json +1089 -335
- package/catalog/skills.json +1298 -528
- package/package.json +32 -3
- package/schemas/AGENTS.md +14 -0
- package/schemas/agent.frontmatter.schema.json +89 -0
- package/schemas/agent.schema.json +8 -0
- package/schemas/skill.frontmatter.schema.json +95 -0
- package/scripts/apply-skill-allowed-tools.py +142 -0
- package/scripts/backfill-skill-metadata.py +410 -0
- package/scripts/export-marketplace-agents.mjs +275 -9
- package/scripts/update-catalog-new-agents.py +88 -0
- package/skills/argocd/README.md +30 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/SKILL.md +43 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/metadata.json +22 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/references/workflow-and-output.md +248 -0
- package/skills/argocd/argocd-gitops-review/SKILL.md +46 -0
- package/skills/argocd/argocd-gitops-review/metadata.json +30 -0
- package/skills/argocd/argocd-gitops-review/references/mcp-and-evidence.md +53 -0
- package/skills/argocd/argocd-gitops-review/references/official-sources.md +32 -0
- package/skills/argocd/argocd-gitops-review/references/workflow-and-output.md +120 -0
- package/skills/aws/README.md +3 -1
- package/skills/aws/aws-agentcore/SKILL.md +3 -0
- package/skills/aws/aws-api-edge-delivery-review/SKILL.md +3 -0
- package/skills/aws/aws-bedrock-agent-security-governor/SKILL.md +3 -0
- package/skills/aws/aws-change-impact-advisor/SKILL.md +3 -0
- package/skills/aws/aws-ci-cd-release-engineer/SKILL.md +3 -0
- package/skills/aws/aws-compliance-evidence-mapper/SKILL.md +3 -0
- package/skills/aws/aws-cost-anomaly-watch-coordinator/SKILL.md +3 -0
- package/skills/aws/aws-cost-optimization-governor/SKILL.md +3 -0
- package/skills/aws/aws-daily-operations-briefing-coordinator/SKILL.md +3 -0
- package/skills/aws/aws-data-protection-backup-steward/SKILL.md +3 -0
- package/skills/aws/aws-deployment-hotfix-operator/SKILL.md +3 -0
- package/skills/aws/aws-devops-agent-skill-designer/SKILL.md +3 -0
- package/skills/aws/aws-dynamodb-data-modeling-performance-review/SKILL.md +3 -0
- package/skills/aws/aws-ec2-compute-operations-steward/SKILL.md +3 -0
- package/skills/aws/aws-ecs-fargate-platform-operator/SKILL.md +3 -0
- package/skills/aws/aws-ecs-service-remediation-operator/SKILL.md +3 -0
- package/skills/aws/aws-eks-platform-operator/SKILL.md +3 -0
- package/skills/aws/aws-event-driven-architecture-review/SKILL.md +3 -0
- package/skills/aws/aws-generative-ai-developer/SKILL.md +3 -0
- package/skills/aws/aws-iac-change-safety-review/SKILL.md +3 -0
- package/skills/aws/aws-iac-patch-executor/SKILL.md +3 -0
- package/skills/aws/aws-iam-least-privilege-review/SKILL.md +3 -0
- package/skills/aws/aws-kms-secrets-lifecycle-steward/SKILL.md +3 -0
- package/skills/aws/aws-landing-zone-governor/SKILL.md +3 -0
- package/skills/aws/aws-live-deployment-guarded-operator/SKILL.md +3 -0
- package/skills/aws/aws-live-ecs-rollout-guard/SKILL.md +3 -0
- package/skills/aws/aws-live-iac-change-guard/SKILL.md +3 -0
- package/skills/aws/aws-live-pipeline-approval-operator/SKILL.md +3 -0
- package/skills/aws/aws-live-serverless-release-guard/SKILL.md +3 -0
- package/skills/aws/aws-maestro/SKILL.md +3 -0
- package/skills/aws/aws-maestro/references/workflow-and-output.md +2 -0
- package/skills/aws/aws-migration-cutover-architect/SKILL.md +3 -0
- package/skills/aws/aws-network-architect/SKILL.md +3 -0
- package/skills/aws/aws-non-destructive-task-automation-advisor/SKILL.md +3 -0
- package/skills/aws/aws-observability-incident-responder/SKILL.md +3 -0
- package/skills/aws/aws-pipeline-fix-operator/SKILL.md +3 -0
- package/skills/aws/aws-private-ca-issuer-review/SKILL.md +42 -0
- package/skills/aws/aws-private-ca-issuer-review/metadata.json +21 -0
- package/skills/aws/aws-private-ca-issuer-review/references/official-sources.md +22 -0
- package/skills/aws/aws-private-ca-issuer-review/references/safety-checklist.md +30 -0
- package/skills/aws/aws-private-ca-issuer-review/references/workflow-and-output.md +214 -0
- package/skills/aws/aws-rds-aurora-performance-investigator/SKILL.md +3 -0
- package/skills/aws/aws-resilience-bcdr-review/SKILL.md +3 -0
- package/skills/aws/aws-s3-data-perimeter-governor/SKILL.md +3 -0
- package/skills/aws/aws-security-posture-hardening/SKILL.md +3 -0
- package/skills/aws/aws-serverless-production-readiness/SKILL.md +3 -0
- package/skills/aws/aws-serverless-rollout-corrector/SKILL.md +3 -0
- package/skills/aws/aws-solution-architect/SKILL.md +3 -0
- package/skills/aws/aws-ticket-triage-escalation-coordinator/SKILL.md +3 -0
- package/skills/azure/README.md +3 -1
- package/skills/azure/azure-ai-foundry-ops-governor/SKILL.md +3 -0
- package/skills/azure/azure-aks-platform-operator/SKILL.md +3 -0
- package/skills/azure/azure-app-service-production-readiness/SKILL.md +3 -0
- package/skills/azure/azure-cosmosdb-application-developer/SKILL.md +3 -0
- package/skills/azure/azure-cosmosdb-performance-investigator/SKILL.md +3 -0
- package/skills/azure/azure-cosmosdb-platform-operator/SKILL.md +3 -0
- package/skills/azure/azure-cost-estimation-review/SKILL.md +3 -0
- package/skills/azure/azure-cost-optimization-governor/SKILL.md +3 -0
- package/skills/azure/azure-entra-id-specialist/SKILL.md +3 -0
- package/skills/azure/azure-governance-policy-guardrails/SKILL.md +3 -0
- package/skills/azure/azure-identity-governance-review/SKILL.md +3 -0
- package/skills/azure/azure-key-vault-secret-lifecycle-auditor/SKILL.md +3 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/SKILL.md +40 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/metadata.json +20 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/references/workflow-and-output.md +190 -0
- package/skills/azure/azure-landing-zone-architect/SKILL.md +3 -0
- package/skills/azure/azure-live-aks-rollout-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-cost-budget-action-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/SKILL.md +59 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/metadata.json +28 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/official-sources.md +21 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/permission-model.md +70 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/preflight-commands.md +69 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/rollback-playbook.md +51 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/SKILL.md +3 -0
- package/skills/azure/azure-maestro/SKILL.md +3 -0
- package/skills/azure/azure-migrate-landing-zone-cutover/SKILL.md +3 -0
- package/skills/azure/azure-network-topology-review/SKILL.md +3 -0
- package/skills/azure/azure-observability-investigator/SKILL.md +3 -0
- package/skills/azure/azure-platform-automation-devops/SKILL.md +3 -0
- package/skills/azure/azure-private-endpoint-adoption-planner/SKILL.md +3 -0
- package/skills/azure/azure-rbac-review/SKILL.md +3 -0
- package/skills/azure/azure-resilience-bcdr-review/SKILL.md +3 -0
- package/skills/azure/azure-resource-health-incident-triage/SKILL.md +3 -0
- package/skills/azure/azure-role-selector/SKILL.md +3 -0
- package/skills/azure/azure-security-posture-hardening/SKILL.md +3 -0
- package/skills/azure/azure-subscription-resource-organization/SKILL.md +3 -0
- package/skills/backstage/backstage-scaffolder-template-review/SKILL.md +42 -0
- package/skills/backstage/backstage-scaffolder-template-review/metadata.json +21 -0
- package/skills/backstage/backstage-scaffolder-template-review/references/workflow-and-output.md +179 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/SKILL.md +43 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/metadata.json +22 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/references/workflow-and-output.md +222 -0
- package/skills/cilium/README.md +30 -0
- package/skills/cilium/cilium-network-policy-review/SKILL.md +46 -0
- package/skills/cilium/cilium-network-policy-review/metadata.json +30 -0
- package/skills/cilium/cilium-network-policy-review/references/mcp-and-evidence.md +52 -0
- package/skills/cilium/cilium-network-policy-review/references/official-sources.md +30 -0
- package/skills/cilium/cilium-network-policy-review/references/workflow-and-output.md +130 -0
- package/skills/falco/falco-runtime-threat-rules-review/SKILL.md +40 -0
- package/skills/falco/falco-runtime-threat-rules-review/metadata.json +22 -0
- package/skills/falco/falco-runtime-threat-rules-review/references/workflow-and-output.md +249 -0
- package/skills/finops/README.md +30 -0
- package/skills/finops/finops-cloud-price-advisor/SKILL.md +3 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/SKILL.md +43 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/metadata.json +22 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/references/workflow-and-output.md +243 -0
- package/skills/istio/README.md +28 -0
- package/skills/istio/istio-ambient-mesh-review/SKILL.md +46 -0
- package/skills/istio/istio-ambient-mesh-review/metadata.json +30 -0
- package/skills/istio/istio-ambient-mesh-review/references/mcp-and-evidence.md +59 -0
- package/skills/istio/istio-ambient-mesh-review/references/official-sources.md +32 -0
- package/skills/istio/istio-ambient-mesh-review/references/workflow-and-output.md +128 -0
- package/skills/kubernetes/README.md +30 -0
- package/skills/kubernetes/external-secrets-operator-review/SKILL.md +40 -0
- package/skills/kubernetes/external-secrets-operator-review/metadata.json +22 -0
- package/skills/kubernetes/external-secrets-operator-review/references/workflow-and-output.md +280 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/SKILL.md +43 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/metadata.json +22 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/references/workflow-and-output.md +215 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/SKILL.md +60 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/metadata.json +27 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/official-sources.md +18 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/permission-model.md +78 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/preflight-commands.md +81 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/rollback-playbook.md +61 -0
- package/skills/kubernetes/kubernetes-maestro/SKILL.md +48 -0
- package/skills/kubernetes/kubernetes-maestro/metadata.json +24 -0
- package/skills/kubernetes/kubernetes-maestro/references/safety-checklist.md +78 -0
- package/skills/kubernetes/kubernetes-maestro/references/workflow-and-output.md +206 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/SKILL.md +46 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/metadata.json +28 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/mcp-and-evidence.md +49 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/official-sources.md +26 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/workflow-and-output.md +129 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/SKILL.md +41 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/metadata.json +22 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/references/workflow-and-output.md +229 -0
- package/skills/kubernetes/kubernetes-rbac-review/SKILL.md +41 -0
- package/skills/kubernetes/kubernetes-rbac-review/metadata.json +27 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/mcp-and-evidence.md +34 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/official-sources.md +22 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/workflow-and-output.md +44 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/SKILL.md +46 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/metadata.json +29 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/mcp-and-evidence.md +57 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/official-sources.md +47 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/workflow-and-output.md +166 -0
- package/skills/kyverno/README.md +30 -0
- package/skills/kyverno/kyverno-policy-review/SKILL.md +46 -0
- package/skills/kyverno/kyverno-policy-review/metadata.json +30 -0
- package/skills/kyverno/kyverno-policy-review/references/mcp-and-evidence.md +49 -0
- package/skills/kyverno/kyverno-policy-review/references/official-sources.md +31 -0
- package/skills/kyverno/kyverno-policy-review/references/workflow-and-output.md +106 -0
- package/skills/oci/README.md +63 -0
- package/skills/oci/oci-autonomous-database-architect/SKILL.md +3 -0
- package/skills/oci/oci-certificates-issuer-review/SKILL.md +40 -0
- package/skills/oci/oci-certificates-issuer-review/metadata.json +20 -0
- package/skills/oci/oci-certificates-issuer-review/references/workflow-and-output.md +207 -0
- package/skills/oci/oci-cloud-guard-responder/SKILL.md +3 -0
- package/skills/oci/oci-compute-instance-agent-operator/SKILL.md +3 -0
- package/skills/oci/oci-compute-platform-operator/SKILL.md +3 -0
- package/skills/oci/oci-cost-finops-analyst/SKILL.md +3 -0
- package/skills/oci/oci-database-platform-dba/SKILL.md +3 -0
- package/skills/oci/oci-dbtools-sql-analyst/SKILL.md +3 -0
- package/skills/oci/oci-devops-container-platform-engineer/SKILL.md +3 -0
- package/skills/oci/oci-exadata-database-architect/SKILL.md +3 -0
- package/skills/oci/oci-exadata-platform-architect/SKILL.md +3 -0
- package/skills/oci/oci-fusion-apps-environment-operator/SKILL.md +3 -0
- package/skills/oci/oci-goldengate-replication-operator/SKILL.md +3 -0
- package/skills/oci/oci-identity-access-governor/SKILL.md +3 -0
- package/skills/oci/oci-iot-digital-twin-engineer/SKILL.md +3 -0
- package/skills/oci/oci-limits-capacity-planner/SKILL.md +3 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-network-security-rule-guard/SKILL.md +60 -0
- package/skills/oci/oci-live-network-security-rule-guard/metadata.json +28 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/official-sources.md +21 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/permission-model.md +65 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/preflight-commands.md +69 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/rollback-playbook.md +79 -0
- package/skills/oci/oci-live-oke-rollout-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/SKILL.md +3 -0
- package/skills/oci/oci-load-balancer-traffic-engineer/SKILL.md +3 -0
- package/skills/oci/oci-maestro/SKILL.md +3 -0
- package/skills/oci/oci-migration-cutover-architect/SKILL.md +3 -0
- package/skills/oci/oci-multi-cloud-architect/SKILL.md +3 -0
- package/skills/oci/oci-mysql-heatwave-ai-specialist/SKILL.md +3 -0
- package/skills/oci/oci-network-architect/SKILL.md +3 -0
- package/skills/oci/oci-observability-incident-responder/SKILL.md +3 -0
- package/skills/oci/oci-recovery-service-operator/SKILL.md +3 -0
- package/skills/oci/oci-registry-artifact-governor/SKILL.md +3 -0
- package/skills/oci/oci-resource-search-inventory-analyst/SKILL.md +3 -0
- package/skills/oci/oci-security-compliance-reviewer/SKILL.md +3 -0
- package/skills/oci/oci-solution-architect/SKILL.md +3 -0
- package/skills/oci/oci-storage-backup-steward/SKILL.md +3 -0
- package/skills/oci/oci-support-incident-coordinator/SKILL.md +3 -0
- package/skills/oci/oracle-oci-mcp-grounded-advisor/SKILL.md +3 -0
- package/skills/opentelemetry/README.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/SKILL.md +47 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/metadata.json +30 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/mcp-and-evidence.md +49 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/official-sources.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/workflow-and-output.md +155 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/SKILL.md +41 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/metadata.json +22 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/references/workflow-and-output.md +221 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/SKILL.md +42 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/metadata.json +22 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/references/workflow-and-output.md +196 -0
- package/skills/terraform/README.md +29 -0
- package/skills/terraform/terraform-maestro/SKILL.md +3 -0
- package/skills/velero/velero-backup-restore-guard/SKILL.md +44 -0
- package/skills/velero/velero-backup-restore-guard/metadata.json +21 -0
- package/skills/velero/velero-backup-restore-guard/references/safety-checklist.md +40 -0
- package/skills/velero/velero-backup-restore-guard/references/workflow-and-output.md +202 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Routing table and domain taxonomy
|
|
2
|
+
|
|
3
|
+
Use this reference when classifying a task or selecting the right specialist(s).
|
|
4
|
+
|
|
5
|
+
## Routing table
|
|
6
|
+
|
|
7
|
+
| Signal keywords | Agent ID | Domain | Live-guard? |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| RBAC, Role, ClusterRole, RoleBinding, ClusterRoleBinding, ServiceAccount, can-i, least privilege, permissions | kubernetes-rbac-review-agent | RBAC review | No |
|
|
10
|
+
| apply RBAC, kubectl apply role, grant permission, bind ClusterRole, create RoleBinding, escalate verb, add permissions | kubernetes-live-rbac-mutation-guard-agent | Live RBAC mutation | YES |
|
|
11
|
+
| PSA, PodSecurityAdmission, pod-security label, enforce/audit/warn, restricted profile, baseline profile, privileged profile, PSP migration, namespace label | kubernetes-psa-review-agent | Pod security admission review | No |
|
|
12
|
+
| Kyverno, ClusterPolicy, kyverno policy, PolicyException, mutate rule, generate rule, image verify, background scan, failureAction | kyverno-policy-review-agent | Kyverno policy review | No |
|
|
13
|
+
| apply Kyverno policy, kubectl apply cpol, change failureAction, delete ClusterPolicy, add PolicyException, ValidatingAdmissionPolicy | kubernetes-live-admission-policy-guard-agent | Live admission policy mutation | YES |
|
|
14
|
+
| IRSA, workload identity, serviceAccountToken, OIDC trust, pod identity, azure workload identity, GKE WI, annotate serviceaccount, projected token, eks.amazonaws.com | kubernetes-workload-identity-review-agent | Workload identity review | No |
|
|
15
|
+
| Istio, ambient mesh, waypoint, ztunnel, AuthorizationPolicy, PeerAuthentication, mTLS, RequestAuthentication, VirtualService, DestinationRule, HBONE | istio-ambient-mesh-review-agent | Istio mesh review | No |
|
|
16
|
+
| apply AuthorizationPolicy, apply PeerAuthentication, change mTLS, delete DENY policy, enable PERMISSIVE, istioctl apply | kubernetes-live-mesh-policy-guard-agent | Live mesh policy mutation | YES |
|
|
17
|
+
| Cilium, CiliumNetworkPolicy, CiliumClusterwideNetworkPolicy, NetworkPolicy, ClusterMesh, egress gateway, Hubble, L7 policy, toCIDRSet | cilium-network-policy-review-agent | Cilium network policy review | No |
|
|
18
|
+
| apply CiliumNetworkPolicy, kubectl apply cnp, delete default-deny, change toCIDRSet, egress gateway policy | kubernetes-live-network-policy-guard-agent | Live network policy mutation | YES |
|
|
19
|
+
| Argo CD, ArgoCD, Application, AppProject, ApplicationSet, sync window, argocd sync, gitops, app of apps, ApplicationSet | argocd-gitops-review-agent | Argo CD GitOps review | No |
|
|
20
|
+
| argocd app sync, sync production, delete sync-window, expand AppProject, enable auto-sync, ApplicationSet cluster generator | kubernetes-live-argocd-sync-guard-agent | Live Argo CD sync guard | YES |
|
|
21
|
+
| OpenTelemetry, OTEL, otelcol, collector, pipeline, receiver, processor, exporter, Instrumentation CR, TargetAllocator, memory_limiter | opentelemetry-collector-config-review-agent | OpenTelemetry collector review | No |
|
|
22
|
+
| cert-manager, ClusterIssuer, Issuer, CertificateRequest, CertificateRequestPolicy, approver-policy, trust-manager, Bundle, ConfigMapBundle, certificate renewal, TLS cert K8s, mTLS cert, SPIFFE, cert-manager webhook | cert-manager-issuer-trust-review-agent | PKI K8s review | No |
|
|
23
|
+
|
|
24
|
+
## Domain taxonomy
|
|
25
|
+
|
|
26
|
+
| Domain | Keywords and signals |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `rbac` | Role, ClusterRole, RoleBinding, ClusterRoleBinding, ServiceAccount, can-i, RBAC, least privilege, permission, verb, subject |
|
|
29
|
+
| `admission-security` | PSA, PodSecurityAdmission, pod-security label, enforce, audit, warn, restricted, baseline, privileged, PSP migration, Kyverno, ClusterPolicy, PolicyException, mutate, generate, image verify |
|
|
30
|
+
| `workload-identity` | IRSA, workload identity, serviceAccountToken, OIDC, pod identity, azure workload identity, GKE WI, projected token, bound service account |
|
|
31
|
+
| `mesh` | Istio, ambient mesh, waypoint, ztunnel, AuthorizationPolicy, PeerAuthentication, mTLS, RequestAuthentication, VirtualService, DestinationRule, Envoy |
|
|
32
|
+
| `network-policy` | Cilium, CiliumNetworkPolicy, NetworkPolicy, ClusterMesh, Hubble, egress gateway, L7 policy, CNI |
|
|
33
|
+
| `gitops` | Argo CD, ArgoCD, Application, AppProject, ApplicationSet, sync window, app of apps, GitOps, deployment sync |
|
|
34
|
+
| `observability` | OpenTelemetry, OTEL, otelcol, collector, pipeline, receiver, processor, exporter, Instrumentation CR, TargetAllocator, tracing, metrics, logs |
|
|
35
|
+
| `pki` | cert-manager, ClusterIssuer, Issuer, CertificateRequest, CertificateRequestPolicy, approver-policy, trust-manager, Bundle, ConfigMapBundle, certificate renewal, TLS cert, SPIFFE, cert-manager webhook |
|
|
36
|
+
| `live-guard` | apply RBAC live, apply admission policy live, change mTLS live, apply network policy live, argocd sync production, requires human gate, production mutation |
|
|
37
|
+
|
|
38
|
+
## Specialist reference
|
|
39
|
+
|
|
40
|
+
### RBAC
|
|
41
|
+
|
|
42
|
+
| Agent | Domain | Use when… |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| `kubernetes-rbac-review-agent` | RBAC review | Reviewing Roles, ClusterRoles, bindings, ServiceAccount permissions, or running kubectl auth can-i audit for least privilege |
|
|
45
|
+
| `kubernetes-live-rbac-mutation-guard-agent` | Live RBAC mutation | Applying new RBAC objects, granting permissions, binding ClusterRoles, or escalating verbs in a live cluster — gate required |
|
|
46
|
+
|
|
47
|
+
### Admission security
|
|
48
|
+
|
|
49
|
+
| Agent | Domain | Use when… |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `kubernetes-psa-review-agent` | Pod security admission | Reviewing PSA labels on namespaces, enforcing/auditing/warning against restricted or baseline profiles, or planning PSP migration |
|
|
52
|
+
| `kyverno-policy-review-agent` | Kyverno policy review | Reviewing or authoring Kyverno ClusterPolicies, mutate/generate/verify rules, PolicyExceptions, or running background scan analysis |
|
|
53
|
+
| `kubernetes-live-admission-policy-guard-agent` | Live admission policy mutation | Applying or deleting Kyverno ClusterPolicies, changing failureAction, or adding PolicyExceptions in a live cluster — gate required |
|
|
54
|
+
|
|
55
|
+
### Workload identity
|
|
56
|
+
|
|
57
|
+
| Agent | Domain | Use when… |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `kubernetes-workload-identity-review-agent` | Workload identity review | Reviewing IRSA annotations, OIDC trust relationships, projected serviceAccountToken usage, Azure Workload Identity, or GKE Workload Identity setup |
|
|
60
|
+
|
|
61
|
+
### Mesh
|
|
62
|
+
|
|
63
|
+
| Agent | Domain | Use when… |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| `istio-ambient-mesh-review-agent` | Istio mesh review | Reviewing Istio ambient mesh waypoint config, AuthorizationPolicy, PeerAuthentication, mTLS mode, VirtualService/DestinationRule, or RequestAuthentication |
|
|
66
|
+
| `kubernetes-live-mesh-policy-guard-agent` | Live mesh policy mutation | Applying or deleting AuthorizationPolicy or PeerAuthentication, changing mTLS mode, or enabling PERMISSIVE mode in a live cluster — gate required |
|
|
67
|
+
|
|
68
|
+
### Network policy
|
|
69
|
+
|
|
70
|
+
| Agent | Domain | Use when… |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| `cilium-network-policy-review-agent` | Cilium network policy review | Reviewing CiliumNetworkPolicy, CiliumClusterwideNetworkPolicy, ClusterMesh config, Hubble observability, or L7 policy rules |
|
|
73
|
+
| `kubernetes-live-network-policy-guard-agent` | Live network policy mutation | Applying or deleting CiliumNetworkPolicy, removing default-deny rules, changing toCIDRSet, or modifying egress gateway config in a live cluster — gate required |
|
|
74
|
+
|
|
75
|
+
### GitOps
|
|
76
|
+
|
|
77
|
+
| Agent | Domain | Use when… |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `argocd-gitops-review-agent` | Argo CD GitOps review | Reviewing ArgoCD Application/AppProject/ApplicationSet config, sync windows, app-of-apps patterns, or GitOps reconciliation strategy |
|
|
80
|
+
| `kubernetes-live-argocd-sync-guard-agent` | Live Argo CD sync guard | Triggering an argocd app sync to production, deleting sync windows, expanding AppProject scope, or enabling auto-sync on a production app — gate required |
|
|
81
|
+
|
|
82
|
+
### Observability
|
|
83
|
+
|
|
84
|
+
| Agent | Domain | Use when… |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| `opentelemetry-collector-config-review-agent` | OpenTelemetry review | Reviewing OpenTelemetry Collector pipelines, receiver/processor/exporter configs, Instrumentation CRs, or TargetAllocator setup for Kubernetes workloads |
|
|
87
|
+
|
|
88
|
+
### PKI
|
|
89
|
+
|
|
90
|
+
| Agent | Domain | Use when… |
|
|
91
|
+
|---|---|---|
|
|
92
|
+
| `cert-manager-issuer-trust-review-agent` | PKI K8s review | Reviewing cert-manager ClusterIssuer/Issuer scope, CertificateRequestPolicy coverage, Certificate SAN and duration risks, trust-manager bundle distribution, or SPIFFE trust domain integration |
|
|
93
|
+
|
|
94
|
+
**Cross-layer note:** cert-manager is a certificate lifecycle controller, not a CA. When the task involves the cloud Private CA configuration (template ARN, IRSA/Managed Identity scope, CRL reachability, CA hierarchy), escalate to the relevant cloud maestro in parallel: `aws-private-ca-issuer-review-agent` (AWS), `azure-keyvault-certificate-issuer-review-agent` (Azure), `oci-certificates-issuer-review-agent` (OCI). See `docs/pki-cert-manager-agent-guide.md` for multi-agent PKI scenarios.
|
|
95
|
+
|
|
96
|
+
## Multi-domain dispatch examples
|
|
97
|
+
|
|
98
|
+
### Example 1: Namespace security posture + Kyverno policies
|
|
99
|
+
|
|
100
|
+
**User request:** "Review our namespace security posture AND check our Kyverno policies."
|
|
101
|
+
|
|
102
|
+
**Routing:**
|
|
103
|
+
```
|
|
104
|
+
Route: kubernetes-psa-review-agent, kyverno-policy-review-agent
|
|
105
|
+
Reason: Task spans PSA namespace label enforcement and Kyverno policy review — two separate admission security domains.
|
|
106
|
+
Mode: parallel (2)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
`kubernetes-psa-review-agent` reviews PSA enforce/audit/warn labels across namespaces and identifies any missing or permissive labels; `kyverno-policy-review-agent` reviews ClusterPolicies for correctness, failureAction settings, and background scan results.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### Example 2: Service mesh and network policies audit
|
|
114
|
+
|
|
115
|
+
**User request:** "Audit our service mesh and network policies."
|
|
116
|
+
|
|
117
|
+
**Routing:**
|
|
118
|
+
```
|
|
119
|
+
Route: istio-ambient-mesh-review-agent, cilium-network-policy-review-agent
|
|
120
|
+
Reason: Task spans Istio ambient mesh review and Cilium network policy review — two distinct network security domains.
|
|
121
|
+
Mode: parallel (2)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
`istio-ambient-mesh-review-agent` reviews waypoint configuration, AuthorizationPolicy, PeerAuthentication, and mTLS posture; `cilium-network-policy-review-agent` reviews CiliumNetworkPolicy default-deny posture, toCIDRSet rules, and ClusterMesh semantics.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### Example 3: RBAC, workload identity, and PSA for prod namespace
|
|
129
|
+
|
|
130
|
+
**User request:** "Check RBAC, workload identity, and PSA for our prod namespace."
|
|
131
|
+
|
|
132
|
+
**Routing:**
|
|
133
|
+
```
|
|
134
|
+
Route: kubernetes-rbac-review-agent, kubernetes-workload-identity-review-agent, kubernetes-psa-review-agent
|
|
135
|
+
Reason: Task spans RBAC least-privilege review, OIDC workload identity trust, and Pod Security Admission labels — three clearly identified domains.
|
|
136
|
+
Mode: parallel (3)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
All three specialists run in parallel: `kubernetes-rbac-review-agent` audits Role/ClusterRole bindings and verbs for the prod namespace; `kubernetes-workload-identity-review-agent` reviews IRSA or workload identity annotations and OIDC trust policy scope; `kubernetes-psa-review-agent` verifies PSA enforce label, profile, and version pinning on the prod namespace.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### Example 4: ArgoCD AppProject blast-radius + Kyverno policies before prod deploy
|
|
144
|
+
|
|
145
|
+
**User request:** "Review ArgoCD AppProject blast-radius and Kyverno policies before prod deploy."
|
|
146
|
+
|
|
147
|
+
**Routing:**
|
|
148
|
+
```
|
|
149
|
+
Route: argocd-gitops-review-agent, kyverno-policy-review-agent
|
|
150
|
+
Reason: Task spans Argo CD AppProject scope and Kyverno admission policy review — two distinct GitOps and admission security domains.
|
|
151
|
+
Mode: parallel (2)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
`argocd-gitops-review-agent` reviews the AppProject `sourceRepos`, `destinations`, `clusterResourceWhitelist`, and sync impersonation posture; `kyverno-policy-review-agent` reviews active ClusterPolicies for correctness and background scan violations that would block the deploy.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### Example 5: cert-manager setup + workload identity review
|
|
159
|
+
|
|
160
|
+
**User request:** "Review our cert-manager ClusterIssuer config and the IRSA annotation on the cert-manager ServiceAccount."
|
|
161
|
+
|
|
162
|
+
**Routing:**
|
|
163
|
+
```
|
|
164
|
+
Route: cert-manager-issuer-trust-review-agent, kubernetes-workload-identity-review-agent
|
|
165
|
+
Reason: Task spans cert-manager PKI K8s config (ClusterIssuer scope, CertificateRequestPolicy) and IRSA workload identity trust for the cert-manager ServiceAccount.
|
|
166
|
+
Mode: parallel (2)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
`cert-manager-issuer-trust-review-agent` reviews ClusterIssuer scope, CertificateRequestPolicy coverage, Certificate SAN and duration risks, and trust-manager distribution; `kubernetes-workload-identity-review-agent` reviews the IRSA annotation, OIDC trust policy, and whether the role is scoped to minimum required actions.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### Live-guard gate example
|
|
174
|
+
|
|
175
|
+
**User request:** "Apply the new ClusterRoleBinding for the payments service account in the prod cluster."
|
|
176
|
+
|
|
177
|
+
**Routing:**
|
|
178
|
+
```
|
|
179
|
+
Route: kubernetes-live-rbac-mutation-guard-agent
|
|
180
|
+
Reason: Applying a ClusterRoleBinding to a live production cluster is a live RBAC mutation — gate required.
|
|
181
|
+
Mode: live-guard-gate
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**STOP — Live-guard gate. Before this dispatch can proceed, you must provide:**
|
|
185
|
+
|
|
186
|
+
1. **Blast-radius assessment:** Which namespaces, workloads, and users are affected by this ClusterRoleBinding? What is the scope of the verbs and resources being granted?
|
|
187
|
+
2. **Rollback path:** What is the exact command to revoke this binding if it grants unintended access, and how long will rollback take?
|
|
188
|
+
3. **Explicit written confirmation:** Type "I confirm I understand the blast radius and rollback path. Proceed."
|
|
189
|
+
|
|
190
|
+
If you cannot supply a rollback path, route to `kubernetes-rbac-review-agent` first to develop a scoped binding with a documented revocation procedure.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Live-guard gate protocol
|
|
195
|
+
|
|
196
|
+
Before routing to any live-guard agent, surface all three and wait for explicit written confirmation:
|
|
197
|
+
|
|
198
|
+
1. **Blast-radius assessment** — which resources, namespaces, workloads, or users are affected if this goes wrong?
|
|
199
|
+
2. **Rollback path** — what is the tested recovery procedure, exact commands, and estimated recovery time?
|
|
200
|
+
3. **Explicit confirmation** — "I confirm I understand the blast radius and rollback path. Proceed."
|
|
201
|
+
|
|
202
|
+
If the user cannot supply a rollback path, recommend the corresponding review agent to develop the rollback path first before dispatching the live-guard agent.
|
|
203
|
+
|
|
204
|
+
## Safety checklist reference
|
|
205
|
+
|
|
206
|
+
Load [references/safety-checklist.md](safety-checklist.md) before any live-guard dispatch or when blast-radius assessment is required.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kubernetes-pod-security-admission-review
|
|
3
|
+
description: Use this skill for Kubernetes Pod Security Admission (PSA) review covering namespace labels for the three profiles (privileged, baseline, restricted), enforce/audit/warn modes, version pinning, and the migration path from deprecated PodSecurityPolicy. Trigger when the user asks whether a namespace label flip is safe, whether a workload meets a stricter profile, whether the audit/warn modes should be promoted to enforce, or whether an exemption is justified.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-05"
|
|
9
|
+
category: security
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Kubernetes Pod Security Admission Review
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Review the Kubernetes Pod Security Admission posture: namespace labels for `pod-security.kubernetes.io/enforce`, `audit`, and `warn`, the chosen profile (`privileged`, `baseline`, `restricted`), version pinning, and exemptions. PSA replaced the deprecated PodSecurityPolicy in Kubernetes 1.25. It is the foundation for any admission-time security story — Kyverno, OPA Gatekeeper, and other policy engines layer on top of (or alongside) PSA, not as replacements.
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
|
|
20
|
+
- Prefer live cluster evidence (`kubectl get namespaces --show-labels` plus `kubectl get pods -n <ns> -o yaml`) when the active client exposes it; otherwise fall back to official Kubernetes documentation and sanitized YAML.
|
|
21
|
+
- Separate confirmed facts from inference. If namespace labels, cluster admission configuration, or running pod security context state was not queried, say so.
|
|
22
|
+
- Treat **a production namespace with `enforce: privileged`** as a critical finding — the most permissive profile is enabled in a tier where nothing should be running with host access, privilege escalation, or capabilities.
|
|
23
|
+
- Treat **a production namespace with no PSA label at all** as a critical finding — the cluster default applies, which is `privileged` unless the cluster admin set a different default in `AdmissionConfiguration`.
|
|
24
|
+
- Challenge namespaces with `audit`/`warn` set but `enforce` missing — security violations are only logged, not blocked.
|
|
25
|
+
- Challenge `enforce-version: latest` — every Kubernetes upgrade can change profile semantics; pin to a specific minor.
|
|
26
|
+
- Challenge `kube-system` and operator namespaces excluded from PSA without documentation of which workloads require privileged access.
|
|
27
|
+
- Keep the answer scoped, reversible, least-privilege, and explicit about blockers or unknowns.
|
|
28
|
+
|
|
29
|
+
## References
|
|
30
|
+
|
|
31
|
+
Load these only when needed:
|
|
32
|
+
|
|
33
|
+
- [Evidence path and tooling](references/mcp-and-evidence.md) — use when choosing live evidence, confirming cluster admission configuration, or switching to documentation mode.
|
|
34
|
+
- [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review, applying profile-by-profile stress checks, or formatting the final answer.
|
|
35
|
+
- [Official sources](references/official-sources.md) — use when you need the detailed Kubernetes documentation list and grounded insights.
|
|
36
|
+
|
|
37
|
+
## Response minimum
|
|
38
|
+
|
|
39
|
+
Return, at minimum:
|
|
40
|
+
|
|
41
|
+
- the scoped target (specific namespace, set of namespaces, or cluster default) and evidence level,
|
|
42
|
+
- the active profile (`privileged` / `baseline` / `restricted`) and active mode (`enforce` / `audit` / `warn`),
|
|
43
|
+
- whether currently-running pods would still admit at the proposed profile,
|
|
44
|
+
- the exemption posture (cluster `AdmissionConfiguration` exemptions, namespace label override),
|
|
45
|
+
- the safest next actions and rollback plan,
|
|
46
|
+
- the assumptions or blockers that prevent stronger conclusions.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "kubernetes-pod-security-admission-review",
|
|
3
|
+
"name": "Kubernetes Pod Security Admission Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "kubernetes",
|
|
6
|
+
"harnesses": [
|
|
7
|
+
"codex",
|
|
8
|
+
"claude-code",
|
|
9
|
+
"cursor",
|
|
10
|
+
"gemini",
|
|
11
|
+
"kiro",
|
|
12
|
+
"other"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Review Kubernetes Pod Security Admission posture across namespace labels, the three profiles (privileged, baseline, restricted), enforce/audit/warn modes, version pinning, exemptions, and the migration from deprecated PodSecurityPolicy.",
|
|
15
|
+
"source_type": "original",
|
|
16
|
+
"official_docs": [
|
|
17
|
+
"https://kubernetes.io/docs/concepts/security/pod-security-admission/",
|
|
18
|
+
"https://kubernetes.io/docs/concepts/security/pod-security-standards/",
|
|
19
|
+
"https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-namespace-labels/",
|
|
20
|
+
"https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/",
|
|
21
|
+
"https://kubernetes.io/docs/concepts/security/security-checklist/"
|
|
22
|
+
],
|
|
23
|
+
"security_notes": "A production namespace with no PSA label inherits cluster default which is privileged unless overridden. enforce-version latest changes semantics on every Kubernetes minor upgrade. audit and warn without enforce only log violations. PSP migration via kubectl-psp-to-psa shifts enforcement boundary; verify before disabling PSP webhooks.",
|
|
24
|
+
"last_verified": "2026-05-01",
|
|
25
|
+
"path": "skills/kubernetes/kubernetes-pod-security-admission-review",
|
|
26
|
+
"author": "github: Raishin",
|
|
27
|
+
"version": "0.1.0"
|
|
28
|
+
}
|
package/skills/kubernetes/kubernetes-pod-security-admission-review/references/mcp-and-evidence.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Evidence Path and Tooling
|
|
2
|
+
|
|
3
|
+
## Evidence path
|
|
4
|
+
|
|
5
|
+
1. Prefer live cluster evidence (`kubectl get namespaces --show-labels`, `kubectl get pods -n <ns> -o yaml`, and the cluster's `AdmissionConfiguration` if accessible).
|
|
6
|
+
2. Fall back to the official Kubernetes documentation: Pod Security Admission, Pod Security Standards, and namespace-label enforcement guide.
|
|
7
|
+
3. Ask only for sanitized namespace YAML, sanitized pod spec excerpts (focus on `securityContext`, `volumes`, `hostNetwork`, `hostPID`, `hostIPC`), and the cluster's PSA admission configuration when current-state proof matters.
|
|
8
|
+
4. Label conclusions as `live evidence`, `documentation-based`, `sanitized user evidence`, or `inference`.
|
|
9
|
+
|
|
10
|
+
## Useful live-evidence commands
|
|
11
|
+
|
|
12
|
+
```shell
|
|
13
|
+
# View PSA labels on every namespace
|
|
14
|
+
kubectl get namespaces --show-labels | grep -E 'pod-security|^NAME'
|
|
15
|
+
|
|
16
|
+
# Detailed namespace labels and annotations
|
|
17
|
+
kubectl get namespace <ns> -o yaml | grep -A20 metadata
|
|
18
|
+
|
|
19
|
+
# Check whether running pods would still admit at a stricter profile
|
|
20
|
+
# (use kubectl-pod-security plugin or apply dry-run with the new label)
|
|
21
|
+
kubectl label namespace <ns> pod-security.kubernetes.io/warn=restricted --overwrite --dry-run=server
|
|
22
|
+
|
|
23
|
+
# Audit-mode violations end up in the audit log (cluster-admin access required)
|
|
24
|
+
# Look for pod-security violations in apiserver audit log
|
|
25
|
+
|
|
26
|
+
# Cluster default PSA configuration (if user has access to control plane)
|
|
27
|
+
kubectl -n kube-system get pod -l component=kube-apiserver -o yaml | grep -A20 admission
|
|
28
|
+
|
|
29
|
+
# Pod security context inspection
|
|
30
|
+
kubectl get pod -n <ns> <pod> -o jsonpath='{.spec.securityContext}'
|
|
31
|
+
kubectl get pod -n <ns> <pod> -o jsonpath='{.spec.containers[*].securityContext}'
|
|
32
|
+
|
|
33
|
+
# List pods that would fail restricted profile
|
|
34
|
+
kubectl get pods -A -o jsonpath='{range .items[?(@.spec.containers[*].securityContext.privileged==true)]}{.metadata.namespace}/{.metadata.name}{"\n"}{end}'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Cluster state to confirm before review
|
|
38
|
+
|
|
39
|
+
- **Kubernetes version** (`kubectl version`) — PSA stable in 1.25; profile semantics evolve; pin `enforce-version` to a specific minor.
|
|
40
|
+
- **Cluster default profile** (cluster's `AdmissionConfiguration`) — when a namespace has no label, this is what applies.
|
|
41
|
+
- **Cluster exemptions** — the `AdmissionConfiguration` can exempt usernames, runtime classes, and namespaces by name (different from per-namespace label override).
|
|
42
|
+
- **Whether PSP (PodSecurityPolicy) admission is still active** — PSP was removed in 1.25 but some clusters run a PSP-equivalent webhook. Migration tools include `kubectl-psp-to-psa`.
|
|
43
|
+
- **Whether other admission policies (Kyverno, OPA Gatekeeper) layer on top** — PSA is the floor; other engines can be stricter but must not weaken it.
|
|
44
|
+
|
|
45
|
+
## Sanitization rules
|
|
46
|
+
|
|
47
|
+
- Never request kubeconfig contents or apiserver audit log access.
|
|
48
|
+
- Replace identifiable namespace names and pod names with placeholders unless the user provides them.
|
|
49
|
+
- Do not print pod environment variables, init container args, or volume secret content.
|
package/skills/kubernetes/kubernetes-pod-security-admission-review/references/official-sources.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Official Sources
|
|
2
|
+
|
|
3
|
+
Load these only when needed:
|
|
4
|
+
|
|
5
|
+
- [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) — use as the entry point. Covers labels, modes, version pinning, and the admission controller behavior.
|
|
6
|
+
- [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/) — use for the exact field-level requirements of `privileged`, `baseline`, and `restricted` profiles.
|
|
7
|
+
- [Enforce Pod Security Standards via namespace labels](https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-namespace-labels/) — use for the recommended rollout pattern (`warn` → `audit` → `enforce`).
|
|
8
|
+
- [Enforce Pod Security Standards by configuring the built-in admission controller](https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/) — use for the cluster-wide `AdmissionConfiguration` syntax and exemption rules.
|
|
9
|
+
- [Migrating from PodSecurityPolicy](https://kubernetes.io/docs/tasks/configure-pod-container/migrate-from-psp/) — use when the cluster is moving from PSP to PSA.
|
|
10
|
+
- [Kubernetes Security Checklist](https://kubernetes.io/docs/concepts/security/security-checklist/) — use for the broader security context that PSA fits into (RBAC, NetworkPolicy, secrets, etc.).
|
|
11
|
+
- [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) — use when reviewing per-pod `securityContext` hardening (the actual fields PSA evaluates).
|
|
12
|
+
- [seccomp profile for a container](https://kubernetes.io/docs/tutorials/security/seccomp/) — use for `RuntimeDefault` vs `Localhost` profile semantics that the restricted profile requires.
|
|
13
|
+
- [Kubernetes API audit logs](https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/) — use to find admission decisions when PSA mode is `audit`.
|
|
14
|
+
|
|
15
|
+
## Grounded insights worth carrying into the skill
|
|
16
|
+
|
|
17
|
+
- Pod Security Admission was introduced in 1.22 (alpha), promoted to beta in 1.23, and shipped stable in 1.25 — replacing the deprecated PodSecurityPolicy in the same release. Any cluster running 1.25 or later does not have PSP available.
|
|
18
|
+
- Three profiles enforce a fixed set of pod spec constraints: `privileged` (none), `baseline` (deny known escalations), `restricted` (current best-practice hardening). A namespace can have a different profile per mode (`enforce`, `audit`, `warn`).
|
|
19
|
+
- The most common rollout pattern is: set `warn` and `audit` to the target profile, observe admission warnings and audit log violations, fix workloads, then promote `enforce` to the target profile. This avoids breaking running workloads at flip time.
|
|
20
|
+
- A namespace with no PSA label inherits the cluster default. The Kubernetes default is `privileged` unless the cluster admin set a stricter default in `AdmissionConfiguration`. Many production clusters silently run with privileged-equivalent admission because no label was set.
|
|
21
|
+
- Profile semantics evolve across Kubernetes versions. The `enforce-version`, `audit-version`, `warn-version` labels pin profile semantics to a specific Kubernetes minor. Without pinning, a cluster upgrade can suddenly reject pods that previously admitted. Pinning is recommended.
|
|
22
|
+
- Exemptions via `AdmissionConfiguration` (cluster-wide) bypass PSA entirely for the matched username, runtime class, or namespace. These are the broadest escape hatches and should be reviewed regularly. Per-namespace label exemptions (`pod-security.kubernetes.io/enforce: privileged`) are scoped to one namespace and easier to audit.
|
|
23
|
+
- The restricted profile requires `runAsNonRoot: true`, `runAsUser != 0`, `allowPrivilegeEscalation: false`, no `capabilities.add` other than `NET_BIND_SERVICE`, `seccompProfile.type: RuntimeDefault` or `Localhost`, no host namespaces, no host paths, no `hostPort`, and no privileged or unsafe sysctls. Many off-the-shelf operators do not meet this.
|
|
24
|
+
- Kyverno and OPA Gatekeeper can layer on top of PSA — they evaluate after PSA admission. This means a Kyverno policy that allows what PSA denies cannot rescue the pod; PSA's denial is final. Conversely, Kyverno can deny what PSA allows, providing a stricter-than-PSA layer.
|
|
25
|
+
- The `kubectl-psp-to-psa` plugin (community-maintained) translates PSP definitions into the closest equivalent PSA labels. The translation is lossy when PSPs encoded per-pod constraints (e.g., specific `runAsUser` ranges).
|
|
26
|
+
- `system:masters` group bypasses all admission controllers including PSA. Only the cluster-control-plane bootstrap should hold this; never bind real workloads to it.
|
package/skills/kubernetes/kubernetes-pod-security-admission-review/references/workflow-and-output.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Identify the target scope
|
|
6
|
+
|
|
7
|
+
PSA configuration lives in two places:
|
|
8
|
+
|
|
9
|
+
1. **Per-namespace labels** — `pod-security.kubernetes.io/<mode>: <profile>` and `pod-security.kubernetes.io/<mode>-version: <version>`.
|
|
10
|
+
2. **Cluster `AdmissionConfiguration`** — applies a default profile to namespaces that don't carry a label, and exempts specific namespaces, users, or runtime classes globally.
|
|
11
|
+
|
|
12
|
+
Confirm which scope the review covers — a namespace label change is reversible by flipping the label; a cluster `AdmissionConfiguration` change requires control-plane access and a kube-apiserver restart.
|
|
13
|
+
|
|
14
|
+
Reference: [Pod Security Admission](https://kubernetes.io/docs/concepts/security/pod-security-admission/) and [Enforce standards via namespace labels](https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-namespace-labels/).
|
|
15
|
+
|
|
16
|
+
### Step 2 — Identify the active profile and mode
|
|
17
|
+
|
|
18
|
+
Three profiles, defined in [Pod Security Standards](https://kubernetes.io/docs/concepts/security/pod-security-standards/):
|
|
19
|
+
|
|
20
|
+
1. **`privileged`** — unrestricted. No security context constraints. Equivalent to no admission control. Appropriate ONLY for system-level workloads (CNI, CSI drivers, monitoring agents).
|
|
21
|
+
2. **`baseline`** — minimally restrictive. Disallows known privilege escalations. Allows most legitimate application workloads with minimal modification. Recommended floor for application namespaces.
|
|
22
|
+
3. **`restricted`** — heavily restricted, follows current pod hardening best practices. Requires `runAsNonRoot: true`, `seccompProfile: RuntimeDefault`, no capabilities except `NET_BIND_SERVICE`, no host paths or host network, etc.
|
|
23
|
+
|
|
24
|
+
Three modes, applied via labels:
|
|
25
|
+
|
|
26
|
+
1. **`enforce`** — admission denied on violation. Pods that violate are rejected.
|
|
27
|
+
2. **`audit`** — admission allowed; violation recorded in API server audit log.
|
|
28
|
+
3. **`warn`** — admission allowed; violation returned to the user as a warning header (visible in `kubectl apply` output).
|
|
29
|
+
|
|
30
|
+
Each mode/profile combination can have an independent version pin: `pod-security.kubernetes.io/enforce-version: v1.30`.
|
|
31
|
+
|
|
32
|
+
### Step 3 — Audit profile-mode combinations
|
|
33
|
+
|
|
34
|
+
Common configurations and their findings:
|
|
35
|
+
|
|
36
|
+
- **`enforce: restricted`** — production-tier hardening. Verify all running pods admit; otherwise, the next pod restart will fail.
|
|
37
|
+
- **`enforce: baseline`, `audit: restricted`, `warn: restricted`** — common migration pattern. Hard floor at baseline, with restricted violations surfaced for cleanup.
|
|
38
|
+
- **`enforce: baseline`** alone — application namespace minimum. Confirm PSP-equivalent constraints are not assumed by other tooling.
|
|
39
|
+
- **`enforce: privileged`** — only acceptable for system namespaces with documented justification.
|
|
40
|
+
- **No PSA labels at all** — namespace falls back to cluster default. **Critical finding** if cluster default is `privileged` (the Kubernetes default unless changed).
|
|
41
|
+
- **`audit` and/or `warn` set but no `enforce`** — security violations are logged, not blocked. Useful as observability but not as control.
|
|
42
|
+
|
|
43
|
+
### Step 4 — Check whether existing workloads would still admit
|
|
44
|
+
|
|
45
|
+
Before flipping a namespace from `baseline` to `restricted`, verify every running pod meets the stricter profile. Use `--dry-run=server` to ask the API server to evaluate without applying:
|
|
46
|
+
|
|
47
|
+
```shell
|
|
48
|
+
kubectl label namespace <ns> pod-security.kubernetes.io/enforce=restricted --overwrite --dry-run=server
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This returns warnings for any pod that would be rejected. Review those pods before applying the label.
|
|
52
|
+
|
|
53
|
+
Alternative: set `warn: restricted` first, watch for warnings in apply outputs and audit logs, fix workloads, then promote to `enforce: restricted`.
|
|
54
|
+
|
|
55
|
+
Stress-tests:
|
|
56
|
+
|
|
57
|
+
- Pods with `securityContext.runAsUser: 0` — restricted profile rejects.
|
|
58
|
+
- Pods with `securityContext.privileged: true` — baseline AND restricted reject.
|
|
59
|
+
- Pods with `securityContext.allowPrivilegeEscalation: true` — restricted rejects (baseline allows by default).
|
|
60
|
+
- Pods with `volumes.hostPath` — baseline rejects (only specific paths allowed).
|
|
61
|
+
- Pods with `securityContext.capabilities.add` containing anything beyond `NET_BIND_SERVICE` — restricted rejects.
|
|
62
|
+
- Pods with `securityContext.seccompProfile` not set or set to `Unconfined` — restricted rejects (must be `RuntimeDefault` or `Localhost`).
|
|
63
|
+
|
|
64
|
+
### Step 5 — Audit version pinning
|
|
65
|
+
|
|
66
|
+
`enforce-version`, `audit-version`, `warn-version` pin the profile semantics to a specific Kubernetes minor. Findings:
|
|
67
|
+
|
|
68
|
+
- **No version pin** — profile follows cluster's Kubernetes version. Each upgrade may tighten requirements.
|
|
69
|
+
- **`*-version: latest`** — explicitly tracks the latest profile. Same risk as no pin but with more honesty.
|
|
70
|
+
- **`*-version: v1.24`** on a 1.30 cluster — pinned to an old, less strict version. May allow workloads the current docs say should be denied.
|
|
71
|
+
|
|
72
|
+
Recommended: pin to the cluster's current minor (`v1.30` on a 1.30 cluster) and explicitly bump the pin during cluster upgrade reviews.
|
|
73
|
+
|
|
74
|
+
### Step 6 — Audit cluster-level exemptions
|
|
75
|
+
|
|
76
|
+
`AdmissionConfiguration` exemptions:
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
exemptions:
|
|
80
|
+
usernames: ["system:admin"]
|
|
81
|
+
runtimeClasses: ["sandboxed"]
|
|
82
|
+
namespaces: ["kube-system"]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Findings:
|
|
86
|
+
|
|
87
|
+
- `usernames` exemption with broad bindings — the exempted user can run any pod regardless of namespace label.
|
|
88
|
+
- `runtimeClasses` exemption for non-sandboxed runtimes — exempts pods using that runtime class entirely.
|
|
89
|
+
- `namespaces` exemption for `kube-system` and operator namespaces — common, but every operator should be reviewed for whether it actually needs to run pods that violate baseline.
|
|
90
|
+
|
|
91
|
+
### Step 7 — Audit migration from PodSecurityPolicy
|
|
92
|
+
|
|
93
|
+
PSP was removed in Kubernetes 1.25. If the user is migrating:
|
|
94
|
+
|
|
95
|
+
- Use `kubectl-psp-to-psa` (or equivalent) to translate existing PSP definitions into PSA labels.
|
|
96
|
+
- The translation is not always exact — PSP allowed per-Pod conditions; PSA is per-namespace.
|
|
97
|
+
- Some PSP capabilities (e.g., specific `runAsUser` ranges, specific FSGroup ranges) cannot be expressed in PSA — Kyverno or OPA Gatekeeper is needed for these.
|
|
98
|
+
- Verify the old PSP webhook is removed AFTER PSA is enforced — running both simultaneously can produce conflicting decisions.
|
|
99
|
+
|
|
100
|
+
Reference: [Migrating from PodSecurityPolicy](https://kubernetes.io/docs/tasks/configure-pod-container/migrate-from-psp/).
|
|
101
|
+
|
|
102
|
+
### Step 8 — Stress-test operational hygiene
|
|
103
|
+
|
|
104
|
+
- Prefer `enforce: baseline` minimum for application namespaces; `enforce: restricted` for tiers without legacy workloads.
|
|
105
|
+
- Prefer pinned `*-version` matching cluster minor.
|
|
106
|
+
- Prefer namespace-by-namespace promotion (`warn` → `audit` → `enforce`) over cluster-wide flips.
|
|
107
|
+
- Prefer per-workload `securityContext` hardening over namespace exemption when one workload needs special access.
|
|
108
|
+
- Verify that other admission policies (Kyverno, OPA Gatekeeper) extend rather than weaken PSA — a downstream policy that allows what PSA denies still results in the pod being rejected by PSA first.
|
|
109
|
+
|
|
110
|
+
## Output
|
|
111
|
+
|
|
112
|
+
Return:
|
|
113
|
+
|
|
114
|
+
- **target**: namespace, namespace set, or cluster `AdmissionConfiguration`,
|
|
115
|
+
- **evidence level**: `live evidence` / `documentation-based` / `sanitized user evidence` / `inference`,
|
|
116
|
+
- **active configuration**: profile and mode per scope, with version pin,
|
|
117
|
+
- **admission impact**: which currently-running pods would be rejected at the proposed profile,
|
|
118
|
+
- **exemption posture**: cluster-level exemptions and per-namespace label overrides,
|
|
119
|
+
- **risk findings** (with severity: high / medium / low),
|
|
120
|
+
- **safest next actions** with sample manifest changes and the recommended `warn` → `audit` → `enforce` rollout,
|
|
121
|
+
- **rollback plan**: how to remove or weaken the label if running workloads break,
|
|
122
|
+
- **assumptions and missing facts**.
|
|
123
|
+
|
|
124
|
+
## Security notes
|
|
125
|
+
|
|
126
|
+
- Never recommend `enforce: privileged` for an application namespace.
|
|
127
|
+
- Never recommend removing the namespace PSA label without a documented replacement (cluster default or another admission engine).
|
|
128
|
+
- Never recommend exempting a namespace cluster-wide without confirming the workloads inside cannot be hardened.
|
|
129
|
+
- Do not print pod environment variables, init container args, or any pod content beyond the security context.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kubernetes-pod-spec-review
|
|
3
|
+
description: Use this skill when reviewing a Kubernetes Pod spec, Deployment spec, or StatefulSet spec for correctness, security posture, and production-readiness. Trigger on any request to audit, validate, or score a workload manifest.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-05"
|
|
9
|
+
category: platform
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Kubernetes Pod Spec Review
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Review Kubernetes Pod, Deployment, and StatefulSet specifications for probe correctness, resource QoS configuration, securityContext posture, image pull policy safety, secret consumption patterns, topology spread, and termination grace period alignment. Output a structured findings list with severity, evidence, and safe remediation steps — aligned with CKAD domain knowledge and production-readiness standards.
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
|
|
20
|
+
- Check both `livenessProbe` and `readinessProbe`; flag missing probes as HIGH for Deployments receiving traffic. Flag aggressive `livenessProbe.failureThreshold` (<=2) that kills pods during GC pauses.
|
|
21
|
+
- Review `resources.requests` and `resources.limits`; flag missing requests (unschedulable under pressure) as MEDIUM and flag CPU limits without requests as Burstable QoS risk.
|
|
22
|
+
- Audit `securityContext` at both pod level (`runAsNonRoot`, `seccompProfile`) and container level (`allowPrivilegeEscalation: false`, `readOnlyRootFilesystem: true`, `capabilities.drop: [ALL]`).
|
|
23
|
+
- Flag `latest` image tag combined with `imagePullPolicy: IfNotPresent` as HIGH — image is never refreshed after first pull.
|
|
24
|
+
- Flag Secrets consumed via `envFrom.secretRef` (bulk-mount exposes all keys) as MEDIUM; recommend volume mounts or specific `env.valueFrom.secretKeyRef`.
|
|
25
|
+
- Check `topologySpreadConstraints` for multi-replica Deployments; flag absence as MEDIUM (single AZ failure = full outage).
|
|
26
|
+
- Review `terminationGracePeriodSeconds` against application drain time; flag default 30s for gRPC or database workloads as MEDIUM.
|
|
27
|
+
- Label all findings as live evidence, documentation-based, or inference.
|
|
28
|
+
|
|
29
|
+
## References
|
|
30
|
+
|
|
31
|
+
Load these only when needed:
|
|
32
|
+
|
|
33
|
+
- [Workflow and output contract](references/workflow-and-output.md)
|
|
34
|
+
|
|
35
|
+
## Response minimum
|
|
36
|
+
|
|
37
|
+
- Severity-labeled findings list (CRITICAL / HIGH / MEDIUM / LOW)
|
|
38
|
+
- Evidence source for each finding
|
|
39
|
+
- Specific field path that caused the finding (e.g., `spec.containers[0].livenessProbe`)
|
|
40
|
+
- Recommended remediation with example YAML snippet
|
|
41
|
+
- Overall production-readiness verdict
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "kubernetes-pod-spec-review",
|
|
3
|
+
"name": "Kubernetes Pod Spec Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "kubernetes",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Review Kubernetes Pod, Deployment, and StatefulSet specs for probe correctness, resource QoS, securityContext posture, image pull policy, secret consumption patterns, topology spread, and termination grace period against CKAD-aligned production-readiness standards.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/",
|
|
11
|
+
"https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/",
|
|
12
|
+
"https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
|
|
13
|
+
"https://kubernetes.io/docs/concepts/security/pod-security-standards/",
|
|
14
|
+
"https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/",
|
|
15
|
+
"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/"
|
|
16
|
+
],
|
|
17
|
+
"security_notes": "Secrets mounted as environment variables appear in kubectl describe pod output and in /proc/self/environ, accessible to any process in the container. Root containers can write to host paths if hostPath volumes are present. Missing runAsNonRoot allows container breakout to node if combined with hostPath or privileged mode.",
|
|
18
|
+
"last_verified": "2026-05-02",
|
|
19
|
+
"path": "skills/kubernetes/kubernetes-pod-spec-review",
|
|
20
|
+
"author": "github: Raishin",
|
|
21
|
+
"version": "0.1.0"
|
|
22
|
+
}
|