Skip to content

feat(linode): add nodebalancers, ips and lke - #788

Merged
Mzack9999 merged 4 commits into
devfrom
feat/772-linode-nodebalancers-ips-lke
Oct 9, 2026
Merged

Mzack9999 merged 4 commits into
devfrom
feat/772-linode-nodebalancers-ips-lke

Conversation

@dogancanbakir

@dogancanbakir dogancanbakir commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Fixes #772

New services nodebalancer, ip (public account IPs, including unattached) and lke (control plane hostnames). No SDK bump.

Tested against a fake API server with the real SDK client; no live account.

Summary by CodeRabbit

  • New Features
    • Linode discovery now includes NodeBalancers, IP addresses, and Kubernetes cluster endpoints, alongside Linode instances.
    • Discovered resources include available public addresses and hostnames.
  • Documentation
    • Updated Linode API token guidance to include read-only access to Linodes, NodeBalancers, IPs, and Kubernetes.

@dogancanbakir dogancanbakir self-assigned this Oct 8, 2026
@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 2714387e-b0db-42f2-b995-d300eaf63d40
📥 Commits

Reviewing files that changed from the base of the PR and between b599853 and 9c366df.

📒 Files selected for processing (6)
  • PROVIDERS.md
  • pkg/providers/linode/ips.go
  • pkg/providers/linode/linode.go
  • pkg/providers/linode/linode_test.go
  • pkg/providers/linode/lke.go
  • pkg/providers/linode/nodebalancers.go

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.


Walkthrough

The Linode provider now collects resources from Linodes, NodeBalancers, public IP addresses, and LKE endpoints. It dispatches enabled services and merges successful results. Tests cover the collected service labels and filtering by service. The provider documentation lists the required token scopes.

Changes

Linode Resource Enumeration

Layer / File(s) Summary
Add Linode service collectors
pkg/providers/linode/ips.go, pkg/providers/linode/nodebalancers.go, pkg/providers/linode/lke.go
The new collectors return public IP, NodeBalancer, and valid LKE endpoint resources. Each collector handles listing or endpoint lookup errors as described by its retrieval flow.
Register services and validate resource collection
pkg/providers/linode/linode.go, pkg/providers/linode/linode_test.go, PROVIDERS.md
The provider dispatches enabled services in Services order and merges successful results. Tests check service labels and the LKE service filter. The documentation lists Linodes, NodeBalancers, IPs, and Kubernetes as required read-only token scopes.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant Caller
  participant LinodeProvider
  participant IPProvider
  participant LinodeAPI
  Caller->>LinodeProvider: Request resources
  LinodeProvider->>IPProvider: GetResource for enabled ip service
  IPProvider->>LinodeAPI: ListIPAddresses
  LinodeAPI-->>IPProvider: IP addresses
  IPProvider-->>LinodeProvider: Public IP resources
  LinodeProvider-->>Caller: Merged resources
Loading

Merge Risk: 🔵 Low · up to 9c366

The new NodeBalancer, IP, and LKE collection is mergeable. One caveat: an unexpected LKE endpoint error is skipped silently, so that cluster's API hostname can be missing from the results with no warning.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely identifies the three main Linode services added by the pull request: NodeBalancers, IPs, and LKE.
Linked Issues check Passed Issue #772 requires NodeBalancers, account IPs that include unattached addresses, and LKE cluster API endpoints. The PR registers nodebalancer, ip, and lke services. The providers call the corre…
Out of Scope Changes check Passed The changes stay within issue #772. The provider registration, service implementations, API permission documentation, and automated tests directly support the requested Linode resources. No unrelated …
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

A rabbit checks the Linode list,
And finds new endpoints not to miss.
IPs and balancers join the run,
While clusters add their hosts in turn.
The service filter picks one lane,
Then hops back home through fields of rain.

Comment @coderabbitai help to get the list of available commands.

@Mzack9999
Mzack9999 merged commit 446c334 into dev Oct 9, 2026
9 checks passed
@Mzack9999
Mzack9999 deleted the feat/772-linode-nodebalancers-ips-lke branch October 9, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feature] linode: add NodeBalancers, unattached IPs and LKE

2 participants