Commit Graph

368 Commits

Author SHA1 Message Date
Dan Markhasin
7debf8a768 Don't discard klog logs at the highest log levels (debug and trace) 2024-12-18 09:55:48 +02:00
Dan Markhasin
c25a229e5f Don't discard klog logs at the highest log levels (debug and trace) 2024-12-18 09:45:36 +02:00
Andrew Hay
3b5ef9733b
Merge branch 'master' into cloudflare/region 2024-11-01 10:39:22 -04:00
Kubernetes Prow Robot
b834fef2b7
Merge pull request #4745 from github-vincent-miszczak/aws-sd-tags
feat(aws-sd): tag services
2024-10-19 22:33:04 +01:00
tanujd11
faced93ba2 feature: add azure zone list cache
Signed-off-by: tanujd11 <dwiveditanuj41@gmail.com>
2024-10-16 16:48:42 +05:30
Vincent Miszczak
ad744bda83
Merge branch 'kubernetes-sigs:master' into aws-sd-tags 2024-10-07 10:20:22 +02:00
Raffaele Di Fazio
59fe374d79 removes deprecated rdns provider
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2024-10-03 18:48:29 +02:00
romeroalx
1a909b871d pdns provider: added optional argument to make server_id configurable 2024-09-17 20:43:45 +02:00
Vincent Miszczak
7664cea905 feat: aws-sd tags 2024-09-16 14:56:43 +02:00
Andrew Hay
2227d22aa7
Merge branch 'master' into cloudflare/region 2024-09-06 15:10:04 -04:00
Michael Shen
5ec37e0699
Refactor AWS provider to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:44:54 -04:00
Michael Shen
c4a18a9cb6
Refactor AWS Cloud Map provider to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:44:54 -04:00
Michael Shen
ce1ab808f2
Refactor DynamoDB registry to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:44:49 -04:00
Kubernetes Prow Robot
848e309ad4
Merge pull request #4593 from johannwagner/feature/nat64
feat: NAT64 network source
2024-09-05 14:34:29 +01:00
Michel Loiseleur
74a8cdad85
chore: remove unmaintained providers 2024-09-03 08:53:23 +02:00
Johann Wagner
b8e018caaf Introduced NAT64 prefix rewriting 2024-08-19 08:00:18 +02:00
Thibault Jamet
6c5faafbfe
Dynamically register cache provider metrics 2024-08-14 10:21:00 +02:00
Thibault Jamet
29191e2362
Skip apply empty changes in the cache provider
Change-Id: Icaf1ffe34e75c320d4efbb428f831deb8784cd11
2024-08-14 10:20:58 +02:00
Thibault Jamet
089744c6ff
Add cache at provider level
**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:

1. Any changes or corruption directly on the provider side will be
longer to detect and to resolve, up to the cache time

2. 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**

- [X] Unit tests updated
- [X] End user documentation updated

Change-Id: I0bdcfa994ac1b76acedb05d458a97c080284c5aa
2024-08-14 10:20:56 +02:00
Andrew Hay
a38476b791 feat: add cloudflare host name 2024-07-31 18:33:12 +00:00
Kubernetes Prow Robot
8245b89891
Merge pull request #4283 from angeloxx/feature/rfc-2136-ptr
feat(rfc2136): add PTR optional support
2024-06-20 00:44:17 -07:00
Kubernetes Prow Robot
0ba14d8873
Merge pull request #3973 from c445/roehrijn/aws-profiles
feat(aws): use AWS profiles using .credentials file
2024-06-10 13:59:23 -07:00
Michel Loiseleur
84da6be1dd chore: Remove infoblox in-tree provider 2024-05-29 16:01:45 +02:00
Khue Doan
b16d1b3a4b Merge branch 'master' into az-private-dns-zone-name-filter 2024-04-26 00:31:11 +07:00
Jeremy-Boyle
fe0af65a14 Removed the env, and moved to config file changes for ADD endpoints, need to update docs next 2024-04-16 09:58:31 -07:00
Khue Doan
425dea47f3 feat(azure): add zone name filter for Azure Private DNS 2024-03-28 19:56:27 +07:00
angeloxx
cd2088dff3 Merged from master and tested. 2024-03-19 13:27:17 +01:00
Jan Roehrich
2059367ef4
fixing szuecs's findings 2024-03-05 23:06:21 +01:00
Jan Roehrich
7fb25f44ce
Allow usage of (multiple) AWS profiles using .credentials file 2024-03-05 23:06:16 +01:00
Kubernetes Prow Robot
8d3eb3a3ff
Merge pull request #3974 from iteratee/rfc2136-dns-over-tls
RFC2136: Add support for DNS-over-TLS
2024-02-29 10:00:41 -08:00
Kyle Butt
a3c9908d5e
RFC2136: Add support for DNS-over-TLS
*  Reuse the existing TLS options.
 *  Add two new flags, one to enable DNS-over-TLS, and the second to
    disable cert checks for DNS-over-TLS.
 *  Factor out the connection code so that it can be shared between the
    zone transfer and the updates. If TLS was requested, it will be used
    for both.
 *  RFC9013 requires TLS 1.3 or later, and an ALPN negotiation of "dot".
