external dns fixes #2281

Merged
mfreeman451 merged 2 commits from refs/pull/2281/head into main 2025-10-05 19:01:49 +00:00
mfreeman451 commented 2025-10-05 18:52:40 +00:00 (Migrated from github.com)
Owner

Imported from GitHub pull request.

Original GitHub pull request: #1709
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/1709
Original created: 2025-10-05T18:52:40Z
Original updated: 2025-10-05T19:01:53Z
Original head: carverauto/serviceradar:update/k8s_ingress
Original base: main
Original merged: 2025-10-05T19:01:49Z by @mfreeman451

PR Type

Enhancement


Description

  • Update external-dns to v0.19.0 from v0.15.1

  • Add Cloudflare Go SDK dependency

  • Add endpointslices RBAC permissions for discovery API


Diagram Walkthrough

flowchart LR
  A["external-dns v0.15.1"] --> B["external-dns v0.19.0"]
  C["Go dependencies"] --> D["+ Cloudflare SDK"]
  E["RBAC permissions"] --> F["+ endpointslices access"]

File Walkthrough

Relevant files
Dependencies
go.mod
Add Cloudflare Go SDK dependency                                                 

go.mod

  • Add github.com/cloudflare/cloudflare-go v0.116.0 as indirect
    dependency
+1/-0     
go.sum
Update dependency checksums                                                           

go.sum

  • Add checksums for cloudflare-go, goccy/go-json, google/go-querystring,
    and golang.org/x/time packages
+8/-0     
Enhancement
external-dns.yaml
Upgrade external-dns image version                                             

k8s/external-dns/base/external-dns.yaml

  • Update external-dns image from v0.15.1 to v0.19.0
+1/-1     
Configuration changes
rbac.yaml
Add endpointslices RBAC permissions                                           

k8s/external-dns/base/rbac.yaml

  • Add permissions for endpointslices resource in discovery.k8s.io API
    group
  • Grant get, watch, list verbs for endpointslices
+3/-0     

Imported from GitHub pull request. Original GitHub pull request: #1709 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/pull/1709 Original created: 2025-10-05T18:52:40Z Original updated: 2025-10-05T19:01:53Z Original head: carverauto/serviceradar:update/k8s_ingress Original base: main Original merged: 2025-10-05T19:01:49Z by @mfreeman451 --- ### **PR Type** Enhancement ___ ### **Description** - Update external-dns to v0.19.0 from v0.15.1 - Add Cloudflare Go SDK dependency - Add endpointslices RBAC permissions for discovery API ___ ### Diagram Walkthrough ```mermaid flowchart LR A["external-dns v0.15.1"] --> B["external-dns v0.19.0"] C["Go dependencies"] --> D["+ Cloudflare SDK"] E["RBAC permissions"] --> F["+ endpointslices access"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table> <tr> <td> <details> <summary><strong>go.mod</strong><dd><code>Add Cloudflare Go SDK dependency</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> go.mod <ul><li>Add <code>github.com/cloudflare/cloudflare-go v0.116.0</code> as indirect <br>dependency</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/1709/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6">+1/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>go.sum</strong><dd><code>Update dependency checksums</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> go.sum <ul><li>Add checksums for <code>cloudflare-go</code>, <code>goccy/go-json</code>, <code>google/go-querystring</code>, <br>and <code>golang.org/x/time</code> packages</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/1709/files#diff-3295df7234525439d778f1b282d146a4f1ff6b415248aaac074e8042d9f42d63">+8/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></td></tr><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>external-dns.yaml</strong><dd><code>Upgrade external-dns image version</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> k8s/external-dns/base/external-dns.yaml - Update external-dns image from v0.15.1 to v0.19.0 </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/1709/files#diff-a11795ea19e03d0f45d96ce9fd444ecfd2b292058b75ade332640c942f50913d">+1/-1</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></td></tr><tr><td><strong>Configuration changes</strong></td><td><table> <tr> <td> <details> <summary><strong>rbac.yaml</strong><dd><code>Add endpointslices RBAC permissions</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> k8s/external-dns/base/rbac.yaml <ul><li>Add permissions for <code>endpointslices</code> resource in <code>discovery.k8s.io</code> API <br>group<br> <li> Grant get, watch, list verbs for endpointslices</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/1709/files#diff-b18efa3c62b1a4d2fa979c51c5d429b45a8c282073e5d1c8b6c504e088d0071d">+3/-0</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></td></tr></tr></tbody></table> </details> ___
qodo-code-review[bot] commented 2025-10-05 18:53:13 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1709#issuecomment-3369252691
Original created: 2025-10-05T18:53:13Z

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
No custom compliance provided

