Skip to content

v1.0.0-rc.2

Pre-release
Pre-release

Choose a tag to compare

@liftoff-releaser liftoff-releaser released this 29 Jul 22:39
· 8 commits to main since this release

Features

  • Source-mutating steps (starting with mutate) now refuse to run until a person has explicitly approved them, using a new liftoff approve <key> command — an assistant driving the CLI is detected and can't grant this approval itself. The approval covers only the exact operation shown and is spent on first use, so it can't be reused or replayed against a batch that has since changed.
  • Several steps (including discover and mutate) now also require proof that their guidance was actually read: liftoff skills <topic> prints a proof token at the end of the page, and the gated command accepts it via a new --proof-token flag. A refusal always names the exact command to run next.
  • Publishing changes has moved onto the same model: the old --apply-token flag is gone. Applying a plan now takes --confirm together with --proof-token (proof the plan was read) and, like other mutating steps, requires a person's approval before it proceeds.
  • A source can now put its own extra approval or read-proof requirement in front of specific commands, so a vendor-specific risky operation can be protected without changes to the generic CLI.
  • Discover and audit now surface a source's policies and policy sets (informational findings only). Since policy rule bodies can't be mechanically translated to Spacelift's policy language, nothing is auto-generated — each finding names the policy's kind and enforcement level, or the policy set's scope and coverage, with guidance on recreating it by hand.
  • Stacks whose Terraform/OpenTofu version isn't one of Spacelift's built-in runner versions can now generate onto a custom workflow tool backed by your own runner image, instead of failing to generate a runnable stack. A new custom_runner_image setting controls the image reference, and audit --repair fills it in (tagging it per-stack by version unless you've pinned your own tag). Audit also gained findings that flag a stack missing its runner image, or an unsupported/unparseable version string, before generation would produce something that can't run.

Fixes

  • Configuring settings with configure --set no longer writes already-resolved secret values into the saved configuration file — a ${VAR}-style secret reference is now preserved as a reference on every save, instead of being replaced by the plaintext value it resolves to.
  • Discover no longer records an agent pool's live connected-agent count, which fluctuates independently of the estate and was making repeated discovers register spurious changes. Discover is idempotent again for accounts using agent pools.