Skip to content

feat: service controller#192

Merged
sudomateo merged 1 commit intomainfrom
sudomateo/rrtxynrwupty
Mar 18, 2026
Merged

feat: service controller#192
sudomateo merged 1 commit intomainfrom
sudomateo/rrtxynrwupty

Conversation

@sudomateo
Copy link
Collaborator

@sudomateo sudomateo commented Mar 17, 2026

feat: service controller

Implemented the service controller to handle LoadBalancer services
using the cloud controller manager. Oxide doesn't have a load balancer
service yet so this controller implements the following logic.

  • Allocate a floating IP and attach it to the first Kubernetes node
    ordered by name.
  • Ensure the node's internal IP addresses are listed in the load
    balancer status. This allows the proper firewall rules (i.e.,
    nftables) to be created on the node to allow the traffic. This is
    needed since Oxide floating IPs are transparent to the instance so
    traffic enters the instance using the instance's internal IP address as
    the destination, not the floating IP address.

Closes SSE-53.

Amp-Thread: https://ampcode.com/threads/T-019cf987-216f-703f-acbd-1d406d081491
Amp-Thread: https://ampcode.com/threads/T-019cfea7-0a17-730f-8b66-aa65b8f7273e

@sudomateo sudomateo requested a review from a team as a code owner March 17, 2026 03:58
@sudomateo sudomateo force-pushed the sudomateo/rrtxynrwupty branch 3 times, most recently from 89cc521 to deecf05 Compare March 18, 2026 03:43
Implemented the service controller to handle `LoadBalancer` services
using the cloud controller manager. Oxide doesn't have a load balancer
service yet so this controller implements the following logic.

- Allocate a floating IP and attach it to the first Kubernetes node
ordered by name.
- Ensure the node's internal IP addresses are listed in the load
balancer status. This allows the proper firewall rules (i.e.,
`nftables`) to be created on the node to allow the traffic. This is
needed since Oxide floating IPs are transparent to the instance so
traffic enters the instance using the instance's internal IP address as
the destination, not the floating IP address.

Closes SSE-53.

Amp-Thread: https://ampcode.com/threads/T-019cf987-216f-703f-acbd-1d406d081491
Amp-Thread: https://ampcode.com/threads/T-019cfea7-0a17-730f-8b66-aa65b8f7273e
@sudomateo sudomateo force-pushed the sudomateo/rrtxynrwupty branch from deecf05 to 5059c3b Compare March 18, 2026 03:50
@sudomateo sudomateo merged commit 0f7b5cb into main Mar 18, 2026
4 checks passed
@sudomateo sudomateo deleted the sudomateo/rrtxynrwupty branch March 18, 2026 03:56
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.

1 participant