Skip to content

Remote Workspaces

kadubon edited this page Aug 25, 2026 · 1 revision

Remote Workspaces

Prerequisites

Remote CPCF commands require a configured control-plane endpoint and a short-lived OIDC access token. Device login keeps a token only in an available operating-system keyring; if no secure keyring is available, login fails rather than writing a plaintext token file. CPCF_TOKEN is the explicit non-persistent environment alternative.

set CPCF_API_URL=https://cpcf.example.org
set CPCF_OIDC_DEVICE_AUTHORIZATION_ENDPOINT=https://identity.example.org/oauth/device
set CPCF_OIDC_TOKEN_ENDPOINT=https://identity.example.org/oauth/token
set CPCF_OIDC_CLIENT_ID=cpcf-cli
cpcf auth login --json

Use export rather than set in POSIX shells. Example endpoints and token strings are placeholders; do not publish real endpoints or credentials.

Read first

Start by inspecting current state:

cpcf workspace status WORKSPACE --json
cpcf agent onboard --workspace WORKSPACE --json

For each proposed mutation, establish the tenant, workspace, immutable generation, authority, and effect class before sending it. Existing-workspace mutations require the expected generation through If-Match; stale generations fail. The CLI supplies an idempotency key, and callers should set CPCF_IDEMPOTENCY_KEY when retries must retain the same identity.

Mutation does not mean admission

Examples of state-changing operations include creating a workspace, uploading an object, admitting an object, and starting an audit. Uploaded CAS bytes remain non-authoritative quarantine material until a later signed admission generation.

A 202 response means the request was queued. It does not mean the evidence was admitted, the generation advanced, an audit passed, or an external action occurred. The worker must reload the authoritative snapshot and revalidate the requested operation before an effect. Re-read the generation, admission, audit status, or relevant source-of-record system before reporting a result.

Runner gateway scope

The runner gateway contract includes claim, heartbeat, bounded artifact upload, and completion. Its checked-in implementation is a deterministic conformance service, not a claim of a production, multi-replica transport. Read Execution and Legacy Compatibility before associating runner receipts with an external effect.

Clone this wiki locally