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

Improve MinEventInterval compliance with docs #3400

Merged
merged 2 commits into from
Aug 13, 2024

Conversation

tjamet
Copy link
Contributor

@tjamet tjamet commented Feb 13, 2023

Description

In the command line arguments, we see min-event-sync-interval as "The minimum interval between two consecutive synchronizations triggered from kubernetes events"

In the code, it actually acts a different way.

It imposes a certain delay between syncs.
In particular, when multiple calls to ScheduleOnce are done, it will systematically push back the next run by the min interval delay.

While this is compliant with the "minimum delay between 2 consecutive synchronizations", it has side-effects that may introduce large delays.

In particular, when trying to fine-tune external-dns to match the provider rate-limits.

In this case, it may be interesting to restrict the rate of reconciling actions happening by having a high min-event-sync-interval, while keeping a low latency for initial events.

This would allow to maximise the bulk effect of high change rate while keeping fast enough reaction for isolated changes.

Checklist

  • Unit tests updated
  • End user documentation updated

End user documentation matches the updated behaviour with more
accuracy

Change-Id: Ibcea707974a095a2d5861a3974b4c79e5a15b00e

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Feb 13, 2023
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 14, 2023
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 13, 2023
@tjamet
Copy link
Contributor Author

tjamet commented Sep 8, 2023

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 8, 2023
@mloiseleur
Copy link
Contributor

mloiseleur commented Jan 15, 2024

@tjamet Wdyt about #4126 ? Would this PR solve your issue ?

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 15, 2024
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle rotten
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels May 15, 2024
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Reopen this PR with /reopen
  • Mark this PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

@k8s-ci-robot
Copy link
Contributor

@k8s-triage-robot: Closed this PR.

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Reopen this PR with /reopen
  • Mark this PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

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.

@tjamet
Copy link
Contributor Author

tjamet commented Aug 6, 2024

@tjamet Wdyt about #4126 ? Would this PR solve your issue ?

I missed your comment.
I was reading the PR, and I don't think #4126 does solve it.
I will re-consider to re-open for discussion or leave it closed

@tjamet
Copy link
Contributor Author

tjamet commented Aug 6, 2024

/reopen
/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot reopened this Aug 6, 2024
@k8s-ci-robot
Copy link
Contributor

@tjamet: Reopened this PR.

In response to this:

/reopen
/remove-lifecycle rotten

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 removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 6, 2024
**Description**

In the command line arguments, we see `min-event-sync-interval` as
"The minimum interval between two consecutive synchronizations triggered from kubernetes events"

In the code, it actually acts a different way.

It imposes a certain dealy between syncs.
While this is compliant with the "minimum delay between 2 consecutive
synchronizations", it has side-effects in case of large delays.

In particular, when trying to fine-tune external-dns to match the
provider rate-limits.

In this case, it may be interesting to restrict the rate of reconciling
actions happening by having a high `min-event-sync-interval`, while
keeping a low latency for initial events.

This would allow to maximise the bulk effect of high change rate while
keeping fast enough reaction for isolated changes.

**Checklist**

- [X] Unit tests updated
- [X] End user documentation updated
> End user documentation matches the updated behaviour with more
> accuracy
Change-Id: Ibcea707974a095a2d5861a3974b4c79e5a15b00e
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 6, 2024
@mloiseleur
Copy link
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Aug 11, 2024
@tjamet tjamet mentioned this pull request Aug 13, 2024
2 tasks
@szuecs
Copy link
Contributor

