github mattrobinsonsre/terrapod v0.34.0

3 hours ago

A minor release fixing a plan→apply data-loss class where files generated by terraform/tofu plan disappeared before apply ran.

Highlights

  • Plan-artifacts workspace-diff snapshot — the runner now snapshots files created on disk between tofu init and tofu plan (e.g. data.archive_file outputs, local_file resources, null_resource local-exec scratch), tars the diff, and restores it into the apply Job's fresh workspace before tofu apply. Fixes "no such file or directory" failures at apply time for plan-time generated lambda zips and similar artifacts.

Bug Fixes

  • Apply-phase plan-file download now routes through download_to_file like every other artifact download, so filesystem-backend presigned URLs minted at the public hostname are rewritten to the in-cluster API URL. Previously caused silent re-plan-inline on Tilt / filesystem-backend deployments and skipped plan-artifacts restore. Cloud-backend deployments (S3/GCS/Azure) were unaffected.

Configuration

  • New Helm value runners.planArtifactsMaxBytes (default 268435456 = 256 MiB; minimum 10240 bytes) caps the plan-artifacts tarball size. Uploads exceeding the cap are rejected with HTTP 413.
  • New API endpoints documented in docs/api-reference.md: GET/PUT /api/terrapod/v1/runs/{run_id}/artifacts/plan-artifacts.

Status

Stable — drop-in upgrade from v0.33.x. No schema changes, no API breaks. Pre-v0.34.0 runs (whose plan phase ran on an older runner) apply cleanly under v0.34.0 — the apply phase logs the missing artifact and proceeds.

Full Changelog: v0.33.5...v0.34.0

Don't miss a new terrapod release

NewReleases is sending notifications on new releases.