kubernetes-sigs / kubernetes-sigs/node-readiness-controller
[FEATURE] Emit Kubernetes Events for rule evaluation and taint failures
@vishnukothakapu is already working on this.
Since Aug 14, 2026.
- Dominant language
- Go
- Stars
- 164
- Forks
- 75
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 13
Description
Is your feature request related to a problem or existing issue? Please describe.
I noticed in nodereadinessrule_controller.go that an EventRecorder is initialized in NewRuleReadinessController, but a quick grep shows it is never actually used to emit events (Event, Eventf).
When a rule fails to evaluate against a node or a taint fails to apply, the error is only printed to the controller's stdout logs. Standard Kubernetes practice is to emit an EventTypeWarning on the NodeReadinessRule (and possibly the Node) so users can easily see failures via kubectl describe nodereadinessrule <name> or kubectl get events.
Describe the solution you'd like
Add r.Controller.EventRecorder.Eventf(...) calls for major lifecycle events and failures.
For example:
- Normal: "TaintApplied" / "TaintRemoved"
- Warning: "EvaluationFailed" / "TaintApplyFailed"
Describe alternatives you've considered
Forcing users to scrape controller logs or rely entirely on Prometheus metrics, but kubectl describe is usually the first line of defense for users debugging why a node isn't ready.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.