5439 Commits

Author SHA1 Message Date
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
Tobias Harnickell
ead9653ff6
fix(charts): Skip cluster-scope RBAC on namespaced (#5843)
* fix(charts): Skip cluster-scope RBAC on namespaced

* Restore tenant-friendly installs by keeping RBAC namespaced if
  `.Values.gatewayNamespace` is set
* `namespaced=true` and `gatewayNamespace` set results in a namespaced
  Role and Rolebinding for listing namespaces
* `namespaced=true` AND `gatewayNamespace` unset will retain the
  original `ClusterRole` and `ClusterRoleBinding`
* `namespace=false` will retain the original `ClusterRole` and
  `ClusterRoleBinding`
* No breaking changes introduced

Ticket: #5832

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

* fix: Add review feedback

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

* fix: Ran helm-docs

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

* doc: Update chart changelog

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

---------

Signed-off-by: Tobias Harnickell <tobias.harnickell@bedag.ch>
Signed-off-by: Tobias Harnickell <tobias@harnickell.ch>
2026-02-27 21:49:32 +05:30
dependabot[bot]
ac091a58b5
chore(deps): bump the dev-dependencies group across 1 directory with 3 updates (#6226)
Bumps the dev-dependencies group with 3 updates in the / directory: [actions/setup-go](https://github.com/actions/setup-go), [renovatebot/github-action](https://github.com/renovatebot/github-action) and [helm/kind-action](https://github.com/helm/kind-action).


Updates `actions/setup-go` from 6.2.0 to 6.3.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6.2.0...v6.3.0)

Updates `renovatebot/github-action` from 44.2.4 to 46.1.2
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v44.2.4...v46.1.2)

Updates `helm/kind-action` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](92086f6be0...ef37e7f390)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: renovatebot/github-action
  dependency-version: 46.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: helm/kind-action
  dependency-version: 1.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-27 13:33:55 +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
