Auto-Retry is a feature of
terragrunt that will automatically address situations where a
terraform command needs to be re-run.
Terraform can fail with transient errors which can be addressed by simply retrying the command again. In the event
terragrunt finds one of these errors, the command will be re-run again automatically.
$ terragrunt apply ... Initializing provider plugins... - Checking for available provider plugins on https://releases.hashicorp.com... Error installing provider "template": error fetching checksums: Get https://releases.hashicorp.com/terraform-provider-template/1.0.0/terraform-provider-template_1.0.0_SHA256SUMS: net/http: TLS handshake timeout.
Terragrunt sees this error, and knows it is a transient error that can be addressed by re-running the
Terragrunt has a small list of default known errors built-in. You can override these defaults with your own custom retryable errors in your
retryable_errors = [ "a regex to match the error", "another regex" ]
retryable_errors = [ "(?s).*Error installing provider.*tcp.*connection reset by peer.*", "(?s).*ssh_exchange_identification.*Connection closed by remote host.*" ]
auto-retry tries a maximum of three times to re-run a command, pausing for five seconds between each retry, at which point it will deem the error as not transient, and accept the
However, you can override these defaults. For example, the following retries up to five times, with 60 seconds in between each retry:
retry_max_attempts = 5 retry_sleep_interval_sec = 60
auto-retry, use the
--terragrunt-no-auto-retry command line option or set the
TERRAGRUNT_NO_AUTO_RETRY environment variable to