Deployment
Validation and Ownership
Validate remote routing and compute ownership state
Overview
validate-ownership verifies that remote compute routing is correctly configured.
The command checks worker availability, active deployment state, and (when app URL is provided) app-side diagnostics.
Basic validation
npx workflow-studio compute validate-ownership \
--url https://worker.example.comOptional:
--config ./workflow.config.tsto load typedremoteWorldTargetfrom config.
Checks performed:
- worker health endpoint is reachable,
- active deployment exists.
Strict validation
npx workflow-studio compute validate-ownership \
--url https://worker.example.com \
--app-url https://app.example.com \
--strictAdditional strict checks:
- app diagnostics endpoint is reachable,
- app runtime target world matches expected remote target,
- diagnostics ownership status is not
fail.
Exit codes
See CLI Commands — exit codes for all command exit codes.
For validate-ownership: 0 = pass, 2 = warnings only, 1 = hard failure.
Production diagnostics authentication
When diagnostics endpoint auth is enabled in production:
npx workflow-studio compute validate-ownership \
--url https://worker.example.com \
--app-url https://app.example.com \
--strict \
--diagnostics-token "$WORKFLOW_STUDIO_DIAGNOSTICS_TOKEN"Common failures
No active deployment
Output includes an active deployment failure.
Action:
- run
workflow-studio compute activate --deployment-id <id> ...
Target world mismatch
App runtime target world does not match expected remote target.
Action:
- set
WORKFLOW_TARGET_WORLD=workflow-studio/world-remoteon the application deployment.
Diagnostics endpoint unavailable
App diagnostics endpoint cannot be reached.
Action:
- verify route registration,
- verify auth token configuration,
- rerun with correct
--app-url.
CI usage
- name: Validate Remote Ownership
run: |
npx workflow-studio compute validate-ownership \
--url "$WORKFLOW_COMPUTE_BASE_URL" \
--app-url "$APP_URL" \
--strict
env:
WORKFLOW_COMPUTE_BASE_URL: ${{ secrets.WORKFLOW_COMPUTE_BASE_URL }}
APP_URL: ${{ vars.APP_URL }}