Open-source platform replacement for Terraform Enterprise. This patch fixes a longstanding silent failure on run triggers, hardens the runner against cross-arch lock-file mismatches, and parallelises the release pipeline.
Highlights
- Run Triggers UX — workspace detail page now has a Run Triggers tab with inbound (add/remove) and outbound (view-only) sections, mirroring the Sharing tab pattern.
Bug Fixes
- Trigger-fired runs attach the destination's latest CV —
fire_run_triggerspreviously created downstream runs with noconfiguration_version_id, causing the runner to 404 onGET /runs/{id}/artifacts/configand silently error every triggered run. Retries now also fall back to the workspace's latest uploaded CV instead of copying null forward. - Runner extends
.terraform.lock.hclto both linux archs before upload — preventstofu initchecksum failures when plan runs on amd64 and apply lands on arm64 (or vice-versa) inside a mixed-arch pool. - State-version URLs mirror the request host — the API now constructs state-version download URLs from the inbound request's
X-Forwarded-Host(orHost) rather thancallback_base_url, so runners that reach the API via an internal ingress get URLs they can follow.
Maintenance
- Release pipeline now runs provider + migrate goreleaser jobs in parallel against a pre-created GitHub Release; provider/migrate goreleaser configs pass
--parallelism 6via the action's CLI args.
Status
Beta — production-ready for self-hosted Terraform Enterprise replacement; API and Helm chart shape stable within minor versions.
Full Changelog: v0.31.4...v0.31.5