CanineHQ/canine · error · ArgumentError

Domain #{domain.domain_name} does not match configured zone

Error message

Domain #{domain.domain_name} does not match configured zone #{dns_client.domain}

What it means

Error "Domain #{domain.domain_name} does not match configured zone #{dns_client.domain}" thrown in CanineHQ/canine.

Source

Thrown at app/services/dns/auto_setup_service.rb:41

    logger.info("Setting up automatic DNS for #{domain.domain_name}")

    hostname = fetch_expected_hostname
    return unless hostname

    create_dns_record(hostname)
  rescue Dns::Client::Error => e
    logger.error("Failed to create DNS record for #{domain.domain_name}: #{e.message}")
  rescue StandardError => e
    logger.error("DNS setup failed for #{domain.domain_name}: #{e.message}")
  end

  private

  def validate_domain_matches_zone!
    dns_client = Dns::Client.default
    return if domain.domain_name.end_with?(".#{dns_client.domain}")

    raise ArgumentError, "Domain #{domain.domain_name} does not match configured zone #{dns_client.domain}"
  end

  def service
    domain.service
  end

  def subdomain
    dns_client = Dns::Client.default
    domain.domain_name.chomp(".#{dns_client.domain}")
  end

  def fetch_expected_hostname
    ingress = K8::Stateless::Ingress.new(service)
    Dns::Utils.infer_expected_hostname(ingress, connection)
  end

  def create_dns_record(hostname)
    dns_client = Dns::Client.default

View on GitHub (pinned to ba4ee3968d)

When it happens

Trigger: Thrown at app/services/dns/auto_setup_service.rb:41 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of CanineHQ/canine@ba4ee3968d (2026-08-23). Data as JSON: /api/errors/c531331fadbe7c0c. Report an issue: GitHub.