0555692bce
fix(ci): failed to download the coveralls binary from GitHub releases (#6228)
* fix(ci): failed to download the coveralls binary from GitHub releases

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

* fix(ci): failed to download the coveralls binary from GitHub releases

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

* fix(ci): failed to download the coveralls binary from GitHub releases

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-26 16:04:25 +05:30
Ivan Sukhanov
13096bd3cf
docs: add external-dns-pscloud-webhook to New providers list (#6214) 2026-02-26 14:32:26 +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
Ivan Ka
6bee7c1116
docs: added deep wiki badge (#6215)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-23 17:17:35 +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
Ivan Ka
ef69679e38
chore(source): standardize sources with merge endpionts and deduplicate targets (#6174)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-23 00:10:58 +05:30
Ivan Ka
1751267905
chore(store): Added RESTConfig() to ClientGenerator (#6177)
* chore(store): Added RESTConfig() to ClientGenerator

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

* chore(store): Added RESTConfig() to ClientGenerator

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-21 14:55:45 +05:30
Ivan Ka
7f43ac6d11
chore(ingress): clarify that both IP and Hostname are collected from LoadBalancer status (#6138)
* chore(ingress): clarify behavior with unit tests

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

* chore(ingress): clarify behavior with unit tests

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-21 14:55:38 +05:30
Ivan Ka
fedb434b42
chore(endpoint): added empty checks (#6157)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-21 03:53:39 +05:30
Ivan Ka
a929ad6cc6
chore(linter): enable unparam (#6160)
* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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

* chore(linter): enable unparam

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-02-20 15:15:39 +05:30
Ivan Ka
d5b942d24e
fix(tlsutils): fix nil error wrapping and wrong env var in TLS config (#6198)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-20 13:31:46 +05:30
Ivan Ka
92fcddf100
chore(endpoint): harden crypto (#6197)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-20 13:31:39 +05:30
Ivan Ka
cee172056e
feat(fqdn): Deduplicate and sort ExecTemplate output. Add functions (#6173)
* chore(fqdn): no duplicates, added extra functions

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

* chore(fqdn): no duplicates, added extra functions

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

* chore(fqdn): no duplicates, added extra functions

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

* chore(fqdn): no duplicates, added extra functions

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-20 13:19:39 +05:30
Ivan Ka
847af6a0ee
benchmark(endpoint): endpoint benchmarks (#6156)
* benchmark(endpoint): add benchmark tests for endpoints

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

* benchmark(endpoint): add benchmark tests for endpoints

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

* benchmark(endpoint): add benchmark tests for endpoints

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

* benchmark(endpoint): add benchmark tests for endpoints

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

* benchmark(endpoint): add benchmark tests for endpoints

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-12 15:48:04 +05:30
Ivan Ka
633b95e47b
deps(go): bump go from 1.25.5 -> 1.25.7 (#6175)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-11 14:40:02 +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
Ivan Ka
f0db4c2587
fix(annotations): initialize annotation keys at declaration time (#6159)
* fix(annotations): allow resetting annotation prefix to default value

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

* fix(annotations): allow resetting annotation prefix to default value

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

* fix(annotations): allow resetting annotation prefix to default value

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-02-01 04:38:25 +05:30
Ivan Ka
b304dfe37d
chore(linter): unused params and functions linter (#6142)
* chore(linter): enable unused

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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

* chore(linter): enable unusedparam

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-01-31 23:20: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
vflaux
ff70b9e4da
chore(cloudflare): improve tests (#6150)
- use t.Context() instead of context.Background
- split test cases into sub tests
2026-01-29 05:03:47 +05:30
Ivan Ka
8e89808f2c
refactor(kubeclient): consolidate duplicate code (#6076)
* 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>

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

Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.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>

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
2026-01-29 02:15:48 +05:30
Raffaele Di Fazio
ae370daf55
remove call to get latest kubectl (#6148)
Signed-off-by: Raffaele Di Fazio <raffo@github.com>
2026-01-28 21:11:52 +05:30
Kai Udo
c0b0e4b0a0
refactor(aws): extract and restructure alias-handling logic to enable safe upcoming fixes (#6021)
* test: add regression test to ensure behavior before refactor

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

* refactor aws adjustEndpointAndAaaaIfNeeded

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

* test(aws): add comprehensive tests and remove old logic

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

* refactor(aws): simplify AdjustEndpoints record-type dispatch

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-01-27 00:17:50 +05:30
Ivan Ka
7579ce231c
feat(pihole): deprecate v5 API support (#6123)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-25 14:44:20 +05:30
vflaux
ee87a9a991
chore(cloudflare): move custom hostnames logic to dedicated files (#6114)
Also fix casing for some variable and function names.
2026-01-25 14:44:13 +05:30
Ivan Ka
1756cdd5d1
chore(provider): zone cache provider interface (#6120)
* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

* chore(provider): zone cache provider interface

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-25 14:32:13 +05:30
Kai Udo
910dc785d8
fix(endpoint): correct function name in comment (#6122)
Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>
2026-01-21 16:49:34 +05:30
Ivan Ka
89eec8151b
chore(source): standardize sources (#6089)
* chore(source): standardize sources

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

* chore(source): sources to standartise with IsControllerMismatch

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

* chore(source): sources to standartise with IsControllerMismatch

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

* chore(source): sources to standartise with IsControllerMismatch

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

* chore(source): sources to standartise with IsControllerMismatch

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

* chore(source): sources to standartise with IsControllerMismatch

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

* chore(source): sources to standartise

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

* chore(source): sources to standartise

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

* chore(source): sources to standartise

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

* chore(source): sources to standartise

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

* chore(source): sources to standartise

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

* chore(source): sources to standartise

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-21 16:49:26 +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
5799aefc73
perf(controller): optimize metrics counting (#6124)
* perf(controller): optimize metrics counting

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

* perf(controller): optimize metrics counting

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

* perf(controller): optimize metrics counting

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

* perf(controller): optimize metrics counting

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-20 22:51:25 +05:30
Romain Beuque
0eadcb0ef9
fix: provider/FindZone: transform zone name to unicode as well (#5980)
Signed-off-by: Romain Beuque <556072+rbeuque74@users.noreply.github.com>
2026-01-17 15:37:08 +05:30
Mathieu Bruneau
f4f074f965
docs: fix nested list indentation for web rendering (4-spaces) (#6092)
* docs: fix nested list indentation for sane_lists extension

- Fixed nested indentation to use 4-space in README.md, deprecation.md, version-update-playbook.md, coredns-etcd.md, and aws.md

* Revert "docs: fix nested list indentation for sane_lists extension"

This reverts commit 31cab27178e5ade2e9d2405f351dcc43a31b3670.

* Remove sane_lists as this seem to cause issue in our lists rendering

* Use the mdx_truly_sane_lists with nested_indent: 2 to match rendering between platform
2026-01-16 21:43:17 +05:30
dependabot[bot]
fb038012ba
chore(deps): bump the dev-dependencies group across 1 directory with 2 updates (#6116)
Bumps the dev-dependencies group with 2 updates in the / directory: [actions/setup-go](https://github.com/actions/setup-go) and [renovatebot/github-action](https://github.com/renovatebot/github-action).


Updates `actions/setup-go` from 5.1.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5.1.0...v6.2.0)

Updates `renovatebot/github-action` from 44.2.3 to 44.2.4
- [Release notes](https://github.com/renovatebot/github-action/releases)
- [Changelog](https://github.com/renovatebot/github-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/renovatebot/github-action/compare/v44.2.3...v44.2.4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: renovatebot/github-action
  dependency-version: 44.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 14:01:11 +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
Ivan Ka
3356639fdc
refactor(informers): unify cache sync functions using generics (#6102)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-16 04:55:17 +05:30
Ivan Ka
30cba83259
fix(fqdn): support kind and api version (#6097)
* fix(fqdn): support kind and api version

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

* fix(fqdn): support kind and api version

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

* fix(fqdn): support kind and api version

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

* fix(fqdn): support kind and api version

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-16 04:55:11 +05:30
Ivan Ka
45ec4f3b94
test(fqdn): cover sources without any fqdn tests (#6094)
* chore(fqdn): added fqdn specific tests for sources

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

* chore(fqdn): added fqdn specific tests for sources

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-16 02:55:14 +05:30
Ivan Ka
73e0dbaa20
chore(tools): CRD generation script moved and add validation workflow (#6079)
* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

* chore(tools): refactor CRD generation and add validation workflow

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: vflaux <38909103+vflaux@users.noreply.github.com>
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
2026-01-16 02:25:14 +05:30
Marie JONES
4ee50aa270
fix(metrics): add CNAME to known record types (#6115) 2026-01-16 02:11:14 +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
Saurav Upadhyay
ced397285b
test(provider/exoscale): improved the test coverage for exoscale provider from 62.8% to 80.4% (#6112)
* test(provider/exoscale): improve test coverage from 62.8 to 80.4%

* Revert "test(provider/exoscale): improve test coverage from 62.8 to 80.4%"

This reverts commit 56aa8b1dc87bc45f49fb247213d26f8883969865.

* test(provider/exoscale): improve test coverage from 62.8 to 80.4%
2026-01-14 13:25: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
Ritik shukla
bb67452f38
test: cover pkg/events/fake package (#6096)
* test: add tests for pkg/events/fake package

Add comprehensive test coverage for the fake EventEmitter implementation.
Tests cover:
- NewFakeEventEmitter() initialization
- Add() method with single and multiple events
- Different event types (Create, Update, Delete, Failed)
- Mock verification with specific events and any event type
- Edge case: empty events (panics as documented)

Improves code coverage from 0% to 100% for pkg/events/fake package.

Related to issue #5150

* fix: update copyright year to 2026
2026-01-11 14:35:56 +05:30
Ivan Ka
56fb17abc7
refactor(controller): controller no longer responsible for SingletonClientGenerator creation (#6077)
* refactore(controller): abstract things that should not be in controller

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

* refactore(controller): abstract things that should not be in controller

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

* refactore(controller): abstract things that should not be in controller

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

* refactore(controller): abstract things that should not be in controller

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

* refactore(controller): abstract things that should not be in controller

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

* refactore(controller): abstract things that should not be in controller

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

* refactore(controller): abstract things that should not be in controller

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-11 01:29:56 +05:30
Ivan Ka
c0d9262ad5
refactor(source): standardize FQDN template accross sources (#6093)
* chore(fqdn): standardize FQDN template

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

* refactore(fqdn): standardize FQDN template

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

---------

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2026-01-11 01:18:02 +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