You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Checkov currently lacks native support for scanning Argo Rollouts CRDs (Custom Resource Definitions). While Checkov provides a dedicated runner for Argo Workflows (argo_workflows), there is no equivalent for Argo Rollouts, preventing organizations using progressive delivery strategies from scanning Rollout manifests against Kubernetes security policies.
Problem Statement
Argo Rollouts is an increasingly popular Kubernetes controller for progressive delivery, providing advanced deployment strategies (canary, blue-green) beyond native Kubernetes Deployments. However, when attempting to scan Rollout manifests:
Standard Kubernetes checks are skipped — Most CKV_K8S_* checks target native kinds (Deployment, Pod, Service, etc.) and explicitly exclude custom resources
Pod security context validation fails — Security policies that should apply to pod templates within Rollouts are not evaluated
No CRD-specific checks — Unlike Argo Workflows, there are no dedicated checks for Rollout-specific fields (e.g., strategy configuration, analysis templates)
Kustomize integration gap — When using Kustomize overlays with Rollout resources, Checkov templates the manifests but skips security validation on the resulting Rollouts
Thank you for considering this feature request. We believe Argo Rollouts support would significantly enhance Checkov's utility for progressive delivery workflows.
Summary
Checkov currently lacks native support for scanning Argo Rollouts CRDs (Custom Resource Definitions). While Checkov provides a dedicated runner for Argo Workflows (
argo_workflows), there is no equivalent for Argo Rollouts, preventing organizations using progressive delivery strategies from scanning Rollout manifests against Kubernetes security policies.Problem Statement
Argo Rollouts is an increasingly popular Kubernetes controller for progressive delivery, providing advanced deployment strategies (canary, blue-green) beyond native Kubernetes Deployments. However, when attempting to scan Rollout manifests:
CKV_K8S_*checks target native kinds (Deployment, Pod, Service, etc.) and explicitly exclude custom resourcesExample: Pod Security Context Check
A Rollout manifest with pod security context:
Current behavior: Checks like
CKV_K8S_20(Pod security context) are not applied because the resource kind isRollout, notPodorDeployment.Requested Solution
Implement a dedicated Argo Rollouts runner in Checkov, similar to the existing
argo_workflowsrunner, with the following capabilities:1. Native Rollout Support
Rolloutand related CRDs (AnalysisTemplate,AnalysisRun) to Checkov's resource kind registryrolloutrunner alongsideargo_workflows2. Apply Existing Kubernetes Checks to Rollout Templates
spec.template.specwithin RolloutsCKV_K8S_20(runAsNonRoot),CKV_K8S_38(fsReadOnlyRootFilesystem),CKV_K8S_37(capabilities)spec.templatesimilarly to how Deployment templates are validated4. Custom Policy Support
Enable users to write custom Rollout checks using:
BaseK8sChecksubclasses targetingRolloutresourcesUse Case
This feature is essential for organizations using Argo Rollouts in production EKS environments:
Acceptance Criteria
spec.template.specRelated Resources
checkov/argo_workflows/runner.pycheckov/kubernetes/runner.pyAlternative Considerations
If a full runner is not feasible in the short term:
Rolloutkind and apply pod template checksQuestions for Maintainers
Thank you for considering this feature request. We believe Argo Rollouts support would significantly enhance Checkov's utility for progressive delivery workflows.