generate_nameserver_ips

Function generate_nameserver_ips 

Source
pub async fn generate_nameserver_ips(
    client: &Client,
    zone_name: &str,
    instance_refs: &[InstanceReference],
) -> Result<Option<HashMap<String, String>>>
Expand description

Creates a map of nameserver hostnames to IP addresses by:

  1. Checking for Service external IPs first (LoadBalancer or NodePort)
  2. Falling back to pod IPs if no external IPs are available

Nameservers are named: ns1.{zone_name}., ns2.{zone_name}., etc. Order: Primary instances first, then secondary instances.

§Arguments

  • client - Kubernetes API client
  • zone_name - DNS zone name (e.g., “example.com”)
  • instance_refs - All instance references (primaries and secondaries)

§Returns

HashMap of nameserver hostnames to IP addresses, or None if no IPs found

§Errors

Returns an error if Kubernetes API calls fail.