Hardware
CodeFloe provides the following servers to process CI/CD jobs:
| Name | Type | Architecture | CPU | Memory | Job Capacity | CPU/Job | Mem/Job |
|---|---|---|---|---|---|---|---|
| artemis | Hetzner AX42 (dedicated) | amd64 | 16 | 64 GB | 8 | 4 | 7 GB |
| ci-1 | devxy PVE cluster (zeus) | amd64 | 8 | 22 GB | 9 | 4 | 7 GB |
| ci-2 | devxy PVE cluster (hera) | amd64 | 8 | 16 GB | 6 | 2 | 7 GB |
| ci-3 | devxy PVE cluster (poseidon) | amd64 | 16 | 32 GB | 13 | 4 | 7 GB |
| ci-arm1 | Hetzner CAX41 (cloud) | arm64 | 16 | 32 GB | 6 | 4 | 7 GB |
| gaia | Apple Mac Mini M4 | arm64 | 10 | 32 GB | 5 | 4 | 3.5 GB |
The ci-1, ci-2 and ci-3 runners are virtual machines on a self-managed Proxmox VE cluster, which itself runs on rented Hetzner bare metal.
They sit on desktop-class CPUs (an AMD Ryzen 9 7950X3D for ci-1, an Intel Core i9-13900 for ci-2 and ci-3), which buys a noticeably higher single-core clock than the cloud instances.
Each VM carries a share of its host’s rental, listed on the infrastructure hardware page.
Because they have no public address, they reach the Crow server and Forgejo through a Headscale tailnet.
Capacity Split
Section titled “Capacity Split”The total job capacity of all runners is split 50/50 between Crow CI and Forgejo Actions:
| Name | Crow CI | Forgejo Actions |
|---|---|---|
| artemis | 5 | 3 |
| ci-1 | 5 | 4 |
| ci-2 | 3 | 3 |
| ci-3 | 5 | 8 |
| ci-arm1 | 3 | 3 |
| Sum | 21 | 21 |
gaia is not part of this split and is scheduled independently.
Per-Job Resources
Section titled “Per-Job Resources”Every job gets a hard memory limit of 7 GB and a CPU quota of 4 cores.
The only exception is ci-2, which limits jobs to 2 cores because it has the smallest CPU allocation.
Limits apply per job, not per workflow. A workflow with several parallel jobs therefore receives a multiple of these values, spread over whichever runners pick the jobs up.