Skip to content

security(kubescape): close the Coroot C-0211 residual through a scoped, convergence-proven admission mutation #3990

Closed
3 of 3 issues completed

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

Six of the 14 remaining C-0211 workloads are the Coroot stack in observability: the server, prometheus, cluster-agent, node-agent, clickhouse and keeper. All six are templates generated by the Coroot operator. The installed Coroot CRD has no pod-level security field for any component and no field at all for node-agent, so the fix can't be supplied through operator configuration the way it was for the Helm-rendered workloads. Measurement and CRD survey: #3239 (comment).

Audience and problem

Until these six stored templates carry fsGroupChangePolicy and seLinuxOptions, the cluster-wide C-0211 exception can't narrow for observability. docs/baseline-context-rollout.md keeps the namespace-wide baseline-context-controllers switch off because admitting fields the operator didn't set could make it rewrite its objects repeatedly.

Hypothesis

Scoping the existing controller mutation to Coroot-owned controllers (not the whole namespace), and gating it on a preflight / after-apply convergence proof, closes all six without an operator write loop. The operator's current write pattern is bounded: its last writes on these objects are days old despite continuous reconciliation.

Success signal

  • The observability residual goes from 6 to 0 under the object-presence predicate, measured on the live stored specs.
  • Guardrail: the operator's write count on the six objects doesn't grow across a 30-minute window after apply, and every Coroot pod stays Ready.

Acceptance criteria

Size: M.

Activity

  1. moved this to 📥 Backlog in 🌊 Project Boardon Sep 21, 2026
  2. self-assigned this
    on Sep 21, 2026
  3. added a commit that references this issue on Sep 21, 2026
  4. added a commit that references this issue on Sep 21, 2026
  5. devantler commented on Sep 22, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Verified in prod: the observability residual is 0, with no write loop

    I measured the six Coroot templates' live stored specs (read-only, 2026-09-22), using the same object-presence predicate as #3239.

    Every acceptance criterion is met, so I'm closing this. The residual is recorded on #3239 as well.

  6. moved this from 📥 Backlog to ✅ Done in 🌊 Project Boardon Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

No fields configured for Security.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions