-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add provider cache #4597
Add provider cache #4597
Conversation
Hi @tjamet. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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-sigs/prow repository. |
32c756c
to
76b56c0
Compare
/ok-to-test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is really great, with test, documentation and metrics.
Many thanks for that.
For the documentation, Wdyt of adding a new page about this topic in advanced topic section ?
/lgtm
/assign @Raffo
Happy to do so. I will take a look if I can do it in the coming days |
1336ec6
to
da8a7e4
Compare
Hi! I have added a page dealing with those API rate limits concerns. |
Change-Id: I3f4646cabd66216fd028fbae3adf68129a8a2cbf
Change-Id: I13da2aa28eef3e2c8e81b502321c4dc137087b2d
Co-authored-by: Michel Loiseleur <[email protected]>
Co-authored-by: Michel Loiseleur <[email protected]>
c81ca76
to
8d2f1c0
Compare
Sure, I have just rebased it! |
/lgtm |
Apologies, I didn't see the LGTM and applied a suggestion. I guess this will require a new |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Raffo The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
…rnal-dns to v0.15.0@338dd8c by renovate (#25969) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [registry.k8s.io/external-dns/external-dns](https://redirect.github.com/kubernetes-sigs/external-dns) | minor | `v0.14.2` -> `v0.15.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>kubernetes-sigs/external-dns (registry.k8s.io/external-dns/external-dns)</summary> ### [`v0.15.0`](https://redirect.github.com/kubernetes-sigs/external-dns/releases/tag/v0.15.0) [Compare Source](https://redirect.github.com/kubernetes-sigs/external-dns/compare/v0.14.2...v0.15.0) #### Important notes This release drops a few unmaintained providers. See [https://github.com/kubernetes-sigs/external-dns/pull/4719](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4719) as mentioned in [https://github.com/kubernetes-sigs/external-dns/issues/4347](https://redirect.github.com/kubernetes-sigs/external-dns/issues/4347). If you need to use any of the previous providers, please use a previous release of external DNS or follow the instructions to implement a webhook provider that supports those providers. #### What's Changed - build(deps): bump actions/checkout from 4.1.5 to 4.1.6 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4477](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4477) - Update kustomize version for v0.14.2 by [@​Raffo](https://redirect.github.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4480](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4480) - build(deps): bump the dev-dependencies group with 8 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4478](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4478) - update docs to v0.14.2 by [@​Raffo](https://redirect.github.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4481](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4481) - build(deps): bump GrantBirki/json-yaml-validate from 2.7.1 to 3.0.0 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4489](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4489) - fix: re-add api-approved.kubernetes.io annotation by [@​morremeyer](https://redirect.github.com/morremeyer) in [https://github.com/kubernetes-sigs/external-dns/pull/4488](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4488) - feat(webhooks): pass webhook-\* annotations to webhook providers by [@​Raffo](https://redirect.github.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4458](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4458) - fix(traefik): Nil pointer exception if legacy traefik is disabled by [@​kbudde](https://redirect.github.com/kbudde) in [https://github.com/kubernetes-sigs/external-dns/pull/4502](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4502) - add unifi webhook to readme by [@​onedr0p](https://redirect.github.com/onedr0p) in [https://github.com/kubernetes-sigs/external-dns/pull/4504](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4504) - Drop experimental notice in webhook flags by [@​Raffo](https://redirect.github.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4507](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4507) - feat(coredns): etcd authentication by [@​matthieugouel](https://redirect.github.com/matthieugouel) in [https://github.com/kubernetes-sigs/external-dns/pull/4503](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4503) - Bump the dev-dependencies group across 1 directory with 13 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4514](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4514) - Add Infoblox webhook provider by [@​k0da](https://redirect.github.com/k0da) in [https://github.com/kubernetes-sigs/external-dns/pull/4513](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4513) - 🌱 docs(footer): Add trademark disclaimer by [@​mariasalcedo](https://redirect.github.com/mariasalcedo) in [https://github.com/kubernetes-sigs/external-dns/pull/4529](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4529) - chore!: Remove infoblox in-tree provider by [@​mloiseleur](https://redirect.github.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4516](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4516) - Update to Go 1.22.4 by [@​Raffo](https://redirect.github.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4534](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4534) - Bump the dev-dependencies group across 1 directory with 19 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4536](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4536) - Add documentation about etcd HTTPS for CoreDNS provider by [@​AlessandroZanatta](https://redirect.github.com/AlessandroZanatta) in [https://github.com/kubernetes-sigs/external-dns/pull/4538](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4538) - chore(chart): Released chart for v0.14.2 by [@​stevehipwell](https://redirect.github.com/stevehipwell) in [https://github.com/kubernetes-sigs/external-dns/pull/4541](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4541) - Bump the dev-dependencies group with 4 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4540](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4540) - feat(aws): use AWS profiles using .credentials file by [@​roehrijn](https://redirect.github.com/roehrijn) in [https://github.com/kubernetes-sigs/external-dns/pull/3973](https://redirect.github.com/kubernetes-sigs/external-dns/pull/3973) - fix(cloudflare): trimSpace on token read from file by [@​simonostendorf](https://redirect.github.com/simonostendorf) in [https://github.com/kubernetes-sigs/external-dns/pull/4515](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4515) - docs: upgrade mkdocs and fix broken links by [@​mloiseleur](https://redirect.github.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4378](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4378) - chore(deps): bump github.com/vektah/gqlparser/v2 from 2.5.1 to 2.5.14 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4546](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4546) - chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.2 to 1.6.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4544](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4544) - chore(deps): bump the dev-dependencies group across 1 directory with 19 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4562](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4562) - chore(deps): bump actions/checkout from 4.1.6 to 4.1.7 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4547](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4547) - feat(rfc2136): add PTR optional support by [@​angeloxx](https://redirect.github.com/angeloxx) in [https://github.com/kubernetes-sigs/external-dns/pull/4283](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4283) - Update cloudflare.md by [@​tobiabocchi](https://redirect.github.com/tobiabocchi) in [https://github.com/kubernetes-sigs/external-dns/pull/4583](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4583) - feat!: update GRPCRoute client from v1alpha2 to stable v1 by [@​thameezb](https://redirect.github.com/thameezb) in [https://github.com/kubernetes-sigs/external-dns/pull/4567](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4567) - docs(annotations): note how to set multiple hostnames by [@​hopkinsth](https://redirect.github.com/hopkinsth) in [https://github.com/kubernetes-sigs/external-dns/pull/4602](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4602) - chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4604](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4604) - Gateway API: Revert Gateway and HTTPRoute objects from v1 to v1beta1 by [@​abursavich](https://redirect.github.com/abursavich) in [https://github.com/kubernetes-sigs/external-dns/pull/4610](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4610) - chore(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4600](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4600) - chore(deps): bump the dev-dependencies group across 1 directory with 37 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4655](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4655) - docs: fix broken link by [@​ilmax](https://redirect.github.com/ilmax) in [https://github.com/kubernetes-sigs/external-dns/pull/4662](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4662) - azure-private-dns: Fix LoadBalancer example by [@​orgads](https://redirect.github.com/orgads) in [https://github.com/kubernetes-sigs/external-dns/pull/4663](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4663) - AWS: Change documentation to use Helm values by [@​pier-oliviert](https://redirect.github.com/pier-oliviert) in [https://github.com/kubernetes-sigs/external-dns/pull/4577](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4577) - chore(deps): bump the dev-dependencies group across 1 directory with 10 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4668](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4668) - Improve MinEventInterval compliance with docs by [@​tjamet](https://redirect.github.com/tjamet) in [https://github.com/kubernetes-sigs/external-dns/pull/3400](https://redirect.github.com/kubernetes-sigs/external-dns/pull/3400) - Add provider cache by [@​tjamet](https://redirect.github.com/tjamet) in [https://github.com/kubernetes-sigs/external-dns/pull/4597](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4597) - chore: update maintainers by [@​mloiseleur](https://redirect.github.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4679](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4679) - fix(helm): make use of resource values for webhook by [@​crutonjohn](https://redirect.github.com/crutonjohn) in [https://github.com/kubernetes-sigs/external-dns/pull/4560](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4560) - Fix AWS Cloud Map docs: annotation key/value pairs must be strings by [@​mjlshen](https://redirect.github.com/mjlshen) in [https://github.com/kubernetes-sigs/external-dns/pull/4683](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4683) - Webhook provider helm chart fixes by [@​kimsondrup](https://redirect.github.com/kimsondrup) in [https://github.com/kubernetes-sigs/external-dns/pull/4643](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4643) - chore(deps): bump the dev-dependencies group across 1 directory with 16 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4684](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4684) - chore(deps): bump GrantBirki/json-yaml-validate from 3.0.0 to 3.1.0 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4685](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4685) - Add tutorial to DynamoDB registry docs by [@​mjlshen](https://redirect.github.com/mjlshen) in [https://github.com/kubernetes-sigs/external-dns/pull/4686](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4686) - chore(deps): bump GrantBirki/json-yaml-validate from 3.1.0 to 3.2.0 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4700](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4700) - chore(deps): bump GrantBirki/json-yaml-validate from 3.2.0 to 3.2.1 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4702](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4702) - chore: upgrade ExternalDNS to go 1.23 by [@​mloiseleur](https://redirect.github.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4698](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4698) - feat: add annotation and label filters to Ambassador Host Source by [@​KyleMartin901](https://redirect.github.com/KyleMartin901) in [https://github.com/kubernetes-sigs/external-dns/pull/2633](https://redirect.github.com/kubernetes-sigs/external-dns/pull/2633) - Add RouterOS provider to README.md by [@​benfiola](https://redirect.github.com/benfiola) in [https://github.com/kubernetes-sigs/external-dns/pull/4714](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4714) - feat: support dual stack for gateway api by [@​thameezb](https://redirect.github.com/thameezb) in [https://github.com/kubernetes-sigs/external-dns/pull/4469](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4469) - chore(deps): bump actions/setup-python from 5.1.1 to 5.2.0 in the dev-dependencies group by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4712](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4712) - chore: remove unmaintained providers by [@​mloiseleur](https://redirect.github.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4719](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4719) #### Images docker pull registry.k8s.io/external-dns/external-dns:v0.15.0 #### New Contributors - [@​kbudde](https://redirect.github.com/kbudde) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4502](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4502) - [@​matthieugouel](https://redirect.github.com/matthieugouel) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4503](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4503) - [@​mariasalcedo](https://redirect.github.com/mariasalcedo) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4529](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4529) - [@​AlessandroZanatta](https://redirect.github.com/AlessandroZanatta) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4538](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4538) - [@​roehrijn](https://redirect.github.com/roehrijn) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/3973](https://redirect.github.com/kubernetes-sigs/external-dns/pull/3973) - [@​simonostendorf](https://redirect.github.com/simonostendorf) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4515](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4515) - [@​angeloxx](https://redirect.github.com/angeloxx) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4283](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4283) - [@​tobiabocchi](https://redirect.github.com/tobiabocchi) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4583](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4583) - [@​thameezb](https://redirect.github.com/thameezb) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4567](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4567) - [@​hopkinsth](https://redirect.github.com/hopkinsth) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4602](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4602) - [@​ilmax](https://redirect.github.com/ilmax) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4662](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4662) - [@​orgads](https://redirect.github.com/orgads) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4663](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4663) - [@​pier-oliviert](https://redirect.github.com/pier-oliviert) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4577](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4577) - [@​crutonjohn](https://redirect.github.com/crutonjohn) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4560](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4560) - [@​mjlshen](https://redirect.github.com/mjlshen) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4683](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4683) - [@​kimsondrup](https://redirect.github.com/kimsondrup) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4643](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4643) - [@​KyleMartin901](https://redirect.github.com/KyleMartin901) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/2633](https://redirect.github.com/kubernetes-sigs/external-dns/pull/2633) - [@​benfiola](https://redirect.github.com/benfiola) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4714](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4714) **Full Changelog**: kubernetes-sigs/external-dns@v0.14.2...v0.15.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC42Ny41IiwidXBkYXRlZEluVmVyIjoiMzguNjcuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJhdXRvbWVyZ2UiLCJ1cGRhdGUvZG9ja2VyL2dlbmVyYWwvbm9uLW1ham9yIl19-->
@@ -186,7 +186,7 @@ type Controller struct { | |||
// The interval between individual synchronizations | |||
Interval time.Duration | |||
// The DomainFilter defines which DNS records to keep or exclude | |||
DomainFilter endpoint.DomainFilter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could someone explain why we changed the type here?
Edit: Meant to comment on the provider type here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the time of implementing, there was a conflict with some providers.
It seems that this is not the case any longer and that this change was kept over rebases.
I tried reverting b2ff1619 and it seems to work after some minor fixes.
What problems do you encounter because of this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What problems do you encounter because of this change?
It introduced a breaking change for some of the webhook providers as we used the DomainFilter type to simply Marshal the filter list for negotiation. We now just take the filter json and marshal it ourselves which is no big issue. It's just a loss of functionality. (writing this at 2am, might have a better way to explain it later)
@tjamet @Raffo |
Adding a specific named extraArgs:
- --min-event-sync-interval=5m
- --provider-cache-time=60m
- --aws-zones-cache-duration=10m Those will be provided to the deployment |
Description
In the current implementation, DNS providers are called to list all records on every loop. This is expensive in terms of number of requests to the provider and may result in being rate limited, as reported in 1293 and 3397.
In our case, we have approximately 20,000 records in our AWS Hosted Zone. The ListResourceRecordSets API call allows a maximum of 300 items per call. That requires 67 API calls per external-dns deployment during every sync period
With this, we introduce an optional generic caching mechanism at the provider level, that re-uses the latest known list of records for a given time.
This prevents from expensive Provider calls to list all records for each object modification that does not change the actual record (annotations, statuses, ingress routing, ...)
This introduces 2 trade-offs:
Any changes or corruption directly on the provider side will be longer to detect and to resolve, up to the cache time
Any conflicting records in the DNS provider (such as a different external-dns instance) injected during the cache validity will cause the first iteration of the next reconcile loop to fail, and hence add a delay until the next retry
Checklist
reopen #3402