szuecs commented Aug 13, 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 Aug 13, 2024
@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 Aug 13, 2024
@k8s-ci-robot k8s-ci-robot merged commit c875e65 into kubernetes-sigs:master Aug 13, 2024
14 checks passed
truecharts-admin referenced this pull request in truecharts/public Sep 5, 2024
…rnal-dns to v0.15.0@338dd8c by renovate (#25969)

This PR contains the following updates:

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

---

> [!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.15.0`](https://redirect.github.com/kubernetes-sigs/external-dns/releases/tag/v0.15.0)

[Compare
Source](https://redirect.github.com/kubernetes-sigs/external-dns/compare/v0.14.2...v0.15.0)

#### Important notes

This release drops a few unmaintained providers. See
[https:/kubernetes-sigs/external-dns/pull/4719](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4719)
as mentioned in
[https:/kubernetes-sigs/external-dns/issues/4347](https://redirect.github.com/kubernetes-sigs/external-dns/issues/4347).
If you need to use any of the previous providers, please use a previous
release of external DNS or follow the instructions to implement a
webhook provider that supports those providers.

#### What's Changed

- build(deps): bump actions/checkout from 4.1.5 to 4.1.6 in the
dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4477](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4477)
- Update kustomize version for v0.14.2 by
[@&#8203;Raffo](https://redirect.github.com/Raffo) in
[https:/kubernetes-sigs/external-dns/pull/4480](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4480)
- build(deps): bump the dev-dependencies group with 8 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4478](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4478)
- update docs to v0.14.2 by
[@&#8203;Raffo](https://redirect.github.com/Raffo) in
[https:/kubernetes-sigs/external-dns/pull/4481](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4481)
- build(deps): bump GrantBirki/json-yaml-validate from 2.7.1 to 3.0.0 in
the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4489](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4489)
- fix: re-add api-approved.kubernetes.io annotation by
[@&#8203;morremeyer](https://redirect.github.com/morremeyer) in
[https:/kubernetes-sigs/external-dns/pull/4488](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4488)
- feat(webhooks): pass webhook-\* annotations to webhook providers by
[@&#8203;Raffo](https://redirect.github.com/Raffo) in
[https:/kubernetes-sigs/external-dns/pull/4458](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4458)
- fix(traefik): Nil pointer exception if legacy traefik is disabled by
[@&#8203;kbudde](https://redirect.github.com/kbudde) in
[https:/kubernetes-sigs/external-dns/pull/4502](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4502)
- add unifi webhook to readme by
[@&#8203;onedr0p](https://redirect.github.com/onedr0p) in
[https:/kubernetes-sigs/external-dns/pull/4504](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4504)
- Drop experimental notice in webhook flags by
[@&#8203;Raffo](https://redirect.github.com/Raffo) in
[https:/kubernetes-sigs/external-dns/pull/4507](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4507)
- feat(coredns): etcd authentication by
[@&#8203;matthieugouel](https://redirect.github.com/matthieugouel) in
[https:/kubernetes-sigs/external-dns/pull/4503](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4503)
- Bump the dev-dependencies group across 1 directory with 13 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4514](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4514)
- Add Infoblox webhook provider by
[@&#8203;k0da](https://redirect.github.com/k0da) in
[https:/kubernetes-sigs/external-dns/pull/4513](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4513)
- 🌱 docs(footer): Add trademark disclaimer by
[@&#8203;mariasalcedo](https://redirect.github.com/mariasalcedo) in
[https:/kubernetes-sigs/external-dns/pull/4529](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4529)
- chore!: Remove infoblox in-tree provider by
[@&#8203;mloiseleur](https://redirect.github.com/mloiseleur) in
[https:/kubernetes-sigs/external-dns/pull/4516](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4516)
- Update to Go 1.22.4 by
[@&#8203;Raffo](https://redirect.github.com/Raffo) in
[https:/kubernetes-sigs/external-dns/pull/4534](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4534)
- Bump the dev-dependencies group across 1 directory with 19 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4536](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4536)
- Add documentation about etcd HTTPS for CoreDNS provider by
[@&#8203;AlessandroZanatta](https://redirect.github.com/AlessandroZanatta)
in
[https:/kubernetes-sigs/external-dns/pull/4538](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4538)
- chore(chart): Released chart for v0.14.2 by
[@&#8203;stevehipwell](https://redirect.github.com/stevehipwell) in
[https:/kubernetes-sigs/external-dns/pull/4541](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4541)
- Bump the dev-dependencies group with 4 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4540](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4540)
- feat(aws): use AWS profiles using .credentials file by
[@&#8203;roehrijn](https://redirect.github.com/roehrijn) in
[https:/kubernetes-sigs/external-dns/pull/3973](https://redirect.github.com/kubernetes-sigs/external-dns/pull/3973)
- fix(cloudflare): trimSpace on token read from file by
[@&#8203;simonostendorf](https://redirect.github.com/simonostendorf) in
[https:/kubernetes-sigs/external-dns/pull/4515](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4515)
- docs: upgrade mkdocs and fix broken links by
[@&#8203;mloiseleur](https://redirect.github.com/mloiseleur) in
[https:/kubernetes-sigs/external-dns/pull/4378](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4378)
- chore(deps): bump github.com/vektah/gqlparser/v2 from 2.5.1 to 2.5.14
by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4546](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4546)
- chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity
from 1.5.2 to 1.6.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4544](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4544)
- chore(deps): bump the dev-dependencies group across 1 directory with
19 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4562](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4562)
- chore(deps): bump actions/checkout from 4.1.6 to 4.1.7 in the
dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4547](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4547)
- feat(rfc2136): add PTR optional support by
[@&#8203;angeloxx](https://redirect.github.com/angeloxx) in
[https:/kubernetes-sigs/external-dns/pull/4283](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4283)
- Update cloudflare.md by
[@&#8203;tobiabocchi](https://redirect.github.com/tobiabocchi) in
[https:/kubernetes-sigs/external-dns/pull/4583](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4583)
- feat!: update GRPCRoute client from v1alpha2 to stable v1 by
[@&#8203;thameezb](https://redirect.github.com/thameezb) in
[https:/kubernetes-sigs/external-dns/pull/4567](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4567)
- docs(annotations): note how to set multiple hostnames by
[@&#8203;hopkinsth](https://redirect.github.com/hopkinsth) in
[https:/kubernetes-sigs/external-dns/pull/4602](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4602)
- chore(deps): bump the dev-dependencies group across 1 directory with 2
updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)
in
[https:/kubernetes-sigs/external-dns/pull/4604](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4604)
- Gateway API: Revert Gateway and HTTPRoute objects from v1 to v1beta1
by [@&#8203;abursavich](https://redirect.github.com/abursavich) in
[https:/kubernetes-sigs/external-dns/pull/4610](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4610)
- chore(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4600](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4600)
- chore(deps): bump the dev-dependencies group across 1 directory with
37 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4655](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4655)
- docs: fix broken link by
[@&#8203;ilmax](https://redirect.github.com/ilmax) in
[https:/kubernetes-sigs/external-dns/pull/4662](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4662)
- azure-private-dns: Fix LoadBalancer example by
[@&#8203;orgads](https://redirect.github.com/orgads) in
[https:/kubernetes-sigs/external-dns/pull/4663](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4663)
- AWS: Change documentation to use Helm values by
[@&#8203;pier-oliviert](https://redirect.github.com/pier-oliviert) in
[https:/kubernetes-sigs/external-dns/pull/4577](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4577)
- chore(deps): bump the dev-dependencies group across 1 directory with
10 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4668](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4668)
- Improve MinEventInterval compliance with docs by
[@&#8203;tjamet](https://redirect.github.com/tjamet) in
[https:/kubernetes-sigs/external-dns/pull/3400](https://redirect.github.com/kubernetes-sigs/external-dns/pull/3400)
- Add provider cache by
[@&#8203;tjamet](https://redirect.github.com/tjamet) in
[https:/kubernetes-sigs/external-dns/pull/4597](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4597)
- chore: update maintainers by
[@&#8203;mloiseleur](https://redirect.github.com/mloiseleur) in
[https:/kubernetes-sigs/external-dns/pull/4679](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4679)
- fix(helm): make use of resource values for webhook by
[@&#8203;crutonjohn](https://redirect.github.com/crutonjohn) in
[https:/kubernetes-sigs/external-dns/pull/4560](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4560)
- Fix AWS Cloud Map docs: annotation key/value pairs must be strings by
[@&#8203;mjlshen](https://redirect.github.com/mjlshen) in
[https:/kubernetes-sigs/external-dns/pull/4683](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4683)
- Webhook provider helm chart fixes by
[@&#8203;kimsondrup](https://redirect.github.com/kimsondrup) in
[https:/kubernetes-sigs/external-dns/pull/4643](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4643)
- chore(deps): bump the dev-dependencies group across 1 directory with
16 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4684](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4684)
- chore(deps): bump GrantBirki/json-yaml-validate from 3.0.0 to 3.1.0 in
the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4685](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4685)
- Add tutorial to DynamoDB registry docs by
[@&#8203;mjlshen](https://redirect.github.com/mjlshen) in
[https:/kubernetes-sigs/external-dns/pull/4686](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4686)
- chore(deps): bump GrantBirki/json-yaml-validate from 3.1.0 to 3.2.0 in
the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4700](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4700)
- chore(deps): bump GrantBirki/json-yaml-validate from 3.2.0 to 3.2.1 in
the dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4702](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4702)
- chore: upgrade ExternalDNS to go 1.23 by
[@&#8203;mloiseleur](https://redirect.github.com/mloiseleur) in
[https:/kubernetes-sigs/external-dns/pull/4698](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4698)
- feat: add annotation and label filters to Ambassador Host Source by
[@&#8203;KyleMartin901](https://redirect.github.com/KyleMartin901) in
[https:/kubernetes-sigs/external-dns/pull/2633](https://redirect.github.com/kubernetes-sigs/external-dns/pull/2633)
- Add RouterOS provider to README.md by
[@&#8203;benfiola](https://redirect.github.com/benfiola) in
[https:/kubernetes-sigs/external-dns/pull/4714](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4714)
- feat: support dual stack for gateway api by
[@&#8203;thameezb](https://redirect.github.com/thameezb) in
[https:/kubernetes-sigs/external-dns/pull/4469](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4469)
- chore(deps): bump actions/setup-python from 5.1.1 to 5.2.0 in the
dev-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https:/kubernetes-sigs/external-dns/pull/4712](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4712)
- chore: remove unmaintained providers by
[@&#8203;mloiseleur](https://redirect.github.com/mloiseleur) in
[https:/kubernetes-sigs/external-dns/pull/4719](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4719)

#### Images

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

#### New Contributors

- [@&#8203;kbudde](https://redirect.github.com/kbudde) made their first
contribution in
[https:/kubernetes-sigs/external-dns/pull/4502](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4502)
- [@&#8203;matthieugouel](https://redirect.github.com/matthieugouel)
made their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4503](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4503)
- [@&#8203;mariasalcedo](https://redirect.github.com/mariasalcedo) made
their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4529](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4529)
-
[@&#8203;AlessandroZanatta](https://redirect.github.com/AlessandroZanatta)
made their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4538](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4538)
- [@&#8203;roehrijn](https://redirect.github.com/roehrijn) made their
first contribution in
[https:/kubernetes-sigs/external-dns/pull/3973](https://redirect.github.com/kubernetes-sigs/external-dns/pull/3973)
- [@&#8203;simonostendorf](https://redirect.github.com/simonostendorf)
made their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4515](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4515)
- [@&#8203;angeloxx](https://redirect.github.com/angeloxx) made their
first contribution in
[https:/kubernetes-sigs/external-dns/pull/4283](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4283)
- [@&#8203;tobiabocchi](https://redirect.github.com/tobiabocchi) made
their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4583](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4583)
- [@&#8203;thameezb](https://redirect.github.com/thameezb) made their
first contribution in
[https:/kubernetes-sigs/external-dns/pull/4567](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4567)
- [@&#8203;hopkinsth](https://redirect.github.com/hopkinsth) made their
first contribution in
[https:/kubernetes-sigs/external-dns/pull/4602](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4602)
- [@&#8203;ilmax](https://redirect.github.com/ilmax) made their first
contribution in
[https:/kubernetes-sigs/external-dns/pull/4662](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4662)
- [@&#8203;orgads](https://redirect.github.com/orgads) made their first
contribution in
[https:/kubernetes-sigs/external-dns/pull/4663](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4663)
- [@&#8203;pier-oliviert](https://redirect.github.com/pier-oliviert)
made their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4577](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4577)
- [@&#8203;crutonjohn](https://redirect.github.com/crutonjohn) made
their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4560](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4560)
- [@&#8203;mjlshen](https://redirect.github.com/mjlshen) made their
first contribution in
[https:/kubernetes-sigs/external-dns/pull/4683](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4683)
- [@&#8203;kimsondrup](https://redirect.github.com/kimsondrup) made
their first contribution in
[https:/kubernetes-sigs/external-dns/pull/4643](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4643)
- [@&#8203;KyleMartin901](https://redirect.github.com/KyleMartin901)
made their first contribution in
[https:/kubernetes-sigs/external-dns/pull/2633](https://redirect.github.com/kubernetes-sigs/external-dns/pull/2633)
- [@&#8203;benfiola](https://redirect.github.com/benfiola) made their
first contribution in
[https:/kubernetes-sigs/external-dns/pull/4714](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4714)

**Full Changelog**:
kubernetes-sigs/external-dns@v0.14.2...v0.15.0

</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://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC42Ny41IiwidXBkYXRlZEluVmVyIjoiMzguNjcuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJhdXRvbWVyZ2UiLCJ1cGRhdGUvZG9ja2VyL2dlbmVyYWwvbm9uLW1ham9yIl19-->
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/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants