Skip to content

Missing domainRef in DNSZone API Response Causes UI Errors #5

@yahyafakhroji

Description

@yahyafakhroji

Summary

The DNSZone API response is missing the status.domainRef field, which is required by several DNSZone-related features in the app. Without this field, the UI cannot properly resolve domain information, resulting in missing data and incorrect behavior across the DNS Zone management screens.


Impact

The absence of status.domainRef leads to multiple UI and functional issues:

  • Nameservers not displayed in the yellow info box (domain context missing).
  • Error toast appears on refresh because domain-related logic fails to resolve.
  • Dependent resources/functions malfunction, especially components that rely on the domain metadata.
  • Inconsistent DNS Zone state handling, since the domain-linking logic assumes the presence of domainRef.

Expected Behavior

The DNSZone API response should include a status.domainRef object containing the domain metadata associated with the zone, for example:

"domainRef": {
  "name": "xxxxxxx"
}

This field must be returned so UI components can:

  • Map the DNS zone to its domain
  • Display nameservers
  • Validate sync/refresh actions
  • Provide accurate status and error handling

Actual API Response (Problem)

{
  "name": "akasena-com-26ywpn",
  "createdAt": "2025-11-25T10:07:13Z",
  "uid": "2beee31b-5fa2-4b7a-9e50-c9743b21b396",
  "resourceVersion": "301745734",
  "namespace": "default",
  "dnsZoneClassName": "datum-external-global-dns",
  "domainName": "akasena.com",
  "description": "Testing",
  "status": {
    "conditions": [
      {
        "lastTransitionTime": "2025-11-25T10:07:13Z",
        "message": "DNSZone claimed by another resource",
        "observedGeneration": 1,
        "reason": "DNSZoneInUse",
        "status": "False",
        "type": "Accepted"
      },
      {
        "lastTransitionTime": "2025-11-25T10:07:13Z",
        "message": "DNSZone claimed by another resource",
        "observedGeneration": 1,
        "reason": "DNSZoneInUse",
        "status": "False",
        "type": "Programmed"
      }
    ]
  }
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions