Context
spec.loadBalancerIP is deprecated upstream but still widely used and widely expected to work. Today only the oxide.computer/floating-ip annotation selects an explicit IP; the field is silently ignored.
Scope
Either:
- Treat the field as equivalent to the
oxide.computer/floating-ip annotation (erroring if both are set and disagree), or
- Reject services that set it, with a clear error pointing at the annotation.
Decision goes in addressAllocatorFromAnnotations / EnsureLoadBalancer (internal/provider/load_balancer.go).
Done when
Setting spec.loadBalancerIP either works or fails loudly — never silently does nothing.
Context
spec.loadBalancerIPis deprecated upstream but still widely used and widely expected to work. Today only theoxide.computer/floating-ipannotation selects an explicit IP; the field is silently ignored.Scope
Either:
oxide.computer/floating-ipannotation (erroring if both are set and disagree), orDecision goes in
addressAllocatorFromAnnotations/EnsureLoadBalancer(internal/provider/load_balancer.go).Done when
Setting
spec.loadBalancerIPeither works or fails loudly — never silently does nothing.