Orkestia
Blog
Runners

GCE

Runner group kind backend_type=gce — one Google Compute Engine VM per execution (beta)

backend_type: gce. Connection: GCP. Status: beta.

Each execution is a Compute Engine VM. The startup path installs Docker with apt-get, so the boot image must be Debian/Ubuntu. Zone failover is first-class: an ordered zones list is walked when a zone is exhausted.

When to choose it

  • GCP-resident CI that needs a VM (not Cloud Run).
  • You need zone failover on ZONE_RESOURCE_POOL_EXHAUSTED.

Choose Cloud Run for job-shaped serverless on GCP.

Connection

A GCP connection.

Required config

KeyTypeMeaning
project_idstringGCP project that owns the VMs.
zonestringPrimary zone (e.g. us-central1-a). Ignored when zones is set.
machine_typestringMachine type (e.g. e2-medium).
vm_imagestringBoot disk image. Must be a Debian/Ubuntu family image.

Example vm_image: projects/ubuntu-os-cloud/global/images/family/ubuntu-2204-lts.

Optional knobs

zones (ordered failover list — takes precedence over zone), container_image (required for GitHub/GitLab CI groups; agent groups can resolve the platform agent image), volume_size_gb (GCE default 10 GB is too small for Docker CI — set 30+), disk_type, capacity_type (ON_DEMAND / SPOT), vpc_network, subnetwork, service_account_email.

Execution control

Suffixed workflows: runner.execution-{stop,restart,sync,logs-sync}-gcp.

Beta. End-to-end provisioning, reconcile-loop scaling, and health-reap are partial in the GCP runner library. Verify the live runner.* catalog before production CI.