pub async fn configure_zone_on_instances(
ctx: Arc<Context>,
dnszone: &DNSZone,
zone_manager: &Bind9Manager,
status_updater: &mut DNSZoneStatusUpdater,
instance_refs: &[InstanceReference],
_unreconciled_instances: &[InstanceReference],
) -> Result<(usize, usize)>Expand description
Configure zone on all BIND9 instances (primary and secondary).
This function orchestrates the complete BIND9 configuration workflow:
- Sets initial “Progressing” status
- Finds primary server IPs for secondary configuration
- Configures zone on all primary instances
- Configures zone on all secondary instances
- Updates status conditions based on success/failure
§Arguments
ctx- Application context with Kubernetes clientdnszone- The DNSZone resource being reconciledzone_manager- BIND9 manager for zone operationsstatus_updater- Status updater for condition updatesinstance_refs- All instance references assigned to the zoneunreconciled_instances- Instances that need reconciliation (Phase 2 optimization)
§Returns
Tuple of (primary_count, secondary_count) - number of successfully configured instances
§Errors
Returns an error if:
- No primary servers are found (cannot configure secondary zones)
- Primary configuration fails completely
- Kubernetes API operations fail
Note: Secondary configuration failure is non-fatal and logged as a warning