1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! DNS-01 challenge support for ACME
//!
//! This module provides DNS-01 challenge handling for wildcard certificates
//! and domains where HTTP-01 is not feasible.
//!
//! # Architecture
//!
//! - [`DnsProvider`] - Trait for DNS provider implementations
//! - [`Dns01ChallengeManager`] - Orchestrates DNS-01 challenge flow
//! - [`PropagationChecker`] - Verifies DNS propagation before validation
//! - [`CredentialLoader`] - Secure loading of provider credentials
//!
//! # Providers
//!
//! - [`HetznerProvider`] - Hetzner DNS API
//! - [`WebhookProvider`] - Generic webhook for custom DNS providers
//!
//! # Example
//!
//! ```kdl
//! acme {
//! email "admin@example.com"
//! domains "example.com" "*.example.com"
//! challenge-type "dns-01"
//!
//! dns-provider {
//! type "hetzner"
//! credentials-file "/etc/zentinel/secrets/hetzner-dns.json"
//! api-timeout-secs 30
//!
//! propagation {
//! initial-delay-secs 10
//! check-interval-secs 5
//! timeout-secs 120
//! }
//! }
//! }
//! ```
pub use ;
pub use CredentialLoader;
pub use ;
pub use ;
pub use ;