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 formws_<8 Crockford-base32>(e.g.ws_3KF9TQ2P). It is accepted anywhere an org slug ororg_…id is —--workspace,ORUN_WORKSPACE, the committedexecution.state.workspace, and the GitHub Actions OIDC exchange. Because it never changes (unlike a slug, which can be renamed), thews_…id is the durable tenancy claim to commit tointent.yaml. workspaceleads the vocabulary.--workspace,ORUN_WORKSPACE, andexecution.state.workspaceare now the primary spellings. The declared value is always a Workspace — never the parent Account.orgretained as an alias.--org,ORUN_ORG, andexecution.state.orgkeep working as accepted aliases (the CLI reads either and prefersworkspace). 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 resolvesws_…, a slug, or anorg_…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.