1156 Commits

Author SHA1 Message Date
Ivan Ka
a174cc03d4
docs(source): autogenerate docs for events (#6119)
* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

* docs(source): autogenerate docs for events

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-21 16:37:28 +05:30
Ivan Ka
12ad9f94d8
feat(event): standardize event messages and add resource kind lookup for events (#6101)
* feat(event): standardize event messages and add Kind lookup

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

* feat(event): standardize event messages and add Kind lookup

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

* feat(event): standardize event messages and add Kind lookup

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

* feat(event): standardize event messages and add Kind lookup

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

* feat(event): standardize event messages and add Kind lookup

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-16 05:11:11 +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
bogdankrasko
fd70df92ab
feat(source): gateway api hostname source annotation (#5959)
* feat: Add gateway api source annotation

* fix: Fix unit tests

* Update docs/annotations/annotations.md

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

* fix: validate gateway-hostname-source and warn on invalid

* fix: Fix formating

---------

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-01-11 23:36:03 +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
Ivan Ka
d2fb11a3fc
chore(source)!: remove cloudfoundry support (#6074)
* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

* chore(source): remove cloudfoundry support

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-07 13:19:41 +05:30
Ivan Ka
97af77f5af
docs(source): autogenerate docs for sources with go-doc like style (#6075)
* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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

* docs(source): autogenerate docs from sources attached to annotations

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-07 02:59:38 +05:30
Alexis Vanier
4e2cf5631c
docs(rfc2136): document AXFR requirement for sync policy (#6083) 2026-01-06 23:11:41 +05:30
dependabot[bot]
98a2fa525d
chore(deps): bump the mkdocs-deps group in /docs/scripts with 4 updates (#6071)
Bumps the mkdocs-deps group in /docs/scripts with 4 updates: [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin), [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin), [mkdocs-literate-nav](https://github.com/oprypin/mkdocs-literate-nav) and [mike](https://github.com/jimporter/mike).


Updates `mkdocs-git-revision-date-localized-plugin` from 1.2.4 to 1.5.0
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.2.4...v1.5.0)

Updates `mkdocs-macros-plugin` from 1.3.7 to 1.5.0
- [Release notes](https://github.com/fralau/mkdocs_macros_plugin/releases)
- [Changelog](https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fralau/mkdocs_macros_plugin/compare/v1.3.7...v1.5.0)

Updates `mkdocs-literate-nav` from 0.6.1 to 0.6.2
- [Release notes](https://github.com/oprypin/mkdocs-literate-nav/releases)
- [Commits](https://github.com/oprypin/mkdocs-literate-nav/compare/v0.6.1...v0.6.2)

Updates `mike` from 2.0.0 to 2.1.3
- [Release notes](https://github.com/jimporter/mike/releases)
- [Changelog](https://github.com/jimporter/mike/blob/master/CHANGES.md)
- [Commits](https://github.com/jimporter/mike/compare/v2.0.0...v2.1.3)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mkdocs-deps
- dependency-name: mkdocs-macros-plugin
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mkdocs-deps
- dependency-name: mkdocs-literate-nav
  dependency-version: 0.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mkdocs-deps
- dependency-name: mike
  dependency-version: 2.1.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mkdocs-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-01 15:36:34 +05:30
Ivan Ka
02abd24570
chore(deps): bump mcdocs (#6058)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-12-29 15:00:38 +05:30
Ivan Ka
72425c85cc
fix(domain-exclusion): domain exclusion filter fix (#6050)
* 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>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-12-27 22:18:39 +05:30
Aleksei Sviridkin
0b1f389f74
docs(proposal): Gateway API annotation placement clarity proposal (#5919)
* docs(proposal): Gateway API annotation placement clarity proposal

Addresses #5901
Related: #4056

Propose comprehensive solutions for Gateway API annotation placement confusion,
including both short-term documentation improvements and long-term annotation
inheritance strategy.

Documentation improvements are proposed separately in PR #5918 for quick merge.

Co-Authored-By: Claude <noreply@anthropic.com>

* docs(proposal): update Solution 2 to reflect reference implementation

- Change status from draft to provisional
- Add reference to PR #5998
- Update pseudocode: target annotation is now inheritable and overridable
- Update example to show intranet/public target override use case
- Add benefit: solves User Story 2 (per-Route target overrides)
- Update recommendation to include near-term merging of Solution 2

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>

---------

Signed-off-by: Aleksei Sviridkin <f@lex.la>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-27 21:50:32 +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
vflaux
2e65603f6a
fix(flags): restore min-ttl flag (#6014) 2025-12-12 02:12:11 -08:00
Ivan Ka
f8c2781960
docs(ownerid): provide more details on migration (#5999)
* docs(ownerid): update documentation

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

* docs(ownerid): update documentation

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

* docs(ownerid): update documentation

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

* docs(ownerid): update documentation

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-12-08 00:19:30 -08:00
Michel Loiseleur
71c64e528c
docs: add instructions for local testing (#5887)
* docs: add instructions for local testing

* review
2025-12-07 08:26:56 -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
Quan Hoang
62f4d7d5f8
feat: add support for ingress backed GlooEdge Gateway (#5909) 2025-11-16 10:33:38 -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
Aleksei Sviridkin
5a55b09f48
feat(annotations): add custom annotation prefix support for split horizon DNS (#5889)
* feat(annotations): add custom annotation prefix support for split horizon DNS

Add --annotation-prefix flag to allow customizing the annotation prefix
used by external-dns. This enables split horizon DNS scenarios where
multiple instances process different sets of annotations from the same
Kubernetes resources.

Changes:
- Add AnnotationPrefix field to Config with validation
- Convert annotation constants to variables that can be reconfigured
- Add SetAnnotationPrefix() function to rebuild annotation keys
- Integrate annotation prefix setting in controller startup
- Update Helm chart with annotationPrefix value
- Add comprehensive split horizon DNS documentation
- Update FAQ with annotation prefix examples

This maintains full backward compatibility - the default prefix remains
"external-dns.alpha.kubernetes.io/".

Co-Authored-By: Claude <noreply@anthropic.com>

* docs(advanced): fix markdown formatting in split-horizon guide

Add blank lines before code blocks to improve markdown rendering
and comply with markdownlint rules.

Co-Authored-By: Claude <noreply@anthropic.com>

* docs(advanced): fix markdown formatting in split-horizon guide

Co-Authored-By: Claude <noreply@anthropic.com>

* docs(charts): regenerate Helm chart documentation

Co-Authored-By: Claude <noreply@anthropic.com>

* test: add AnnotationPrefix field to test configs

Add missing AnnotationPrefix field to minimalConfig and overriddenConfig
test configurations to match the new default value set in NewConfig().

Co-Authored-By: Claude <noreply@anthropic.com>

* test(charts): update error pattern in json-schema test

Update expected error message pattern to match current Helm validation
output format.

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(annotations): remove init() for explicit initialization

- Remove init() function from annotations package
- Add explicit SetAnnotationPrefix() call in controller/execute.go
- Remove annotation key aliases from source/source.go
- Replace all alias usages with annotations.* references (348 changes in 28 files)
- Add TestMain to existing test files (service_test.go, cloudflare_test.go)

This change makes annotation initialization explicit and predictable,
avoiding hidden global state initialization at import time.

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: update changelog and mkdocs to include annotationPrefix and split horizon DNS

Signed-off-by: Aleksei Sviridkin <f@lex.la>

* docs(split-horizon): fix linting

Signed-off-by: Aleksei Sviridkin <f@lex.la>

* refactor(annotations): replace hardcoded annotation prefix with constant

Replace all hardcoded "external-dns.alpha.kubernetes.io/" strings
with annotations.DefaultAnnotationPrefix constant to establish
a single source of truth.

Changes:
- Add DefaultAnnotationPrefix constant in source/annotations/annotations.go
- Replace hardcoded string in controller/execute.go with constant reference
- Replace hardcoded strings in pkg/apis/externaldns/types.go (2 occurrences)
- Add helm unit tests for annotationPrefix value

This eliminates string duplication and makes future changes easier.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Signed-off-by: Aleksei Sviridkin <f@lex.la>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-08 03:56:52 -08:00
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
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
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
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
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
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
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
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
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
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
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
04ef733d48
docs: fix mkdocs build (#5795)
* docs: fix mkdoc build

* Revert "docs: fix mkdoc build"

This reverts commit b3a1aab00f6edbe5cd488147529b5479e9ea8c8a.

* fix mkdocs config
2025-09-02 06:25:15 -07:00
Michel Loiseleur
10c43c3698
docs(ci): improve release note template (#5791)
* docs(ci): improve release note template

* improve reference

* Update scripts/releaser.sh
2025-09-02 03:51:13 -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
Ivan Ka
e8d5c4efd5
docs(istio): document ingress annotation (#5756)
* docs(istio): document ingress annotation

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

* docs(istio): document ingress annotation

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-08-20 01:17:08 -07:00
Ivan Ka
e9983a5726
feat(events): raise k8s events with fake provider (#5659)
* feat(events): publish k8s events

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

* feat(events): publish k8s events

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

* feat(events): publish k8s events

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

* feat(events): publish k8s events

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

* feat(events): publish k8s events

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provide

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

* feat(events): raise k8s events with fake provider

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

* feat(events): raise k8s events with fake provider

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-08-20 00:37:07 -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
Ivan Ka
b31afb430d
fix(source/wrappers/events): events not triggered (#5687)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2025-08-16 02:49:07 -07:00
Matt Mix
0e7c3af221
chore(metrics): Updating so that request duration uses the common metrics registry. (#5677) 2025-08-03 00:21:38 -07:00