external-dns icon indicating copy to clipboard operation
external-dns copied to clipboard

Feat Request: Webhook Support for Endpoint Sources

Open sleyva-jumptrading opened this issue 9 months ago • 3 comments

What would you like to be added:

Similar to DNS providers, external-dns also maintains a list of sources for endpoints. This proposal is to move DNS sources to a webhook based approach similar to providers. This attempts to solve a similar problem to #4347 just for Endpoint sources as well.

Why is this needed:

The ability to integrate with a generic external API via a webhook would significantly enhance the flexibility and utility of External DNS Sources. This feature would enable the system to interact with various external services more dynamically and would reduce the amount of code needed to be maintained in external-dns for various sources (istio gateways, Virtual Services, etc). It could also potentially increase the adoption and versatility of the tool by accommodating different types of external data sources.

sleyva-jumptrading avatar May 07 '24 21:05 sleyva-jumptrading

There was also a problem with gateway-api. They have 2 alpha resources that are not available anymore and it blocks our dependency upgrade @Raffo .

I posted this to gateway api channel:

Somehow we need get better for breaking changes even if it's alpha resource https://github.com/kubernetes-sigs/external-dns/pull/4455 shows:

# sigs.k8s.io/external-dns/source [sigs.k8s.io/external-dns/source.test]
Error: source/gateway_grpcroute_test.go:75:18: undefined: v1alpha2.GRPCRouteSpec
Error: source/gateway_grpcroute_test.go:78:20: undefined: v1alpha2.GRPCRouteStatus

I have no good idea right now how to handle this in good way such that alpha resources can iterate quickly without breaking us. One way could be a webhook for sources, I think.

szuecs avatar May 11 '24 19:05 szuecs

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Aug 28 '24 20:08 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Sep 27 '24 21:09 k8s-triage-robot