KamoCRM

Cap heavy CI builds on k1m1 in cibuild.slice

FeatureKlusterServices
Shipped
November 12, 2026 at 10:00 PM UTC
Author
Kamo
Commit
5740fe7

On 2026-11-12 the Docs-fork LibreOffice build ran make -j 48 inside dockerd's build engine. It saturated k1m1's single disk (etcd, apiserver, YugabyteDB, Forgejo and Docker share it), and kube-apiserver stopped answering until the build was killed. A build's RUN steps run in system.slice with no limits, and ionice is ignored on this disk (mq-deadline). - **************** 12 cores, 20G/24G memory, no swap, 50MB/s + 300/150 IOPS on sdc. A build opts in with --cgroup-parent=cibuild.slice. - A Job (privileged, nsenter) installs it and the forgejo-runner config on k1m1, verifies the limits landed in the cgroup, and restarts the runner only once no job is running. - Runner timeout 3h -> 8h, so a capped LibreOffice build can finish. - deploy-services applies it when node-config/ changes.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing