Skip to content

Build

Managed GitHub Actions runners on your own cluster

Self-hosted GitHub Actions runners on your own cluster, one fresh pod per job, scaled by GitHub's Actions Runner Controller.

Installed once per cluster and shared by every project on it.

A recent addition. It installs today, and the console marks it as new until it has run on a customer's cluster.

01What it does

GitHub Actions runners, run for you

GitHub's Actions Runner Controller 0.14.2 in scale-set mode, one runner set per install.

Point a set at a GitHub organization, a repository or an enterprise with a personal access token, and workflows that say runs-on with its name run on your cluster. Each job gets a fresh pod that is removed when the job ends, and the controller asks GitHub for work over an outbound connection, so it needs no webhook and works on a cluster nothing can reach.

Install it once per label you want: a set for the organization's CI, another for one repository, another sized for heavy jobs. Every set on a cluster shares one controller. Docker-in-Docker mode runs a privileged Docker daemon beside each runner, so jobs can docker build and use container: steps; a privileged container can reach the node, so keep it for repositories you trust.

The token is written to the cluster as a Secret and never stored by Anyport; the GitHub URL is filled in from your GitHub connection. The runner name is fixed once installed, because GitHub keeps the label a set registered with: to rename one, add a new set and delete the old one, which deregisters it. Runners live in the namespace Anyport already uses for its own builds, not inside any project.

02Options

What you choose

What the console asks when you create it, in the catalog's own numbers. Anything marked chosen once cannot change without creating a new instance.

Scope
Per cluster, as many sets as you need
Registers with
An organization, a repository or an enterprise
Credential
A personal access token: classic with repo or admin:org scope, or fine-grained with runner administration
Runners
Minimum 0 (default) up to a maximum, 5 by default
Container mode
Standard, or Docker-in-Docker for docker build
Optional
Extra labels, a runner group, the runner image, CPU and memory per runner

03Adding it

Add GitHub Actions runners to a cluster

Cluster-scoped, so it is added from the cluster rather than from a project, once.

  1. 01Open the cluster and go to Services.
  2. 02Pick GitHub Actions runners, name the set, and paste a personal access token. The GitHub URL is already filled in from your connection.
  3. 03Install it. Anyport installs the controller once for the cluster and registers the set with GitHub.
  4. 04Target it from a workflow with runs-on and the set's name. Add another set for another label.