Skip to content

Conversation

@vflaux
Copy link
Contributor

@vflaux vflaux commented Sep 15, 2025

What does it do ?

Deep copy endpoint in test cases in testMultiSourceEndpoints() before testing.

Motivation

Fix a race condition in source/wrappers tests.

Before:

$ CGO_ENABLED=1 go test -race -count=100 ./source/wrappers/...
==================
WARNING: DATA RACE
Read at 0x00c000608c10 by goroutine 195:
  sigs.k8s.io/external-dns/source/wrappers.sortEndpoints()
      /external-dns/source/wrappers/source_test.go:30 +0x8e
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:67 +0x144
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Previous write at 0x00c000608c10 by goroutine 194:
  sigs.k8s.io/external-dns/source/wrappers.sortEndpoints()
      /external-dns/source/wrappers/source_test.go:30 +0xbd
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:67 +0x144
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 195 (running) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 194 (finished) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44
==================
==================
WARNING: DATA RACE
Read at 0x00c0004f4550 by goroutine 195:
  k8s.io/utils/set.Set[go.shape.string].Insert()
      /go/pkg/mod/k8s.io/utils@v0.0.0-20241210054802-24370beab758/set/set.go:48 +0x11e
  k8s.io/utils/set.New[go.shape.string]()
      /go/pkg/mod/k8s.io/utils@v0.0.0-20241210054802-24370beab758/set/set.go:33 +0xca
  sigs.k8s.io/external-dns/endpoint.NewTargets()
      /external-dns/endpoint/endpoint.go:86 +0x189
  sigs.k8s.io/external-dns/source/wrappers.sortEndpoints()
      /external-dns/source/wrappers/source_test.go:30 +0xa4
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:67 +0x144
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Previous write at 0x00c0004f4550 by goroutine 194:
  k8s.io/utils/set.Set[go.shape.string].SortedList()
      /go/pkg/mod/k8s.io/utils@v0.0.0-20241210054802-24370beab758/set/set.go:173 +0x1e4
  sigs.k8s.io/external-dns/endpoint.NewTargets()
      /external-dns/endpoint/endpoint.go:86 +0x19c
  sigs.k8s.io/external-dns/source/wrappers.sortEndpoints()
      /external-dns/source/wrappers/source_test.go:30 +0xa4
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:67 +0x144
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 195 (running) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 194 (finished) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44
==================
--- FAIL: TestMultiSource (0.00s)
    --- FAIL: TestMultiSource/Endpoints (0.00s)
        --- FAIL: TestMultiSource/Endpoints/multiple_non-empty_child_sources_returns_merged_children's_endpoints (0.00s)
            testing.go:1617: race detected during execution of test
==================
WARNING: DATA RACE
Write at 0x00c00051a410 by goroutine 3274:
  sigs.k8s.io/external-dns/source/wrappers.sortEndpoints()
      /external-dns/source/wrappers/source_test.go:30 +0xbd
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:67 +0x144
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Previous read at 0x00c00051a410 by goroutine 3271:
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoint()
      /external-dns/source/wrappers/source_test.go:85 +0x1e4
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:70 +0x17e
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 3274 (running) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 3271 (running) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44
==================
--- FAIL: TestTargetFilterSourceEndpoints (0.00s)
    testing.go:1617: race detected during execution of test
--- FAIL: TestTargetFilterSource (0.00s)
    --- FAIL: TestTargetFilterSource/Endpoints (0.00s)
        --- FAIL: TestTargetFilterSource/Endpoints/filter_exclude_internal_net (0.00s)
            testing.go:1617: race detected during execution of test
        --- FAIL: TestTargetFilterSource/Endpoints/filter_exclusion_all (0.00s)
            testing.go:1617: race detected during execution of test
--- FAIL: TestMultiSource (0.00s)
    --- FAIL: TestMultiSource/Endpoints (0.00s)
        --- FAIL: TestMultiSource/Endpoints/single_non-empty_child_source_returns_child's_endpoints (0.00s)
            testing.go:1617: race detected during execution of test
        --- FAIL: TestMultiSource/Endpoints/multiple_non-empty_child_sources_returns_merged_children's_endpoints (0.00s)
            testing.go:1617: race detected during execution of test
