Skip to content

feat: wire domain controller with rdap registration#65

Merged
zachsmith1 merged 6 commits into
feat/adjustRegistrationStatusfrom
feat/registrationstatuscontroller
Oct 15, 2025
Merged

feat: wire domain controller with rdap registration#65
zachsmith1 merged 6 commits into
feat/adjustRegistrationStatusfrom
feat/registrationstatuscontroller

Conversation

@zachsmith1

Copy link
Copy Markdown
Contributor

This pull request introduces significant improvements to domain registration and nameserver modeling, as well as configuration enhancements for refresh and retry behavior. The changes clarify how authoritative nameservers are represented, refactor the registration data model, and add new configuration options for controlling registration data refresh intervals and backoff strategies.

Domain and Nameserver Modeling Improvements

  • Added Nameservers and Apex fields to DomainStatus to distinguish between apex domains and delegated subdomains, with clear rules for authoritative NS selection. (api/v1alpha/domain_types.go, config/crd/bases/networking.datumapis.com_domains.yaml)
  • Refactored Nameserver to include a list of NameserverIP objects, which capture per-address provenance, and removed the direct Nameservers field from Registration. (api/v1alpha/domain_types.go, api/v1alpha/zz_generated.deepcopy.go)

Registration Data Model Updates

  • Added NextRegistrationAttempt field to Registration to track when the next registration refresh should occur. (api/v1alpha/domain_types.go, api/v1alpha/zz_generated.deepcopy.go, config/crd/bases/networking.datumapis.com_domains.yaml)

Configuration Enhancements

  • Introduced DomainRegistrationConfig to control RDAP/WHOIS refresh behavior, including refresh interval, retry backoff, jitter, and lookup timeout, with sensible defaults and deep copy support. (internal/config/config.go, internal/config/zz_generated.deepcopy.go, internal/config/zz_generated.defaults.go)

Test and Default Handling

  • Updated tests and object defaulting to ensure new configuration fields are initialized and used correctly in domain verification and registration logic. (internal/controller/domain_controller_test.go, internal/config/zz_generated.defaults.go)

@joshlreese
joshlreese self-requested a review October 14, 2025 22:09

@joshlreese joshlreese left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Left a few questions but nothing blocking a merge.

Comment thread api/v1alpha/domain_types.go Outdated
Comment thread internal/controller/domain_controller.go Outdated
Comment thread internal/controller/domain_controller.go Outdated
@zachsmith1
zachsmith1 merged commit 34bc5b6 into feat/adjustRegistrationStatus Oct 15, 2025
9 checks passed
@scotwells
scotwells deleted the feat/registrationstatuscontroller branch February 10, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants