Title: Actions Runner Controller (ARC): do you need Kubernetes? · Codemany docs
URL: https://codemany.com/docs/guides/actions-runner-controller
Description: Actions Runner Controller (ARC) runs GitHub Actions runners on Kubernetes. See when ARC is a good fit, when it is too much, and how it compares to Codemany.
All pages as Markdown: https://codemany.com/llms.txt

---

[Guides](https://codemany.com/docs#guides)

# Actions Runner Controller (ARC): do you need it?

Actions Runner Controller (ARC) is GitHub's tool to run self-hosted runners on Kubernetes. It fits big teams that already use Kubernetes. For one Mac or one Linux box, it is more than you need.

## What is ARC?

ARC runs GitHub Actions runners on Kubernetes. A runner is the computer that runs your job. Kubernetes is a system that runs many small app boxes, called containers, across many computers.

- GitHub makes ARC. The code is at [actions/actions-runner-controller](https://github.com/actions/actions-runner-controller).
- You install it with Helm charts, an app installer for Kubernetes.
- Runner scale sets add runners when jobs wait. They take them away when there is no work.
- Each runner is a pod, one small box that runs one job and is then removed.

## When is ARC a good fit?

ARC is a good fit when you already run Kubernetes.

- Your team runs a Kubernetes cluster, a group of computers that work as one.
- You need lots of Linux runners at once.
- Someone can run and fix the cluster.

For teams like this, the GitHub Actions Runner Controller is a good tool.

## When is ARC too much?

ARC is too much when you have just a few machines.

- You have one Mac mini or one Linux box.
- You are a small team with no one to run Kubernetes.
- You build iOS or Mac apps. Kubernetes can't run macOS, so ARC can't run Mac jobs.

Then a plain self-hosted runner, a computer you own, is simpler.

## ARC vs Codemany

The big difference: ARC needs Kubernetes, and Codemany does not.

| What | ARC | Codemany |
| --- | --- | --- |
| Needs Kubernetes | Yes | No |
| Mac jobs | No | Yes, on Apple silicon |
| Setup | Helm charts on a cluster | An app on a Mac, or one command on Linux |
| Fresh runner per job | Yes, one pod per job | Yes, wiped after each job |
| Cost | Free; you pay for the cluster | $20/month for 2 machines, 14 days free |

With Codemany, you change one workflow line: `runs-on: [self-hosted, codemany]`. Keep self-hosted runners off public repos. [Runner security](https://codemany.com/docs/guides/runner-security) says why.

## Questions

### What is Actions Runner Controller?

It is GitHub's Kubernetes tool for self-hosted runners. It adds and removes runners as jobs come and go.

### Does ARC support macOS runners?

No. ARC runs Linux containers, and Kubernetes can't run macOS. For Mac jobs, use a Mac as your runner.

### Do I need Kubernetes for self-hosted runners?

No. Any Mac or Linux computer you own can be a runner. You need Kubernetes only for ARC.

### Is Actions Runner Controller free?

Yes, the software is free. You still pay for the cluster it runs on.

## Related guides

Read next: [self-hosted runners](https://codemany.com/docs/guides/self-hosted-runner), [a self-hosted runner on Linux](https://codemany.com/docs/guides/linux-runner) and [single-use runners](https://codemany.com/docs/guides/ephemeral-runners).

[Previous Single-use runners](https://codemany.com/docs/guides/ephemeral-runners)[Next Cut GitHub Actions costs](https://codemany.com/docs/guides/actions-cost)
