@raishin/vanguard-frontier-agentic 1.1.0 → 1.3.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 +369 -322
- 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-maestro-agent/AGENT.md +55 -0
- package/agents/aws/aws-maestro-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/aws/aws-maestro-agent/harnesses/codex.toml +34 -0
- package/agents/aws/aws-maestro-agent/harnesses/copilot.agent.md +51 -0
- package/agents/aws/aws-maestro-agent/harnesses/cursor.agent.md +40 -0
- package/agents/aws/aws-maestro-agent/harnesses/gemini.agent.md +39 -0
- package/agents/aws/aws-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/aws/aws-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/aws/aws-maestro-agent/metadata.json +37 -0
- 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/AGENTS.md +26 -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/AGENT.md +57 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/PERMISSIONS.md +56 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/PREFLIGHT.md +48 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/ROLLBACK.md +36 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PERMISSIONS.md +43 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PREFLIGHT.md +50 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/ROLLBACK.md +46 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/metadata.json +35 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PERMISSIONS.md +88 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PREFLIGHT.md +48 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/ROLLBACK.md +48 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/PERMISSIONS.md +93 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/PREFLIGHT.md +44 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/ROLLBACK.md +49 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/metadata.json +36 -0
- 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/AGENT.md +57 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PERMISSIONS.md +68 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PREFLIGHT.md +46 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/ROLLBACK.md +44 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/PERMISSIONS.md +59 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/PREFLIGHT.md +41 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/ROLLBACK.md +48 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-maestro-agent/AGENT.md +56 -0
- package/agents/azure/azure-maestro-agent/harnesses/claude-code.agent.md +39 -0
- package/agents/azure/azure-maestro-agent/harnesses/codex.toml +14 -0
- package/agents/azure/azure-maestro-agent/harnesses/copilot.agent.md +52 -0
- package/agents/azure/azure-maestro-agent/harnesses/cursor.agent.md +41 -0
- package/agents/azure/azure-maestro-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-maestro-agent/harnesses/kiro-ide.agent.md +39 -0
- package/agents/azure/azure-maestro-agent/metadata.json +38 -0
- 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/AGENTS.md +36 -0
- package/agents/finops/README.md +27 -0
- package/agents/finops/finops-cloud-price-advisor-agent/AGENT.md +58 -0
- package/agents/finops/finops-cloud-price-advisor-agent/PERMISSIONS.md +112 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/codex.toml +33 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/copilot.agent.md +53 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/cursor.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/gemini.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/metadata.json +38 -0
- 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 +36 -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 +36 -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 +36 -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 +36 -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 +37 -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 +37 -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/AGENTS.md +28 -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/AGENT.md +57 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PERMISSIONS.md +56 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PREFLIGHT.md +48 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/ROLLBACK.md +50 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PERMISSIONS.md +77 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PREFLIGHT.md +54 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/ROLLBACK.md +53 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PERMISSIONS.md +87 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PREFLIGHT.md +49 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/ROLLBACK.md +44 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/metadata.json +36 -0
- 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/AGENT.md +57 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/PERMISSIONS.md +92 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/PREFLIGHT.md +49 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/ROLLBACK.md +47 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/PERMISSIONS.md +80 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/PREFLIGHT.md +51 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/ROLLBACK.md +45 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/PERMISSIONS.md +57 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/PREFLIGHT.md +53 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/ROLLBACK.md +49 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-maestro-agent/AGENT.md +58 -0
- package/agents/oci/oci-maestro-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/oci/oci-maestro-agent/harnesses/codex.toml +14 -0
- package/agents/oci/oci-maestro-agent/harnesses/copilot.agent.md +54 -0
- package/agents/oci/oci-maestro-agent/harnesses/cursor.agent.md +43 -0
- package/agents/oci/oci-maestro-agent/harnesses/gemini.agent.md +42 -0
- package/agents/oci/oci-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/oci/oci-maestro-agent/metadata.json +37 -0
- 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-maestro-agent/AGENT.md +58 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/codex.toml +14 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/copilot.agent.md +54 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/cursor.agent.md +43 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/gemini.agent.md +42 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/terraform/terraform-maestro-agent/metadata.json +38 -0
- 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 +1347 -27
- package/catalog/install-roles.json +455 -0
- package/catalog/skill-manifest.json +1358 -62
- package/catalog/skills.json +1231 -25
- package/package.json +11 -1
- package/scripts/export-marketplace-agents.mjs +129 -10
- package/scripts/gen_azure_live_guards.py +1424 -0
- package/scripts/gen_oci_live_guards.py +1510 -0
- 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 +40 -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 +43 -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-maestro/SKILL.md +47 -0
- package/skills/aws/aws-maestro/metadata.json +28 -0
- package/skills/aws/aws-maestro/references/official-sources.md +24 -0
- package/skills/aws/aws-maestro/references/safety-checklist.md +42 -0
- package/skills/aws/aws-maestro/references/workflow-and-output.md +129 -0
- package/skills/aws/aws-private-ca-issuer-review/SKILL.md +39 -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/azure/README.md +3 -1
- package/skills/azure/azure-keyvault-certificate-issuer-review/SKILL.md +37 -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-live-aks-rollout-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-aks-rollout-guard/metadata.json +27 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/official-sources.md +19 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/permission-model.md +54 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/preflight-commands.md +55 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/rollback-playbook.md +38 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/metadata.json +26 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/official-sources.md +12 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/permission-model.md +40 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/preflight-commands.md +46 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/rollback-playbook.md +46 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/metadata.json +27 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/official-sources.md +17 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/permission-model.md +68 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/preflight-commands.md +55 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/rollback-playbook.md +53 -0
- package/skills/azure/azure-live-cost-budget-action-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-cost-budget-action-guard/metadata.json +27 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/official-sources.md +17 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/permission-model.md +66 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/preflight-commands.md +48 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/rollback-playbook.md +40 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/SKILL.md +56 -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 +49 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/metadata.json +27 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/official-sources.md +13 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/permission-model.md +64 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/preflight-commands.md +48 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/rollback-playbook.md +44 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/metadata.json +27 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/official-sources.md +13 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/permission-model.md +56 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/preflight-commands.md +46 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/rollback-playbook.md +45 -0
- package/skills/azure/azure-maestro/SKILL.md +140 -0
- package/skills/azure/azure-maestro/metadata.json +28 -0
- package/skills/backstage/backstage-scaffolder-template-review/SKILL.md +39 -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 +40 -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 +43 -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 +37 -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 +60 -0
- package/skills/finops/finops-cloud-price-advisor/metadata.json +26 -0
- package/skills/finops/finops-cloud-price-advisor/references/currency-handling.md +100 -0
- package/skills/finops/finops-cloud-price-advisor/references/estimation-workflow.md +145 -0
- package/skills/finops/finops-cloud-price-advisor/references/official-sources.md +64 -0
- package/skills/finops/finops-cloud-price-advisor/references/pricing-apis.md +271 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/SKILL.md +40 -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 +43 -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 +37 -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 +40 -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 +57 -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 +45 -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 +43 -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 +38 -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 +38 -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 +43 -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 +43 -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-certificates-issuer-review/SKILL.md +37 -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-live-autonomous-db-lifecycle-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/metadata.json +27 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/official-sources.md +13 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/permission-model.md +49 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/preflight-commands.md +58 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/rollback-playbook.md +44 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/metadata.json +27 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/official-sources.md +17 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/permission-model.md +59 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/preflight-commands.md +42 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/rollback-playbook.md +44 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/metadata.json +27 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/official-sources.md +13 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/permission-model.md +71 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/preflight-commands.md +49 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/rollback-playbook.md +62 -0
- package/skills/oci/oci-live-network-security-rule-guard/SKILL.md +57 -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 +49 -0
- package/skills/oci/oci-live-oke-rollout-guard/metadata.json +27 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/official-sources.md +18 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/permission-model.md +80 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/preflight-commands.md +55 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/rollback-playbook.md +45 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/metadata.json +27 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/official-sources.md +12 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/permission-model.md +70 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/preflight-commands.md +57 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/rollback-playbook.md +51 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/metadata.json +27 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/official-sources.md +13 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/permission-model.md +55 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/preflight-commands.md +62 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/rollback-playbook.md +55 -0
- package/skills/oci/oci-maestro/SKILL.md +163 -0
- package/skills/oci/oci-maestro/metadata.json +27 -0
- package/skills/opentelemetry/README.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/SKILL.md +44 -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 +38 -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 +39 -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 +123 -0
- package/skills/terraform/terraform-maestro/metadata.json +30 -0
- package/skills/terraform/terraform-maestro/references/official-sources.md +59 -0
- package/skills/terraform/terraform-maestro/references/safety-checklist.md +53 -0
- package/skills/terraform/terraform-maestro/references/workflow-and-output.md +108 -0
- package/skills/velero/velero-backup-restore-guard/SKILL.md +41 -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,214 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Review Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Identify the issuer resource type
|
|
6
|
+
|
|
7
|
+
Determine whether the configuration uses `AWSPCAIssuer` (namespace-scoped) or `AWSPCAClusterIssuer` (cluster-scoped):
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
kubectl get awspcaissuer -A
|
|
11
|
+
kubectl get awspcaclusterissuer
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Retrieve the issuer spec:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
kubectl get awspcaissuer <name> -n <namespace> -o yaml
|
|
18
|
+
kubectl get awspcaclusterissuer <name> -o yaml
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Key fields to extract:
|
|
22
|
+
- `spec.arn` — the CA ARN (must be a SUBORDINATE CA, not ROOT)
|
|
23
|
+
- `spec.region` — AWS region of the CA
|
|
24
|
+
- `spec.signingAlgorithm` — signing algorithm
|
|
25
|
+
- `spec.template.arn` — certificate template ARN (controls what types of certs can be issued)
|
|
26
|
+
|
|
27
|
+
### Step 2 — Validate CA ARN type
|
|
28
|
+
|
|
29
|
+
Use the AWS CLI to confirm the CA type:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
aws acm-pca describe-certificate-authority \
|
|
33
|
+
--certificate-authority-arn <arn> \
|
|
34
|
+
--query 'CertificateAuthority.Type' \
|
|
35
|
+
--output text
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Expected output: `SUBORDINATE`
|
|
39
|
+
|
|
40
|
+
If output is `ROOT` — this is a CRITICAL finding. cert-manager is directly wired to the root of trust.
|
|
41
|
+
|
|
42
|
+
Also check CA status:
|
|
43
|
+
```bash
|
|
44
|
+
aws acm-pca describe-certificate-authority \
|
|
45
|
+
--certificate-authority-arn <arn> \
|
|
46
|
+
--query 'CertificateAuthority.Status' \
|
|
47
|
+
--output text
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Expected: `ACTIVE`. If `DISABLED` or `DELETED`, the issuer will fail silently until the CA is restored.
|
|
51
|
+
|
|
52
|
+
### Step 3 — Validate certificate template ARN
|
|
53
|
+
|
|
54
|
+
The template ARN controls what type of certificate ACM PCA will issue. Common template ARNs:
|
|
55
|
+
|
|
56
|
+
| Template ARN Suffix | Purpose | Risk |
|
|
57
|
+
|---------------------|---------|------|
|
|
58
|
+
| `EndEntityCertificate/V1` | Standard workload cert | Safe — correct choice |
|
|
59
|
+
| `EndEntityClientAuthCertificate/V1` | Client auth cert | Safe for mTLS |
|
|
60
|
+
| `SubordinateCACertificate_PathLen0/V1` | Subordinate CA cert | CRITICAL — allows sub-CA issuance |
|
|
61
|
+
| `SubordinateCACertificate_PathLen1/V1` | Subordinate CA with chain | CRITICAL |
|
|
62
|
+
| `RootCACertificate/V1` | Root CA cert | CRITICAL |
|
|
63
|
+
|
|
64
|
+
Full ARN format:
|
|
65
|
+
```
|
|
66
|
+
arn:aws:acm-pca:::template/EndEntityCertificate/V1
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
If no template is specified in the issuer, PCA defaults to `EndEntityCertificate/V1` — verify this assumption against the actual ACM PCA issuance policy.
|
|
70
|
+
|
|
71
|
+
### Step 4 — Review IRSA IAM role policy
|
|
72
|
+
|
|
73
|
+
Retrieve the IAM role attached to the cert-manager ServiceAccount:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
kubectl get serviceaccount cert-manager -n cert-manager -o jsonpath='{.metadata.annotations.eks\.amazonaws\.com/role-arn}'
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Retrieve and review the role policy:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
aws iam list-role-policies --role-name <role-name>
|
|
83
|
+
aws iam get-role-policy --role-name <role-name> --policy-name <policy-name>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Minimum required IAM policy:
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"Version": "2012-10-17",
|
|
91
|
+
"Statement": [
|
|
92
|
+
{
|
|
93
|
+
"Effect": "Allow",
|
|
94
|
+
"Action": [
|
|
95
|
+
"acm-pca:IssueCertificate",
|
|
96
|
+
"acm-pca:GetCertificate",
|
|
97
|
+
"acm-pca:DescribeCertificateAuthority"
|
|
98
|
+
],
|
|
99
|
+
"Resource": "arn:aws:acm-pca:<region>:<account>:certificate-authority/<ca-id>"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Flag as HIGH if the policy includes any of:**
|
|
106
|
+
- `acm-pca:DeleteCertificateAuthority`
|
|
107
|
+
- `acm-pca:CreateCertificateAuthority`
|
|
108
|
+
- `acm-pca:UpdateCertificateAuthority`
|
|
109
|
+
- `acm-pca:RestoreCertificateAuthority`
|
|
110
|
+
- `acm-pca:*` (wildcard)
|
|
111
|
+
- Resource set to `*` instead of scoped CA ARN
|
|
112
|
+
|
|
113
|
+
### Step 5 — Review Certificate validity periods
|
|
114
|
+
|
|
115
|
+
List all cert-manager Certificate resources and their durations:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
kubectl get certificate -A -o custom-columns=\
|
|
119
|
+
NAMESPACE:.metadata.namespace,\
|
|
120
|
+
NAME:.metadata.name,\
|
|
121
|
+
DURATION:.spec.duration,\
|
|
122
|
+
RENEW_BEFORE:.spec.renewBefore,\
|
|
123
|
+
ISSUER:.spec.issuerRef.name
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Validity guidelines:
|
|
127
|
+
- Workload certs: <= 90d (best practice), <= 365d (acceptable)
|
|
128
|
+
- Internal service mesh mTLS: <= 24h (optimal)
|
|
129
|
+
- Long-lived infrastructure certs: <= 2y (acceptable with documented justification)
|
|
130
|
+
|
|
131
|
+
Note: ACM PCA silently caps certificate validity at the CA's own remaining validity. A cert with `duration: 87600h` (10 years) issued by a CA expiring in 2 years will be capped at 2 years without error. Always verify the CA's own expiration date:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
aws acm-pca describe-certificate-authority \
|
|
135
|
+
--certificate-authority-arn <arn> \
|
|
136
|
+
--query 'CertificateAuthority.NotAfter' \
|
|
137
|
+
--output text
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Step 6 — Review CRL configuration and reachability
|
|
141
|
+
|
|
142
|
+
Check the CRL configuration on the CA:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
aws acm-pca describe-certificate-authority \
|
|
146
|
+
--certificate-authority-arn <arn> \
|
|
147
|
+
--query 'CertificateAuthority.RevocationConfiguration'
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Verify the CRL S3 bucket name from the output. Then check reachability from within the VPC:
|
|
151
|
+
|
|
152
|
+
- Does the VPC have an S3 Gateway VPC endpoint for the CRL bucket's region?
|
|
153
|
+
- Is the CRL S3 bucket policy allowing access from the VPC?
|
|
154
|
+
- Is the CRL distribution point URL embedded in issued certs accessible?
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Check for S3 gateway VPC endpoint
|
|
158
|
+
aws ec2 describe-vpc-endpoints \
|
|
159
|
+
--filters "Name=service-name,Values=com.amazonaws.<region>.s3" \
|
|
160
|
+
"Name=vpc-id,Values=<vpc-id>"
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
If the CRL S3 bucket requires a VPC endpoint and none exists, revocation checking is effectively disabled (most TLS clients soft-fail on CRL/OCSP unreachability).
|
|
164
|
+
|
|
165
|
+
### Step 7 — Cross-account PCA review (if applicable)
|
|
166
|
+
|
|
167
|
+
Identify if the CA ARN belongs to a different AWS account than the EKS cluster:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Extract account ID from CA ARN
|
|
171
|
+
echo "arn:aws:acm-pca:<region>:<account-id>:certificate-authority/<id>"
|
|
172
|
+
# Compare with current account
|
|
173
|
+
aws sts get-caller-identity --query Account --output text
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
For cross-account configurations:
|
|
177
|
+
|
|
178
|
+
1. Verify the RAM share exists in the security account:
|
|
179
|
+
```bash
|
|
180
|
+
aws ram list-resources --resource-owner SELF --resource-type acm-pca:CertificateAuthority
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
2. Verify the workload-account IRSA role trust policy references the correct EKS OIDC provider.
|
|
184
|
+
|
|
185
|
+
3. Confirm the cross-account IAM permissions follow least-privilege (issuance only, not management).
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Output Format
|
|
190
|
+
|
|
191
|
+
### Finding: `<short title>`
|
|
192
|
+
|
|
193
|
+
| Field | Value |
|
|
194
|
+
|-------|-------|
|
|
195
|
+
| Severity | CRITICAL / HIGH / MEDIUM / LOW |
|
|
196
|
+
| Resource | AWSPCAIssuer name, CA ARN, IAM role, or cert name |
|
|
197
|
+
| Evidence | documentation-based / live evidence / inference |
|
|
198
|
+
| Description | What is wrong and why it matters for PKI trust |
|
|
199
|
+
| Remediation | IAM policy snippet, ARN change, or configuration fix |
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### Overall PKI Trust Posture
|
|
204
|
+
|
|
205
|
+
| Category | Status |
|
|
206
|
+
|----------|--------|
|
|
207
|
+
| CA hierarchy (subordinate only) | PASS / FAIL |
|
|
208
|
+
| Certificate template scope | PASS / FAIL |
|
|
209
|
+
| IRSA permissions (least-privilege) | PASS / FAIL |
|
|
210
|
+
| Certificate validity periods | PASS / FAIL |
|
|
211
|
+
| CRL reachability | PASS / FAIL |
|
|
212
|
+
| Cross-account configuration | PASS / N/A / FAIL |
|
|
213
|
+
|
|
214
|
+
**Verdict:** TRUSTED / UNTRUSTED / CONDITIONAL (list conditions)
|
package/skills/azure/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Azure skills
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="../../assets/logos/cloud/azure/azure.png" alt="Azure logo" width="140" />
|
|
5
|
+
</p>
|
|
4
6
|
|
|
5
7
|
This folder contains Azure-focused skills curated for this marketplace.
|
|
6
8
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-keyvault-certificate-issuer-review
|
|
3
|
+
description: Use this skill when reviewing Azure Key Vault certificate issuer configurations for cert-manager on AKS. Trigger on any request to audit Key Vault certificate policies, Managed Identity role assignments, exportability settings, private endpoint connectivity, integrated CA credentials, or rotation policy alignment.
|
|
4
|
+
metadata:
|
|
5
|
+
author: "github: Raishin"
|
|
6
|
+
version: "0.1.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Azure Key Vault Certificate Issuer Review
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Review Azure Key Vault configurations used as certificate issuers for cert-manager on AKS. Identify Managed Identity role assignment gaps (data plane vs management plane confusion), certificate policy misalignment, exportability risks, network connectivity issues, integrated CA credential over-scoping, and rotation race conditions between cert-manager and Key Vault auto-rotation. Output severity-labeled findings with evidence and remediation steps.
|
|
14
|
+
|
|
15
|
+
## Lean operating rules
|
|
16
|
+
|
|
17
|
+
- Check the Managed Identity (or Service Principal) role assignment on the Key Vault: the correct role is `Key Vault Certificate Officer` (data plane). Flag `Key Vault Contributor` as HIGH — it grants management plane access including vault deletion. Flag `Key Vault Administrator` as HIGH (full data plane + management).
|
|
18
|
+
- Verify whether Key Vault RBAC mode is enabled (`enableRbacAuthorization: true`). If legacy access policies are used instead of RBAC, flag as MEDIUM (harder to audit, no Azure AD Conditional Access integration).
|
|
19
|
+
- Review `exportable` in the Key Vault certificate policy. Flag `exportable: true` on certs used for cluster-internal mTLS as MEDIUM (private key unnecessarily extractable from Key Vault).
|
|
20
|
+
- Check Key Vault network access configuration: if `publicNetworkAccess: Disabled`, verify the AKS cluster has private endpoint access to the Key Vault and DNS resolution via private DNS zone. Flag missing private endpoint as MEDIUM.
|
|
21
|
+
- For integrated CAs (DigiCert, GlobalSign): verify the Key Vault has the CA integration configured and the credential secret is scoped to a minimum (single certificate profile, not account-wide).
|
|
22
|
+
- Review cert-manager `renewBefore` against the Key Vault certificate's auto-rotation policy to detect overlapping rotation windows. Flag simultaneous rotation triggers as MEDIUM.
|
|
23
|
+
- Label all findings as live evidence, documentation-based, or inference.
|
|
24
|
+
|
|
25
|
+
## References
|
|
26
|
+
|
|
27
|
+
Load these only when needed:
|
|
28
|
+
|
|
29
|
+
- [Workflow and output contract](references/workflow-and-output.md)
|
|
30
|
+
|
|
31
|
+
## Response minimum
|
|
32
|
+
|
|
33
|
+
- Severity-labeled findings list (CRITICAL / HIGH / MEDIUM / LOW)
|
|
34
|
+
- Evidence source for each finding
|
|
35
|
+
- Specific resource name or field that caused the finding
|
|
36
|
+
- Recommended remediation with example Azure CLI command or policy snippet
|
|
37
|
+
- Overall Key Vault certificate issuer posture verdict
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "azure-keyvault-certificate-issuer-review",
|
|
3
|
+
"name": "Azure Key Vault Certificate Issuer Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "azure",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Review Azure Key Vault certificate issuer configurations for cert-manager, covering certificate policy alignment, Managed Identity authorization scope, exportability posture, private endpoint connectivity, integrated CA credential scoping, and cert-manager vs Key Vault auto-rotation race conditions.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/certificates/about-certificates",
|
|
11
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/certificates/certificate-scenarios",
|
|
12
|
+
"https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/security",
|
|
13
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/general/network-security"
|
|
14
|
+
],
|
|
15
|
+
"security_notes": "Key Vault Contributor role assigned to cert-manager allows deletion of the Key Vault, management policy changes, and purge of soft-deleted certs — a full management plane compromise. Use Key Vault Certificate Officer (data plane RBAC) instead. Exportable certificates allow private key extraction from Key Vault; use non-exportable certs for cluster-internal mTLS.",
|
|
16
|
+
"last_verified": "2026-05-02",
|
|
17
|
+
"path": "skills/azure/azure-keyvault-certificate-issuer-review",
|
|
18
|
+
"author": "github: Raishin",
|
|
19
|
+
"version": "0.1.0"
|
|
20
|
+
}
|
package/skills/azure/azure-keyvault-certificate-issuer-review/references/workflow-and-output.md
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Review Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Identify the cert-manager issuer configuration
|
|
6
|
+
|
|
7
|
+
Locate the cert-manager issuer resource that references Azure Key Vault:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
kubectl get issuer -A -o yaml | grep -A10 "azureKeyVault\|keyVault"
|
|
11
|
+
kubectl get clusterissuer -o yaml | grep -A10 "azureKeyVault\|keyVault"
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Extract the Key Vault name and vault URI from the issuer spec. The exact fields depend on the cert-manager Azure issuer plugin in use (e.g., `cert-manager-webhook-azure` or CAPZ-style issuers).
|
|
15
|
+
|
|
16
|
+
### Step 2 — Check Managed Identity role assignment
|
|
17
|
+
|
|
18
|
+
Identify the Managed Identity or Service Principal used by cert-manager on AKS:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Get the cert-manager pod's managed identity annotation
|
|
22
|
+
kubectl get pod -n cert-manager -l app=cert-manager -o jsonpath='{.items[0].metadata.annotations}'
|
|
23
|
+
|
|
24
|
+
# Or check the ServiceAccount for workload identity annotation
|
|
25
|
+
kubectl get serviceaccount cert-manager -n cert-manager -o jsonpath='{.metadata.annotations}'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Retrieve role assignments on the Key Vault:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
KV_ID=$(az keyvault show --name <vault-name> --query id -o tsv)
|
|
32
|
+
az role assignment list --scope "$KV_ID" --output table
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Correct role:** `Key Vault Certificate Officer` (data plane only)
|
|
36
|
+
|
|
37
|
+
Role comparison:
|
|
38
|
+
|
|
39
|
+
| Role | Plane | Grants | Risk |
|
|
40
|
+
|------|-------|--------|------|
|
|
41
|
+
| `Key Vault Certificate Officer` | Data | Create, update, import, delete certificates | Correct |
|
|
42
|
+
| `Key Vault Certificates Officer` | Data | Same as above (alias) | Correct |
|
|
43
|
+
| `Key Vault Contributor` | Management | Manage vault config, delete vault, change policies | HIGH — management plane access |
|
|
44
|
+
| `Key Vault Administrator` | Data + Management | Full control including purge | HIGH |
|
|
45
|
+
| `Owner` / `Contributor` at subscription | All | Everything | CRITICAL |
|
|
46
|
+
|
|
47
|
+
### Step 3 — Check RBAC mode vs legacy access policies
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
az keyvault show --name <vault-name> --query properties.enableRbacAuthorization
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- `true` — RBAC mode (preferred, auditable via Azure RBAC)
|
|
54
|
+
- `false` or `null` — legacy access policies (harder to audit)
|
|
55
|
+
|
|
56
|
+
If legacy access policies are in use, check the policy:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
az keyvault show --name <vault-name> --query properties.accessPolicies
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The cert-manager identity should only have `certificates: ["get", "create", "import", "update", "list"]` — not `all` and not management operations.
|
|
63
|
+
|
|
64
|
+
### Step 4 — Review certificate policy and exportability
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
az keyvault certificate get-default-policy
|
|
68
|
+
az keyvault certificate show --vault-name <vault-name> --name <cert-name>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Key fields in the certificate policy:
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"x509CertificateProperties": {
|
|
76
|
+
"subject": "CN=myapp.internal",
|
|
77
|
+
"validityInMonths": 3,
|
|
78
|
+
"keyUsage": ["digitalSignature", "keyEncipherment"]
|
|
79
|
+
},
|
|
80
|
+
"keyProperties": {
|
|
81
|
+
"exportable": false,
|
|
82
|
+
"keyType": "RSA",
|
|
83
|
+
"keySize": 2048,
|
|
84
|
+
"reuseKey": false
|
|
85
|
+
},
|
|
86
|
+
"issuerParameters": {
|
|
87
|
+
"name": "Self"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Flags:**
|
|
93
|
+
- `exportable: true` on a cert used for cluster-internal mTLS — MEDIUM (private key extractable)
|
|
94
|
+
- `keySize < 2048` for RSA or `keySize < 256` for EC — HIGH (weak key)
|
|
95
|
+
- `validityInMonths > 12` for workload certs — MEDIUM (excessive validity)
|
|
96
|
+
|
|
97
|
+
Note: Non-exportable certs require the application to use Key Vault SDK or CSI driver for key operations, not just cert retrieval. Confirm application capability before enforcing non-exportable.
|
|
98
|
+
|
|
99
|
+
### Step 5 — Review Key Vault network access
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
az keyvault show --name <vault-name> --query properties.networkAcls
|
|
103
|
+
az keyvault show --name <vault-name> --query properties.publicNetworkAccess
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
If `publicNetworkAccess: Disabled`:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Check for private endpoint
|
|
110
|
+
az network private-endpoint list \
|
|
111
|
+
--query "[?privateLinkServiceConnections[?groupIds[0]=='vault']].{name:name,subnet:subnet.id}" \
|
|
112
|
+
--output table
|
|
113
|
+
|
|
114
|
+
# Check for private DNS zone
|
|
115
|
+
az network private-dns zone list --query "[?contains(name,'vaultcore')]" --output table
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
For AKS access to Key Vault:
|
|
119
|
+
- AKS cluster VNet must be peered with or the same as the VNet hosting the private endpoint
|
|
120
|
+
- Private DNS zone `privatelink.vaultcore.azure.net` must be linked to the AKS cluster VNet
|
|
121
|
+
- Outbound traffic from cert-manager pod must route through the private endpoint
|
|
122
|
+
|
|
123
|
+
**Flags:**
|
|
124
|
+
- Key Vault with public access from internet and no firewall restrictions — MEDIUM
|
|
125
|
+
- Key Vault with `publicNetworkAccess: Disabled` but missing private endpoint — HIGH (cert issuance will fail)
|
|
126
|
+
- No private DNS zone link to AKS VNet (DNS resolution fails for private endpoint) — HIGH
|
|
127
|
+
|
|
128
|
+
### Step 6 — Review integrated CA configuration (if applicable)
|
|
129
|
+
|
|
130
|
+
For DigiCert or GlobalSign integrated CAs:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
az keyvault certificate issuer show --vault-name <vault-name> --issuer-name DigiCert
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Check that the issuer credential secret is stored in Key Vault and scoped to a minimum profile:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
az keyvault secret show --vault-name <vault-name> --name DigiCert-issuer-creds
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Flags:**
|
|
143
|
+
- Integrated CA credentials that have account-wide issuance scope (not single profile) — MEDIUM
|
|
144
|
+
- Integrated CA credentials stored outside Key Vault (e.g., in a Kubernetes Secret) — MEDIUM
|
|
145
|
+
|
|
146
|
+
### Step 7 — Review rotation race condition
|
|
147
|
+
|
|
148
|
+
cert-manager rotation schedule:
|
|
149
|
+
```bash
|
|
150
|
+
kubectl get certificate <name> -n <namespace> -o jsonpath='{.spec.duration} {.spec.renewBefore}'
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Key Vault auto-rotation policy:
|
|
154
|
+
```bash
|
|
155
|
+
az keyvault certificate get-default-policy | jq '.lifetimeActions'
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
A `lifetimeAction` of type `AutoRenew` triggers Key Vault to request a new cert from the issuer. If cert-manager's `renewBefore` window overlaps with the Key Vault auto-renewal trigger (both fire within the same rotation window), both may attempt to renew simultaneously, causing a temporary version mismatch.
|
|
159
|
+
|
|
160
|
+
**Mitigation:** Disable Key Vault auto-rotation for certs managed by cert-manager, or ensure the Key Vault auto-renewal threshold is set beyond the cert-manager `renewBefore` window.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Output Format
|
|
165
|
+
|
|
166
|
+
### Finding: `<short title>`
|
|
167
|
+
|
|
168
|
+
| Field | Value |
|
|
169
|
+
|-------|-------|
|
|
170
|
+
| Severity | CRITICAL / HIGH / MEDIUM / LOW |
|
|
171
|
+
| Resource | Key Vault name, role assignment, cert name, or policy field |
|
|
172
|
+
| Evidence | documentation-based / live evidence / inference |
|
|
173
|
+
| Description | What is wrong and its impact |
|
|
174
|
+
| Remediation | Azure CLI command, policy JSON, or configuration change |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### Overall Posture
|
|
179
|
+
|
|
180
|
+
| Category | Status |
|
|
181
|
+
|----------|--------|
|
|
182
|
+
| Managed Identity role (data plane only) | PASS / FAIL |
|
|
183
|
+
| RBAC mode (not legacy policies) | PASS / FAIL |
|
|
184
|
+
| Certificate exportability | PASS / FAIL |
|
|
185
|
+
| Key Vault network access | PASS / FAIL |
|
|
186
|
+
| Certificate validity periods | PASS / FAIL |
|
|
187
|
+
| Integrated CA credential scope | PASS / N/A / FAIL |
|
|
188
|
+
| Rotation policy alignment | PASS / FAIL |
|
|
189
|
+
|
|
190
|
+
**Verdict:** TRUSTED / UNTRUSTED / CONDITIONAL (list conditions)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-live-aks-rollout-guard
|
|
3
|
+
description: Guard live AKS deployment rollouts with PDB audit, maxUnavailable/surge validation, rollout pause/undo gates, and post-rollout health verification.
|
|
4
|
+
metadata:
|
|
5
|
+
author: "github: Raishin"
|
|
6
|
+
version: "0.1.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Azure Live AKS Rollout Guard
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Act as the guarded live Azure operator for azure-live-aks-rollout-guard work. Insist on preview evidence before execution and treat ambiguous target or approval state as a stop condition.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
Use this skill when:
|
|
18
|
+
|
|
19
|
+
- a Kubernetes deployment rollout must proceed against a live AKS cluster
|
|
20
|
+
- a rollout is paused mid-flight and an operator must decide to resume or undo
|
|
21
|
+
- PDB violations or replica health issues are blocking a rollout and resolution is needed
|
|
22
|
+
|
|
23
|
+
## Lean operating rules
|
|
24
|
+
|
|
25
|
+
- Prefer Azure CLI (`az`) official documentation when available; fall back to Microsoft Learn docs and sanitized user evidence.
|
|
26
|
+
- Do not execute a live Azure change until subscription, resource group, active principal, and resource ownership are explicit.
|
|
27
|
+
- Prefer what-if, preview, describe, status, dry-run, plan, and rollback evidence before execution.
|
|
28
|
+
- If the request skips preview or rollback design, push back.
|
|
29
|
+
- Never print secrets, access tokens, connection strings, or raw environment values. Summarize sanitized evidence only.
|
|
30
|
+
- Load references only when needed.
|
|
31
|
+
|
|
32
|
+
## References
|
|
33
|
+
|
|
34
|
+
Load these only when needed:
|
|
35
|
+
|
|
36
|
+
- [Preflight commands](references/preflight-commands.md) — CLI commands to run before any mutation.
|
|
37
|
+
- [Rollback playbook](references/rollback-playbook.md) — concrete rollback steps for this service.
|
|
38
|
+
- [Permission model](references/permission-model.md) — RBAC role definitions and PIM guidance.
|
|
39
|
+
- [Official sources](references/official-sources.md) — authoritative Azure documentation links.
|
|
40
|
+
|
|
41
|
+
## Response minimum
|
|
42
|
+
|
|
43
|
+
Return, at minimum:
|
|
44
|
+
|
|
45
|
+
- confirmed target subscription, resource group, and principal
|
|
46
|
+
- preflight evidence (what-if diff, status, health check, or plan output)
|
|
47
|
+
- approval status for the proposed mutation
|
|
48
|
+
- rollback posture or explicit statement of what cannot be rolled back
|
|
49
|
+
- post-action verification steps or refusal reason
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "azure-live-aks-rollout-guard",
|
|
3
|
+
"name": "Azure Live AKS Rollout Guard",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "azure",
|
|
6
|
+
"harnesses": [
|
|
7
|
+
"codex",
|
|
8
|
+
"claude-code",
|
|
9
|
+
"cursor",
|
|
10
|
+
"gemini",
|
|
11
|
+
"kiro",
|
|
12
|
+
"other"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Guard live AKS deployment rollouts with PDB audit, maxUnavailable/surge validation, rollout pause/undo gates, and post-rollout health verification.",
|
|
15
|
+
"source_type": "original",
|
|
16
|
+
"official_docs": [
|
|
17
|
+
"https://learn.microsoft.com/en-us/azure/aks/operator-best-practices-cluster-security",
|
|
18
|
+
"https://learn.microsoft.com/en-us/azure/aks/concepts-clusters-workloads",
|
|
19
|
+
"https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deployment",
|
|
20
|
+
"https://kubernetes.io/docs/tasks/run-application/configure-pdb/"
|
|
21
|
+
],
|
|
22
|
+
"security_notes": "Never advance an AKS rollout without PDB audit and replica health check. kubectl rollout undo is safe but must be confirmed before execution to avoid double-rollback churn.",
|
|
23
|
+
"last_verified": "2026-04-30",
|
|
24
|
+
"path": "skills/azure/azure-live-aks-rollout-guard",
|
|
25
|
+
"author": "github: Raishin",
|
|
26
|
+
"version": "0.1.0"
|
|
27
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Official Sources: Azure Live AKS Rollout Guard
|
|
2
|
+
|
|
3
|
+
## Azure AKS
|
|
4
|
+
|
|
5
|
+
- https://learn.microsoft.com/en-us/azure/aks/operator-best-practices-cluster-security
|
|
6
|
+
- https://learn.microsoft.com/en-us/azure/aks/concepts-clusters-workloads
|
|
7
|
+
- https://learn.microsoft.com/en-us/azure/aks/manage-azure-rbac
|
|
8
|
+
- https://learn.microsoft.com/en-us/azure/aks/use-azure-ad
|
|
9
|
+
|
|
10
|
+
## Kubernetes rolling updates and rollback
|
|
11
|
+
|
|
12
|
+
- https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deployment
|
|
13
|
+
- https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-back-a-deployment
|
|
14
|
+
- https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
|
15
|
+
|
|
16
|
+
## Source-grounding rule
|
|
17
|
+
|
|
18
|
+
Use official Microsoft Learn and Kubernetes.io documentation as source of truth.
|
|
19
|
+
Do not override official guidance with secondary examples or training data assumptions.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Permission Model: Azure Live AKS Rollout Guard
|
|
2
|
+
|
|
3
|
+
## Azure RBAC (control plane — cluster credential access)
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"Name": "AKS Rollout Guard",
|
|
8
|
+
"IsCustom": true,
|
|
9
|
+
"Description": "Read AKS cluster state and fetch user-level kubeconfig. No cluster admin rights.",
|
|
10
|
+
"Actions": [
|
|
11
|
+
"Microsoft.ContainerService/managedClusters/read",
|
|
12
|
+
"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action"
|
|
13
|
+
],
|
|
14
|
+
"NotActions": [
|
|
15
|
+
"Microsoft.ContainerService/managedClusters/delete",
|
|
16
|
+
"Microsoft.ContainerService/managedClusters/agentPools/write"
|
|
17
|
+
],
|
|
18
|
+
"AssignableScopes": [
|
|
19
|
+
"/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>/providers/Microsoft.ContainerService/managedClusters/<CLUSTER_NAME>"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`listClusterUserCredential` grants a user-level kubeconfig. What the user can do inside
|
|
25
|
+
the cluster is governed by AKS-integrated Entra ID RBAC, not this control-plane role.
|
|
26
|
+
|
|
27
|
+
## Kubernetes RBAC (data plane — in-cluster namespace scope)
|
|
28
|
+
|
|
29
|
+
Bind the operator's Entra ID identity to a namespace-scoped Role (never ClusterRole):
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
apiVersion: rbac.authorization.k8s.io/v1
|
|
33
|
+
kind: Role
|
|
34
|
+
metadata:
|
|
35
|
+
name: rollout-guard
|
|
36
|
+
namespace: <TARGET_NAMESPACE>
|
|
37
|
+
rules:
|
|
38
|
+
- apiGroups: ["apps"]
|
|
39
|
+
resources: ["deployments", "replicasets"]
|
|
40
|
+
verbs: ["get", "list", "watch", "patch", "update"]
|
|
41
|
+
- apiGroups: [""]
|
|
42
|
+
resources: ["pods", "pods/log"]
|
|
43
|
+
verbs: ["get", "list", "watch"]
|
|
44
|
+
- apiGroups: ["policy"]
|
|
45
|
+
resources: ["poddisruptionbudgets"]
|
|
46
|
+
verbs: ["get", "list"]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Do not assign
|
|
50
|
+
|
|
51
|
+
- `Azure Kubernetes Service Cluster Admin Role` — full cluster admin kubeconfig
|
|
52
|
+
- `cluster-admin` ClusterRoleBinding in Kubernetes
|
|
53
|
+
- `Microsoft.ContainerService/managedClusters/agentPools/delete`
|
|
54
|
+
- Subscription-level Contributor for routine rollout operations
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Preflight Commands: Azure Live AKS Rollout Guard
|
|
2
|
+
|
|
3
|
+
Run these commands before any AKS rollout mutation. Paste sanitized output as evidence.
|
|
4
|
+
|
|
5
|
+
## 1. Confirm identity and cluster target
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
az account show --query "{subscription:id, name:name, user:user.name}"
|
|
9
|
+
az aks show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> \
|
|
10
|
+
--query "{provisioningState:provisioningState, kubernetesVersion:kubernetesVersion, fqdn:fqdn}"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 2. Fetch user-level kubeconfig
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
az aks get-credentials -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --overwrite-existing
|
|
17
|
+
kubectl config current-context
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 3. Audit PodDisruptionBudgets in target namespace
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
kubectl get pdb -n <NAMESPACE> -o wide
|
|
24
|
+
# minAvailable or maxUnavailable must leave at least one pod available during rollout
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 4. Check current deployment rollout status
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
kubectl rollout status deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
|
|
31
|
+
kubectl get deployment <DEPLOYMENT_NAME> -n <NAMESPACE> -o jsonpath='{.spec.strategy}'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 5. Verify node readiness and resource headroom
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
kubectl get nodes -o wide
|
|
38
|
+
kubectl top nodes
|
|
39
|
+
kubectl get pods -n <NAMESPACE> -o wide
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 6. Confirm maxSurge / maxUnavailable strategy
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
kubectl get deployment <DEPLOYMENT_NAME> -n <NAMESPACE> \
|
|
46
|
+
-o jsonpath='{.spec.strategy.rollingUpdate}'
|
|
47
|
+
# maxUnavailable=0 is safest for production; maxSurge=1 is a conservative default
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 7. Check HorizontalPodAutoscaler (if present)
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
kubectl get hpa -n <NAMESPACE>
|
|
54
|
+
# HPA minReplicas must exceed PDB minAvailable or the rollout will deadlock
|
|
55
|
+
```
|