For DNS record management, see django-powerdns-dnssec which integrates with PowerDNS server.
Overview
The Domain module helps you:- Track domain ownership and registration details
- Manage domain contracts and renewals
- Monitor domain costs and billing
- Organize domains by business segment
- Link domains to services and environments
- Maintain domain hierarchy (domain and subdomains)
Domain Structure
Domains can be organized hierarchically:Adding a Domain
Enter Domain Name
Type the full domain name (e.g.,
allegrogroup.com).For top-level domains, leave Parent unset.Set Service Environment
Select the Service/Environment pair describing why this domain exists.Examples:
- Service: “Auction Service”, Environment: “production”
- Service: “Internal Tools”, Environment: “testing”
Choose Domain Status
Select the current status:
- Active - Domain is in use
- Pending lapse - Expiring soon
- Pending transfer - Being transferred away
- Lapsed - Inactive/expired
- Transferred away - No longer owned
Set Business Segment
Choose or create a business segment to group related domains.Example: “Marketplaces”, “Internal Services”, “Partner Sites”
Assign Ownership
Set the responsible parties:
- Business Owner - Manages domain and subdomain strategy
- Technical Owner - Handles technical maintenance
- Domain Holder - Company receiving billing
Add Pricing Information
Enter contract details:
- Expiration date - When the domain registration expires
- Registrant name - Registrar (e.g., “GoDaddy”, “Namecheap”)
- Domain price - Cost for the registration period
Adding Subdomains
To add a subdomain:
This creates a hierarchical relationship between domains.
Domain Fields Explained
Basic Information
Domain Name- Full domain name including TLD
- Must be unique across all domains
- Example:
example.com,api.example.com
- Links subdomain to parent domain
- Leave empty for top-level domains
- Creates organizational hierarchy
- Tracks lifecycle state
- Helps identify expiring or transferred domains
- Use for renewal planning
Business Details
Service Environment- Links domain to a specific service and deployment environment
- Helps understand domain purpose
- Useful for organizing multi-service architectures
- Groups domains by business unit or product line
- Examples: “E-commerce”, “Marketing”, “Internal IT”
- Enables cost allocation by segment
Ownership and Responsibility
Business Owner- Responsible for domain strategy
- Approves subdomain creation
- Makes business decisions about domain use
- Handles DNS configuration (if applicable)
- Manages technical integrations
- Responsible for uptime and technical SLAs
- Legal entity that owns the domain
- Receives invoices for domain registration
- Example: “Allegro Group”, “ACME Corporation”
Financial Information
Expiration Date- When current registration expires
- Used for renewal tracking
- Set alerts before expiration
- Domain registrar managing the domain
- Examples: “GoDaddy”, “Namecheap”, “AWS Route53”
- Helps track where domains are registered
- Cost for current registration period
- Used for budget tracking
- May include multiple years
Domain Status Types
Active- Domain is currently in use
- DNS is configured and serving traffic
- Approaching expiration date
- Needs renewal decision
- May require budget approval
- Being transferred to another registrar or owner
- May have transfer lock period
- Registration has expired
- May be in grace or redemption period
- Could still be recoverable
- No longer owned by your organization
- Historical record only
- Keep for audit trail
Common Workflows
Domain Renewal Planning
Subdomain Request
Cost Tracking
Integration with DNS Management
While Ralph tracks domain ownership, DNS record management requires additional tools:PowerDNS Integration
For DNS records, use django-powerdns-dnssec:- Manage A, AAAA, CNAME, MX records
- DNSSEC support
- Integration with PowerDNS server
- API access to DNS records
- Ralph: Domain ownership and contracts
- PowerDNS: DNS records and resolution
Tips and Best Practices
API Access
Access domain data via REST API:Related Documentation
- Custom Fields - Add custom domain metadata
- External: django-powerdns-dnssec for DNS management