==================
WARNING: DATA RACE
Read at 0x00c00006f3b0 by goroutine 8466:
  sigs.k8s.io/external-dns/endpoint.Targets.Same()
      /external-dns/endpoint/endpoint.go:124 +0x184
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoint()
      /external-dns/source/wrappers/source_test.go:85 +0x20c
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:70 +0x17e
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Previous write at 0x00c00006f3b0 by goroutine 8467:
  k8s.io/utils/set.Set[go.shape.string].SortedList()
      /go/pkg/mod/k8s.io/utils@v0.0.0-20241210054802-24370beab758/set/set.go:173 +0x1e4
  sigs.k8s.io/external-dns/endpoint.NewTargets()
      /external-dns/endpoint/endpoint.go:86 +0x19c
  sigs.k8s.io/external-dns/source/wrappers.sortEndpoints()
      /external-dns/source/wrappers/source_test.go:30 +0xa4
  sigs.k8s.io/external-dns/source/wrappers.validateEndpoints()
      /external-dns/source/wrappers/source_test.go:67 +0x144
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints.func1()
      /external-dns/source/wrappers/multisource_test.go:100 +0x444
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 8466 (running) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44

Goroutine 8467 (running) created at:
  testing.(*T).Run()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x9d2
  sigs.k8s.io/external-dns/source/wrappers.testMultiSourceEndpoints()
      /external-dns/source/wrappers/multisource_test.go:78 +0x95b
  testing.tRunner()
      /go/1.25.1/libexec/src/testing/testing.go:1934 +0x21c
  testing.(*T).Run.gowrap1()
      /go/1.25.1/libexec/src/testing/testing.go:1997 +0x44
==================
--- FAIL: TestMultiSource (0.00s)
    --- FAIL: TestMultiSource/Endpoints (0.00s)
        --- FAIL: TestMultiSource/Endpoints/single_non-empty_child_source_returns_child's_endpoints (0.00s)
            testing.go:1617: race detected during execution of test
        --- FAIL: TestMultiSource/Endpoints/multiple_non-empty_child_sources_returns_merged_children's_endpoints (0.00s)
            testing.go:1617: race detected during execution of test
FAIL
FAIL    sigs.k8s.io/external-dns/source/wrappers        0.715s
FAIL

After:

$ CGO_ENABLED=1 go test -race -count=100 ./source/wrappers/...
ok      sigs.k8s.io/external-dns/source/wrappers        1.731s

More

  • Yes, this PR title follows Conventional Commits
  • Yes, I added unit tests
  • Yes, I updated end user documentation accordingly

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. source labels Sep 15, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @vflaux. Thanks for your PR.

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

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

I understand the commands that are listed here.

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

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Sep 15, 2025
@mloiseleur
Copy link
Collaborator

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Sep 16, 2025
@mloiseleur mloiseleur changed the title fix(source/wrappers): race condition in tests test(source/wrappers): fix race condition Sep 16, 2025
@mloiseleur
Copy link
Collaborator

/lgtm
/approve

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mloiseleur

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

The pull request process is described here

Needs approval from an approver in each of these files:

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 16, 2025
@k8s-ci-robot k8s-ci-robot merged commit 0d7b2c2 into kubernetes-sigs:master Sep 16, 2025
18 checks passed
@vflaux vflaux deleted the fix_source_wrappers_tests branch September 16, 2025 15:23
JesusMtnez pushed a commit to JesusMtnez/homelab that referenced this pull request Dec 1, 2025
…o v0.20.0 (#869)

This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](kubernetes-sigs/external-dns@v0.19.0...v0.20.0)

#### 🚀 Features