2024-02-26 11:23:34 -07:00
angeloxx
b083e34dfb Rename option with --rfc2136-create-ptr, similar to infoblox option 2024-02-25 18:50:35 +01:00
angeloxx
940899b758 Add command line parameter and update helm 2024-02-25 18:40:12 +01:00
Kubernetes Prow Robot
52460ba89c
Merge pull request #4186 from pascalgn/azure-subscription-id-override
feat: enable Azure subscription ID override
2024-02-15 06:00:13 -08:00
Pascal
be7cac2a56 feat: enable Azure subscription ID override 2024-02-09 12:17:44 +01:00
Megum1n
4ed7b2888d
Fix struct indentation 2024-02-07 16:29:51 +01:00
Megum1n
7d3d355175
Merge branch 'master' into aws-provider-validate-value-size 2024-02-07 16:27:36 +01:00
thiagoluiznunes
ca4f3ae12b fix(aws-provider): add aws-zone-match-parent flag value to aws config 2024-02-06 18:36:06 -03:00
Kubernetes Prow Robot
97a8fa3195
Merge pull request #4076 from k8r-io/fix-hangs-on-traefik-listeners
Fix timeout for traefik-proxy source
2023-12-27 17:22:52 +01:00
Megum1n
c391f5588a
Validate AWS record values size during batch set generation 2023-12-19 10:21:47 +01:00
Manuel Rüger
28c3153826 webhook: Move httpapi into own package
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2023-11-30 21:59:00 +01:00
Kristopher Kirkland
9015377c12 Add flags to disable each of the Traefik API groups 2023-11-29 12:14:59 -06:00
Anders Swanson
dbaca73de2 oracle provider: dns zone cache
Signed-off-by: Anders Swanson <anders.swanson@oracle.com>
2023-11-14 12:59:45 -08:00
Anders Swanson
4eb71536e1 OCI Provider private zone and workload identity support 2023-10-17 10:55:11 -07:00
John Gardiner Myers
627f9b1a00 Remove the --run-aws-provider-as-webhook flag 2023-09-27 23:21:33 -07:00
John Gardiner Myers
859892fc72
Add --webhook-server flag for running as a webhook server (#3957)
* Add --webhook-server flag for running as a webhook server

* Address review comment
2023-09-27 07:40:09 -07:00
Raffaele Di Fazio
8251b6dd85
Webhook provider (#3063)
* initial plugin implementation

* rename to webhook

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* json encoder changes

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* addressing review comments

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* changes according to ionos review

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix to accomodate changes in master

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fixes to accomodate master changes

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* remove all propertyvaluesequals leftovers

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* readd negotiation to pass the domain filter around

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix domain filter passing

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* webhook fixes

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix tests

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix docs

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* docs fixes

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* code review comments on json unmarshal

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* handle error in adjustendpoints

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix a bunch of wrong require

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* tests and docs

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix typo

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

---------

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2023-09-25 01:14:58 -07:00
Kubernetes Prow Robot
e0405a2e60
Merge pull request #3748 from johngmyers/exclude-managed
Add --exclude-record-types flag
2023-09-18 22:37:49 -07:00
Kubernetes Prow Robot
d54fa589c2
Merge pull request #3480 from Megum1n/gloo-multiple-namespaces
Add support for multiple gloo namespaces in one External DNS instance
2023-09-15 22:10:13 -07:00
John Gardiner Myers
94713c20c6 Add --exclude-record-types flag 2023-09-15 18:45:09 -07:00