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
1
Navigate to Domains
Click Domain → Domains → Add domain
2
Enter Domain Name
Type the full domain name (e.g.,
allegrogroup.com).For top-level domains, leave Parent unset.3
Set Service Environment
Select the Service/Environment pair describing why this domain exists.Examples:
- Service: “Auction Service”, Environment: “production”
- Service: “Internal Tools”, Environment: “testing”
4
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
5
Set Business Segment
Choose or create a business segment to group related domains.Example: “Marketplaces”, “Internal Services”, “Partner Sites”
6
Assign Ownership
Set the responsible parties:
- Business Owner - Manages domain and subdomain strategy
- Technical Owner - Handles technical maintenance
- Domain Holder - Company receiving billing
7
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
8
Save the Domain
Click Save to create the domain record.
Adding Subdomains
To add a subdomain:1
Create Subdomain
Add a new domain with the full subdomain name.Example:
test.allegrogroup.com2
Set Parent
In the Parent field, select the parent domain.Example: Select
allegrogroup.com3
Configure Settings
Set service environment, owners, and other details as needed.
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
1
Find Expiring Domains
Filter domains by expiration date to find those expiring soon.
2
Contact Business Owner
Verify if the domain should be renewed with the business owner.
3
Update Status
Set status to “Pending lapse” if renewal is uncertain.
4
Process Renewal
After renewal, update expiration date and price if changed.
Subdomain Request
1
Verify Parent Domain
Ensure the parent domain exists in Ralph.
2
Get Approval
Contact the parent domain’s business owner for approval.
3
Create Subdomain
Add the subdomain with parent relationship.
4
Configure DNS
If using PowerDNS integration, configure DNS records.
Cost Tracking
1
Group by Segment
Use business segment to organize domains by cost center.
2
Export Data
Generate reports showing costs per segment.
3
Budget Planning
Use expiration dates to plan renewal costs for next fiscal year.
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