kubernetes-sigs / kubernetes-sigs/node-readiness-controller

[FEATURE] Emit Kubernetes Events for rule evaluation and taint failures

Open
#408 1 comment 0 reactions 1 assignee View on GitHub

@vishnukothakapu is already working on this.

Since Aug 14, 2026.

kind/feature needs-triage
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.