- feat: add new flags to allow migration of OwnerID by [@&#8203;troll-os](https://github.com/troll-os) in [#&#8203;4823](kubernetes-sigs/external-dns#4823)
- feat(annotations): add custom annotation prefix support for split horizon DNS by [@&#8203;lexfrei](https://github.com/lexfrei) in [#&#8203;5889](kubernetes-sigs/external-dns#5889)
- feat(aws): add ap-southeast-6 region by [@&#8203;rhysmdnz](https://github.com/rhysmdnz) in [#&#8203;5812](kubernetes-sigs/external-dns#5812)
- feat(chart): Release for v0.19.0 by [@&#8203;stevehipwell](https://github.com/stevehipwell) in [#&#8203;5819](kubernetes-sigs/external-dns#5819)
- feat(cli): add Cobra binder and backend switch by [@&#8203;TobyTheHutt](https://github.com/TobyTheHutt) in [#&#8203;5820](kubernetes-sigs/external-dns#5820)
- feat(cli): migrate kingpin to cobra - dual parity by [@&#8203;TobyTheHutt](https://github.com/TobyTheHutt) in [#&#8203;5836](kubernetes-sigs/external-dns#5836)
- feat(coredns): add annotations for groups by [@&#8203;farodin91](https://github.com/farodin91) in [#&#8203;5842](kubernetes-sigs/external-dns#5842)
- feat(coredns): pass context to etcd client by [@&#8203;farodin91](https://github.com/farodin91) in [#&#8203;5915](kubernetes-sigs/external-dns#5915)
- feat(provider/cloudflare): add support for tags by [@&#8203;nkhl99](https://github.com/nkhl99) in [#&#8203;5862](kubernetes-sigs/external-dns#5862)
- feat(source): add min-ttl support by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5641](kubernetes-sigs/external-dns#5641)
- feat(source/f5-virtual-server): add host aliases support for Virtual … by [@&#8203;shkarface](https://github.com/shkarface) in [#&#8203;5745](kubernetes-sigs/external-dns#5745)

#### 🐛 Bug fixes

- fix(cloudflare): infinite reconciliation loop with cloudflare-record-comment flag by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5828](kubernetes-sigs/external-dns#5828)
- fix: cloudflare softError failedZones by [@&#8203;nissessenap](https://github.com/nissessenap) in [#&#8203;5899](kubernetes-sigs/external-dns#5899)
- fix(controller): panic in OCI provider build by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5877](kubernetes-sigs/external-dns#5877)
- fix(coredns): debug message on labels update by [@&#8203;bachorp](https://github.com/bachorp) in [#&#8203;5789](kubernetes-sigs/external-dns#5789)
- fix(deps): bump openshift with gateway-api by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5942](kubernetes-sigs/external-dns#5942)
- fix(endpoint): debug message when owner label is missing by [@&#8203;bachorp](https://github.com/bachorp) in [#&#8203;5788](kubernetes-sigs/external-dns#5788)
- fix(endpoint): deduplicate targets by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5805](kubernetes-sigs/external-dns#5805)
- fix(endpoint/source) Allow '.' in TXT Records by [@&#8203;onelapahead](https://github.com/onelapahead) in [#&#8203;5844](kubernetes-sigs/external-dns#5844)
- fix(gen/metrics): deduplicate generated in metrics.md by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5837](kubernetes-sigs/external-dns#5837)
- fix(service): rollback nodeinformer for addevent handler by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5941](kubernetes-sigs/external-dns#5941)
- fix(txt-register): reset existingTXTs even when ApplyChanges is skipped to avoid stale TXT records by [@&#8203;u-kai](https://github.com/u-kai) in [#&#8203;5897](kubernetes-sigs/external-dns#5897)

#### 📝 Documentation

- docs(advanced): configuration precedence by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5871](kubernetes-sigs/external-dns#5871)
- docs(aws): add missing supported DNS record types in Route53 ABAC  by [@&#8203;TobyTheHutt](https://github.com/TobyTheHutt) in [#&#8203;5839](kubernetes-sigs/external-dns#5839)
- docs(aws): scoping the IAM policy to explicitely defined Route53 zones by [@&#8203;crtr109](https://github.com/crtr109) in [#&#8203;5663](kubernetes-sigs/external-dns#5663)
- docs(ci): improve release note template by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5791](kubernetes-sigs/external-dns#5791)
- docs: clarify hostname annotation behavior by [@&#8203;PseudoResonance](https://github.com/PseudoResonance) in [#&#8203;5912](kubernetes-sigs/external-dns#5912)
- docs(contributing): add reference to developer documentation by [@&#8203;lexfrei](https://github.com/lexfrei) in [#&#8203;5923](kubernetes-sigs/external-dns#5923)
- docs(core-dns): update tutorial by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5926](kubernetes-sigs/external-dns#5926)
- docs: fix mkdocs build by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5795](kubernetes-sigs/external-dns#5795)
- docs(gateway-api): clarify annotation placement for sources by [@&#8203;lexfrei](https://github.com/lexfrei) in [#&#8203;5918](kubernetes-sigs/external-dns#5918)
- docs(myra): add info about protection option and docker image by [@&#8203;armaaar](https://github.com/armaaar) in [#&#8203;5879](kubernetes-sigs/external-dns#5879)
- docs(release): update release docs by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5893](kubernetes-sigs/external-dns#5893)
- docs(tutorials): import existing DNS records into ExternalDNS by [@&#8203;naavveenn](https://github.com/naavveenn) in [#&#8203;5811](kubernetes-sigs/external-dns#5811)
- docs(txt-registry): improve formatting and examples for apex record by [@&#8203;u-kai](https://github.com/u-kai) in [#&#8203;5863](kubernetes-sigs/external-dns#5863)
- docs(webhook): add volcengine provider to readme by [@&#8203;firemiles](https://github.com/firemiles) in [#&#8203;5866](kubernetes-sigs/external-dns#5866)

#### 📦 Others

- Build(tool) remove vacuum by [@&#8203;szuecs](https://github.com/szuecs) in [#&#8203;5955](kubernetes-sigs/external-dns#5955)
- chore(ci): fix releaser script by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5953](kubernetes-sigs/external-dns#5953)
- chore(ci): speed-up & coveralls by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5870](kubernetes-sigs/external-dns#5870)
- chore(cloudflare): migrate `DeleteCustomHostname()` to new lib by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5880](kubernetes-sigs/external-dns#5880)
- chore(cloudflare): migrate DeleteDNSRecord() to new lib by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5780](kubernetes-sigs/external-dns#5780)
- chore(cloudflare): migrate ListRecords() to new lib by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5778](kubernetes-sigs/external-dns#5778)
- chore(cloudflare): migrate UpdateDNSRecord() to new lib by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5781](kubernetes-sigs/external-dns#5781)
- chore(controller-gen): move tools under go tools by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5878](kubernetes-sigs/external-dns#5878)
- chore(deps): bump renovatebot/github-action from 43.0.10 to 43.0.11 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5823](kubernetes-sigs/external-dns#5823)
- chore(deps): bump renovatebot/github-action from 43.0.11 to 43.0.12 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5840](kubernetes-sigs/external-dns#5840)
- chore(deps): bump renovatebot/github-action from 43.0.12 to 43.0.13 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5856](kubernetes-sigs/external-dns#5856)
- chore(deps): bump renovatebot/github-action from 43.0.13 to 43.0.14 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5874](kubernetes-sigs/external-dns#5874)
- chore(deps): bump renovatebot/github-action from 43.0.14 to 43.0.15 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5890](kubernetes-sigs/external-dns#5890)
- chore(deps): bump renovatebot/github-action from 43.0.9 to 43.0.10 in the dev-dependencies group by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5797](kubernetes-sigs/external-dns#5797)
- chore(deps): bump the dev-dependencies group across 1 directory with 15 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5952](kubernetes-sigs/external-dns#5952)
- chore(deps): bump the dev-dependencies group across 1 directory with 36 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5943](kubernetes-sigs/external-dns#5943)
- chore(deps): bump the dev-dependencies group across 1 directory with 5 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5940](kubernetes-sigs/external-dns#5940)
- chore(deps): bump the dev-dependencies group across 1 directory with 9 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5949](kubernetes-sigs/external-dns#5949)
- chore(deps): bump the dev-dependencies group with 2 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5895](kubernetes-sigs/external-dns#5895)
- chore(deps): bump the dev-dependencies group with 2 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5946](kubernetes-sigs/external-dns#5946)
- chore(deps): bump the dev-dependencies group with 3 updates by [@&#8203;app/dependabot](https://github.com/app/dependabot) in [#&#8203;5806](kubernetes-sigs/external-dns#5806)
- chore(lint): configure goconst linter by [@&#8203;lexfrei](https://github.com/lexfrei) in [#&#8203;5929](kubernetes-sigs/external-dns#5929)
- chore(owners): update reviewers by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5925](kubernetes-sigs/external-dns#5925)
- chore(pihole): reduce cyclometic complexity of TestListRecords by [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay) in [#&#8203;5802](kubernetes-sigs/external-dns#5802)
- chore(release): updates kustomize & docs with v0.19.0 by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5792](kubernetes-sigs/external-dns#5792)
- chore: upgrade ExternalDNS to go v1.25 and golangci-lint v2.5 by [@&#8203;mloiseleur](https://github.com/mloiseleur) in [#&#8203;5869](kubernetes-sigs/external-dns#5869)
- ci(linter): add gochecknoinits by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5911](kubernetes-sigs/external-dns#5911)
- ci(linter): add go-critic by [@&#8203;PascalBourdier](https://github.com/PascalBourdier) in [#&#8203;5875](kubernetes-sigs/external-dns#5875)
- doc(tutorials/rfc2136): fix RBAC by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5827](kubernetes-sigs/external-dns#5827)
- refactor(annotations): modernize ProviderSpecificAnnotation by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5813](kubernetes-sigs/external-dns#5813)
- refactor(pihole): reduce cyclomatic complexity of TestProvider by [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay) in [#&#8203;5865](kubernetes-sigs/external-dns#5865)
- refactor(pihole): reduce cyclomatic complexity of TestProviderV6 by [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay) in [#&#8203;5876](kubernetes-sigs/external-dns#5876)
- refactor(service): reduce cyclomatic complexity of extractHeadlessEndpoints by [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay) in [#&#8203;5822](kubernetes-sigs/external-dns#5822)
- refactor(source/nat64): optional source & early prefixes parsing by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5810](kubernetes-sigs/external-dns#5810)
- refactor(source/wrappers): move wrappers logic away from execute file by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5888](kubernetes-sigs/external-dns#5888)
- test(cloudflare): clear environment variables before setting test values by [@&#8203;u-kai](https://github.com/u-kai) in [#&#8203;5851](kubernetes-sigs/external-dns#5851)
- test(cloudflare): improve coverage of zoneService by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5800](kubernetes-sigs/external-dns#5800)
- test(cloudflare): mock provider for cf change tests by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5852](kubernetes-sigs/external-dns#5852)
- test(cloudflare): modernize zoneDomainFilter test by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5853](kubernetes-sigs/external-dns#5853)
- test(controller): improve code coverage by [@&#8203;TobyTheHutt](https://github.com/TobyTheHutt) in [#&#8203;5816](kubernetes-sigs/external-dns#5816)
- test(source): fqdn for source/service/nodeport/srv records by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5554](kubernetes-sigs/external-dns#5554)
- test(source/service): add serviceTypeFilter edge case by [@&#8203;ivankatliarchuk](https://github.com/ivankatliarchuk) in [#&#8203;5872](kubernetes-sigs/external-dns#5872)
- test(source/wrappers): fix race condition by [@&#8203;vflaux](https://github.com/vflaux) in [#&#8203;5841](kubernetes-sigs/external-dns#5841)
- test: update goversion label to 1.25 in metrics test by [@&#8203;AndrewCharlesHay](https://github.com/AndrewCharlesHay) in [#&#8203;5886](kubernetes-sigs/external-dns#5886)
- update test certs used for pdns by [@&#8203;Raffo](https://github.com/Raffo) in [#&#8203;5902](kubernetes-sigs/external-dns#5902)

#### 📦 Docker Image

```sh
docker pull registry.k8s.io/external-dns/external-dns:v0.20.0
```

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://codeberg.org/JesusMtnez/homelab/pulls/869
Co-authored-by: JesusMtnez-bot <jesusmartinez93+bot@gmail.com>
Co-committed-by: JesusMtnez-bot <jesusmartinez93+bot@gmail.com>
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/XS Denotes a PR that changes 0-9 lines, ignoring generated files. source

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants