Skip to main content
When a component fails to deploy due to a transient error, you don’t want it to get stuck and fail. You also don’t want an actually-broken component to retry forever. max_auto_retries gives each component a bounded retry budget. The runner will re-plan and re-apply the component up to that many times before surfacing the failure to the workflow. If the component succeeds on a retry, the workflow continues normally.

How it works

Set max_auto_retries on any component TOML:
  • On a deploy failure, the runner re-plans and re-applies the component up to N more times. After N failed attempts, the workflow surfaces the failure as it would today.
Each retry is a fresh plan + apply, so it picks up any state that has settled since the previous attempt (e.g. a slow IAM role becoming consistent, an upstream registry recovering).

Configuring max_auto_retries

max_auto_retries is supported on every component type: helm_chart, terraform_module, kubernetes_manifest, docker_build, container_image, and pulumi.

Helm chart

components/penpot.toml

Terraform module

components/certificate.toml
Both examples are taken from the penpot app config.

Reference

Looking for something else? Full per-component-type schemas are found here: