1190 Commits

Author SHA1 Message Date
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
Ivan Ka
8533f19606
docs(metrics): add Labels column to metrics documentation table (#6306)
* docs(metrics): add Labels column to metrics documentation table

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

* docs(metrics): add Labels column to metrics documentation table

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

* docs(metrics): add Labels column to metrics documentation table

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-24 05:04:17 +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
177a4db07b
feat(source/istio)!: migrate gateway and virtualservice sources to networking.istio.io/v1 (#6302)
* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

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

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

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

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

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

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

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

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

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

* feat(source/istio): migrate gateway and virtualservice sources to networking.istio.io/v1

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-22 00:44:14 +05:30
Ivan Ka
475cb2dd8b
feat(informers): reduce informer cache memory footprint via object transformers (#6240)
* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transfomers

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

* feat(informers): reduce informer cache memory footprint via object transfomers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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

* feat(informers): reduce informer cache memory footprint via object transformers

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-21 20:26:13 +05:30
Ivan Ka
1c9913bbdb
chore(deps): tools bump and process in contributor docs (#6118)
* chore(deps): tools bump

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

* chore(deps): tools bump

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

* chore(deps): tools bump

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

* chore(deps): tools bump

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

* chore(deps): tools bump

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

* chore(deps): tools bump

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

* chore(deps): tools bump

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-20 22:20:14 +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
Ivan Ka
083b6e9a12
docs(sources): surface provider-specific annotations support in documentation (#6231)
* docs(sources): surface provider-specific annotations support it in source documentation

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

* docs(sources): surface provider-specific annotations support it in source documentation

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

* docs(sources): surface provider-specific annotations support it in source documentation

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

* docs(sources): surface provider-specific annotations support it in source documentation

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

* docs(sources): surface provider-specific annotations support it in source documentation

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

* docs(sources): surface provider-specific annotations support it in source documentation

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

* docs(sources): surface provider-specific annotations support in documentation

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

* docs(sources): surface provider-specific annotations support in documentation

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

* docs(sources): surface provider-specific annotations support in documentation

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

* docs(sources): surface provider-specific annotations support in documentation

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-19 19:04:31 +05:30
Ivan Ka
de04f349d7
docs: add operational best practices guide (#6287)
* docs: add operational best practices guide

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

* docs: add operational best practices guide

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

* docs: add operational best practices guide

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

* docs: add operational best practices guide

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

* docs: add operational best practices guide

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-19 16:18:31 +05:30
Ivan Ka
ede1c09086
feat(metrics): added skipped_records_owner_mismatch_per_sync to track ownership conflicts (#6121)
* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_total

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track ownership conflicts

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track ownership conflicts

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track ownership conflicts

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

* feat(metrics): added skipped_records_owner_mismatch_per_sync to track ownership conflicts

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-18 20:32:33 +05:30
Ivan Ka
13e58d52b0
fix(docs): flags (#6288)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-17 20:25:40 +05:30
Oleksandr Simonov
18c451cf87
chore(digitalocean)!: remove in-tree provider (#6283) 2026-03-17 14:11:39 +05:30
Ivan Ka
604b79de4a
docs(fqdn-template): clarify fields and add examples (#6098)
* docs(fqdn): update fqdn documentation

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

* docs(fqdn): update fqdn documentation

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

* docs(fqdn): update fqdn documentation

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

* docs(fqdn): update fqdn documentation

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

* docs(fqdn): update fqdn documentation

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

* docs(fqdn): update fqdn documentation

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-17 03:07:38 +05:30
Ivan Ka
867fe74145
docs(regexfilter): pitfalls in domain-filter zone partitioning (#6255)
* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

I'll enable https://github.com/ldez/usetesting

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* test(pdns): regex pitfalls in domain-filter zone partitioning

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

* docs(regexfilter): pitfalls in domain-filter zone partitioning

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

* docs(regexfilter): pitfalls in domain-filter zone partitioning

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-17 02:37:36 +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
3f42ce9716
chore(tests): Add YAML-driven integration test framework for sources (#6158)
* chore(tests): added cross source tests

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

* chore(tests): added cross source tests

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

* chore(tests): added cross source tests

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

* chore(tests): added cross source tests

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

* chore(tests): Add YAML-driven integration test framework for sources

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-16 15:19:38 +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
Ivan Ka
e1f848446d
feat(event): emit events for ingress,svc,pod,node,crd (#6099)
* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* feat(event): add support for svc,ingress,pod,node

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

* feat(event): add support for svc,ingress,pod,node

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

* feat(event): add support for svc,ingress,pod,node

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

* feat(event): add support for svc,ingress,pod,node

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

* feat(event): add support for svc,ingress,pod,node

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

* refactore(kubeclient): consolidate duplicate code to ensure consistent client creation

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* refactore(source): move SuitableType to endpiont package

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

* feat(event): add support for svc,ingress,pod,node,crd

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-16 04:03:36 +05:30
Ivan Ka
45b4aa2d83
fix(source): filter provider-specific properties to configured provider (#6220)
* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* fix(source): filter provider-specific properties to configured provider

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

* Apply suggestions from code review

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

* fix(source): filter provider-specific properties to configured provider

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-16 00:01:36 +05:30
Ivan Ka
6186987d33
docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors (#6249)
* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

* docs(contributor): GetDomainFilter contract and ZoneCache blueprint for provider contributors

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-15 04:25:42 +05:30
David Kröll
fb323d9c91
docs: add anexia docs page (#6252) 2026-03-14 22:27:35 +05:30
dependabot[bot]
7d7d81e086
chore(deps): bump the mkdocs-deps group in /docs/scripts with 2 updates (#6273)
Bumps the mkdocs-deps group in /docs/scripts with 2 updates: [mkdocs-material](https://github.com/squidfunk/mkdocs-material) and [mike](https://github.com/jimporter/mike).


Updates `mkdocs-material` from 9.7.3 to 9.7.5
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.3...9.7.5)

Updates `mike` from 2.1.3 to 2.1.4
- [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.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mkdocs-deps
- dependency-name: mike
  dependency-version: 2.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-03-14 22:17:35 +05:30
Ivan Ka
f0067bef1d
fix(service): classify nodes by best pod state in externalTrafficPolicy=Local (#6271)
* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

* fix(service): classify nodes by best pod state in externalTrafficPolicy=Local

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-14 21:55:35 +05:30
Ivan Ka
5f81c5bc97
docs: add bug report guide and improve issue template (#6272)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-03-14 21:43: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
Xiuming Chen
5bfab70cd2
docs: correct pod internal-hostname behavior in hostNetwork mode (#6256)
* docs: correct pod internal-hostname behavior in hostNetwork mode

* test(pod): add internal-hostname regressions for host-network and non-host-network

* docs: add internal-hostname annotation use cases
2026-03-12 13:09:35 +05:30
Ivan Ka
c35ed0b82a
feat(source): add unstructured source (#6172)
* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* Update docs/sources/unstructured.md

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

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

* feat(source): add unstructured source

* feat(source): add unstructured source

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-03-12 05:23:33 +05:30
dependabot[bot]
35c59365b5
chore(deps): bump mkdocs-material (#6237)
Bumps the mkdocs-deps group in /docs/scripts with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.7.1 to 9.7.3
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.1...9.7.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-03-01 14:36:12 +05:30
Kai Udo
a4e167973c
feat(endpoint): reject alias property on unsupported record types (#6188)
* feat(endpoint): reject alias property on unsupported record types

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

* refactor(endpoint): rename supportAlias to supportsAlias and extract alias constant

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

* test(endpoint): add alias warning log assertion cases

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

* test(wrappers): add alias cases to dedup validation and warn tests

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

* refactor(endpoint): use providerSpecificAlias constant in tests

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

* docs(annotations): note alias annotation is limited to A, AAAA, and CNAME

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

---------

Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>
2026-02-28 23:41:30 +05:30
Vyacheslav Klimov
f4c758665b
feat(pdns): add --[no-]prefer-alias flag and alias annotation support (#6129)
* feat: add support for expand alias in pdns provider

* feat: codereview

* feat: rewrite docs

* feat: gofmt

* feat: rewrite using postprocessor

* feat: gofmt

* feat: update docs

* fix: prefer-alias respects existing annotations

* feat: update formatting verbs

* fix: fix return values and call sites after convertRRSetToEndpoints signature change

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

* fix: remove unused error return from convertRRSetToEndpoints

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 17:38:27 +05:30
Ivan Ka
947c25daf6
fix(crd): allow trailing dot in CNAME targets (#6218)
* fix(crd): allow trailing dot in CNAME targets

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

* fix(crd): allow trailing dot in CNAME targets

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

* fix(crd): allow trailing dot in CNAME targets

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

* fix(crd): allow trailing dot in CNAME targets

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-26 12:44:23 +05:30
Volker Hartmann
b9aba54e8f
feat(crd): Support MX record with trailing dot (#6163)
* Support MX record with trailing dot

* refactor(crd): Replace nested if statements with switch case; add test for target without trailing dot
2026-02-23 01:16:58 +05:30
dependabot[bot]
d38daef2a6
chore(deps): bump mkdocs-git-revision-date-localized-plugin (#6161)
Bumps the mkdocs-deps group in /docs/scripts with 1 update: [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin).


Updates `mkdocs-git-revision-date-localized-plugin` from 1.5.0 to 1.5.1
- [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.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-02-01 14:06:24 +05:30
Zvi Cahana
d40b200e79
docs(fqdn): use correct arguments order in FQDN Templating custom functions (#6144)
* Fix args ordering in FQDN Templating guide

* Add test cases for FQDN templates executions

* Fix unit test to use the correct template function
2026-01-30 14:49:44 +05:30
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