Skip to content

feat(linode): add cloud foundation and LoadBalancer task#18213

Open
moshevayner wants to merge 1 commit intokubernetes:masterfrom
moshevayner:linode-pr1-cloud-loadbalancer
Open

feat(linode): add cloud foundation and LoadBalancer task#18213
moshevayner wants to merge 1 commit intokubernetes:masterfrom
moshevayner:linode-pr1-cloud-loadbalancer

Conversation

@moshevayner
Copy link
Copy Markdown
Member

Summary

  • Adds the Linode (Akamai) cloud implementation (linode.Cloud, LinodeClient interface, LinodeCloud interface, APITarget, Verifier)
  • Adds LoadBalancer task — creates/updates/deletes a Linode NodeBalancer with TCP configs for the API server port, manages backend nodes, and exposes GetWellKnownServices so the node-config machinery can discover the API server address
  • Adds linodemodel.APILoadBalancerModelBuilder which wires the task into the cloudup DAG

This is the first in a series of small PRs building out the Linode cloud provider (integration branch: #18212).

/cc @hakman

@k8s-ci-robot k8s-ci-robot requested a review from hakman April 17, 2026 23:53
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Apr 17, 2026
@moshevayner moshevayner force-pushed the linode-pr1-cloud-loadbalancer branch 2 times, most recently from 87fc707 to 6f49719 Compare April 18, 2026 00:48
@moshevayner
Copy link
Copy Markdown
Member Author

/retest

@k8s-triage-robot
Copy link
Copy Markdown

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla
/easycla

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Apr 18, 2026
Copy link
Copy Markdown
Member

@hakman hakman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@moshevayner Some initial feedback on the PR. I believe the tasks are a little tricky, but should be easy to fix. Let me know if you have any questions.

"k8s.io/kops/upup/pkg/fi/cloudup/linode"
)

// +kops:fitask
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should run the generator for fitask.

Comment on lines +36 to +44
func (l *LoadBalancerBackends) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask {
var deps []fi.CloudupTask

if l.LoadBalancer != nil {
deps = append(deps, l.LoadBalancer)
}

return deps
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to set dependencies explicitly. Task already depends on LB.

return fi.CloudupTaskAsString(l)
}

func (l *LoadBalancerBackends) Run(c *fi.CloudupContext) error {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weird, should have Find() and Render(). Run should be very light:

func (v *LoadBalancerBackends) Run(c *fi.CloudupContext) error {
	return fi.CloudupDefaultDeltaRunMethod(v, c)
}

Signed-off-by: Moshe Vayner <moshe@vayner.me>
@moshevayner moshevayner force-pushed the linode-pr1-cloud-loadbalancer branch from 6f49719 to 6ab23e3 Compare April 23, 2026 18:05
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from hakman. For more information see the Code Review Process.

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

Details 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

@moshevayner moshevayner requested a review from hakman April 23, 2026 18:24
@moshevayner
Copy link
Copy Markdown
Member Author

@moshevayner Some initial feedback on the PR. I believe the tasks are a little tricky, but should be easy to fix. Let me know if you have any questions.

@hakman thanks for the pointers! I think I've addressed all comments, let me know if I missed something 🙏🏼

@hakman
Copy link
Copy Markdown
Member

hakman commented Apr 27, 2026

@moshevayner Some initial feedback on the PR. I believe the tasks are a little tricky, but should be easy to fix. Let me know if you have any questions.

@hakman thanks for the pointers! I think I've addressed all comments, let me know if I missed something 🙏🏼

Thanks, trying to look at it today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants