@@ -33,6 +33,7 @@ const (
3333 EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT"
3434 EnvPollingInterval = envNamespace + "POLLING_INTERVAL"
3535 EnvHTTPTimeout = envNamespace + "HTTP_TIMEOUT"
36+ EnvSequenceInterval = envNamespace + "SEQUENCE_INTERVAL"
3637)
3738
3839// Config is used to configure the creation of the DNSProvider.
@@ -44,6 +45,7 @@ type Config struct {
4445 Password string
4546 PropagationTimeout time.Duration
4647 PollingInterval time.Duration
48+ SequenceInterval time.Duration
4749 TTL int
4850 HTTPClient * http.Client
4951}
@@ -55,6 +57,7 @@ func NewDefaultConfig() *Config {
5557 PropagationTimeout : env .GetOrDefaultSecond (EnvPropagationTimeout , dns01 .DefaultPropagationTimeout ),
5658 PollingInterval : env .GetOrDefaultSecond (EnvPollingInterval , dns01 .DefaultPollingInterval ),
5759 IdentityEndpoint : env .GetOrDefaultString (EnvIdentityEndpoint , defaultIdentityEndpoint ),
60+ SequenceInterval : env .GetOrDefaultSecond (EnvSequenceInterval , dns01 .DefaultPropagationTimeout ),
5861 HTTPClient : & http.Client {
5962 Timeout : env .GetOrDefaultSecond (EnvHTTPTimeout , 10 * time .Second ),
6063 Transport : & http.Transport {
@@ -202,3 +205,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
202205func (d * DNSProvider ) Timeout () (timeout , interval time.Duration ) {
203206 return d .config .PropagationTimeout , d .config .PollingInterval
204207}
208+
209+ // Sequential All DNS challenges for this provider will be resolved sequentially.
210+ // Returns the interval between each iteration.
211+ func (d * DNSProvider ) Sequential () time.Duration {
212+ return d .config .SequenceInterval
213+ }
0 commit comments