Terrapod v0.10.0 adds automated artifact retention, workspace rename, break-glass disaster recovery, and production-hardened defaults.
Highlights
- Artifact retention & cleanup — automated background task that purges old state versions, run logs, config tarballs, cached binaries, cached providers, and module override tarballs on a configurable schedule. Access-based retention for caches (last-accessed, not creation time). Enabled by default with safe invariants: never deletes the latest state version, skips state-diverged workspaces, only touches terminal runs (#136)
- Workspace rename — workspaces can now be renamed via the API and UI. The state index (
state/index.yaml) is updated atomically for break-glass disaster recovery compatibility - Break-glass disaster recovery — new
state/index.yamlwritten to object storage on every state version upload, mapping workspace names to their latest state version path. Enables out-of-band state recovery without database access (#133) - Drift detection auto-enabled on VCS workspaces — workspaces with a VCS connection now have drift detection enabled by default (#132)
- Drift detection and rate limiting enabled by default — both features are now on out of the box for all deployments. Drift detection catches out-of-band infrastructure changes; rate limiting protects against brute-force and DDoS
Bug Fixes
- Fixed listener memory leak from unbounded task accumulation and K8s client retention (#134)
- Fixed unchecked
resp.Body.Closeerror return in provider client
Documentation
- Comprehensive docs audit fixing stale values, inconsistencies, and gaps across all documentation pages (#135)
- New disaster recovery documentation with step-by-step break-glass procedures
- New artifact retention documentation with configuration reference and safety invariant details
Full Changelog: v0.9.0...v0.10.0