Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC2136: Add support for DNS-over-TLS #3974

Merged
merged 2 commits into from Feb 29, 2024

Conversation

iteratee
Copy link
Contributor

@iteratee iteratee commented Oct 6, 2023

  • Reuse the existing TLS options.
  • Add two new flags, one to enable DNS-over-TLS, and the second to disable cert checks for DNS-over-TLS.
  • Factor out the connection code so that it can be shared between the zone transfer and the updates. If TLS was requested, it will be used for both.
  • RFC9013 requires TLS 1.3 or later, and an ALPN negotiation of "dot".

Description

RFC2136: Add support for DNS-over-TLS

  • Reuse the existing TLS options.
  • Add two new flags, one to enable DNS-over-TLS, and the second to disable cert checks for DNS-over-TLS.
  • Factor out the connection code so that it can be shared between the zone transfer and the updates. If TLS was requested, it will be used for both.
  • RFC9013 requires TLS 1.3 or later, and an ALPN negotiation of "dot".

Checklist

  • Unit tests updated
  • End user documentation updated

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Oct 6, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@k8s-ci-robot
Copy link
Contributor

Welcome @iteratee!

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 cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Oct 6, 2023
@k8s-ci-robot
Copy link
Contributor

Hi @iteratee. 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/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 6, 2023
@mloiseleur
Copy link
Contributor

Hello @iteratee,

Thanks for this PR. You'll need to sign the CLA, first.

@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 Oct 9, 2023
@iteratee
Copy link
Contributor Author

iteratee commented Oct 9, 2023

Hello @iteratee,

Thanks for this PR. You'll need to sign the CLA, first.

Sorry, I was having trouble with the system. It should be all set now.

@iteratee
Copy link
Contributor Author

@mloiseleur I did get the CLA signed

@mloiseleur
Copy link
Contributor

mloiseleur commented Oct 18, 2023

Thanks.
Would you please add some tests and some (tutorial) documentation on this ?

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 19, 2023
@iteratee
Copy link
Contributor Author

Thanks. Would you please add some tests and some (tutorial) documentation on this ?

I didn't see an obvious way to test the content of the root cert and client cert and key. I did test the basics of a TLS connection. I also added a note about the flags to the tutorial.

@mloiseleur
Copy link
Contributor

Thanks.
/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 Oct 20, 2023
@iteratee
Copy link
Contributor Author

/retest

@mloiseleur
Copy link
Contributor

Would you please add some tests on other cases ?
The skip TLS Verify, and the case when auth. with a tls key pair is not tested.

@iteratee
Copy link
Contributor Author

iteratee commented Oct 24, 2023

OK, new tests.

/retest

@mloiseleur
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 29, 2023
@iteratee
Copy link
Contributor Author

iteratee commented Nov 8, 2023

What else needs to happen for this PR?

@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 3, 2024
@iteratee
Copy link
Contributor Author

iteratee commented Jan 3, 2024

Sorry for the delay. Rebase done. Tests still pass.

@mloiseleur
Copy link
Contributor

/lgtm
/assign @Raffo

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 4, 2024
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 5, 2024
@iteratee
Copy link
Contributor Author

iteratee commented Jan 5, 2024

Just saw the recent merge conflict and fixed again.

@iteratee
Copy link
Contributor Author

@mloiseleur @Raffo

@iteratee
Copy link
Contributor Author

/retest

@mloiseleur
Copy link
Contributor

