Conversation
9b25ea7 to
552db48
Compare
ae40443 to
3797dce
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: akutz, aruneshpa The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
9ebd3fe to
0fc3b55
Compare
|
Please note that I have updated the property path to use JSON Path for a more standard means of evaluating the target of the DNS entry. This also supports index fields in slices and not just object notation. |
a317f84 to
501710c
Compare
This patch introduces a new source for reading APIs using the unstructured package. Users can specify the property path for the target of the endpoint, leveraging the well-known annotations for the host names, TTL, and record type. This source allows a wider-range of resources to participate in ExternalDNS without having to maintain a secondary resource for DNSNames. This also decreases the need to create sources based on alpha APIs before they are fully baked.
501710c to
e3df86f
Compare
| expectedSlice: []string{"fu.bar"}, | ||
| }, | ||
|
|
||
| // two hostsnames and whitespace |
|
|
||
| ttl, err := us.getTTL(item) | ||
| if err != nil { | ||
| log.Warnf("failed to get TTL for resource %q that has hostnames %s and targets %s: %s", item.GetName(), hostnames, targets, err) |
There was a problem hiding this comment.
warning only for deprecations, use Errorf instead, please check also rest of the logs above in the same file.
|
|
||
| recordType := us.getRecordType(item) | ||
|
|
||
| log.Infof("resource=%q, hostnames=%s, targets=%s, ttl=%v, recordType=%q\n", item.GetName(), hostnames, targets, ttl, recordType) |
| * [DNS A-record](#dns-a-record-a-cluster-scoped-crd) | ||
| * [Cleanup](#cleanup-steps) | ||
|
|
||
| ## Details |
There was a problem hiding this comment.
Because it seems very different than the envisioned purpose of external-dns, can you please add more about architecture, when it makes sense to use when it does not?
There is a need for more context here. I basically don't understand who would use it and why one would use this instead of the current available sources. What do you do better or enable (use cases?), than the current offer?
szuecs
left a comment
There was a problem hiding this comment.
Code looks fines, some tiny comments but all in all lgtm
I just wonder about use case and why someone would like to use it. Basically what does it offer more than the current solution?
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
|
@szuecs was asking for a use case. In the PR description, @akutz's motivation was forward compatibility and compatibility with narrow use cases, and I guess my use case falls into that latter category. |
@szuecs , consider a custom resource that specifies hostnames and targets, which should be consumed external-dns to add entries with the configured DNS provider. As I understand, there are two ways to do that today:
With the above in mind, I see value in the unstructured source which can allow users to use external-dns with their configured provider without heavily changing their API type, or introducing a brand new source. Let me know what you think. |
|
@akutz Do you think you can rebase this PR ? |
|
@akutz: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
I'm closing this PR, since there are no answer from the author. |
|
@mloiseleur: Closed this PR. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@mloiseleur will external-dns add support for nonstandard and niche sources in any other way? |
|
@TomyLobo Feel free to open a new PR based on this if you need it. |
|
I would, but my Go skills are severely lacking. |
Description
This patch introduces a new source for reading APIs using the unstructured package. Users can specify the property path for the target of the endpoint, leveraging the well-known annotations for the host names, TTL, and record type. This source allows a wider-range of resources to participate in ExternalDNS without having to maintain a secondary resource for DNSNames. This also decreases the need to create sources based on alpha APIs before they are fully baked.
Fixes
NAChecklist