5300 Commits

Author SHA1 Message Date
Aleksei Sviridkin
effffb200e
docs(gateway-api): clarify annotation placement (#5918)
Addresses #5901
Related: #4056

Add clear documentation on annotation placement for Gateway API sources
to prevent confusion about which annotations go on Gateway vs Route resources.

Changes:
- Add Gateway API Annotation Placement section to annotations.md
- Add Annotations section with examples to gateway-api.md
- Include Cloudflare and AWS provider examples
- Document common mistakes

Per review feedback, compressed annotations.md section to minimal size:
- Removed annotation placement matrix table
- Removed YAML examples
- Kept concise 2-line summary
- Kept link to comprehensive documentation

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-26 01:23:34 -07:00
Ivan Ka
866afef3f8
ci(linter): add gochecknoinits (#5911)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-10-25 03:01:34 -07:00
Aleksei Sviridkin
39475da547
docs(contributing): add reference to developer documentation (#5923)
Follow-up to #5889 discussion about documentation discoverability.

Add a new "Developer Documentation" section in CONTRIBUTING.md that
references the detailed developer guides in docs/contributing/.

This improves discoverability for contributors and helps avoid split-brain
when looking for development guidance.

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-25 02:51:33 -07:00
Ivan Ka
994f4dc24a
docs(release): update release docs (#5893)
* docs(release): update release docs

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

* docs(release): update release docs

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

* docs(release): update release docs

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

* docs(release): update release docs

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

* docs(release): update release docs

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

* docs(release): update release docs

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

* docs(release): update release docs

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

* docs(release): update release docs

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-10-24 01:33:40 -07:00
Jan Jansen
8f34a87d18
feat(coredns): pass context to etcd client (#5915)
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
2025-10-24 01:07:35 -07:00
Josh
d9a20d1f8c
docs: clarify hostname annotation behavior (#5912)
* docs: clarify hostname annotation behavior

* docs: specify how hostname annotation behavior can be configured

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

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-10-20 23:14:38 -07:00
Kai Udo
5f3d9dc620
fix(txt-register): reset existingTXTs even when ApplyChanges is skipped to avoid stale TXT records (#5897)
* fix(txt-register): reset existingTXTs even when ApplyChanges is skipped to avoid stale TXT records

* test(txt-registry): add regression test to ensure TXT records are recreated after deletion

* chore: remove unintended blank line
2025-10-20 14:04:37 -07:00
vflaux
45b7f4a959
fix(controller): panic in OCI provider build (#5877)
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-10-19 05:58:09 -07:00
Edvin N
6e9d459d8d
fix: cloudflare softError failedZones (#5899)
Right now we get a fatal due to dual DNS records.
Instead do a softError and try again next reconcile.

Signed-off-by: Edvin Norling <edvin.norling@kognic.com>
2025-10-13 00:00:55 -07:00
Raffaele Di Fazio
51c0d90b7d
update test certs used for pdns (#5902)
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2025-10-10 12:49:01 -07:00
Ivan Ka
f5c0abbe77
chore(controller-gen): move tools under go tools (#5878)
* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

* chore(controller-gen): move tools under go tools

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-10-10 00:57:02 -07:00
Ivan Ka
64c58aca56
refactor(source/wrappers): move wrappers logic away from execute file (#5888)
* refactor(source/wrappers): move wrappers away from

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

* refactor(source/wrappers): move wrappers away from

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

* refactor(source/wrappers): move wrappers away from

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

* refactor(source/wrappers): move wrappers away from

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-10-08 23:47:02 -07:00
dependabot[bot]
66b698e552
chore(deps): bump the dev-dependencies group with 2 updates (#5895)
Bumps the dev-dependencies group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `github/codeql-action` from 3 to 4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

Updates `renovatebot/github-action` from 43.0.15 to 43.0.16
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v43.0.15...v43.0.16)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: renovatebot/github-action
  dependency-version: 43.0.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-08 23:09:00 -07:00
dependabot[bot]
9810a6e2a1
chore(deps): bump renovatebot/github-action (#5890)
Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `renovatebot/github-action` from 43.0.14 to 43.0.15
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v43.0.14...v43.0.15)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-version: 43.0.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 01:26:59 -07:00
vflaux
4ac0410d80
chore(cloudflare): migrate DeleteCustomHostname() to new lib (#5880) 2025-10-04 02:16:57 -07:00
Ivan Ka
85b6a6efae
docs(advanced): configuration precedence (#5871)
* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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

* docs(advanced): configuration precedence

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-10-03 09:02:59 -07:00
Andrew Hay
caa4fc75a3
test: update goversion label to 1.25 in metrics test (#5886)
* test(metrics): update goversion label to 1.25 for Go 1.25 upgrade compatibility

* feat(models_test): use runtime.version
2025-10-03 08:44:59 -07:00
Pascal Bourdier
699e994a9c
ci(linter): add go-critic (#5875)
* ci: add go-critic linter

follow go-critic advices when possible

* docs: add a short description about go-critic
2025-10-01 09:06:19 -07: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
Andrew Hay
e22ceab66f
refactor(pihole): reduce cyclomatic complexity of TestProviderV6 (#5876)
* refactor(pihole): reduce cyclomatic complexity of TestProviderV6

* chore(pihole): increase coverage

* style: linting

* style: linting

* fix: remove coverage html
2025-10-01 00:50:23 -07:00
Ivan Ka
1f9edcb7fc
test(source/service): add serviceTypeFilter edge case (#5872)
* chore(source/service): serviceTypeFilter edge case tests

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

* chore(source/service): serviceTypeFilter edge case tests

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-09-30 01:26:19 -07:00
Michel Loiseleur
1da86e8cfb
chore(ci): speed-up & coveralls (#5870)
* chore(ci): coveralls

* parallel coverage

* more resources

* add go-test in Makefile for local use
2025-09-29 23:18:16 -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
dependabot[bot]
c5c4bea675
chore(deps): bump renovatebot/github-action (#5874)
Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `renovatebot/github-action` from 43.0.13 to 43.0.14
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v43.0.13...v43.0.14)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-version: 43.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 01:38:18 -07:00
troll-os
41b1154cdd
feat: add new flags to allow migration of OwnerID (#4823)
* Reintroduce base config for txt owner migration

# Conflicts:
#	controller/execute.go
#	registry/txt.go

# Conflicts:
#	pkg/apis/externaldns/types.go

* Added label update logic and fixed existing tests

* Fixed existing declaration in tests, re introduced tests for new flag, regened flags.md from make

* Fixed tests logic and target expression evaluation, fixed update of label in the TXT registry process

* Set Old owner id var down the plan to calculate changes correctly

* Lint fixes

* (wip) Code cleaning and test coverage

* Simplified label overwriting on migration and implem tests for coverage

* Fix tests

* Update txt registry doc

* Fix rebase issues in txt test

* Update docs/registry/txt.md

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

* Update docs/registry/txt.md

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

* Update docs/registry/txt.md

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

* Fix label overriding in TXT record generation when migration is enabled

* Make linter happy

* Regen flags, fix types tests after types updates

* Removed boolean flag that enabled migration, evaluate only against old owner flag instead

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-09-29 01:20:19 -07:00
firemiles
7fd53667de
docs(volcengine): add volcengine provider to readme (#5866)
Signed-off-by: xujianjun <xujianjun@bytedance.com>
2025-09-28 08:54:16 -07:00
dependabot[bot]
7352705067
chore(deps): bump renovatebot/github-action (#5856)
Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `renovatebot/github-action` from 43.0.12 to 43.0.13
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v43.0.12...v43.0.13)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-version: 43.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 03:48:19 -07:00
Kai Udo
3127d4c2bd
docs improve txt registry documentation formatting and examples for apex record (#5863)
Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>
2025-09-25 13:26:16 -07:00
Michel Loiseleur
7dba745835
chore: upgrade ExternalDNS to go v1.25 and golangci-lint v2.5 (#5869)
* chore: upgrade ExternalDNS to go v1.25 and golangci-lint v2.5

* fix go.sum
2025-09-25 11:44:15 -07:00
Andrew Hay
c657f74ffc
refactor(pihole): reduce cyclomatic complexity of TestProvider (#5865)
* Refactor pihole tests to reduce cyclomatic complexity and preserve coverage

* refactor: split TestProvider into focused test functions to reduce cyclomatic complexity

- Split monolithic TestProvider into four focused test functions:
  - TestProvider_InitialState: tests empty provider state
  - TestProvider_CreateRecords: tests record creation
  - TestProvider_DeleteRecords: tests record deletion
  - TestProvider_UpdateRecords: tests record updates
- Each function tests a single scenario, reducing complexity
- Preserves all original test logic and maintains 89% coverage
- Passes cyclop linter with complexity threshold of 10
2025-09-25 10:06:20 -07:00
Andrew Hay
6cf328f037
refactor(service): reduce cyclomatic complexity of extractHeadlessEndpoints (#5822)
* feat: reduce cyclomatic complexity of service_test

* style: indention added

* style: tab

* refactor: address PR feedback, improve tests, and reduce complexity

* fix(service): address PR feedback and fix linting

* Revert "fix(service): address PR feedback and fix linting"

This reverts commit 4cba488dc741ee1d946b105da952c09893c289c4.

* refactor: address all PR feedback - improve method naming, add test coverage, fix parameter ordering

* refactor: address latest PR feedback - convert to method, use testutils, add test coverage

* test: add coverage for pod hostname scenario

Addresses 4th to last PR comment about missing test coverage for
the case where pod.Spec.Hostname is set, which creates additional
headless domains (pod-specific hostname + base hostname)

* style: remove extra line

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

* style: remove extra line

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

---------

Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2025-09-23 00:04:16 -07:00
Kai Udo
fe753cb8e9
test(cloudflare): clear environment variables before setting test values (#5851)
* test(cloudflare): clear environment variables before setting test values

Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>

* refactor(cloudflare): extract environment variable names to package constants

Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>

* refactor(cloudflare): use testutils helper for test environment setup

Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>

* refactor(cloudflare): simplify token handling and improve test env setup

Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>

---------

Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>
2025-09-22 05:10:17 -07:00
hayden
ef621078c2
fix(endpoint/source) Allow '.' in TXT Records (#5844)
* [endpoint] [source] Allow '.' in TXT Records

Signed-off-by: hfuss <hayden.fuss@kaleido.io>

* pr feedback; lint fix

Signed-off-by: hfuss <hayden.fuss@kaleido.io>

* using functional interfaces for future cleaners and validators of other record types

Signed-off-by: hfuss <hayden.fuss@kaleido.io>

* Revert "using functional interfaces for future cleaners and validators of other record types"

This reverts commit d9e1c2c3810a40b2cce22f53d8ac86ba64b488e6.

---------

Signed-off-by: hfuss <hayden.fuss@kaleido.io>
2025-09-21 02:18:20 -07:00
vflaux
1300a6a339
fix(gen/metrics): duplicate generated in metrics.md (#5837) 2025-09-21 02:18:13 -07:00
vflaux
f7793950cc
test(cloudflare): mock provider for cf change tests (#5852) 2025-09-20 02:26:13 -07:00
vflaux
69429a5e47
test(cloudflare): modernize zoneDomainFilter test (#5853) 2025-09-19 10:50:15 -07:00
dependabot[bot]
b91000aeb3
chore(deps): bump renovatebot/github-action (#5840)
Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `renovatebot/github-action` from 43.0.11 to 43.0.12
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v43.0.11...v43.0.12)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-version: 43.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-19 09:24:13 -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
Tobias Harnickell
c2276d8b84
feat(cli): migrate kingpin to cobra - dual parity (#5836)
* feat(cli): add Cobra binder and backend switch

* add FlagBinder with Kingpin and Cobra implementations
* support --cli-backend and EXTERNAL_DNS_CLI (default: kingpin)
* add tests for binders and CLI switch

Refs: #5379

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

* feat(cli): centralize flag registration and add Cobra parity

Started moving CLI flag registration into a common binder function,
avoiding duplication between Kingpin and Cobra.

Refs: #5820

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

* feat(cli): enforce Cobra parity with Kingpin

* Add `regexpValue` and `RegexpVar` to Cobra binder with
  `setRegexpDefault`
* Enforce `--provider` presence and validate against `providerNames
* require at least one `--source` and validate against new
  `allowedSources`
* Expand tests for Kingpin and Cobra

Refs: #5379

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

* feat(cli): Commit go-lint edits

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

* feat(cli): add kingpin vs cobra binder parity

* Test parity assertion across binders
* Test Cobra-specific incapabilities (`--no-<flag>` and env vars)
* Deduplicate regexp flag handling

Refs: #5379

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

* feat(cli): Rebuild flags documentation

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

---------

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>
2025-09-17 03:22:14 -07:00
vflaux
0d7b2c2250
fix(source/wrappers): race condition in tests (#5841) 2025-09-16 08:22:14 -07:00
vflaux
ad3d958e4a
fix(cloudflare): reconciliation loop with default comment (#5828) 2025-09-15 00:24:10 -07:00
vflaux
55b24add18
refactor(source/nat64): optional & early prefixes parsing (#5810) 2025-09-10 05:54:00 -07:00
Shkar T. Noori
275715d1cc
feat(source/f5-virtual-server): add host aliases support for Virtual … (#5745)
* feat(source/f5-virtual-server): add host aliases support for Virtual Server source

* fix: markdown lint

* fix: markdown lint

* refactor(source/f5_virtualserver): remove if check for array length, already taken care of by the iterator
2025-09-10 03:33:58 -07:00
Ivan Ka
7792e78eba
feat(source): add min-ttl support (#5641)
* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source): add min-ttl support

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

* feat(source): add min-ttl support

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

* feat(source/min-ttl): added min-ttl support

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

* feat(source): add min-ttl support

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-09-10 02:28:00 -07:00
Pascal Bachor
90ed615ad5
fix(endpoint): debug message when owner label is missing (#5788)
* fix: debug message of FilterEndpointsByOwnerID in case owner label is missing

* more consistent messages

* add unit test for changed debug message

---------

Co-authored-by: Pascal Bachor <bachorp@users.noreply.github.com>
2025-09-10 00:22:03 -07:00
Naveen Chauhan
bd2f8a47d2
docs(tutorials): import existing DNS records into ExternalDNS (#5811)
* Added steps for importing existing DNS records with ExternalDNS

* fixing lint errors

* fixing lint errors

* retry - fixing lint errors

* retry - fixing lint errors

* review

---------

Co-authored-by: Michel Loiseleur <michel.loiseleur@traefik.io>
2025-09-09 23:51:57 -07:00
vflaux
1debdbcb3d
doc(tutorials/rfc2136): fix RBAC (#5827) 2025-09-09 23:11:58 -07:00
dependabot[bot]
276bd9e80f
chore(deps): bump renovatebot/github-action (#5823)
Bumps the dev-dependencies group with 1 update: [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `renovatebot/github-action` from 43.0.10 to 43.0.11
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v43.0.10...v43.0.11)

---
updated-dependencies:
- dependency-name: renovatebot/github-action
  dependency-version: 43.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 06:19:32 -07:00
Tobias Harnickell
f80f7e0666
feat(cli): add Cobra binder and backend switch (#5820)
* add FlagBinder with Kingpin and Cobra implementations
* support --cli-backend and EXTERNAL_DNS_CLI (default: kingpin)
* add tests for binders and CLI switch

Refs: #5379

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>
2025-09-09 02:57:39 -07:00