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
fix: harden controllers against stale objects, orphaned resources, and non-determinism
Address high-severity findings from static analysis and adversarial
review across multiple controllers:
OwnerReference on bootstrap resources:
- otel.go: set OwnerReference (operator Deployment) on ingress CA
and collector ConfigMaps to prevent orphaning on uninstall
- sharedtrust_controller.go: set OwnerReference (intermediate cert
Secret) on cacerts Secrets for proper GC on cert rotation
- agentruntime_controller.go: document why shared namespace ConfigMaps
intentionally omit OwnerReference (multi-tenant safety)
Status update conflict resilience:
- agentruntime_controller.go: wrap all four bare Status().Update
calls in retry.RetryOnConflict with fresh Get, matching the
established pattern in agentcard_controller.go
- Set conditions individually on the fresh object inside each retry
closure instead of bulk-copying rt.Status.Conditions
Unnecessary update elimination:
- mlflow_controller.go: track annotation changes alongside env var
changes; skip r.Update when nothing actually changed
Signature verification correctness:
- verifier.go: removeEmptyFields now recurses into array elements,
cleaning nested maps and stripping empty strings to ensure
canonical JSON consistency between signer and verifier
Pod security:
- kind-with-registry.yaml: add runAsNonRoot, seccompProfile, and
drop ALL capabilities on dev registry Deployment
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Ignas Baranauskas <ibaranau@redhat.com>
0 commit comments