Skip to content

Conversation

@vflaux
Copy link
Contributor

@vflaux vflaux commented Mar 13, 2025

Description

Implements the creation & deletion of Cloudflare regional hostnames for A, AAAA & CNAME records when --cloudflare-region-key is set or external-dns.alpha.kubernetes.io/cloudflare-region-key annotation is set.

Fixes #5174

Checklist

  • Unit tests updated
  • End user documentation updated

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 13, 2025
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Mar 13, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Mar 13, 2025
@k8s-ci-robot
Copy link
Contributor

Welcome @vflaux!

It looks like this is your first PR to kubernetes-sigs/external-dns 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/external-dns has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Mar 13, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @vflaux. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Mar 13, 2025
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch from 17d3c7e to 51d3103 Compare March 14, 2025 10:54
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Mar 14, 2025
@vflaux vflaux changed the title fix cloudflare regional hostname fix(cloudflare) regional hostnames Mar 14, 2025
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch 2 times, most recently from 301eaec to f181ffb Compare March 14, 2025 16:43
@mloiseleur
Copy link
Collaborator

/retitle fix(cloudflare): regional hostnames

@k8s-ci-robot k8s-ci-robot changed the title fix(cloudflare) regional hostnames fix(cloudflare): regional hostnames Mar 15, 2025
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 24, 2025
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch from f181ffb to 077a73e Compare March 24, 2025 17:04
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 24, 2025
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch 2 times, most recently from eed4c9e to 9bc8a85 Compare April 3, 2025 14:09
@k8s-ci-robot k8s-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Apr 3, 2025
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch from 9bc8a85 to 74d0353 Compare April 3, 2025 14:37
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 3, 2025
@vflaux vflaux marked this pull request as ready for review April 3, 2025 14:37
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 3, 2025
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch from 777ed48 to ea827f3 Compare April 3, 2025 14:52
@mloiseleur
Copy link
Collaborator

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 4, 2025
@mloiseleur
Copy link
Collaborator

@AndrewCharlesHay Do you think you can review this PR ?

@vflaux
Copy link
Contributor Author

vflaux commented Apr 6, 2025

This implementation attempts to infer the state of regional hostnames on Cloudflare based on received changes, then self-corrects using API error responses (e.g., Not Found or Conflict errors).
Another approach could be to query the API to list all regional hostnames in the zone before making changes.
The api is not paginated and I'm concerned by the potential performances with a lot of hostames, but I may be overthinking this.

@AndrewCharlesHay
Copy link
Contributor

This implementation attempts to infer the state of regional hostnames on Cloudflare based on received changes, then self-corrects using API error responses (e.g., Not Found or Conflict errors). Another approach could be to query the API to list all regional hostnames in the zone before making changes. The api is not paginated and I'm concerned by the potential performances with a lot of hostames, but I may be overthinking this.

I think the way you have it is good

@vflaux vflaux requested a review from AndrewCharlesHay April 11, 2025 12:31
@AndrewCharlesHay
Copy link
Contributor

LGTM

Copy link
Collaborator

@mloiseleur mloiseleur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 11, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mloiseleur

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 11, 2025
@mloiseleur
Copy link
Collaborator

@vflaux You just need to rebase on top of #5268 and the test should go green

