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 clientdnszone- TheDNSZoneresourcezone_manager- BIND9 manager for adding zoneprimary_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).