configure_zone_on_instances

Function configure_zone_on_instances 

Source
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:

  1. Sets initial “Progressing” status
  2. Finds primary server IPs for secondary configuration
  3. Configures zone on all primary instances
  4. Configures zone on all secondary instances
  5. Updates status conditions based on success/failure

§Arguments

  • ctx - Application context with Kubernetes client
  • dnszone - The DNSZone resource being reconciled
  • zone_manager - BIND9 manager for zone operations
  • status_updater - Status updater for condition updates
  • instance_refs - All instance references assigned to the zone
  • unreconciled_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