runner.environment-provision-cloud-run ​
Provision Cloud Run environment for a runner group
Provision Cloud Run runner environment for a runner group.
Layers:
- validate — check required config fields, set PROVISIONING
- registry_mirror — ensure AR remote-repo mirror if the group's image is on a non-Cloud-Run-allowed upstream (CLOUDRUN-001). No-ops when
requires_cloud_run_registry_mirroris False. - github — register GitHub runner group (no-op for non-GITHUB)
- finalize — write RunnerCloudResource(CLOUD_RUN_JOB), set ACTIVE
Overview ​
| Property | Value |
|---|---|
| Workflow type | Dag |
| Library | App-runners-gcp |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
runner_group_uuid | uuid | Yes | — | UUID of the RunnerGroup this action operates on, picked from the organization's list of runner groups. |
organization_uuid | uuid | Yes | — | UUID of the caller's organization, injected server-side from the authenticated request; scopes the operation to the correct tenant. |
workflow_run_id | string | No | — | Engine-stamped workflow run ID |
workflow_run_uuid | string | No | — | Engine-stamped correlation/run id (ADR-015/E1); tolerated on input |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
runner_group_uuid | uuid | Yes | — | Runner group whose Cloud Run environment was provisioned |
organization_uuid | uuid | No | — | Organization that owns the runner group |
workflow_run_uuid | string | No | — | Internal engine correlation/run identifier for this DAG execution, stamped by the engine (ADR-015/E1); not a reference to any business entity. |
cloud_run_job_name | string | No | — | Cloud Run Job name created for the runner group |
project_id | string | No | — | GCP project ID the Cloud Run Job lives in |
region | string | No | — | Cloud Run region |
requires_cloud_run_registry_mirror | boolean | No | — | Whether the runner group needed an Artifact Registry mirror |
mirror_uuid | uuid | No | — | CloudRunRegistryMirror UUID created or reused for this group (when applicable). No list/get workflow exists for this entity today; this is an internal echo, not a caller-supplied value. |
github_runner_group_id | string | No | — | Registered GitHub runner-group ID (GitHub integration only) |
failure_reason | string | No | — | Populated only when the workflow ends in FAILED |
failure_type | string | No | — | — |
failed_action | string | No | — | — |
failed_at_state | string | No | — | — |
failed_step | string | No | — | — |
failed_layer | string | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
validate_cloud_run_environment | json | No | — | Output of the validate_cloud_run_environment DAG step |
ensure_registry_mirror | json | No | — | Output of the ensure_registry_mirror DAG step |
register_github_runner_group | json | No | — | Output of the register_github_runner_group DAG step |
finalize_cloud_run_environment | json | No | — | Output of the finalize_cloud_run_environment DAG step |
DAG Layers ​
| # | Layer | Steps | Compensation |
|---|---|---|---|
| 1 | validate | runner.validate_cloud_run_environment | — |
| 2 | registry_mirror | runner.cloud-run-registry-mirror-ensure | — |
| 3 | github | runner.register_github_runner_group | — |
| 4 | finalize | runner.finalize_cloud_run_environment | — |
Execution Flow ​
Sub-workflows ​
| Sub-workflow | Step name |
|---|---|
runner.validate_cloud_run_environment | validate_cloud_run_environment |
runner.cloud-run-registry-mirror-ensure | ensure_registry_mirror |
runner.register_github_runner_group | register_github_runner_group |
runner.finalize_cloud_run_environment | finalize_cloud_run_environment |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "runner.environment-provision-cloud-run",
"initial_data": {
"runner_group_uuid": "value",
"organization_uuid": "value"
}
}