Follow the guide to enable custom compliance check.

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
- Requires Further Human Verification
🏷️ - Compliance label
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1709#issuecomment-3369252691 Original created: 2025-10-05T18:53:13Z --- ## PR Compliance Guide 🔍 <!-- https://github.com/carverauto/serviceradar/commit/dcc9cbf0dd39f57e9c3fbe1fdaaf33ec9fa5bf23 --> Below is a summary of compliance checks for this PR:<br> <table><tbody><tr><td colspan='2'><strong>Security Compliance</strong></td></tr> <tr><td>🟢</td><td><details><summary><strong>No security concerns identified</strong></summary> No security vulnerabilities detected by AI analysis. Human verification advised for critical code. </details></td></tr> <tr><td colspan='2'><strong>Ticket Compliance</strong></td></tr> <tr><td>⚪</td><td><details><summary>🎫 <strong>No ticket provided </summary></strong> - [ ] Create ticket/issue <!-- /create_ticket --create_ticket=true --> </details></td></tr> <tr><td colspan='2'><strong>Codebase Duplication Compliance</strong></td></tr> <tr><td>⚪</td><td><details><summary><strong>Codebase context is not defined </strong></summary> Follow the <a href='https://qodo-merge-docs.qodo.ai/core-abilities/rag_context_enrichment/'>guide</a> to enable codebase context checks. </details></td></tr> <tr><td colspan='2'><strong>Custom Compliance</strong></td></tr> <tr><td>⚪</td><td><details><summary><strong>No custom compliance provided</strong></summary> Follow the <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/'>guide</a> to enable custom compliance check. </details></td></tr> <tr><td align="center" colspan="2"> - [ ] Update <!-- /compliance --update_compliance=true --> </td></tr></tbody></table> <details><summary>Compliance status legend</summary> 🟢 - Fully Compliant<br> 🟡 - Partial Compliant<br> 🔴 - Not Compliant<br> ⚪ - Requires Further Human Verification<br> 🏷️ - Compliance label<br> </details>
qodo-code-review[bot] commented 2025-10-05 18:54:08 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/1709#issuecomment-3369253217
Original created: 2025-10-05T18:54:08Z

PR Code Suggestions

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Justify the significant external-dns upgrade

The PR description should be updated to summarize key changes from the
external-dns upgrade (v0.15.1 to v0.19.0) and confirm that the new version was
validated in a non-production environment.

Examples:

k8s/external-dns/base/external-dns.yaml [20]
          image: registry.k8s.io/external-dns/external-dns:v0.19.0

Solution Walkthrough:

Before:

# PR Description
### Description
- Update external-dns to v0.19.0 from v0.15.1
- Add Cloudflare Go SDK dependency
- Add endpointslices RBAC permissions for discovery API

# k8s/external-dns/base/external-dns.yaml
...
  containers:
    - name: external-dns
      image: registry.k8s.io/external-dns/external-dns:v0.19.0
...

After:

# PR Description
### Description
- Update external-dns to v0.19.0 from v0.15.1
- ...

### Key Changes (v0.15.1 -> v0.19.0)
- Switched to EndpointSlices for service discovery, improving performance.
- Added support for Cloudflare API tokens.
- [Other significant changes...]

### Validation
- This upgrade has been successfully tested in our staging environment.
- All existing DNS records were correctly reconciled.
- No regressions were observed.

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly highlights the operational risk of a significant version jump for a critical component like external-dns and rightly asks for more context and validation in the PR description.

Medium
  • Update
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/1709#issuecomment-3369253217 Original created: 2025-10-05T18:54:08Z --- ## PR Code Suggestions ✨ <!-- dcc9cbf --> Explore these optional code suggestions: <table><thead><tr><td><strong>Category</strong></td><td align=left><strong>Suggestion&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </strong></td><td align=center><strong>Impact</strong></td></tr><tbody><tr><td rowspan=1>High-level</td> <td> <details><summary>Justify the significant external-dns upgrade</summary> ___ **The PR description should be updated to summarize key changes from the <br>external-dns upgrade (v0.15.1 to v0.19.0) and confirm that the new version was <br>validated in a non-production environment.** ### Examples: <details> <summary> <a href="https://github.com/carverauto/serviceradar/pull/1709/files#diff-a11795ea19e03d0f45d96ce9fd444ecfd2b292058b75ade332640c942f50913dR20-R20">k8s/external-dns/base/external-dns.yaml [20]</a> </summary> ```yaml image: registry.k8s.io/external-dns/external-dns:v0.19.0 ``` </details> ### Solution Walkthrough: #### Before: ```yaml # PR Description ### Description - Update external-dns to v0.19.0 from v0.15.1 - Add Cloudflare Go SDK dependency - Add endpointslices RBAC permissions for discovery API # k8s/external-dns/base/external-dns.yaml ... containers: - name: external-dns image: registry.k8s.io/external-dns/external-dns:v0.19.0 ... ``` #### After: ```yaml # PR Description ### Description - Update external-dns to v0.19.0 from v0.15.1 - ... ### Key Changes (v0.15.1 -> v0.19.0) - Switched to EndpointSlices for service discovery, improving performance. - Added support for Cloudflare API tokens. - [Other significant changes...] ### Validation - This upgrade has been successfully tested in our staging environment. - All existing DNS records were correctly reconciled. - No regressions were observed. ``` <details><summary>Suggestion importance[1-10]: 7</summary> __ Why: The suggestion correctly highlights the operational risk of a significant version jump for a critical component like `external-dns` and rightly asks for more context and validation in the PR description. </details></details></td><td align=center>Medium </td></tr> <tr><td align="center" colspan="2"> - [ ] Update <!-- /improve_multi --more_suggestions=true --> </td><td></td></tr></tbody></table>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar!2281
No description provided.