/lgtm
/assign @szuecs

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 25, 2024
@@ -189,6 +189,8 @@ type Config struct {
RFC2136TAXFR bool
RFC2136MinTTL time.Duration
RFC2136BatchChangeSize int
RFC2136UseTls bool
Copy link
Contributor

Choose a reason for hiding this comment

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

RFC2136UseTls -> RFC2136UseTLS

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@@ -207,6 +225,15 @@ func (r rfc2136Provider) IncomeTransfer(m *dns.Msg, a string) (env chan *dns.Env
t.TsigSecret = map[string]string{r.tsigKeyName: r.tsigSecret}
}

c, err := makeClient(r)
if err != nil {
return nil, fmt.Errorf("error setting up TLS: %v", err)
Copy link
Contributor

Choose a reason for hiding this comment

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

%v -> %w

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

}
conn, err := c.Dial(a)
if err != nil {
return nil, fmt.Errorf("failed to connect for transfer: %v", err)
Copy link
Contributor

Choose a reason for hiding this comment

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

%v -> %w

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

c := new(dns.Client)
c, err := makeClient(r)
if err != nil {
return fmt.Errorf("error setting up TLS: %v", err)
Copy link
Contributor

Choose a reason for hiding this comment

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

%v -> %w

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@szuecs
Copy link
Contributor

szuecs commented Feb 7, 2024

@iteratee thanks for the PR, only have small things found

 *  Reuse the existing TLS options.
 *  Add two new flags, one to enable DNS-over-TLS, and the second to
    disable cert checks for DNS-over-TLS.
 *  Factor out the connection code so that it can be shared between the
    zone transfer and the updates. If TLS was requested, it will be used
    for both.
 *  RFC9013 requires TLS 1.3 or later, and an ALPN negotiation of "dot".
Add a note about the TLS flags to the RFC2136 Tutorial.
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 26, 2024
Copy link
Contributor Author

@iteratee iteratee left a comment

Choose a reason for hiding this comment

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

All requested changes made and rebased. Sorry for the delay, I didn't see the review come through until today.

@@ -189,6 +189,8 @@ type Config struct {
RFC2136TAXFR bool
RFC2136MinTTL time.Duration
RFC2136BatchChangeSize int
RFC2136UseTls bool
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@@ -207,6 +225,15 @@ func (r rfc2136Provider) IncomeTransfer(m *dns.Msg, a string) (env chan *dns.Env
t.TsigSecret = map[string]string{r.tsigKeyName: r.tsigSecret}
}

c, err := makeClient(r)
if err != nil {
return nil, fmt.Errorf("error setting up TLS: %v", err)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

}
conn, err := c.Dial(a)
if err != nil {
return nil, fmt.Errorf("failed to connect for transfer: %v", err)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

c := new(dns.Client)
c, err := makeClient(r)
if err != nil {
return fmt.Errorf("error setting up TLS: %v", err)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@mloiseleur
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 27, 2024
@szuecs
Copy link
Contributor

szuecs commented Feb 29, 2024

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: szuecs

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 Feb 29, 2024
@k8s-ci-robot k8s-ci-robot merged commit 8d3eb3a into kubernetes-sigs:master Feb 29, 2024
13 checks passed
truecharts-admin added a commit to truecharts/charts that referenced this pull request Mar 22, 2024
…rnal-dns to v0.14.1@7bb4c52 by renovate (#19644)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[registry.k8s.io/external-dns/external-dns](https://togithub.com/kubernetes-sigs/external-dns)
| patch | `v0.14.0` -> `v0.14.1` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

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

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

[Compare
Source](https://togithub.com/kubernetes-sigs/external-dns/compare/v0.14.0...v0.14.1)

#### What's Changed

- docs: add reference to adguard webhook provider by
[@&#8203;muhlba91](https://togithub.com/muhlba91) in
[kubernetes-sigs/external-dns#4030
- Update azure.md by [@&#8203;sesoldi](https://togithub.com/sesoldi) in
[kubernetes-sigs/external-dns#4009
- add initial support for gw apis 1.0.0 GA by
[@&#8203;larivierec](https://togithub.com/larivierec) in
[kubernetes-sigs/external-dns#4019
- build(deps): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4028
- add stackit webhook to readme by
[@&#8203;PatrickKoss](https://togithub.com/PatrickKoss) in
[kubernetes-sigs/external-dns#4029
- Add org.opencontainers.image.source label to container image by
[@&#8203;robinschneider](https://togithub.com/robinschneider) in
[kubernetes-sigs/external-dns#4022
- bump kustomize version to v0.14.0 by
[@&#8203;Raffo](https://togithub.com/Raffo) in
[kubernetes-sigs/external-dns#4024
- OCI Provider private zone and workload identity support by
[@&#8203;anders-swanson](https://togithub.com/anders-swanson) in
[kubernetes-sigs/external-dns#3995
- RFC2136: Allow multiple zones by
[@&#8203;CRASH-Tech](https://togithub.com/CRASH-Tech) in
[kubernetes-sigs/external-dns#3976
- chore(chart): Updated GH workflows by
[@&#8203;stevehipwell](https://togithub.com/stevehipwell) in
[kubernetes-sigs/external-dns#4010
- fix: dynamodb registry when statements over 25 by
[@&#8203;danie1sullivan](https://togithub.com/danie1sullivan) in
[kubernetes-sigs/external-dns#4021
- Allow to configure revisionHistoryLimit on the K8s Deployment resource
by [@&#8203;arnisoph](https://togithub.com/arnisoph) in
[kubernetes-sigs/external-dns#4008
- chore: Bump kingpin/v2 dep by
[@&#8203;mrueg](https://togithub.com/mrueg) in
[kubernetes-sigs/external-dns#4033
- Update all image versions in documentation by
[@&#8203;Raffo](https://togithub.com/Raffo) in
[kubernetes-sigs/external-dns#4037
- updated various broken link in ultradns tutorial by
[@&#8203;kundan2707](https://togithub.com/kundan2707) in
[kubernetes-sigs/external-dns#3794
- Make --ignore-hostname-annotation flag more consistent by
[@&#8203;johngmyers](https://togithub.com/johngmyers) in
[kubernetes-sigs/external-dns#3964
- service source uses externalIPs in ExternalName type if available by
[@&#8203;dromie](https://togithub.com/dromie) in
[kubernetes-sigs/external-dns#4007
- build(deps): bump the dev-dependencies group with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4046
- fix(google): ensure trailing dot for SRV records by
[@&#8203;siliconsheep](https://togithub.com/siliconsheep) in
[kubernetes-sigs/external-dns#4048
- oracle provider: dns zone cache by
[@&#8203;anders-swanson](https://togithub.com/anders-swanson) in
[kubernetes-sigs/external-dns#4049
- fix(httpProxy): drop status==valid filter by
[@&#8203;nefelim4ag](https://togithub.com/nefelim4ag) in
[kubernetes-sigs/external-dns#3978
- doc: added --infoblox-view argument to Infoblox documentation by
[@&#8203;tanerm](https://togithub.com/tanerm) in
[kubernetes-sigs/external-dns#4036
- fix: regression on scaleway provider in 0.14.0 by
[@&#8203;M0NsTeRRR](https://togithub.com/M0NsTeRRR) in
[kubernetes-sigs/external-dns#4039
- Add GleSYS to the readme for webhooks by
[@&#8203;glesys-andreas](https://togithub.com/glesys-andreas) in
[kubernetes-sigs/external-dns#4054
- build(deps): bump the dev-dependencies group with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4057
- feat: make webhook httpapi reusable by
[@&#8203;mrueg](https://togithub.com/mrueg) in
[kubernetes-sigs/external-dns#4065
- Make routegroup client IPv6 compatible by
[@&#8203;mikkeloscar](https://togithub.com/mikkeloscar) in
[kubernetes-sigs/external-dns#4068
- doc: fix link to ionos webhook provider by
[@&#8203;akrieg-ionos](https://togithub.com/akrieg-ionos) in
[kubernetes-sigs/external-dns#4031
- feat(chart): Added complex provider support by
[@&#8203;stevehipwell](https://togithub.com/stevehipwell) in
[kubernetes-sigs/external-dns#4085
- chore: update 45 go modules dependancies by
[@&#8203;mloiseleur](https://togithub.com/mloiseleur) in
[kubernetes-sigs/external-dns#4088
- webhook: Move httpapi into own package by
[@&#8203;mrueg](https://togithub.com/mrueg) in
[kubernetes-sigs/external-dns#4084
- doc: Add netcup webhook provider by
[@&#8203;mrueg](https://togithub.com/mrueg) in
[kubernetes-sigs/external-dns#4095
- build(deps): bump the dev-dependencies group with 3 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4097
- update to add il-central-1 by
[@&#8203;theloneexplorerquest](https://togithub.com/theloneexplorerquest)
in
[kubernetes-sigs/external-dns#4093
- Add readme bizflycloud webhook provider by
[@&#8203;huyduong2792](https://togithub.com/huyduong2792) in
[kubernetes-sigs/external-dns#4079
- fix: Allow revisionHistoryLimit to be set to 0 by
[@&#8203;bodgit](https://togithub.com/bodgit) in
[kubernetes-sigs/external-dns#4053
- helm: Avoid unnecessary pod restart on each helm chart version by
[@&#8203;jkroepke](https://togithub.com/jkroepke) in
[kubernetes-sigs/external-dns#4103
- Correct typo from 'Kuberntes' to 'Kubernetes' by
[@&#8203;jongwooo](https://togithub.com/jongwooo) in
[kubernetes-sigs/external-dns#4118
- build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4123
- cleanup: remove dead code (`(Create|Update|Delete)Records` functions
in AWS, Google, DNSimple) by
[@&#8203;mloiseleur](https://togithub.com/mloiseleur) in
[kubernetes-sigs/external-dns#4129
- ci: remove `confusing-naming` property by
[@&#8203;PascalBourdier](https://togithub.com/PascalBourdier) in
[kubernetes-sigs/external-dns#4116
- chore: fix code comment by
[@&#8203;tanujd11](https://togithub.com/tanujd11) in
[kubernetes-sigs/external-dns#4131
- fix: include cloudflare error in metrics and logs by
[@&#8203;danie1sullivan](https://togithub.com/danie1sullivan) in
[kubernetes-sigs/external-dns#4082
- gateway-api: fix wildcard matching by
[@&#8203;abursavich](https://togithub.com/abursavich) in
[kubernetes-sigs/external-dns#4124
- build(deps): bump the dev-dependencies group with 23 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4134
- Hetzner webhook provider readme link by
[@&#8203;mconfalonieri](https://togithub.com/mconfalonieri) in
[kubernetes-sigs/external-dns#4051
- Fix timeout for traefik-proxy source by
[@&#8203;k8r-io](https://togithub.com/k8r-io) in
[kubernetes-sigs/external-dns#4076
- build(deps): bump the dev-dependencies group with 7 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4144
- fix: remove useless functions by
[@&#8203;PascalBourdier](https://togithub.com/PascalBourdier) in
[kubernetes-sigs/external-dns#4115
- fix(ambassador): don't resolve LB hostname by
[@&#8203;fad3t](https://togithub.com/fad3t) in
[kubernetes-sigs/external-dns#4092
- doc(azure): shows how to use userAssignedIdentityID with clientId in
azure.json by [@&#8203;thesse1](https://togithub.com/thesse1) in
[kubernetes-sigs/external-dns#4133
- build(deps): bump the dev-dependencies group with 4 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4146
- webhook: Fix metric name and add request gauges by
[@&#8203;mrueg](https://togithub.com/mrueg) in
[kubernetes-sigs/external-dns#4078
- build(deps): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4145
- build(deps): bump the dev-dependencies group with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4154
- fix: heritage txt record was not able to be created for txt record by
[@&#8203;tanujd11](https://togithub.com/tanujd11) in
[kubernetes-sigs/external-dns#4140
- build(deps): bump the dev-dependencies group with 9 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4155
- fix(istio): support for ExternalIPs in Istio resources by
[@&#8203;KarstenSiemer](https://togithub.com/KarstenSiemer) in
[kubernetes-sigs/external-dns#4094
- Update rfc2136 provider to split out changes per zone by
[@&#8203;gregsidelinger](https://togithub.com/gregsidelinger) in
[kubernetes-sigs/external-dns#4107
- Exoscale provider optimization by
[@&#8203;kobajagi](https://togithub.com/kobajagi) in
[kubernetes-sigs/external-dns#4071
- fix: godaddy - rate limiter add one token every second by
[@&#8203;nefelim4ag](https://togithub.com/nefelim4ag) in
[kubernetes-sigs/external-dns#4087
- feat(helm-chart): Allow configuration of ipFamilyPolicy by
[@&#8203;dongjiang1989](https://togithub.com/dongjiang1989) in
[kubernetes-sigs/external-dns#4153
- chore(chart): Deprecated secretConfiguration by
[@&#8203;stevehipwell](https://togithub.com/stevehipwell) in
[kubernetes-sigs/external-dns#4161
- feat: support webhook provider in Chart by
[@&#8203;mloiseleur](https://togithub.com/mloiseleur) in
[kubernetes-sigs/external-dns#4032
- feat(helm-chart): Released chart for v0.14.0 by
[@&#8203;appkins](https://togithub.com/appkins) in
[kubernetes-sigs/external-dns#4073
- chore(chart): Fixed chart changelog by
[@&#8203;stevehipwell](https://togithub.com/stevehipwell) in
[kubernetes-sigs/external-dns#4168
- fix(pdns): provider implicitly changes CNAME to ALIAS by
[@&#8203;tmaroschik](https://togithub.com/tmaroschik) in
[kubernetes-sigs/external-dns#4162
- fix(chart): Fix webhook install failure by
[@&#8203;gabe565](https://togithub.com/gabe565) in
[kubernetes-sigs/external-dns#4173
- fix: provide possibility to have a soft error mode by
[@&#8203;szuecs](https://togithub.com/szuecs) in
[kubernetes-sigs/external-dns#4166
- \[helm] Allow tpl in provider again by
[@&#8203;jkroepke](https://togithub.com/jkroepke) in
[kubernetes-sigs/external-dns#4180
- Fix args for webhook deployment by
[@&#8203;webwurst](https://togithub.com/webwurst) in
[kubernetes-sigs/external-dns#4202
- add RBAC fix to namespaces - get, watch, list to each gateway-\*route
by [@&#8203;orenlevi111](https://togithub.com/orenlevi111) in
[kubernetes-sigs/external-dns#4205
- chore: Released chart v1.14.3 by
[@&#8203;stevehipwell](https://togithub.com/stevehipwell) in
[kubernetes-sigs/external-dns#4208
- build(deps): bump the dev-dependencies group with 24 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4227
- Fix "workload identity" spelling by
[@&#8203;gdubicki](https://togithub.com/gdubicki) in
[kubernetes-sigs/external-dns#4201
- feat(aws-provider): create flag to support sub-domains match parent by
[@&#8203;thiagoluiznunes](https://togithub.com/thiagoluiznunes) in
[kubernetes-sigs/external-dns#4236
- Change coredns testing to fix failing tests by
[@&#8203;pascalgn](https://togithub.com/pascalgn) in
[kubernetes-sigs/external-dns#4245
- Validate AWS record values size during batch set generation by
[@&#8203;megum1n](https://togithub.com/megum1n) in
[kubernetes-sigs/external-dns#4126
- build(deps): bump the dev-dependencies group with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4222
- build(deps): bump the dev-dependencies group with 13 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4246
- Update link to current workshop by
[@&#8203;AndrewCharlesHay](https://togithub.com/AndrewCharlesHay) in
[kubernetes-sigs/external-dns#4170
- cleanup: Drop additional docker files by
[@&#8203;mrueg](https://togithub.com/mrueg) in
[kubernetes-sigs/external-dns#4182
- chore: update the slack channel URL into the github support template
by [@&#8203;angegar](https://togithub.com/angegar) in
[kubernetes-sigs/external-dns#3815
- add soft error by
[@&#8203;jeanfrancoislelezec](https://togithub.com/jeanfrancoislelezec)
in
[kubernetes-sigs/external-dns#4199
- Fix Gateway API TLS TCP Route by
[@&#8203;zs-ko](https://togithub.com/zs-ko) in
[kubernetes-sigs/external-dns#4213
- Update the OCI Provider to incorporate SoftError to avoid
CrashLoopBackoff by [@&#8203;jrosinsk](https://togithub.com/jrosinsk) in
[kubernetes-sigs/external-dns#4229
- Add Gcore provider on readme by
[@&#8203;kokizzu](https://togithub.com/kokizzu) in
[kubernetes-sigs/external-dns#4256
- feat: enable Azure subscription ID override by
[@&#8203;pascalgn](https://togithub.com/pascalgn) in
[kubernetes-sigs/external-dns#4186
- build(deps): bump the dev-dependencies group with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4254
- feat: allow setting dnsConfig by
[@&#8203;davhdavh](https://togithub.com/davhdavh) in
[kubernetes-sigs/external-dns#4265
- build(deps): bump the dev-dependencies group with 17 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4270
- build(deps): bump the dev-dependencies group with 1 update by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4269
- build(deps): bump the dev-dependencies group with 6 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4279
- docs: 📝 add Azure DNS w/workload identity blog post to readme by
[@&#8203;krukowskid](https://togithub.com/krukowskid) in
[kubernetes-sigs/external-dns#4248
- feat(gandi): add support for personal access token by
[@&#8203;deadlybore](https://togithub.com/deadlybore) in
[kubernetes-sigs/external-dns#4249
- RFC2136: Add support for DNS-over-TLS by
[@&#8203;iteratee](https://togithub.com/iteratee) in
[kubernetes-sigs/external-dns#3974
- Fixing NAPTR support by
[@&#8203;jstudler](https://togithub.com/jstudler) in
[kubernetes-sigs/external-dns#4212
- doc: explain how to use Azure internal load balancer by
[@&#8203;mloiseleur](https://togithub.com/mloiseleur) in
[kubernetes-sigs/external-dns#4252
- fix(aws): allow alias records to be created when using the alias
annotation by [@&#8203;papayakiwi](https://togithub.com/papayakiwi) in
[kubernetes-sigs/external-dns#4178
- fix(service): omit nil endpoints and prefer endpointsForHostname() by
[@&#8203;yurrriq](https://togithub.com/yurrriq) in
[kubernetes-sigs/external-dns#4293
- chore: update maintainers by
[@&#8203;mloiseleur](https://togithub.com/mloiseleur) in
[kubernetes-sigs/external-dns#4304
- build(deps): bump the dev-dependencies group with 21 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4307
- build(deps): bump the dev-dependencies group with 6 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4312
- feat(ambassador): add support for provider specific annotations by
[@&#8203;fad3t](https://togithub.com/fad3t) in
[kubernetes-sigs/external-dns#4120
- build(deps): bump the dev-dependencies group with 8 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4313
- build(deps): bump the dev-dependencies group with 2 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4314
- build(deps): bump the dev-dependencies group with 14 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[kubernetes-sigs/external-dns#4321

#### Docker image

    registry.k8s.io/external-dns/external-dns:v0.14.0

#### New Contributors

- [@&#8203;muhlba91](https://togithub.com/muhlba91) made their first
contribution in
[kubernetes-sigs/external-dns#4030
- [@&#8203;sesoldi](https://togithub.com/sesoldi) made their first
contribution in
[kubernetes-sigs/external-dns#4009
- [@&#8203;larivierec](https://togithub.com/larivierec) made their first
contribution in
[kubernetes-sigs/external-dns#4019
- [@&#8203;PatrickKoss](https://togithub.com/PatrickKoss) made their
first contribution in
[kubernetes-sigs/external-dns#4029
- [@&#8203;robinschneider](https://togithub.com/robinschneider) made
their first contribution in
[kubernetes-sigs/external-dns#4022
- [@&#8203;anders-swanson](https://togithub.com/anders-swanson) made
their first contribution in
[kubernetes-sigs/external-dns#3995
- [@&#8203;CRASH-Tech](https://togithub.com/CRASH-Tech) made their first
contribution in
[kubernetes-sigs/external-dns#3976
- [@&#8203;danie1sullivan](https://togithub.com/danie1sullivan) made
their first contribution in
[kubernetes-sigs/external-dns#4021
- [@&#8203;arnisoph](https://togithub.com/arnisoph) made their first
contribution in
[kubernetes-sigs/external-dns#4008
- [@&#8203;dromie](https://togithub.com/dromie) made their first
contribution in
[kubernetes-sigs/external-dns#4007
- [@&#8203;siliconsheep](https://togithub.com/siliconsheep) made their
first contribution in
[kubernetes-sigs/external-dns#4048
- [@&#8203;tanerm](https://togithub.com/tanerm) made their first
contribution in
[kubernetes-sigs/external-dns#4036
- [@&#8203;glesys-andreas](https://togithub.com/glesys-andreas) made
their first contribution in
[kubernetes-sigs/external-dns#4054
- [@&#8203;akrieg-ionos](https://togithub.com/akrieg-ionos) made their
first contribution in
[kubernetes-sigs/external-dns#4031
-
[@&#8203;theloneexplorerquest](https://togithub.com/theloneexplorerquest)
made their first contribution in
[kubernetes-sigs/external-dns#4093
- [@&#8203;huyduong2792](https://togithub.com/huyduong2792) made their
first contribution in
[kubernetes-sigs/external-dns#4079
- [@&#8203;tanujd11](https://togithub.com/tanujd11) made their first
contribution in
[kubernetes-sigs/external-dns#4131
- [@&#8203;mconfalonieri](https://togithub.com/mconfalonieri) made their
first contribution in
[kubernetes-sigs/external-dns#4051
- [@&#8203;k8r-io](https://togithub.com/k8r-io) made their first
contribution in
[kubernetes-sigs/external-dns#4076
- [@&#8203;thesse1](https://togithub.com/thesse1) made their first
contribution in
[kubernetes-sigs/external-dns#4133
- [@&#8203;dongjiang1989](https://togithub.com/dongjiang1989) made their
first contribution in
[kubernetes-sigs/external-dns#4153
- [@&#8203;appkins](https://togithub.com/appkins) made their first
contribution in
[kubernetes-sigs/external-dns#4073
- [@&#8203;tmaroschik](https://togithub.com/tmaroschik) made their first
contribution in
[kubernetes-sigs/external-dns#4162
- [@&#8203;gabe565](https://togithub.com/gabe565) made their first
contribution in
[kubernetes-sigs/external-dns#4173
- [@&#8203;webwurst](https://togithub.com/webwurst) made their first
contribution in
[kubernetes-sigs/external-dns#4202
- [@&#8203;orenlevi111](https://togithub.com/orenlevi111) made their
first contribution in
[kubernetes-sigs/external-dns#4205
- [@&#8203;gdubicki](https://togithub.com/gdubicki) made their first
contribution in
[kubernetes-sigs/external-dns#4201
- [@&#8203;thiagoluiznunes](https://togithub.com/thiagoluiznunes) made
their first contribution in
[kubernetes-sigs/external-dns#4236
- [@&#8203;AndrewCharlesHay](https://togithub.com/AndrewCharlesHay) made
their first contribution in
[kubernetes-sigs/external-dns#4170
- [@&#8203;angegar](https://togithub.com/angegar) made their first
contribution in
[kubernetes-sigs/external-dns#3815
-
[@&#8203;jeanfrancoislelezec](https://togithub.com/jeanfrancoislelezec)
made their first contribution in
[kubernetes-sigs/external-dns#4199
- [@&#8203;zs-ko](https://togithub.com/zs-ko) made their first
contribution in
[kubernetes-sigs/external-dns#4213
- [@&#8203;kokizzu](https://togithub.com/kokizzu) made their first
contribution in
[kubernetes-sigs/external-dns#4256
- [@&#8203;davhdavh](https://togithub.com/davhdavh) made their first
contribution in
[kubernetes-sigs/external-dns#4265
- [@&#8203;krukowskid](https://togithub.com/krukowskid) made their first
contribution in
[kubernetes-sigs/external-dns#4248
- [@&#8203;deadlybore](https://togithub.com/deadlybore) made their first
contribution in
[kubernetes-sigs/external-dns#4249
- [@&#8203;iteratee](https://togithub.com/iteratee) made their first
contribution in
[kubernetes-sigs/external-dns#3974
- [@&#8203;jstudler](https://togithub.com/jstudler) made their first
contribution in
[kubernetes-sigs/external-dns#4212
- [@&#8203;papayakiwi](https://togithub.com/papayakiwi) made their first
contribution in
[kubernetes-sigs/external-dns#4178
- [@&#8203;yurrriq](https://togithub.com/yurrriq) made their first
contribution in
[kubernetes-sigs/external-dns#4293

**Full Changelog**:
kubernetes-sigs/external-dns@v0.14.0...v0.14.1

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
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/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants