add_dnszone_to_secondaries

Function add_dnszone_to_secondaries 

Source
pub async fn add_dnszone_to_secondaries(
    ctx: Arc<Context>,
    dnszone: DNSZone,
    zone_manager: &Bind9Manager,
    primary_ips: &[String],
    status_updater: &mut DNSZoneStatusUpdater,
    instance_refs: &[InstanceReference],
) -> Result<ZoneConfigOutcome>
Expand description

Adds a DNS zone to all secondary instances in the cluster with primaries configured.

Creates secondary zones on all secondary instances, configuring them to transfer from the provided primary server IPs. If a zone already exists on a secondary, it checks if the primaries list matches and updates it if necessary.

§Arguments

  • client - Kubernetes API client
  • dnszone - The DNSZone resource
  • zone_manager - BIND9 manager for adding zone
  • primary_ips - List of primary server IPs to configure in the primaries field

§Returns

  • Ok(ZoneConfigOutcome) - Per-instance and per-endpoint configuration counts. An instance counts as configured only if ALL of its ready endpoints accepted the zone, so the instance count is directly comparable with the expected SECONDARY instance count when computing readiness.
  • Err(_) - If zone addition failed on every endpoint

§Errors

Returns an error if BIND9 zone addition fails on any secondary instance.

§Panics

Panics if internal Arc unwrapping fails (should not happen in normal operation).