Skip to main content

v2.20.0

Release notes for orun v2.20.0.

This release makes Workspace the leading vocabulary for Orun Cloud tenancy and introduces the short, immutable Workspace ID (ws_…) — a durable value you can commit to intent.yaml and never have to touch again. org/--org/ ORUN_ORG are retained as accepted aliases, so every existing config keeps working unchanged.

Highlights​

  • Workspace IDs (ws_…). Every Workspace now has a short, immutable, public ID of the form ws_<8 Crockford-base32> (e.g. ws_3KF9TQ2P). It is accepted anywhere an org slug or org_… id is — --workspace, ORUN_WORKSPACE, the committed execution.state.workspace, and the GitHub Actions OIDC exchange. Because it never changes (unlike a slug, which can be renamed), the ws_… id is the durable tenancy claim to commit to intent.yaml.
  • workspace leads the vocabulary. --workspace, ORUN_WORKSPACE, and execution.state.workspace are now the primary spellings. The declared value is always a Workspace — never the parent Account.
  • org retained as an alias. --org, ORUN_ORG, and execution.state.org keep working as accepted aliases (the CLI reads either and prefers workspace). No flag, env var, or field was removed.
  • Fully back-compatible. Existing org/org_…/slug configs run unchanged. The CLI passes the declared value opaquely; the platform resolves ws_…, a slug, or an org_… id server-side.

Declaring a Workspace in intent.yaml​

execution:
state:
mode: remote
backendUrl: https://api.orun.cloud
workspace: ws_3KF9TQ2P # Workspace ID — short, immutable, safe to commit.
# A slug (acme) or org_… id is also accepted.
# org: acme # retained alias of `workspace` (prefer workspace)
# project: <repo> # advanced override only; default is the repo
requireOrg: true # strict mode (implied whenever a workspace is set)
autopushCatalog: true # publish the resolved catalog after a clean default-branch plan

Workspace-claim precedence: --workspace/--org > ORUN_WORKSPACE/ ORUN_ORG > execution.state.workspace/org > the cached link. The resolved value is always sent in the OIDC exchange body and the API-key request.

Upgrading​

No action required — the workspace vocabulary and the ws_… id are purely additive, and every existing org/org_…/slug config keeps working. To adopt the durable form, look up your Workspace ID in the console and commit it as execution.state.workspace: ws_…; unlike a slug it survives a rename, so it is the value you want under review control.