Skip to content

v0.39.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 11:01
· 2 commits to main since this release
9677e9d

Terrapod is a free, open-source platform replacement for Terraform Enterprise. This release hardens run concurrency and brings the API's upload path under the memory budget that keeps the control plane stable under large states and plans.

Highlights

  • Per-workspace run serialization — apply-capable (plan+apply) runs now execute one at a time per workspace. A newer run waits until the in-flight one reaches a terminal state, so two mutating runs can never race the same state. Plan-only runs (speculative PR plans, CLI plan, drift checks) are exempt and still run concurrently.
  • Auto-discard of superseded runs — when a newer apply-capable run is queued, older un-applied runs on the same workspace are resolved automatically: a planned run awaiting confirmation is discarded, pending/queued runs are canceled. A stale plan can no longer apply outdated config, and the workspace lock a stale planned run held is released so the newest run can dispatch. In-flight (confirmed/applying) runs are never superseded.
  • Manual lock blocks apply — a manually-locked workspace is now an operator gate on applies as well as a state lock: apply-capable runs won't start, confirm returns 409, and auto-apply runs settle in planned to wait for an unlock. Plan-only runs are never blocked.
  • Memory-safe upload streaming — runner/manual state, plan-JSON, configuration, and module-tarball uploads now stream straight to storage (or to a capped tempfile on the attached PVC for parse-requiring uploads) instead of buffering the whole body in RAM, removing an OOM risk on large states and monorepo plans.

Bug Fixes

  • Audit-log Clear button now reliably resets the view — it previously closed over pre-clear filter values and could appear to do nothing when the prior filter had no matches.

Status

Beta — run-concurrency guarantees and the upload memory budget are now enforced server-side across VCS, CLI, and UI run sources.

Full Changelog: v0.38.4...v0.39.0