π― Domain Alias Support
This release implements domain alias support for DNS challenges, a highly requested feature (#39) that enables advanced DNS validation scenarios.
β¨ What's New
Domain Alias for DNS Challenges
- Specify an alternative domain for DNS validation records
- Certificate for
example.comwith DNS validation on_acme-challenge.validation.example.org - Fully optional and backward compatible
π Use Cases
-
Centralized DNS Validation
- Manage all ACME DNS challenges on a single validation domain
- Simplify DNS infrastructure and reduce API token sprawl
-
DNS API Limitations
- Primary domain doesn't support DNS API
- Work around DNS provider restrictions
-
Enterprise Architecture
- Separate validation infrastructure from production DNS
- Enhanced security through DNS isolation
π Usage Example
# API Request
POST /api/certificates/create
Authorization: Bearer your_token_here
Content-Type: application/json
{
"domain": "example.com",
"dns_provider": "cloudflare",
"domain_alias": "_acme-challenge.validation.example.org"
}This creates a certificate for example.com but performs DNS validation on _acme-challenge.validation.example.org.
π§ Technical Details
Changes:
- Added optional
domain_aliasparameter to certificate creation API - Updated all 15+ DNS provider strategies to support domain alias
- Passes
--domain-aliasflag to Certbot when specified
Testing:
- 5 new comprehensive tests for domain alias functionality
- All 32 tests passing (27 existing + 5 new)
- Validates backward compatibility
Files Modified:
modules/core/dns_strategies.py- Domain alias support in all strategiesmodules/core/certificates.py- Pass domain_alias to DNS strategymodules/api/models.py- Added domain_alias fieldmodules/api/resources.py- Extract and pass domain_aliastest_domain_alias.py- New test suiteREADME.md- Documentation and examples
β Quality Assurance
- β All 32 tests passing
- β Backward compatible - no breaking changes
- β Works with all DNS providers
- β Comprehensive documentation
π Fixes
- Closes #39 - Domain alias DNS challenge support
Full Changelog: v1.4.0...v1.5.0