github mattrobinsonsre/terrapod v0.22.0

7 hours ago

Minor release of Terrapod focused on cross-entity navigation and configuration version UX. Closes the user-facing surface of issue #267 (Projects/CV first-class).

Highlights

  • Read-only labels browser — every label key in use across workspaces, modules, providers, and pools is now navigable as a first-class surface. Drill into a key to see its values, and from a value see every entity that carries it. RBAC-filtered: a label only appears if you can read at least one entity carrying it. Editing still happens on each entity's own page — there is no labels-admin surface.
  • Configuration version UX bundle — the workspace UI now has a Configurations tab covering:
    • List, paginated newest-first, with the CV consumed by the most recent successful apply badged as "current".
    • Per-row download via an opt-in short-lived HMAC ticket URL — the browser streams the tarball straight to the user's save dialog without loading multi-MB blobs into JS memory. Same signing-key class as runner tokens, single-resource, 5-minute default TTL (30-minute cap).
    • Multi-select two CVs and diff them: per-file unified diffs with binary-change detection. Per-file 1 MiB cap, per-pair 32 MiB cap.
  • Count-based config-version retention — new config_versions_keep setting (default 50 per workspace) mirrors the registry-module pattern. Sits alongside the existing age-based threshold; CVs referenced by an active run are always preserved.
  • Weekly dependency bumps — consolidated Python and Node dependency updates plus two security-alert closures.

API additions

All under /api/v2/ for now; the Terrapod-only paths will move under /api/terrapod/v1/ as part of issue #269.

  • GET /labels, /labels/{key}, /labels/{key}/{value}
  • GET /workspaces/{id}/configuration-versions
  • GET /configuration-versions/{cv_id}/download
  • POST /configuration-versions/{cv_id}/download-ticket
  • GET /configuration-versions/download-by-ticket/{ticket}
  • POST /configuration-versions/diff

Status

Beta — additive API changes, no breaking schema migrations, drop-in upgrade from v0.21.x.

Full Changelog: v0.21.1...v0.22.0

Don't miss a new terrapod release

NewReleases is sending notifications on new releases.