Skip to content

feat(event): standardize event messages and add resource kind lookup for events#6101

Merged
k8s-ci-robot merged 5 commits intokubernetes-sigs:masterfrom
gofogo:chore-event-message
Jan 15, 2026
Merged

feat(event): standardize event messages and add resource kind lookup for events#6101
k8s-ci-robot merged 5 commits intokubernetes-sigs:masterfrom
gofogo:chore-event-message

Conversation

@ivankatliarchuk
Copy link
Copy Markdown
Member

@ivankatliarchuk ivankatliarchuk commented Jan 11, 2026

What does it do ?

  1. Introduces EndpointInfo interface - Decouples events package from endpoint to avoid circular imports
  2. Adds NewEventFromEndpoint() function - Creates events with a consistent message format:
    (external-dns) record:,owner:,type:,ttl:,targets:
  3. Fixes NewObjectReference() Kind lookup - Kubernetes informers don't populate TypeMeta (Kind/APIVersion) on objects. The function now:
    - Looks up Kind from the scheme when TypeMeta is empty
    - Falls back to reflection for custom types not in scheme
  4. Fixes cluster-scoped resource handling - Events default to "default" namespace when source object (like Node) has no namespace
  5. Updates controller - Uses NewEventFromEndpoint instead of manual event construction
  6. Changed event.ReportingController = controllerName + "-" + ec.hostname to event.ReportingController = controllerName for command to work kubectl get events --field-selector reportingComponent=external-dns

before (missing <resources>/uuid
Screenshot 2026-01-11 at 11 13 52

with the fix and message

Screenshot 2026-01-11 at 12 25 14

Motivation

More

  • Yes, this PR title follows Conventional Commits
  • Yes, I added unit tests
  • Yes, I updated end user documentation accordingly

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
@k8s-ci-robot k8s-ci-robot added the controller Issues or PRs related to the controller label Jan 11, 2026
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jan 11, 2026
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
@coveralls
Copy link
Copy Markdown

coveralls commented Jan 11, 2026

Pull Request Test Coverage Report for Build 20898056761

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 36 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.04%) to 78.931%

Files with Coverage Reduction New Missed Lines %
events/types.go 13 90.85%
endpoint.go 23 85.76%
Totals Coverage Status
Change from base Build 20892650297: -0.04%
Covered Lines: 15982
Relevant Lines: 20248

💛 - Coveralls

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
@ivankatliarchuk ivankatliarchuk changed the title feat(event): standardize event messages and add Kind lookup feat(event): standardize event messages and addk resource kind lookup for events Jan 11, 2026
@ivankatliarchuk ivankatliarchuk changed the title feat(event): standardize event messages and addk resource kind lookup for events feat(event): standardize event messages and add resource kind lookup for events Jan 11, 2026
Copy link
Copy Markdown
Collaborator

@mloiseleur mloiseleur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 15, 2026
@ivankatliarchuk
Copy link
Copy Markdown
Member Author

/approve

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ivankatliarchuk

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 15, 2026
@k8s-ci-robot k8s-ci-robot merged commit 12ad9f9 into kubernetes-sigs:master Jan 15, 2026
18 checks passed
ivankatliarchuk added a commit to gofogo/k8s-sigs-external-dns-fork that referenced this pull request Jan 16, 2026
* master: (25 commits)
  feat(event): standardize event messages and add resource kind lookup for events (kubernetes-sigs#6101)
  refactor(informers): unify cache sync functions using generics (kubernetes-sigs#6102)
  fix(fqdn): support kind and api version (kubernetes-sigs#6097)
  test(fqdn): cover sources without any fqdn tests (kubernetes-sigs#6094)
  chore(tools): CRD generation script moved and add validation workflow (kubernetes-sigs#6079)
  fix(metrics): add CNAME to known record types (kubernetes-sigs#6115)
  chore(cloudflare): migrate customhostname to v5 (kubernetes-sigs#5891)
  test(provider/exoscale): improved the test coverage for exoscale provider from 62.8% to 80.4%  (kubernetes-sigs#6112)
  feat(source): gateway api hostname source annotation (kubernetes-sigs#5959)
  test: cover pkg/events/fake package (kubernetes-sigs#6096)
  refactor(controller): controller no longer responsible for SingletonClientGenerator creation (kubernetes-sigs#6077)
  refactor(source): standardize FQDN template accross sources (kubernetes-sigs#6093)
  feat(coredns): rename ownerId and ownedBy to owner (kubernetes-sigs#6032)
  docs: fix typo in README (The are → There are) (kubernetes-sigs#6095)
  refactor(aws): abstract provider-specific boolean parsing (kubernetes-sigs#6078)
  refactor(api): deduplicate addKnownTypes (kubernetes-sigs#6087)
  fix(api): rollback changes for omitempty (kubernetes-sigs#6086)
  chore(deps): bump renovatebot/github-action (kubernetes-sigs#6080)
  fix(aws): enable AWS API validation for routing policies without setIdentifier (kubernetes-sigs#6082)
  chore(aws): document and test behavior for ALB and NLB (kubernetes-sigs#6063)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. controller Issues or PRs related to the controller docs lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants