Documentation
¶
Index ¶
- Constants
- Variables
- func IsICANNDelegatedTLD(label string) bool
- func IsIntentionalPrivateOverlay(label string) bool
- func MountRegistrarRoutes(module RouteModule, engine *RegistrarEngine)
- func ValidatePrivateTLD(tld string) error
- type DomainMetadata
- type RegistrarEngine
- func (re *RegistrarEngine) EnsureRootDomain(domain, ownerPub string) error
- func (re *RegistrarEngine) EnsureTLD(tld, adminPub string) error
- func (re *RegistrarEngine) GetOwnership(domain string) (*DomainMetadata, error)
- func (re *RegistrarEngine) ListDomains() ([]DomainMetadata, error)
- func (re *RegistrarEngine) ListPrivateTLDs() ([]string, error)
- func (re *RegistrarEngine) LockPlatformZone(domain string) error
- func (re *RegistrarEngine) MaintainResourceRecord(callerPub, domain, recordType, value string, ttl int) error
- func (re *RegistrarEngine) RegisterRootDomain(domain, ownerPub string) error
- func (re *RegistrarEngine) RegisterSubdomain(subdomain, ownerPub string) error
- func (re *RegistrarEngine) RegisterTLD(tld, adminPub string) error
- func (re *RegistrarEngine) TransferOwnership(_, _, _ string) error
- func (re *RegistrarEngine) UpdateUIConfig(callerPub, domain string, cfg UIConfig) error
- type RegistrarHandler
- func (h *RegistrarHandler) HandleLookup(w http.ResponseWriter, req *http.Request)
- func (h *RegistrarHandler) HandleMaintainDNS(w http.ResponseWriter, req *http.Request)
- func (h *RegistrarHandler) HandleRegisterDomain(w http.ResponseWriter, req *http.Request)
- func (h *RegistrarHandler) HandleRegisterSubdomain(w http.ResponseWriter, req *http.Request)
- func (h *RegistrarHandler) HandleRegisterTLD(w http.ResponseWriter, req *http.Request)
- func (h *RegistrarHandler) HandleSaveLayout(w http.ResponseWriter, req *http.Request)
- func (h *RegistrarHandler) HandleTransfer(w http.ResponseWriter, req *http.Request)
- type RouteModule
- type UIButton
- type UIConfig
- type UIField
Constants ¶
const ( RegistryPageID ultimate_db.PageID = 54 ConfigPageID ultimate_db.PageID = 55 )
const (
LockPolicyPlatform = "platform" // no ownership transfer; NS/DS glue immutable via API
)
Lock policy labels stored on DomainMetadata.LockPolicy.
Variables ¶
var ( ErrTransferDisabled = fmt.Errorf("domain transfers are disabled on this registry") ErrGlueLocked = fmt.Errorf("NS/DS glue records are locked for this zone") )
Functions ¶
func IsICANNDelegatedTLD ¶
IsICANNDelegatedTLD reports whether label is treated as public-root / ICANN space for the purpose of blocking accidental private registration. Intentional product overlays return false so they remain registerable.
func IsIntentionalPrivateOverlay ¶
IsIntentionalPrivateOverlay reports product TLDs allowed despite public-root collision.
func MountRegistrarRoutes ¶
func MountRegistrarRoutes(module RouteModule, engine *RegistrarEngine)
func ValidatePrivateTLD ¶
ValidatePrivateTLD checks that tld may be registered as a private mesh extension: single LDH DNS label, not an unintended ICANN collision, not special-use reserved. Any non-ICANN TLD that passes label rules is allowed (open namespace).
Types ¶
type DomainMetadata ¶
type RegistrarEngine ¶
type RegistrarEngine struct {
// contains filtered or unexported fields
}
func NewRegistrarEngine ¶
func NewRegistrarEngine(database *ultimate_db.DB, dnsService *secure_dns.SecureDNS) *RegistrarEngine
func (*RegistrarEngine) EnsureRootDomain ¶
func (re *RegistrarEngine) EnsureRootDomain(domain, ownerPub string) error
EnsureRootDomain registers a root zone if not already present (idempotent bootstrap).
func (*RegistrarEngine) EnsureTLD ¶
func (re *RegistrarEngine) EnsureTLD(tld, adminPub string) error
EnsureTLD registers a private TLD if not already present (idempotent bootstrap). Any non-ICANN TLD is accepted; ICANN-delegated labels are rejected (see ValidatePrivateTLD).
func (*RegistrarEngine) GetOwnership ¶
func (re *RegistrarEngine) GetOwnership(domain string) (*DomainMetadata, error)
func (*RegistrarEngine) ListDomains ¶
func (re *RegistrarEngine) ListDomains() ([]DomainMetadata, error)
func (*RegistrarEngine) ListPrivateTLDs ¶
func (re *RegistrarEngine) ListPrivateTLDs() ([]string, error)
ListPrivateTLDs returns registered single-label TLDs (parent empty, no dots).
func (*RegistrarEngine) LockPlatformZone ¶
func (re *RegistrarEngine) LockPlatformZone(domain string) error
LockPlatformZone marks a zone as platform-operated: ownership cannot transfer and NS/DS records cannot be changed through MaintainResourceRecord (bootstrap paths write glue directly via secure_dns).
func (*RegistrarEngine) MaintainResourceRecord ¶
func (re *RegistrarEngine) MaintainResourceRecord(callerPub, domain, recordType, value string, ttl int) error
func (*RegistrarEngine) RegisterRootDomain ¶
func (re *RegistrarEngine) RegisterRootDomain(domain, ownerPub string) error
func (*RegistrarEngine) RegisterSubdomain ¶
func (re *RegistrarEngine) RegisterSubdomain(subdomain, ownerPub string) error
func (*RegistrarEngine) RegisterTLD ¶
func (re *RegistrarEngine) RegisterTLD(tld, adminPub string) error
func (*RegistrarEngine) TransferOwnership ¶
func (re *RegistrarEngine) TransferOwnership(_, _, _ string) error
TransferOwnership is intentionally unsupported — registry leases are permanent.
func (*RegistrarEngine) UpdateUIConfig ¶
func (re *RegistrarEngine) UpdateUIConfig(callerPub, domain string, cfg UIConfig) error
type RegistrarHandler ¶
type RegistrarHandler struct {
Engine *RegistrarEngine
}
func (*RegistrarHandler) HandleLookup ¶
func (h *RegistrarHandler) HandleLookup(w http.ResponseWriter, req *http.Request)
func (*RegistrarHandler) HandleMaintainDNS ¶
func (h *RegistrarHandler) HandleMaintainDNS(w http.ResponseWriter, req *http.Request)
func (*RegistrarHandler) HandleRegisterDomain ¶
func (h *RegistrarHandler) HandleRegisterDomain(w http.ResponseWriter, req *http.Request)
func (*RegistrarHandler) HandleRegisterSubdomain ¶
func (h *RegistrarHandler) HandleRegisterSubdomain(w http.ResponseWriter, req *http.Request)
func (*RegistrarHandler) HandleRegisterTLD ¶
func (h *RegistrarHandler) HandleRegisterTLD(w http.ResponseWriter, req *http.Request)
func (*RegistrarHandler) HandleSaveLayout ¶
func (h *RegistrarHandler) HandleSaveLayout(w http.ResponseWriter, req *http.Request)
func (*RegistrarHandler) HandleTransfer ¶
func (h *RegistrarHandler) HandleTransfer(w http.ResponseWriter, req *http.Request)
type RouteModule ¶
type RouteModule interface {
Public(pattern string, handler http.HandlerFunc)
Secure(pattern string, handler http.HandlerFunc)
}
type UIConfig ¶
type UIConfig struct {
BrandName string `json:"brand_name"`
PrimaryColor string `json:"primary_color"`
Logo string `json:"logo"`
Description string `json:"description"`
FormAction string `json:"form_action"`
Fields []UIField `json:"fields"`
Buttons []UIButton `json:"buttons"`
}
func DefaultConfig ¶
func DefaultConfig() UIConfig