777 Commits

Author SHA1 Message Date
Seena Fallah
736a2d58ae
feat!: generalize PTR record support from rfc2136 to all providers (#6232)
* feat(metrics): add source wrapper metrics for invalid and deduplicated endpoints

Add GaugeVecMetric.Reset() to clear stale label combinations between cycles.

Introduce invalidEndpoints and deduplicatedEndpoints gauge vectors in the
source wrappers package, partitioned by record_type and source_type. The
dedup source wrapper now tracks rejected (invalid) and de-duplicated
endpoints per collection cycle.

Update the metrics documentation and bump the known metrics count.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(source): add PTR source wrapper for automatic reverse DNS

Implement ptrSource, a source wrapper that generates PTR endpoints from
A/AAAA records. The wrapper supports:

- Global default via WithCreatePTR (maps to --create-ptr flag)
- Per-endpoint override via record-type provider-specific property
- Grouping multiple hostnames sharing an IP into a single PTR endpoint
- Skipping wildcard DNS names

Add WithPTRSupported and WithCreatePTR options to the wrapper Config
and wire the PTR wrapper into the WrapSources chain when PTR is in
managed-record-types.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(config): add --create-ptr flag and deprecate --rfc2136-create-ptr

Add the generic --create-ptr boolean flag to Config, enabling automatic
PTR record creation for any provider. Add IsPTRSupported() helper that
checks whether PTR is included in --managed-record-types.

Add validation: --create-ptr (or legacy --rfc2136-create-ptr) now
requires PTR in --managed-record-types, preventing misconfiguration.

Mark --rfc2136-create-ptr as deprecated in the flag description.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* refactor(rfc2136): remove inline PTR logic in favor of PTR source wrapper

Remove the createPTR field, AddReverseRecord, RemoveReverseRecord, and
GenerateReverseRecord methods from the rfc2136 provider. PTR record
generation is now handled generically by the PTR source wrapper before
records reach the provider.

Update the PTR creation test to supply pre-generated PTR endpoints
(simulating what the source wrapper produces) instead of relying on
the provider to create them internally.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(controller): wire PTR source wrapper into buildSource

Pass the top-level Config to buildSource so it can read IsPTRSupported()
and the CreatePTR / RFC2136CreatePTR flags. When PTR is in
managed-record-types, the PTR source wrapper is installed in the
wrapper chain with the combined create-ptr default.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* chore(pdns): remove stale comment and fix whitespace

Remove an outdated comment about a single-target-per-tuple assumption
that no longer applies.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* docs: add PTR records documentation and update existing guides

Add docs/advanced/ptr-records.md covering the --create-ptr flag,
per-resource annotation overrides, prerequisites, and usage examples.

Update:
- annotations.md: document record-type annotation
- flags.md: add --create-ptr, mark --rfc2136-create-ptr as deprecated
- tutorials/rfc2136.md: point to generic --create-ptr flag
- contributing/source-wrappers.md: add PTR wrapper to the chain
- mkdocs.yml: add PTR Records navigation entry

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* feat(rfc2136)!: remove rfc2136-create-ptr in favor of create-ptr

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

---------

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2026-03-30 13:36:16 +05:30
Ivan Ka
2c46340270
docs(aws): tutorial with kind and localstack (#6048)
* docs(aws): tutorial with kind and localstack

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

* remove dependencies

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

* docs(aws): tutorial with kind and localstack

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

* docs(aws): tutorial with kind and localstack

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

* docs(aws): tutorial with kind and localstack

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

* docs(aws): tutorial with kind and localstack

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

* docs(aws): tutorial with kind and localstack

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

* docs(aws): tutorial with kind and localstack

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>
2026-03-24 14:12:15 +05:30
Seena Fallah
ba0baebade
docs: add BIND9 on Kubernetes with Kind tutorial for rfc2136 provider (#6295)
* docs: add BIND9 on Kubernetes with Kind tutorial for rfc2136 provider

Add a step-by-step guide for deploying BIND9 and ExternalDNS inside
a local Kind cluster, covering forward (A) and reverse (PTR) DNS
zones with TSIG authentication.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* docs: apply suggestions for bind9 tutorial

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

---------

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2026-03-22 16:16:13 +05:30
Ivan Ka
19263ee9f0
fix(webhook): connection pool leaks, stuck goroutines on server hang, and retry correctness (#6279)
* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

* fix(webhook): connection leaks, goroutine leaks, and retry correctness

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-20 16:04:14 +05:30
Oleksandr Simonov
18c451cf87
chore(digitalocean)!: remove in-tree provider (#6283) 2026-03-17 14:11:39 +05:30
Ivan Ka
8bea2e4127
chore(deps): bump pre-commit and fix markdown docs (#6241)
* deps(pre-commit): bump pre-commit

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

* deps(pre-commit): bump pre-commit, fix linter markdown issues

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

* deps(pre-commit): bump pre-commit, fix linter markdown issues

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

* deps(pre-commit): bump pre-commit, fix linter markdown violations

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-17 02:07:39 +05:30
Ivan Ka
6cb3fba6b1
chore(set-identifier): expand annotation docs and add test coverage for dedup and merge behaviour (#6230)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-16 13:55:38 +05:30
David Kröll
fb323d9c91
docs: add anexia docs page (#6252) 2026-03-14 22:27:35 +05:30
Charles Anderson
ca58d993af
feat(cloudflare): support batch API for DNS record changes (#6208)
* feat(cloudflare): add --batch-change-size and --batch-change-interval flags

Adds two new global CLI flags for controlling batch DNS change behaviour:
- --batch-change-size (default 200): maximum number of DNS operations per batch
- --batch-change-interval (default 1s): pause between consecutive batch chunks

Wires the flags through Config into the Cloudflare provider's DNSRecordsConfig.

* feat(cloudflare): implement batch DNS records API with automatic fallback

Uses Cloudflare's Batch DNS Records API to submit all creates, updates, and
deletes for a zone in a single transactional API call per chunk, significantly
reducing the total number of requests made against the Cloudflare API.

- Batch size and interval are controlled via --batch-change-size / --batch-change-interval
- Record types unsupported by the batch PUT endpoint (e.g. SRV, CAA) are
  submitted individually via the standard API
- If a batch chunk is rejected by Cloudflare, ExternalDNS automatically retries
  each record change in that chunk individually so no changes are silently lost
- Adds cloudflare_batch.go with the core batching logic and full test coverage

* feat(cloudflare): soft retry for 'unexpected EOF' (issue 3798)

* feat(cloudflare): soft retry for 'unexpected EOF' (issue 3798)

* feat(cloudflare): debug logs for intentional invididual-updates

* feat(cloudflare): improved code coverage

* feat(cloudflare): handle json.Encoder error in test helper
2026-03-12 22:21:36 +05:30
Andy Hay
3dd839a33e
chore(cloudflare): migrate customhostname to v5 (#5891)
* chore(cloudflare): migrate customhostname to v5

* style: use range instead of loop

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* style: remove extra space

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* style: spelling

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* test(cloudflare): restore missing tests dropped during merge

* style: use t.Context() and t.Parallel() in restored tests

* refactor(cloudflare): split submitCustomHostnameChanges to reduce complexity

* style: apply gofmt to restored tests

* test: restore valid tests from master and append custom ones

* fix(cloudflare): migrate tests to v5 SDK error types and fix PerPage handling

- Replace all cloudflarev0.Error usages with cloudflare.Error in tests
- Remove unused cloudflarev0 import
- Fix getDNSRecordsMap to use PerPage configuration
- Add early return in convertCloudflareError for structured v5 errors
- Update TestConvertCloudflareError to handle v5 error types safely
- Remove ErrorCodes field from error structs (not in v5 SDK)

Signed-off-by: Andrew Hay <andrew.hay@benchmarkanalytics.com>

* style(cloudflare): apply gofmt formatting

Signed-off-by: Andrew Hay <andrew.hay@benchmarkanalytics.com>

* Update provider/cloudflare/cloudflare_test.go

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* test: add to test

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* fix: change context

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* style: use short variable declaration operator instead of var

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* refactor(cloudflare): address PR review feedback

- Remove SDK migration status section from cloudflare.md (per vflaux and ivankatliarchuk)
- Add newCloudflareError() helper for proper v5 SDK error testing
- Move ExampleDomain, TestGroupByNameAndTypeWithCustomHostnames_MX, and
  TestProviderPropertiesIdempotency back to original locations to minimize diff

* test: add customhostname test

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

* refactor: make CustomHostname types package-internal

* style: fix gofmt formatting

* Update .gitignore

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

---------

Signed-off-by: Andrew Hay <andrew.hay@benchmarkanalytics.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-01-15 01:59:37 +05:30
Jan Jansen
63296f5234
feat(coredns): rename ownerId and ownedBy to owner (#6032)
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
2026-01-11 01:17:56 +05:30
Ivan Ka
f6b14aabae
chore(aws): document and test behavior for ALB and NLB (#6063)
* chore(ingress): added tests to cover behaviour for AWS ALB and NLB

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

* fix(domain-exclusion): domain exclusion filter fix

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

* chore(ingress): added tests to cover behaviour for AWS ALB and NLB

* fix(domain-exclusion): domain exclusion filter fix

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

* fix(domain-exclusion): domain exclusion filter fix

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

* fix(domain-exclusion): domain exclusion filter fix

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

* fix(domain-exclusion): domain exclusion filter fix

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

* chore(ingress): added tests to cover behaviour for AWS ALB and NLB

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-01-08 13:31:40 +05:30
Sergio Maria Matone
318b82fd88
chore(doc): Adding EKS Pod Identity Associations section for AWS (#6084)
* adding Pod Identity association documentation

* adding eks_assume_role policy document to Terraform example
2026-01-08 12:39:39 +05:30
Alexis Vanier
4e2cf5631c
docs(rfc2136): document AXFR requirement for sync policy (#6083) 2026-01-06 23:11:41 +05:30
alexbakker-quandago
e94df42509
feat(registry/txt): enable support for SRV and NAPTR (#6023)
* feat(registry/txt): enable support for SRV and NAPTR

This enables support for SRV and NAPTR in the TXT registry.

* doc(crd): add example DNSEndpoint for SRV and NAPTR
2025-12-15 14:09:44 -08:00
Till Hoffmann
222b95fdca
fix(docs): Fixing typos in docs and comments (#5995) 2025-12-05 11:16:57 -08:00
Jan Jansen
8085ce246d
feat(coredns): use txt-owner-id to strictly separated external-dns instances (#5921)
* feat(coredns): use managed-by to separate records

Signed-off-by: Jan Jansen <jan.jansen@gdata.de>

* feat(coredns): use txt-owner-id to strictly separated external-dns instances

Signed-off-by: Jan Jansen <jan.jansen@gdata.de>

* fix tests

Signed-off-by: Jan Jansen <jan.jansen@gdata.de>

* fix reviewer comments

Signed-off-by: Jan Jansen <jan.jansen@gdata.de>

* answer review comments

* fix deletion behavior and remove extra function

* fix markdown

* fix tests again

---------

Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
2025-12-02 00:48:25 -08:00
Michel Loiseleur
627ba0a93d
chore(release): updates kustomize & docs with v0.20.0 (#5958)
Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>
2025-11-14 02:09:39 -08:00
Ivan Ka
0dbead2208
docs(core-dns): update tutorial (#5926)
* docs(core-dns): update tutorial

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

* docs(core-dns): update tutorial

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

* docs(core-dns): update tutorial

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

* docs(core-dns): update tutorial

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

* docs(core-dns): update tutorial

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

* docs(core-dns): update tutorial

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-11-11 07:52:57 -08:00
Ahmed R. I.
c1894f82c3
docs(providers): add info about Myra protection option and docker image (#5879) 2025-10-01 02:32:19 -07:00
Nikhil
92cf223b69
feat(provider/cloudflare): add support for tags (#5862)
* feat(provider/cloudflare): Add support for Cloudflare Tags

Signed-off-by: nikhil-m_neteinc <nikhil.m@netenrich.com>

* fix/reconcile the tags

* fix/reconcile the tags

* fix(lint): Address code formatting issues

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

* test(provider/cloudflare): Add unit tests for tags feature

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

* test(provider/cloudflare): Edited the unit cases

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

* test(provider/cloudflare): Added the unit cases and created function for cloudflareTag

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

* update(provider/cloudflare): Updated the cloudflare tutorial document with cloudflare-tags

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

* update(provider/cloudflare): Updated the cloudflare tutorial document with cloudflare-tags

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

* ci: Trigger CI checks

* update(provider/cloudflare): Updated the cloudflare tutorial document

Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>

---------

Signed-off-by: nikhil-m_neteinc <nikhil.m@netenrich.com>
Signed-off-by: nkhl99 <nkhlkumar01@gmail.com>
2025-09-29 06:24:23 -07:00
Jan Jansen
8851544c1c
feat(coredns): add annotations for coredns groups (#5842)
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
2025-09-18 23:22:12 -07:00
Tobias Harnickell
413015ea76
docs(aws): add missing supported DNS record types in Route53 ABAC (#5839)
* fix(aws): warn on TXT AccessDenied due to ABAC

ExternalDNS writes TXT ownership records. ABAC missing TXT can cause 403
AccessDenied from Route 53.

* Update AWS ABAC docs to include TXT in record types
* Log entries when AccessDenied occurs and batch contains TXT
* Added unit tests for AccessDenied detection, TXT detection and logging

Refs: #5773

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>

* fix(aws): Drop prescriptive IAM warning

* Return the first Route 53 error from `submitChanges` so operators see
  the original AWS message
* Remove IAM-guessing branch while keeping split-and-retry submission
* Tidy error test and fall back to `provider.NewSoftErrorf` when no AWS
  error was captured
* Add tests for error return on failures upon zone submission

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>

* fix(aws): Remove TXT-specific error handling

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>

* fix(aws): Remove Route53 final error message

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>

* fix(aws): Remove unused import of `error`

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>

---------

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>
2025-09-17 10:10:11 -07:00
vflaux
1debdbcb3d
doc(tutorials/rfc2136): fix RBAC (#5827) 2025-09-09 23:11:58 -07:00
crtr109
72b1f30169
docs(aws): scoping the IAM policy to explicitely defined Route53 zones (#5663)
* scoping the AWS IAM policy to explicitely defined AWS Route53 zones

* Apply suggestions from code review

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

* Update aws.md

* Update docs/tutorials/aws.md

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

* Update aws.md

breaking up lines to make it pass markdown linting

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-09-05 04:45:28 -07:00
Michel Loiseleur
7058c6a2fa
chore(release): updates kustomize & docs with v0.19.0 (#5792)
* chore(release): updates kustomize & docs with v0.19.0

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>

* self-review

---------

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>
2025-09-02 03:21:17 -07:00
Anthony Chand
9e0acd0bd0
feat(azure): update Azure provider configuration and documentation (#5648)
* feat(azure): update Azure provider configuration and documentation

- Update Azure tutorial documentation
- Modify Azure provider config implementation

* fix formatting

* update text
2025-08-28 06:05:10 -07:00
vflaux
8950e7d727
fix(chart/rbac): conditional endpointslices perms and cleanup deprecated endpoints (#5746)
Only grant endpointslices permissions when using service source and remove
outdated endpoints RBAC from provider tutorials.
Add rbac tests for the chart.
2025-08-19 04:45:36 -07:00
Andrew Hay
23e12c1a09
refactor(cloudflare): use lib v4 for zone services (#5654)
* chore: update zone implementation to v4

* chore: update cloudflare zones to v4

* docs: newline around lists

* docs: styling

* style: remove trailing whitespace
2025-07-29 03:44:01 -07:00
Ahmed R. I.
fe7940ce0a
docs(providers): add Myra Security DNS to the list (#5671)
* docs: add Myra Security DNS to the list of providers

* docs(providers): add minor docs improvements to docs/tutorials/myra.md
2025-07-28 01:48:29 -07:00
Raghu
8088b57dd1
docs(aws): add helm repo command to the tutorial (#5618)
* added helm repo add command to the aws tutorial

* Update docs/tutorials/aws.md

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

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-07-11 09:47:44 -07:00
Ivan Ka
1eccb64bcb
fix(source/service): headless records and root/base domain (#5624)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-07-09 00:43:28 -07:00
Prasad Katti
d79dd835af
feat(aws): add support for geoproximity routing (#5347)
* feat(aws): add support for geoproximity routing

* remove the invalid test

* make some changes based on review comments

* fix linting errors

* make changes based on review feedback

* add more tests to get better coverage

* update docs

* make the linter happy

* address review feedback

This commit addresses the review feedback by making the following changes:

- use a more object-oriented approach for geoProximity handling
- change log levels to warnings instead of errors
- add more test cases for geoProximity

* fix linting error

* use shorter annotation names
2025-07-03 08:19:26 -07:00
Michel Loiseleur
7bfc12612d
chore(release): updates kustomize & docs with v0.18.0 (#5573)
* chore(release): updates kustomize & docs with v0.18.0

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>

* add endpointslices rbac

* fix version updater script

---------

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>
2025-06-26 06:14:30 -07:00
Ivan Ka
57abe1d243
fix(docs): fix documentation (#5560)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-06-24 08:48:29 -07:00
vflaux
7108979df1
improve cloudflare regional hostname implementation (#5309)
- add flag to enable regional hostname feature
- support deletion of regional hostname on annotation edit
- correctly support differences detection with cloudflare state
- increased tests coverage

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-06-22 03:22:52 -07:00
Alen Zubic
28f9e9c06e
feat(source)!: introduce optional force-default-targets (#5316)
* BREAKING CHANGE: Improve default targets management

* fix: Remove old test case

* fix: Test confirming legacy mode allows empty CRD targets

* fix: Remove comments

* fix: Move flag definition closer to detault-targets

* fix: Initial merge adaptation

* fix: Improved legacy needs a chance to work with empty CRD list

* fix: Code coverage and dead code

* fix: Simpler Endpoints logic

* fix: Flag description

* feat: Add tutorial

* fix: Improve linting

* fix: Improve linting

* fix: Import linting
2025-06-17 23:48:51 -07:00
Andrew Hay
fd03db45e7
docs(cloudflare): add list of accepted values for regional host (#5495)
* docs: add list of accepted values

* docs: add space around flags
2025-06-04 14:02:38 -07:00
Kubernetes Prow Robot
ef7e1af8c7
Merge pull request #5463 from mloiseleur/chore/unmaintained-providers
chore!: remove unmaintained providers
2025-05-26 09:18:16 -07:00
Michel Loiseleur
a48b75b266 remove ultradns provider 2025-05-25 10:09:11 +02:00
Michel Loiseleur
640e593fcb remove tencentcloud provider 2025-05-25 10:04:19 +02:00
Michel Loiseleur
756a7288da chore!: remove unmaintained providers 2025-05-25 09:43:01 +02:00
Henry Arend
3807e398c8 feat(cloudflare): updating dcos for more clarity 2025-05-24 07:42:08 -04:00
Henry Arend
29a6345d5a docs(cloudflare): add section to describe selecting a custom CA 2025-05-22 09:44:22 -04:00
Ivan Ka
c02fd682a1
chore(docs): update aws role requirements with conditions (#5353)
* chore(docs): update aws permissions

* chore(docs): update aws permissions

* chore(docs): update aws permissions

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

* chore(docs): update aws permissions

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

* chore(docs): update aws permissions

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

* chore(docs): update aws permissions

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-05-19 12:59:14 -07:00
Ivan Ka
84a0c6409f
chore(docs): add mkdocs-macros plugin (#5412)
* chore(docs): add mkdocs-macros plugin

* chore(docs): add mkdocs-macros plugin

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

* chore(docs): add mkdocs-macros plugin

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-05-19 01:33:15 -07:00
tom
14ea50300e
feat(cloudflare): Suppport DNS record comments (#5411)
* feat(cloudflare): Suppport DNS record comments

* Provide comment flag example
2025-05-19 00:43:15 -07:00
Shruti Panapana
7b9d8d9355
fix(azure): enhance retry logic using azure SDK (#5361)
* fix(azure): Enhance retry logic using azure SDK

* Added the changes for flag based maxretries configuration

* Fixed types.go, flags.md and delected unneccesary comments

* Added the correct image for the Azure Private DNS tutorial

* Following the go naming convention for maxRetriesCount

* Added the correct flag information to the --azure-maxretries-count

* Made the required changes to accept the --azure-maxretries-count flag value from cli/env
2025-05-17 02:09:14 -07:00
Michel Loiseleur
52382e7183
chore(release): updates kustomize & docs with v0.17.0 (#5396)
* chore(release): updates kustomize & docs with v0.17.0

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>

* add optional workflow dispatch for doc

* review

---------

Signed-off-by: Michel Loiseleur <michel.loiseleur@traefik.io>
2025-05-14 08:27:19 -07:00
Srdjan Milutinovic
d60d96176f
docs(tutorials): add IONOS Cloud setup tutorial for ExternalDNS (#5364)
* docs(tutorials): add IONOS Cloud  setup tutorial for ExternalDNS

* docs(tutorials): improve formatting and clarity in IONOS Cloud tutorial

* docs(tutorials): address comments, file names to use dash, and more information on ionos webhook repo and image

* Update docs/tutorials/ionoscloud.md

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

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-05-08 01:17:25 -07:00