Commit Graph

383 Commits

Author SHA1 Message Date
Ivan Ka
65d534e4a1
chore(code-cleanup): move logic away from main.go add tests (#5222)
* feat(code cleanup): remove from main.go

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic away from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic away from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic away from main.go add tests

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

* chore(code-cleanup): move logic away from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(code-cleanup): move logic away from main.go add tests

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-03-31 15:58:43 -07:00
Kubernetes Prow Robot
a2f0f2eb5d
Merge pull request #5192 from hjoshi123/feat-expose-internal-ipv6
feat(source): optional expose of nodes internal ipv6
2025-03-26 15:26:44 -07:00
Ivan Ka
f6d49ddbe8
feat(banner): standardize user agent and output (#5154)
* chore(banner): add banner

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(banner): add banner

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(banner): add banner

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(banner): add banner

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* feat(banner): standartise user agent and output banner

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-03-24 01:16:40 -07:00
Romain Beuque
ecd57c86f5
feat(ovh): major rewriting of the provider (#5143)
* feat: ovh: improve cache invalidation on errors + dry-run mode + relative CNAME handling + optimization

Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>

* chore: add more tests

Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>

* fix: align cache expiration with Default value

* chore: address comments from review + updated documentation

* chore: address comments from review

---------

Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>
2025-03-17 07:53:49 -07:00
hjoshi123
1fbcb5749a
Merge branch 'master' of github.com:hjoshi123/external-dns into feat-expose-internal-ipv6 2025-03-17 08:39:12 -06:00
hjoshi123
87e3c4bc9c
feat: added expose internal ipv6 flag 2025-03-17 08:37:06 -06:00
Michel Loiseleur
313e15ac2c chore(openstack designate)!: remove in-tree provider 2025-03-15 17:19:10 +01:00
Steven Kreitzer
a6243325d9
fix(source): config didnt set gatewayname 2025-03-12 15:09:36 -05:00
mrozentsvayg
44f1008ee1
cloudflare: bugfix - do not attempt to create unconfigured empty custom hostnames; improve tests; streamline logic (#5146)
improve test coverage

test the edge case when the custom hostname has changed during the record deletion

don't use custom hostnames if Cloudflare for SaaS fails to authenticate

Use new --cloudflare-custom-hostnames flag to enable cloudflare custom hostnames support

custom hostnames flags --cloudflare-custom-hostnames-min-tls-version and --cloudflare-custom-hostnames-certificate-authority support

markdown lint

Update cloudflare.md
2025-03-12 09:59:48 -07:00
Ivan Ka
1e8e5e06c5
chore(docs): generate docs/monitoring/metrics.md file (#5117)
* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>

* chore(docs): generate docs/monitoring/metrics.md file

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-03-04 05:05:44 -08:00
Dan Markhasin
87464189b3 Enable reconcile on endpoint events 2025-02-02 23:42:50 +02:00
Jeremy-Boyle
781eb5c8ef
Added init work to support RFC2136 multiple hosts.
Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Fixed go tests, added checks to ensure multiple hosts, and RFC2136LoadBalancingStrategy is set and can be overritten

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Documentation to support Multiple Hosts and Load Balancing features

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

WIP, counter not working correctly

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Make pointers to the rfc2136 provider, fixed counter issue, log out last error.

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Fix error with failover not working correctly

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Repoint makefile us.gcr.io/k8s-artifacts-prod/external-dns

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Repoint makefile us.gcr.io/k8s-artifacts-prod/external-dns

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Fix changes that arent related directly to this PR

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>

Changed comment message details for counter

Signed-off-by: Jeremy-Boyle <9406398+Jeremy-Boyle@users.noreply.github.com>
2025-01-28 17:06:41 -06:00
Kubernetes Prow Robot
a61780280d
Merge pull request #4782 from foyerunix/reverse-for-all-pods
feat(source): allow to register all pods and their associated PTR record
2025-01-28 07:51:24 -08:00
Malthe Poulsen
cd624b6f55
feat(txt-registry): add option to use only new format (#4946)
* feat: add option to use only new format TXT records

* add flag and docs

* refine documentation on how to use the flag

* add section regarding manual migration

* update documentation to be same as in types.go

* fix compile issue

* add tests for new flag

* update flags documentation correctly

* add new option to helm chart

* run helm-docs

* remove unessery newline

* add entry to unreleased chart items

* Revert "run helm-docs"

This reverts commit a1d64bd3e8.

* Revert "add new option to helm chart"

This reverts commit 299d087917.

* Revert "add entry to unreleased chart items"

This reverts commit 0bcd0e3612.

* fix test cases that have changed
2025-01-28 03:21:23 -08:00
foyerunix
bf8c4c0ba6 Allow to register all pods and their associated PTR record
Add two new options:
- --ignore-non-host-network-pods
- --pod-source-domain

Combined toghether, they can be used to register the IPs
of all pods with their associated PTR record.

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-01-14 07:23:38 +00:00
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