@@ -22,6 +22,7 @@ const (
22
22
EnvTTL = envNamespace + "TTL"
23
23
EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT"
24
24
EnvPollingInterval = envNamespace + "POLLING_INTERVAL"
25
+ EnvSequenceInterval = envNamespace + "SEQUENCE_INTERVAL"
25
26
EnvHTTPTimeout = envNamespace + "HTTP_TIMEOUT"
26
27
)
27
28
@@ -31,6 +32,7 @@ type Config struct {
31
32
Password string
32
33
PropagationTimeout time.Duration
33
34
PollingInterval time.Duration
35
+ SequenceInterval time.Duration
34
36
TTL int
35
37
HTTPClient * http.Client
36
38
}
@@ -41,6 +43,7 @@ func NewDefaultConfig() *Config {
41
43
TTL : env .GetOrDefaultInt (EnvTTL , 3600 ),
42
44
PropagationTimeout : env .GetOrDefaultSecond (EnvPropagationTimeout , dns01 .DefaultPropagationTimeout ),
43
45
PollingInterval : env .GetOrDefaultSecond (EnvPollingInterval , dns01 .DefaultPollingInterval ),
46
+ SequenceInterval : env .GetOrDefaultSecond (EnvSequenceInterval , dns01 .DefaultPropagationTimeout ),
44
47
HTTPClient : & http.Client {
45
48
Timeout : env .GetOrDefaultSecond (EnvHTTPTimeout , 30 * time .Second ),
46
49
},
@@ -93,6 +96,12 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
93
96
return d .config .PropagationTimeout , d .config .PollingInterval
94
97
}
95
98
99
+ // Sequential All DNS challenges for this provider will be resolved sequentially.
100
+ // Returns the interval between each iteration.
101
+ func (d * DNSProvider ) Sequential () time.Duration {
102
+ return d .config .SequenceInterval
103
+ }
104
+
96
105
// Present creates a TXT record using the specified parameters.
97
106
func (d * DNSProvider ) Present (domain , token , keyAuth string ) error {
98
107
info := dns01 .GetChallengeInfo (domain , keyAuth )
0 commit comments