Google Cloud

Sign in with Google, then choose a project with the Compute Engine API enabled. Codemany asks for Compute Engine, read-only billing prices and, optionally, a read-only list of your projects.

Before you start

  1. A Google Cloud account with a billing account (Billing › Manage billing accounts).

  2. A project linked to that billing account, for example codemany-ci (the project picker at the top of the console › New project). A project for Codemany alone keeps its machines apart from everything else.

  3. The Compute Engine API enabled on the project: open Compute Engine › VM instances and choose Enable.

  4. The default network's SSH rule, which lets Codemany reach the machine on port 22. New projects have it.

With the gcloud CLI instead:

gcloud projects create codemany-ci-$RANDOM --name="Codemany CI"   # note the id it prints
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
gcloud services enable compute.googleapis.com --project=PROJECT_ID

Connect

  1. In Add a cloud machine, choose Google Cloud.

  2. Choose Sign in with Google. Your browser opens Google's sign-in; approve the access Codemany asks for (the projects permission is optional, see below). The sign-in comes back to Codemany on this machine (a loopback redirect with PKCE).

  3. Back in the dialog it says "Signed in. Choose the project for your machines." Pick the Project from the list of projects the sign-in can see (the first 500; a lone project is chosen for you), or choose Type a project id instead and enter its id (like my-project-123, not the project's name). With no projects to list, the dialog asks for the id. Then choose Connect.

What Codemany can do

The sign-in asks for three permissions only:

  • https://www.googleapis.com/auth/compute, to create, start, stop and delete machines;
  • https://www.googleapis.com/auth/cloud-billing.readonly, to read list prices from the Cloud Billing catalog;
  • https://www.googleapis.com/auth/cloudplatformprojects.readonly, optional, only to list your projects to pick from. Leave it unticked and you type the project id instead.

Codemany only touches instances labelled codemany=managed, the ones it created, whatever else the account can reach. The refresh token is kept in the Mac Keychain or the Linux keyring on this machine and is never sent to Codemany's servers.

Regions and sizes

  • Regions: every zone that is up, like us-central1-a.
  • Sizes: 2, 4 and 8 vCPUs with 4 GB per vCPU, in three families: E2 (the cheapest), N2 (Intel, with nested virtualization, so each job can get a fresh VM) and T2A (Arm).
  • Disk and image: a 100 GB balanced persistent disk and Ubuntu 24.04 LTS.
  • Prices: from the Cloud Billing catalog, in USD: list prices with the 100 GB disk, before any discount on your account.

The list shows the sizes that hold at least one runner, cheapest first, each with its monthly price; All sizes shows the rest. The cheapest x86 size that runs a runner is preselected, so most people only press Next. The size marked Recommended is usually e2-standard-4 (4 vCPUs, 16 GB: 2 jobs at a time), or n2-standard-4 when it costs at most a quarter more. The Linux server guide estimates an e2-standard-4 with a 100 GB balanced disk at about $110 a month in us-central1 running all month; the dialog shows the exact price before you confirm.

Use a project for Codemany alone: its machines stay apart from everything else, and you can see the whole bill in one place.

Cost control

A stopped instance bills only its disk, so idle stop is on by default here: the machine stops after 15 minutes without jobs and starts when one queues. A monthly spending cap is available too. See Idle stop and spending caps.

Find its machines in the console

Compute Engine › VM instances, filtered by the label codemany=managed. Remove them from Codemany rather than the console, so their runners, seat and fleet membership go too.

Disconnect

Remove its machines first, then choose Disconnect next to Google Cloud in Add a cloud machine, and one of two choices:

  • Disconnect here only forgets the Google sign-in on this computer. Other computers signed in to Codemany with the same Google account stay signed in.
  • Disconnect and revoke at Google also asks Google to revoke Codemany's access. This signs out any other computer using this Google account for Codemany. If Google can't be reached, this computer is still disconnected; remove Codemany at myaccount.google.com/permissions instead.

Uninstalling Codemany does neither: remove cloud machines and disconnect first. See Privacy.