vflaux added 2 commits April 12, 2025 10:59
Implements create & delete of regional hostnames for A, AAAA & CNAME
records.
Implements "external-dns.alpha.kubernetes.io/cloudflare-region-key"
annotation.
@vflaux vflaux force-pushed the fix_cf_regional_hostname branch from 1599e5d to 6f65181 Compare April 12, 2025 08:59
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 12, 2025
@mloiseleur
Copy link
Collaborator

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 13, 2025
@k8s-ci-robot k8s-ci-robot merged commit 2de3b50 into kubernetes-sigs:master Apr 13, 2025
12 checks passed
JesusMtnez pushed a commit to JesusMtnez/homelab that referenced this pull request May 29, 2025
…o v0.16.1 (#667)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [registry.k8s.io/external-dns/external-dns](https://github.com/kubernetes-sigs/external-dns) | minor | `v0.15.1` -> `v0.16.1` |

---

### Release Notes

<details>
<summary>kubernetes-sigs/external-dns (registry.k8s.io/external-dns/external-dns)</summary>

### [`v0.16.1`](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.16.1)

[Compare Source](kubernetes-sigs/external-dns@v0.16.0...v0.16.1)

This release fixes the breaking change introduced in v0.16.0 for Cloudflare.

:warning: New features on Cloudflare, custom and regional hostnames have some known issues, see [#&#8203;5175](kubernetes-sigs/external-dns#5175) and [#&#8203;5183](kubernetes-sigs/external-dns#5183)

:warning: OpenStack designate in-tree provider will be removed in the next version. There is now a [webhook provider](https://github.com/inovex/external-dns-openstack-webhook).

:information_source: With v0.16.0, a new option on TXT Registry is available to use only new format ([#&#8203;4946](kubernetes-sigs/external-dns#4946)). Previous format will be removed in the next release ([#&#8203;5172](kubernetes-sigs/external-dns#5172)).

#### 🐛 Bug fixes

-   fix(cloudflare): optional custom hostnames by [@&#8203;mrozentsvayg](https://github.com/mrozentsvayg) in kubernetes-sigs/external-dns#5146
-   fix(source): pass GatewayName to config by [@&#8203;buroa](https://github.com/buroa) in kubernetes-sigs/external-dns#5169
-   fix(cloudflare): infinite loop with more than 50 custom hostnames by [@&#8203;mrozentsvayg](https://github.com/mrozentsvayg) in kubernetes-sigs/external-dns#5181

#### 📦 Others

-   chore: update OWNERS with required config file by [@&#8203;mloiseleur](https://github.com/mloiseleur) in kubernetes-sigs/external-dns#5164

**Full Changelog**: kubernetes-sigs/external-dns@v0.16.0...v0.16.1

### [`v0.16.0`](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.16.0)

[Compare Source](kubernetes-sigs/external-dns@v0.15.1...v0.16.0)

#### 💥 Breaking Changes

There is a [breaking change on Cloudflare](kubernetes-sigs/external-dns#5166) with this release. It requires Cloudflare for Saas.

#### 🚀 Features

-   feat: add dreamhost webook provider to readme  ([#&#8203;5015](kubernetes-sigs/external-dns#5015)) [@&#8203;asymingt](https://github.com/asymingt)
-   feat: Add F5 TransportServer source  ([#&#8203;4944](kubernetes-sigs/external-dns#4944)) [@&#8203;visokoo](https://github.com/visokoo)
-   feat(chart): allow to run tpl on `ServiceAccount` annotations ([#&#8203;4958](kubernetes-sigs/external-dns#4958)) ([#&#8203;4958](kubernetes-sigs/external-dns#4958)) [@&#8203;fcrespofastly](https://github.com/fcrespofastly)
-   feat(cloudflare): custom hostname and fix apex  ([#&#8203;5087](kubernetes-sigs/external-dns#5087)) [@&#8203;mrozentsvayg](https://github.com/mrozentsvayg)
-   feat(deps): added renovate config for custom regexes  ([#&#8203;4978](kubernetes-sigs/external-dns#4978)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   feat: don't discard klog logs at the highest log levels (debug and trace)  ([#&#8203;4961](kubernetes-sigs/external-dns#4961)) [@&#8203;dmarkhas](https://github.com/dmarkhas)
-   feat(pdns): add validation for MX and SRV records  ([#&#8203;4871](kubernetes-sigs/external-dns#4871)) [@&#8203;julillae](https://github.com/julillae)
-   feat(rfc2136): support multiple hosts  ([#&#8203;4653](kubernetes-sigs/external-dns#4653)) [@&#8203;Jeremy-Boyle](https://github.com/Jeremy-Boyle)
-   feat(service): listen to endpoint changes  ([#&#8203;5085](kubernetes-sigs/external-dns#5085)) [@&#8203;dmarkhas](https://github.com/dmarkhas)
-   feat(source): allow to register all pods and their associated PTR record  ([#&#8203;4782](kubernetes-sigs/external-dns#4782)) [@&#8203;foyerunix](https://github.com/foyerunix)
-   feat(txt-registry): add option to use only new format ([#&#8203;4946](kubernetes-sigs/external-dns#4946)) [@&#8203;malpou](https://github.com/malpou)

#### 🐛 Bug fixes

-   fix(aes-encryption): support plain txt and url safe base64 strings  ([#&#8203;4980](kubernetes-sigs/external-dns#4980)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   fix(aws-provider): ListTagsForResource incorrect zone-id handling  ([#&#8203;5029](kubernetes-sigs/external-dns#5029)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   fix(chart): non-string types on svcaccount annotations ([#&#8203;5067](kubernetes-sigs/external-dns#5067)) [@&#8203;hjoshi123](https://github.com/hjoshi123)
-   fix(chart): regression with affinity.nodeAffinity getting ignored  ([#&#8203;5046](kubernetes-sigs/external-dns#5046)) [@&#8203;mkhpalm](https://github.com/mkhpalm)
-   fix(chart): update rbac for F5 transportserver source ([#&#8203;5066](kubernetes-sigs/external-dns#5066)) ([#&#8203;5066](kubernetes-sigs/external-dns#5066)) [@&#8203;visokoo](https://github.com/visokoo)
-   fix(cloudflare): add more descriptive log message  ([#&#8203;5047](kubernetes-sigs/external-dns#5047)) [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay)
-   fix(cloudflare): use softerror on internal server error with api  ([#&#8203;4931](kubernetes-sigs/external-dns#4931)) [@&#8203;vishuvenu](https://github.com/vishuvenu)
-   fix(dedup): records with different type are not duplicates  ([#&#8203;4889](kubernetes-sigs/external-dns#4889)) [@&#8203;jtszalay](https://github.com/jtszalay)
-   fix(docs): aws tutorial broken internal markdown links  ([#&#8203;5036](kubernetes-sigs/external-dns#5036)) [@&#8203;strophy](https://github.com/strophy)
-   fix:  do not merge CNAME with multiple targets  ([#&#8203;4856](kubernetes-sigs/external-dns#4856)) [@&#8203;dtuck9](https://github.com/dtuck9)
-   fix(f5-virtualserver): skip endpoint creation when VirtualServer is not ready ([#&#8203;4996](kubernetes-sigs/external-dns#4996)) [@&#8203;mikejoh](https://github.com/mikejoh)
-   fix(godaddy): Handle missing Retry-After header gracefully  ([#&#8203;4866](kubernetes-sigs/external-dns#4866)) [@&#8203;alexstojda](https://github.com/alexstojda)
-   fix(oci): records with multiple IP addresses  ([#&#8203;4993](kubernetes-sigs/external-dns#4993)) [@&#8203;jrosinsk](https://github.com/jrosinsk)
-   fix(ovh): cache refresh and duplicates processing  ([#&#8203;4932](kubernetes-sigs/external-dns#4932)) [@&#8203;nmaupu](https://github.com/nmaupu)
-   fix(registry): handle empty targets in TXT records logging an error  ([#&#8203;5149](kubernetes-sigs/external-dns#5149)) [@&#8203;saikatharryc](https://github.com/saikatharryc)
-   fix(source): allow ipv4-mapped ipv6 addresses  ([#&#8203;4943](kubernetes-sigs/external-dns#4943)) [@&#8203;buroa](https://github.com/buroa)
-   fix(source): debug log on gateway target detection  ([#&#8203;5096](kubernetes-sigs/external-dns#5096)) [@&#8203;drcapulet](https://github.com/drcapulet)
-   Fix spelling in webhook OpenAPI spec  ([#&#8203;5038](kubernetes-sigs/external-dns#5038)) [@&#8203;claycooper](https://github.com/claycooper)
-   fix: use informer for istio gateways  ([#&#8203;4522](kubernetes-sigs/external-dns#4522)) [@&#8203;woehrl01](https://github.com/woehrl01)

#### 📝 Documentation

-   docs: add deprecation policy ([#&#8203;5053](kubernetes-sigs/external-dns#5053)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   docs: add staging images to release process ([#&#8203;5050](kubernetes-sigs/external-dns#5050)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   docs: fix typo on aws tutorial  ([#&#8203;5070](kubernetes-sigs/external-dns#5070)) [@&#8203;Ileriayo](https://github.com/Ileriayo)
-   docs: fix typos in tutorials  ([#&#8203;4969](kubernetes-sigs/external-dns#4969)) [@&#8203;mloiseleur](https://github.com/mloiseleur)
-   docs(Microsoft DNS): improve instructions  ([#&#8203;4893](kubernetes-sigs/external-dns#4893)) [@&#8203;TomyLobo](https://github.com/TomyLobo)
-   docs(proposal): standartise date format  ([#&#8203;5128](kubernetes-sigs/external-dns#5128)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   docs(proposal): update template with statuses  ([#&#8203;5098](kubernetes-sigs/external-dns#5098)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   docs(provider): add ClouDNS to README  ([#&#8203;5065](kubernetes-sigs/external-dns#5065)) [@&#8203;rwunderer](https://github.com/rwunderer)
-   docs(README): fix link to dev guide  ([#&#8203;5116](kubernetes-sigs/external-dns#5116)) [@&#8203;masterkain](https://github.com/masterkain)
-   docs(registry): fix managed-record-type argument  ([#&#8203;5102](kubernetes-sigs/external-dns#5102)) [@&#8203;splitice](https://github.com/splitice)
-   docs: update and refactor contribution part ([#&#8203;5073](kubernetes-sigs/external-dns#5073)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   ci(docs): add markdown linters and editorconfig ([#&#8203;5055](kubernetes-sigs/external-dns#5055)) [@&#8203;mloiseleur](https://github.com/mloiseleur)
-   Improve sources' docs to mention '--managed-record-types'  ([#&#8203;4882](kubernetes-sigs/external-dns#4882)) [@&#8203;juan-vg](https://github.com/juan-vg)

#### 📦 Others

-   add: auto label source and providers  ([#&#8203;5158](kubernetes-sigs/external-dns#5158)) [@&#8203;szuecs](https://github.com/szuecs)
-   Add OpenStack Designate webook provider to readme  ([#&#8203;5115](kubernetes-sigs/external-dns#5115)) [@&#8203;frittentheke](https://github.com/frittentheke)
-   chore(ci): fix and sort changelog  ([#&#8203;4979](kubernetes-sigs/external-dns#4979)) [@&#8203;mloiseleur](https://github.com/mloiseleur) dependabot
-   chore(ci): fix failing test, upgrade to go 1.23.5 and linter to v1.63  ([#&#8203;5013](kubernetes-sigs/external-dns#5013)) [@&#8203;mloiseleur](https://github.com/mloiseleur)
-   chore(ci): remove too slow test  ([#&#8203;5014](kubernetes-sigs/external-dns#5014)) [@&#8203;mloiseleur](https://github.com/mloiseleur)
-   chore(deps): bump actions/setup-python from 5.3.0 to 5.4.0 in the dev-dependencies group  ([#&#8203;5041](kubernetes-sigs/external-dns#5041)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump azure/setup-helm from 4.2.0 to 4.3.0 in the dev-dependencies group  ([#&#8203;5108](kubernetes-sigs/external-dns#5108)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump helm/kind-action from 1.10.0 to 1.11.0 in the dev-dependencies group  ([#&#8203;4956](kubernetes-sigs/external-dns#4956)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump helm/kind-action from 1.11.0 to 1.12.0 in the dev-dependencies group  ([#&#8203;4972](kubernetes-sigs/external-dns#4972)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump nosborn/github-action-markdown-cli from 3.3.0 to 3.4.0 in the dev-dependencies group  ([#&#8203;5083](kubernetes-sigs/external-dns#5083)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 14 updates  ([#&#8203;4976](kubernetes-sigs/external-dns#4976)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 18 updates  ([#&#8203;5040](kubernetes-sigs/external-dns#5040)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 20 updates  ([#&#8203;4999](kubernetes-sigs/external-dns#4999)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 21 updates  ([#&#8203;5089](kubernetes-sigs/external-dns#5089)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 22 updates  ([#&#8203;5062](kubernetes-sigs/external-dns#5062)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 23 updates  ([#&#8203;5145](kubernetes-sigs/external-dns#5145)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 25 updates  ([#&#8203;5023](kubernetes-sigs/external-dns#5023)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 5 updates  ([#&#8203;4987](kubernetes-sigs/external-dns#4987)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group across 1 directory with 7 updates  ([#&#8203;5125](kubernetes-sigs/external-dns#5125)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group with 20 updates  ([#&#8203;5109](kubernetes-sigs/external-dns#5109)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group with 2 updates  ([#&#8203;5022](kubernetes-sigs/external-dns#5022)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group with 3 updates  ([#&#8203;5112](kubernetes-sigs/external-dns#5112)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(deps): bump the dev-dependencies group with 4 updates  ([#&#8203;4988](kubernetes-sigs/external-dns#4988)) [@&#8203;dependabot](https://github.com/dependabot)
-   chore(docs): docs/flags.md generation  ([#&#8203;4983](kubernetes-sigs/external-dns#4983)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   chore(filter-tags): pre-process filter tags  ([#&#8203;5063](kubernetes-sigs/external-dns#5063)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   chore(makefile): add helper and document targets  ([#&#8203;5093](kubernetes-sigs/external-dns#5093)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   chore(makefile): simplify coverage script  ([#&#8203;5105](kubernetes-sigs/external-dns#5105)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   chore(provider-aws): improve canonicalHostedZone handling  ([#&#8203;5031](kubernetes-sigs/external-dns#5031)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   chore(release): publish chart v1.15.2  ([#&#8203;5094](kubernetes-sigs/external-dns#5094)) [@&#8203;stevehipwell](https://github.com/stevehipwell)
-   chore: update maintainers/reviewers  ([#&#8203;5020](kubernetes-sigs/external-dns#5020)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   chore: upgrade ExternalDNS to go 1.24  ([#&#8203;5106](kubernetes-sigs/external-dns#5106)) [@&#8203;mloiseleur](https://github.com/mloiseleur)
-   kustomize-v0.15.1  ([#&#8203;4966](kubernetes-sigs/external-dns#4966)) [@&#8203;Raffo](https://github.com/Raffo)
-   Release Helm chart for `v0.15.1`  ([#&#8203;5028](kubernetes-sigs/external-dns#5028)) [@&#8203;stevehipwell](https://github.com/stevehipwell)
-   replace all versions to v0.15.1  ([#&#8203;4973](kubernetes-sigs/external-dns#4973)) [@&#8203;Raffo](https://github.com/Raffo)
-   test(cloudflare): add scenarios on submitChanges  ([#&#8203;5054](kubernetes-sigs/external-dns#5054)) [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay)
-   test(domain-filter): simple filters on domain exclusion ([#&#8203;5064](kubernetes-sigs/external-dns#5064)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)
-   test(provider): tags filter coverage and benchmark  ([#&#8203;5060](kubernetes-sigs/external-dns#5060)) [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk)

#### New Contributors

-   [@&#8203;juan-vg](https://github.com/juan-vg) made their first contribution in kubernetes-sigs/external-dns#4882
-   [@&#8203;dmarkhas](https://github.com/dmarkhas) made their first contribution in kubernetes-sigs/external-dns#4961
-   [@&#8203;buroa](https://github.com/buroa) made their first contribution in kubernetes-sigs/external-dns#4943
-   [@&#8203;fcrespofastly](https://github.com/fcrespofastly) made their first contribution in kubernetes-sigs/external-dns#4958
-   [@&#8203;nmaupu](https://github.com/nmaupu) made their first contribution in kubernetes-sigs/external-dns#4932
-   [@&#8203;dtuck9](https://github.com/dtuck9) made their first contribution in kubernetes-sigs/external-dns#4856
-   [@&#8203;asymingt](https://github.com/asymingt) made their first contribution in kubernetes-sigs/external-dns#5015
-   [@&#8203;alexstojda](https://github.com/alexstojda) made their first contribution in kubernetes-sigs/external-dns#4866
-   [@&#8203;visokoo](https://github.com/visokoo) made their first contribution in kubernetes-sigs/external-dns#4944
-   [@&#8203;vishuvenu](https://github.com/vishuvenu) made their first contribution in kubernetes-sigs/external-dns#4931
-   [@&#8203;TomyLobo](https://github.com/TomyLobo) made their first contribution in kubernetes-sigs/external-dns#4893
-   [@&#8203;strophy](https://github.com/strophy) made their first contribution in kubernetes-sigs/external-dns#5036
-   [@&#8203;malpou](https://github.com/malpou) made their first contribution in kubernetes-sigs/external-dns#4946
-   [@&#8203;foyerunix](https://github.com/foyerunix) made their first contribution in kubernetes-sigs/external-dns#4782
-   [@&#8203;rwunderer](https://github.com/rwunderer) made their first contribution in kubernetes-sigs/external-dns#5065
-   [@&#8203;Ileriayo](https://github.com/Ileriayo) made their first contribution in kubernetes-sigs/external-dns#5070
-   [@&#8203;hjoshi123](https://github.com/hjoshi123) made their first contribution in kubernetes-sigs/external-dns#5067
-   [@&#8203;mkhpalm](https://github.com/mkhpalm) made their first contribution in kubernetes-sigs/external-dns#5046
-   [@&#8203;woehrl01](https://github.com/woehrl01) made their first contribution in kubernetes-sigs/external-dns#4522
-   [@&#8203;jtszalay](https://github.com/jtszalay) made their first contribution in kubernetes-sigs/external-dns#4889
-   [@&#8203;splitice](https://github.com/splitice) made their first contribution in kubernetes-sigs/external-dns#5102
-   [@&#8203;drcapulet](https://github.com/drcapulet) made their first contribution in kubernetes-sigs/external-dns#5096
-   [@&#8203;mrozentsvayg](https://github.com/mrozentsvayg) made their first contribution in kubernetes-sigs/external-dns#5087
-   [@&#8203;frittentheke](https://github.com/frittentheke) made their first contribution in kubernetes-sigs/external-dns#5115
-   [@&#8203;masterkain](https://github.com/masterkain) made their first contribution in kubernetes-sigs/external-dns#5116
-   [@&#8203;renanqts](https://github.com/renanqts) made their first contribution in kubernetes-sigs/external-dns#5132
-   [@&#8203;rlees85](https://github.com/rlees85) made their first contribution in kubernetes-sigs/external-dns#5111
-   [@&#8203;stefaneg](https://github.com/stefaneg) made their first contribution in kubernetes-sigs/external-dns#5135
-   [@&#8203;saikatharryc](https://github.com/saikatharryc) made their first contribution in kubernetes-sigs/external-dns#5149

**Full Changelog**: kubernetes-sigs/external-dns@v0.15.1...v0.16.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4wLjAtbmV4dC4xIiwidXBkYXRlZEluVmVyIjoiNDAuMC4wLW5leHQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwL21pbm9yIl19-->

Reviewed-on: https://codeberg.org/JesusMtnez/homelab/pulls/667
Co-authored-by: JesusMtnez-bot <[email protected]>
Co-committed-by: JesusMtnez-bot <[email protected]>
JesusMtnez added a commit to JesusMtnez/homelab that referenced this pull request May 29, 2025
…o v0.17.0 (#712)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [registry.k8s.io/external-dns/external-dns](https://github.com/kubernetes-sigs/external-dns) | minor | `v0.16.1` -> `v0.17.0` |

---

### Release Notes

<details>
<summary>kubernetes-sigs/external-dns (registry.k8s.io/external-dns/external-dns)</summary>

### [`v0.17.0`](https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.17.0)

[Compare Source](kubernetes-sigs/external-dns@v0.16.1...v0.17.0)

#### Global information

:information_source: On Pi Hole, support for v6 has been added. Pi Hole v5 support is deprecated and will be removed in a future version

:information_source: On OVH, the provider has been heavily rewritten. New ACLs are need. See documentation and PR [#&#8203;5143](kubernetes-sigs/external-dns#5143) for details.

:information_source: On IPv6, the [proposal 002](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/proposal/002-internal-ipv6-handling-rollback.md) has been implemented, thanks to [@&#8203;hjoshi123](https://github.com/hjoshi123)

-   ⚠️ In the next release, the default of this new `expose-internal-ipv6` flag will be set to false

⚠️ There is a severe known issue with Active Directory ([#&#8203;5240](kubernetes-sigs/external-dns#5240)) since v0.16.0. PR to fix it ([#&#8203;5385](kubernetes-sigs/external-dns#5385)) is in review

:information_source: The legacy txt-format will be removed in the next minor version ([#&#8203;5172](kubernetes-sigs/external-dns#5172))

-   ⚠️ There is currently no migration script to clean old style txt records. If you need it, if you think you can do it, PRs are welcome.

ℹ️ A new Nomad source may be added to external-dns ([#&#8203;5284](kubernetes-sigs/external-dns#5284))

-   This PR can be merged only after a review and test from real Nomad users

#### 🚀 Features

-   feat: additional template functions by [@&#8203;matkam](https://github.com/matkam) in [#&#8203;3949](kubernetes-sigs/external-dns#3949)
-   feat(banner): standardize user agent and output by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5154](kubernetes-sigs/external-dns#5154)
-   feat(chart): Update image to v0.16.1 by [@&#8203;stevehipwell](https://github.com/stevehipwell) in [#&#8203;5201](kubernetes-sigs/external-dns#5201)
-   feat(cloudflare): multiple custom hostnames support by [@&#8203;mrozentsvayg](https://github.com/mrozentsvayg) in [#&#8203;5239](kubernetes-sigs/external-dns#5239)
-   feat(helm): allow extraArgs to also be a map enabling overrides of individual values by [@&#8203;frittentheke](https://github.com/frittentheke) in [#&#8203;5293](kubernetes-sigs/external-dns#5293)
-   feat: IDNA awareness in the zone finder by [@&#8203;lexisother](https://github.com/lexisother) in [#&#8203;5147](kubernetes-sigs/external-dns#5147)
-   feat(ovh): major rewriting of the provider by [@&#8203;rbeuque74](https://github.com/rbeuque74) in [#&#8203;5143](kubernetes-sigs/external-dns#5143)
-   feat(pihole): add optional support for v6 by [@&#8203;tJouve](https://github.com/tJouve) in [#&#8203;5226](kubernetes-sigs/external-dns#5226)
-   feat(pihole): add support for IPv6 Dual format by [@&#8203;tJouve](https://github.com/tJouve) in [#&#8203;5253](kubernetes-sigs/external-dns#5253)
-   feat(source): optional exclusion of unschedulable nodes by [@&#8203;Hayajiro](https://github.com/Hayajiro) in [#&#8203;5045](kubernetes-sigs/external-dns#5045)
-   feat(source): optional expose of nodes internal ipv6 by [@&#8203;hjoshi123](https://github.com/hjoshi123) in [#&#8203;5192](kubernetes-sigs/external-dns#5192)

#### 🐛 Bug fixes

-   fix(aws): typo on route53 IAM by [@&#8203;tico24](https://github.com/tico24) in [#&#8203;5197](kubernetes-sigs/external-dns#5197)
-   fix(chart): add missing types for empty values by [@&#8203;t3mi](https://github.com/t3mi) in [#&#8203;5207](kubernetes-sigs/external-dns#5207)
-   fix(cloudflare): custom hostnames edge-cases causing duplicates by [@&#8203;mrozentsvayg](https://github.com/mrozentsvayg) in [#&#8203;5183](kubernetes-sigs/external-dns#5183)
-   fix(cloudflare): regional hostnames by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5175](kubernetes-sigs/external-dns#5175)
-   fix(Gateway API): ensure generation match by [@&#8203;davidwin93](https://github.com/davidwin93) in [#&#8203;5241](kubernetes-sigs/external-dns#5241)
-   fix(gateway-api): ensure to use only latest generation with HTTPRoutes by [@&#8203;kashalls](https://github.com/kashalls) in [#&#8203;5349](kubernetes-sigs/external-dns#5349)
-   fix(helm): added missing schema values by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5228](kubernetes-sigs/external-dns#5228)
-   fix(helm): update helm schema by [@&#8203;semnell](https://github.com/semnell) in [#&#8203;5297](kubernetes-sigs/external-dns#5297)
-   fix(log testing): re-use logger library testing functionality by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5368](kubernetes-sigs/external-dns#5368)
-   fix(node): logger test fixed by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5232](kubernetes-sigs/external-dns#5232)
-   fix(ovh): handling capitalized DNS records + prevent panic by [@&#8203;rbeuque74](https://github.com/rbeuque74) in [#&#8203;5390](kubernetes-sigs/external-dns#5390)
-   fix(webhook): api json object plan.Changes case by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5355](kubernetes-sigs/external-dns#5355)
-   fix(zonefinder): handle underscores in dns records by [@&#8203;arthlr](https://github.com/arthlr) in [#&#8203;5281](kubernetes-sigs/external-dns#5281)

#### 📝 Documentation

-   docs(contributing): add conventional commits by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5333](kubernetes-sigs/external-dns#5333)
-   docs(proposal): externaldns api graduation to beta by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5079](kubernetes-sigs/external-dns#5079)
-   docs(rfc2136): fix env variable in the guideline by [@&#8203;riupie](https://github.com/riupie) in [#&#8203;5352](kubernetes-sigs/external-dns#5352)
-   docs(tutorials): add IONOS Cloud  setup tutorial for ExternalDNS by [@&#8203;smilutinovic-ionos](https://github.com/smilutinovic-ionos) in [#&#8203;5364](kubernetes-sigs/external-dns#5364)
-   docs(typo): grcp → grpc by [@&#8203;octo](https://github.com/octo) in [#&#8203;5231](kubernetes-sigs/external-dns#5231)
-   docs: update link to Anexia webhook provider by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5244](kubernetes-sigs/external-dns#5244)
-   docs: update rfc2136 by [@&#8203;BasJ93](https://github.com/BasJ93) in [#&#8203;5325](kubernetes-sigs/external-dns#5325)

#### 📦 Others

-   Add Yandex Cloud Webhook by [@&#8203;ismailbaskin](https://github.com/ismailbaskin) in [#&#8203;5190](kubernetes-sigs/external-dns#5190)
-   chore: add se for nlb, alb in thailand region by [@&#8203;xshot9011](https://github.com/xshot9011) in [#&#8203;5200](kubernetes-sigs/external-dns#5200)
-   chore: fix typo on txtOwnerId comment/description by [@&#8203;lanandra](https://github.com/lanandra) in [#&#8203;5351](kubernetes-sigs/external-dns#5351)
-   chore(ci): fix random data race failure on source/node test by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5268](kubernetes-sigs/external-dns#5268)
-   chore(ci): improve release script by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5394](kubernetes-sigs/external-dns#5394)
-   chore(ci): update linter to v2.0.2 by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5246](kubernetes-sigs/external-dns#5246)
-   chore(code-cleanup): move logic away from main.go add tests by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5222](kubernetes-sigs/external-dns#5222)
-   chore(code): improve some tests + re-order sources flags CLI by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5288](kubernetes-sigs/external-dns#5288)
-   chore(code-quality): added lint checks by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5318](kubernetes-sigs/external-dns#5318)
-   chore(code-quality): providers linter warnings fixes by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5320](kubernetes-sigs/external-dns#5320)
-   chore(code-quality): refactoring and linter fixes by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5374](kubernetes-sigs/external-dns#5374)
-   chore(code-quality): webhook increase code coverage by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5337](kubernetes-sigs/external-dns#5337)
-   chore(crd): use conventional paths and update controller-gen to v0.17.2 by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5287](kubernetes-sigs/external-dns#5287)
-   chore(dependencies): update toools versions by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5252](kubernetes-sigs/external-dns#5252)
-   chore(deps): build with go 1.24.2 by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5306](kubernetes-sigs/external-dns#5306)
-   chore(deps): bump renovatebot/github-action from 41.0.14 to 41.0.16 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5188](kubernetes-sigs/external-dns#5188)
-   chore(deps): bump renovatebot/github-action from 41.0.16 to 41.0.17 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5210](kubernetes-sigs/external-dns#5210)
-   chore(deps): bump the dev-dependencies group across 1 directory with 14 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5346](kubernetes-sigs/external-dns#5346)
-   chore(deps): bump the dev-dependencies group across 1 directory with 14 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5382](kubernetes-sigs/external-dns#5382)
-   chore(deps): bump the dev-dependencies group across 1 directory with 17 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5238](kubernetes-sigs/external-dns#5238)
-   chore(deps): bump the dev-dependencies group across 1 directory with 19 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5262](kubernetes-sigs/external-dns#5262)
-   chore(deps): bump the dev-dependencies group across 1 directory with 20 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5211](kubernetes-sigs/external-dns#5211)
-   chore(deps): bump the dev-dependencies group across 1 directory with 21 updates by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5313](kubernetes-sigs/external-dns#5313)
-   chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5247](kubernetes-sigs/external-dns#5247)
-   chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5301](kubernetes-sigs/external-dns#5301)
-   chore(deps): bump the dev-dependencies group across 1 directory with 2 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5323](kubernetes-sigs/external-dns#5323)
-   chore(deps): code cleanup, pkg/errors is archived by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5335](kubernetes-sigs/external-dns#5335)
-   chore(deps): switch to goccy yaml by [@&#8203;Raffo](https://github.com/Raffo) in [#&#8203;5292](kubernetes-sigs/external-dns#5292)
-   chore(deps): update linter to v2.1.x by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5366](kubernetes-sigs/external-dns#5366)
-   chore(fqdn-template): fqdn templating move to specific folder and update documentation by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5354](kubernetes-sigs/external-dns#5354)
-   chore(github): add a release template by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5324](kubernetes-sigs/external-dns#5324)
-   chore(helm): add validation for prefix and suffix and capture regression by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5250](kubernetes-sigs/external-dns#5250)
-   chore(openstack designate)!: remove in-tree provider by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5126](kubernetes-sigs/external-dns#5126)
-   chore(providers): rename custom TTL constants to defaultTTL by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5312](kubernetes-sigs/external-dns#5312)
-   chore: Release Helm chart v1.16.1 by [@&#8203;stevehipwell](https://github.com/stevehipwell) in [#&#8203;5270](kubernetes-sigs/external-dns#5270)
-   chore(release): updates kustomize & docs with v0.16.1 by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5184](kubernetes-sigs/external-dns#5184)
-   chore(source): code cleanup by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5304](kubernetes-sigs/external-dns#5304)
-   chore(webhook): bump cenkalti/backoff version by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5342](kubernetes-sigs/external-dns#5342)
-   test: add tests for cloudflare provider by [@&#8203;natitomattis](https://github.com/natitomattis) in [#&#8203;5248](kubernetes-sigs/external-dns#5248)
-   test(log): execute on multiple platforms by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5370](kubernetes-sigs/external-dns#5370)
-   test(log): fix random race detection by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5273](kubernetes-sigs/external-dns#5273)
-   test(source): cover unhappy paths by [@&#8203;linoleparquet](https://github.com/linoleparquet) in [#&#8203;5369](kubernetes-sigs/external-dns#5369)
-   test(source): fix data race on node_test by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5334](kubernetes-sigs/external-dns#5334)
-   test(source/pod): improve code coverage by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5378](kubernetes-sigs/external-dns#5378)
-   test(tlsconfig): add unit tests by [@&#8203;linoleparquet](https://github.com/linoleparquet) in [#&#8203;5381](kubernetes-sigs/external-dns#5381)
-   test(zone_filter): improve coverage from 66.7% to 100% by [@&#8203;upsaurav12](https://github.com/upsaurav12) in [#&#8203;5388](kubernetes-sigs/external-dns#5388)

#### 📦 Docker Image

    docker pull registry.k8s.io/external-dns/external-dns:v0.17.0

#### New Contributors

-   [@&#8203;ismailbaskin](https://github.com/ismailbaskin) made their first contribution in kubernetes-sigs/external-dns#5190
-   [@&#8203;lexisother](https://github.com/lexisother) made their first contribution in kubernetes-sigs/external-dns#5147
-   [@&#8203;tico24](https://github.com/tico24) made their first contribution in kubernetes-sigs/external-dns#5197
-   [@&#8203;t3mi](https://github.com/t3mi) made their first contribution in kubernetes-sigs/external-dns#5207
-   [@&#8203;octo](https://github.com/octo) made their first contribution in kubernetes-sigs/external-dns#5231
-   [@&#8203;xshot9011](https://github.com/xshot9011) made their first contribution in kubernetes-sigs/external-dns#5200
-   [@&#8203;tJouve](https://github.com/tJouve) made their first contribution in kubernetes-sigs/external-dns#5226
-   [@&#8203;Hayajiro](https://github.com/Hayajiro) made their first contribution in kubernetes-sigs/external-dns#5045
-   [@&#8203;davidwin93](https://github.com/davidwin93) made their first contribution in kubernetes-sigs/external-dns#5241
-   [@&#8203;vflaux](https://github.com/vflaux) made their first contribution in kubernetes-sigs/external-dns#5175
-   [@&#8203;arthlr](https://github.com/arthlr) made their first contribution in kubernetes-sigs/external-dns#5281
-   [@&#8203;semnell](https://github.com/semnell) made their first contribution in kubernetes-sigs/external-dns#5297
-   [@&#8203;BasJ93](https://github.com/BasJ93) made their first contribution in kubernetes-sigs/external-dns#5325
-   [@&#8203;natitomattis](https://github.com/natitomattis) made their first contribution in kubernetes-sigs/external-dns#5248
-   [@&#8203;riupie](https://github.com/riupie) made their first contribution in kubernetes-sigs/external-dns#5352
-   [@&#8203;lanandra](https://github.com/lanandra) made their first contribution in kubernetes-sigs/external-dns#5351
-   [@&#8203;smilutinovic-ionos](https://github.com/smilutinovic-ionos) made their first contribution in kubernetes-sigs/external-dns#5364
-   [@&#8203;linoleparquet](https://github.com/linoleparquet) made their first contribution in kubernetes-sigs/external-dns#5369
-   [@&#8203;kashalls](https://github.com/kashalls) made their first contribution in kubernetes-sigs/external-dns#5349
-   [@&#8203;matkam](https://github.com/matkam) made their first contribution in kubernetes-sigs/external-dns#3949
-   [@&#8203;upsaurav12](https://github.com/upsaurav12) made their first contribution in kubernetes-sigs/external-dns#5388

**Full Changelog**: kubernetes-sigs/external-dns@v0.16.1...v0.17.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xNSIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE1IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXAvbWlub3IiXX0=-->

Co-authored-by: JesusMtnez <[email protected]>
Reviewed-on: https://codeberg.org/JesusMtnez/homelab/pulls/712
Co-authored-by: JesusMtnez-bot <[email protected]>
Co-committed-by: JesusMtnez-bot <[email protected]>
@vflaux vflaux deleted the fix_cf_regional_hostname branch July 3, 2025 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cloudflare Regional Services / Hostname are not created when cloudflare region is configured

4 participants