AcmeX supports a wide range of DNS providers for automated DNS-01 challenge fulfillment.
| Provider | Feature Flag | Configuration Requirements |
|---|---|---|
| Cloudflare | dns-cloudflare |
API Token, Zone ID |
| Route53 | dns-route53 |
AWS Credentials, Hosted Zone ID |
| Tencent Cloud (DNSPod) | dns-tencent |
SecretId, SecretKey |
| Huawei Cloud | dns-huawei |
AccessKey, SecretKey, ProjectId, Region |
| Google Cloud DNS | dns-google |
Project ID, Service Account (optional) |
Uses the Cloudflare API v4. Requires an API Token with Zone.DNS permissions.
Uses the official AWS SDK. Supports standard AWS credential resolution (env vars, IAM roles, etc.).
Uses Tencent Cloud API v3 with TC3-HMAC-SHA256 signing.
CreateRecord, DeleteRecord, and DescribeRecordList.Uses Huawei Cloud API with SDK-HMAC-SHA256 signing.
cn-north-4).All DNS providers in AcmeX must implement the DnsProvider trait:
#[async_trait]
pub trait DnsProvider: Send + Sync {
async fn create_txt_record(&self, domain: &str, value: &str) -> Result<String>;
async fn delete_txt_record(&self, domain: &str, record_id: &str) -> Result<()>;
async fn verify_record(&self, domain: &str, value: &str) -> Result<bool>;
}
delete_txt_record to remove challenge records after validation.