Skip to content

v0.9.0

Choose a tag to compare

@atbagan atbagan released this 23 Mar 03:14
269b736

What's Changed

feat: add LoadBalancerRequest CRD for cloud control plane load balancers

New LoadBalancerRequest CRD (shortName: lbr) for provisioning cloud-native load balancers as control plane endpoints during management cluster bootstrap.

LoadBalancerRequestSpec:

  • clusterName (immutable) — DNS-safe cluster name used for cloud resource naming
  • providerConfigRef (immutable) — references ProviderConfig with cloud credentials
  • port (default: 6443) — target port on backend instances
  • healthCheckPort — optional separate health check port
  • targets — incrementally updated list of backend instances (IP, instanceID, instanceName)

LoadBalancerRequestStatus:

  • Phase lifecycle: Pending -> Creating -> Ready -> Failed / Deleting
  • endpoint — load balancer IP or DNS name (populated at Ready)
  • resourceID — cloud resource identifier for cleanup
  • registeredTargets — count of registered backends
  • Standard conditions (Provisioned, TargetsSynced)

kubectl UX:

  • Print columns: Cluster, Phase, Endpoint, Targets, Age

Helper methods: IsReady(), IsFailed(), IsTerminating(), SetPhase(), SetFailure(), GetHealthCheckPort()

Constants: FinalizerLoadBalancerRequest

Full Changelog: v0.8.0...v0.9.0