Skip to content

Allocate a default IPv6 address and reserved static IPv4 addresses for load balancers #735

Closed

Description

@privateip

Summary

datum-cloud/enhancements#884 sets the addressing model for the network load balancer:

  • Every new load balancer gets a public IPv6 address or subnet automatically.
  • A tenant can explicitly reserve one or more static public IPv4 addresses and bind them to a load balancer, for legacy clients and firewall allowlists.

#702 builds the platform-managed pools and records who holds each address. This issue builds the two allocation flows on top of it. An IPv4 reservation is its own object. It outlives the load balancer it's bound to, so a tenant can delete and recreate a load balancer and keep the address its clients have allowlisted.

Acceptance criteria

  • Creating a load balancer allocates an IPv6 address or subnet from its region's pool, with no input from the tenant
  • Deleting the load balancer releases its IPv6 allocation
  • A tenant can reserve a static IPv4 address in a region, and the reservation persists until the tenant releases it
  • A tenant can bind one or more reserved IPv4 addresses to a load balancer in the same region, and unbind them
  • A reservation can be bound to only one load balancer at a time
  • Deleting a load balancer unbinds its IPv4 reservations without releasing them
  • The VIPs written into NetworkRule are exactly the load balancer's IPv6 allocation plus its bound IPv4 reservations

Phase 1 of #698. Depends on #702 for the pools and on #696 for the tenant-facing resources. IPv4 traffic needs #705.

Activity

  1. added theissue type on Oct 5, 2026
  2. privateip commented on Oct 19, 2026

    @privateip
    CollaboratorAuthor

    this will be handled by the network load balancer api defined here

  3. self-assigned this
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions