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

feat(aws): use AWS profiles using .credentials file #3973

Merged
merged 11 commits into from
Jun 10, 2024

Conversation

roehrijn
Copy link
Contributor

@roehrijn roehrijn commented Oct 5, 2023

Description

This PR introduces a new command line flag --aws-profile which can be used multiple times and allows to make use of AWS profiles in .credentials files (see also Configuration and credential file settings).
Furthermore the PR allows to use multiple of these profiles at once in a way that it queries for available Route53 zones using credentials of each profile and later distinguishes between the profiles in order to make changes with proper credentials to the right Route53 zone.

We at Mercedes-Benz are running a fork with those changes now for several months in production.

Checklist

  • Unit tests updated
  • End user documentation updated

Jan Roehrich jan.roehrich@mercedes-benz.com, Mercedes-Benz Tech Innovation GmbH, legal info/Impressum

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Oct 5, 2023
@k8s-ci-robot
Copy link
Contributor

Welcome @roehrijn!

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 Oct 5, 2023
@k8s-ci-robot
Copy link
Contributor

Hi @roehrijn. 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/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 5, 2023
@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch from c7ad1ea to 2815f48 Compare October 5, 2023 11:59
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 5, 2023
@tobiasgiese
Copy link
Member

/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 5, 2023
@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch from 42283a6 to 9e0e725 Compare October 5, 2023 19:47
@johngmyers
Copy link
Contributor

What is the value of having this complexity versus running an external-dns deployment per profile?

@johngmyers
Copy link
Contributor

/retest

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 9, 2023
@roehrijn
Copy link
Contributor Author

roehrijn commented Oct 13, 2023

Hi @johngmyers,
we run almost 1000 Kubernetes clusters which are concurrently accessing our Route53 zones through external-dns. To cope with Route53 throttling we need to distribute our zones over several AWS accounts which leads us to 6 profiles, currently. During some migration situations there might even be 9 profiles.
Thus, the answer to your question about value has two dimensions. First, we have the complexity of running and managing up to 9 external-dns instances on up to 1000 clusters. On the other hand it is also about resource consumption. In the setup we use we need to request at least 60MB of memory per instance in order to work properly, in some situations a bit more. 60MB * 6 instances * 1000 clusters = a lot of additional EC2 costs.

@mloiseleur
Copy link
Contributor

AWS profile is a feature of aws config file used in many aws compatible tools.
Do you think you can rebase and finish this PR ?

@roehrijn
Copy link
Contributor Author

Hi @mloiseleur, yes I'm going to rebase soon. Just had some other important topics on the table over the last view weeks.

@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch from 9e0e725 to 92b6089 Compare November 14, 2023 08:12
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 14, 2023
@roehrijn
Copy link
Contributor Author

Hi @mloiseleur, I rebased the PR. Do you see a chance to get this aspect merged? If yes, I would also take the effort to adapt the documentation accordingly.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 22, 2023
@mloiseleur
Copy link
Contributor

@roehrijn As soon as you finish and rebase this PR, I don't see why not ?

Note: It surely could help too to remove the WIP in the title.

@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch from 92b6089 to 5ba3201 Compare December 29, 2023 09:45
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 29, 2023
@roehrijn roehrijn changed the title [WIP] Allow usage of (multiple) profiles using .credentials file in AWS provider Allow usage of (multiple) profiles using .credentials file in AWS provider Dec 29, 2023
@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 Dec 29, 2023
@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch from 5f4a13c to fd74c25 Compare March 5, 2024 22:27
@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 5, 2024
@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch 2 times, most recently from 80af5cc to 11e098f Compare March 6, 2024 09:09
@roehrijn roehrijn force-pushed the roehrijn/aws-profiles branch from 11e098f to d3fb0eb Compare March 6, 2024 09:38
@roehrijn
Copy link
Contributor Author

roehrijn commented Mar 6, 2024

@mloiseleur @szuecs, please let me know if there is something left to do in order to get this merged. I would be very happy to avoid further rebases if possible, because it is a lot of work to validate function and valid documentation after each rebase. I'm eager to deal with missing aspects, however it would kindly ask to get to know them all together in order to avoid extra work.

@mloiseleur
Copy link
Contributor

I understand. I think we are at the end.
/lgtm
/assign @szuecs for final review

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

/retitle feat(aws): use AWS profiles using .credentials file

@k8s-ci-robot k8s-ci-robot changed the title Allow usage of (multiple) profiles using .credentials file in AWS provider feat(aws): use AWS profiles using .credentials file Mar 12, 2024
provider/aws/aws.go Outdated Show resolved Hide resolved
provider/aws/aws.go Outdated Show resolved Hide resolved
provider/aws/aws.go Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 9, 2024
provider/aws/aws.go Outdated Show resolved Hide resolved
@szuecs
Copy link
Contributor

szuecs commented Jun 10, 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 Jun 10, 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 Jun 10, 2024
@k8s-ci-robot k8s-ci-robot merged commit 0ba14d8 into kubernetes-sigs:master Jun 10, 2024
13 checks passed
@roehrijn roehrijn deleted the roehrijn/aws-profiles branch June 11, 2024 18:29
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://github.com/kubernetes-sigs/external-dns/pull/4719](https://redirect.github.com/kubernetes-sigs/external-dns/pull/4719)
as mentioned in
[https://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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://github.com/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/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.

6 participants