π€ Generated by the Agentic Engineer
Evidence
Two files hold 16 of the 37 checkov findings remaining under #2787 β 43% of the backlog β
and both are vendored upstream release bundles:
| File |
Findings |
Check ids |
k8s/bases/infrastructure/controllers/cdi/cdi-operator.yaml |
8 |
CKV_K8S_11, _13, _15, _155, _22, _38, _40, _43 |
k8s/bases/infrastructure/controllers/kubevirt/kubevirt-operator.yaml |
8 |
same eight |
Both are multi-document upstream release manifests (~5.8k lines for CDI), and git log shows
exactly one commit each β 61885392 feat: add KubeVirt and CDI operators to platform β so
neither has ever been hand-edited. The repo already treats them as vendored: cdi/kustomization.yaml
adjusts them through kustomize patches: rather than editing the file.
Problem
The two mechanisms this backlog has used so far both fail here:
--skip-path would work mechanically but is far too broad β it would drop every check on both
files, not the eight that are genuinely upstream's.
Worth deciding
Which of these is the durable convention for vendored upstream manifests, given the platform
vendors more of them over time:
- Regenerate with a documented fetch step that appends the dispositions, so a bump reproduces
them instead of dropping them.
- Move the bundles behind a HelmRelease or OCI source so they are not files in the tree at all
β the coredns deployment already carries a TODO: Rework ... into a helm-release for the same
reason.
- A path-and-check-scoped exclusion expressed once, if checkov can express it without
suppressing unrelated checks on the same path.
The answer decides how ~43% of #2787's remaining backlog is closed, so it is worth settling before
dispositioning the eight checks individually.
Acceptance criteria
Rough size: medium β the decision is the work; applying it is small. Part of #2787.
Evidence
Two files hold 16 of the 37 checkov findings remaining under #2787 β 43% of the backlog β
and both are vendored upstream release bundles:
k8s/bases/infrastructure/controllers/cdi/cdi-operator.yamlCKV_K8S_11,_13,_15,_155,_22,_38,_40,_43k8s/bases/infrastructure/controllers/kubevirt/kubevirt-operator.yamlBoth are multi-document upstream release manifests (~5.8k lines for CDI), and
git logshowsexactly one commit each β
61885392 feat: add KubeVirt and CDI operators to platformβ soneither has ever been hand-edited. The repo already treats them as vendored:
cdi/kustomization.yamladjusts them through kustomize
patches:rather than editing the file.Problem
The two mechanisms this backlog has used so far both fail here:
checkov.io/skipNannotations (the mechanism security(k8s): disposition CKV_SECRET_6 β 31 findings are key references, not secret materialΒ #2892/security(k8s): disposition CKV_K8S_40 β 11 findings whose UID is load-bearingΒ #2898 use) would mean editing thevendored bundle. The next vendor bump overwrites it, and the finding returns with no signal.
output.
--skip-pathwould work mechanically but is far too broad β it would drop every check on bothfiles, not the eight that are genuinely upstream's.
Worth deciding
Which of these is the durable convention for vendored upstream manifests, given the platform
vendors more of them over time:
them instead of dropping them.
β the
corednsdeployment already carries aTODO: Rework ... into a helm-releasefor the samereason.
suppressing unrelated checks on the same path.
The answer decides how ~43% of #2787's remaining backlog is closed, so it is worth settling before
dispositioning the eight checks individually.
Acceptance criteria
kubernetesframework drops accordingly.Rough size: medium β the decision is the work; applying it is small. Part of #2787.