Replies: 3 comments
-
|
You're trying to understand why this naming convention is required and whether it's safe to modify it — especially since changing the name seems to cause problems, such as: "/home/runner/.runner doesn't exist on the host" 🔍 GitHub Actions Context In ARC, when using ephemeral runners, the pod typically consists of: A main runner container, usually named runner Optionally, sidecars like DinD (Docker-in-Docker) Shared volumes for configuration and data The container named runner is assumed to be the one that actually: Executes the GitHub Actions runner binary Uses /home/runner as the work directory Writes registration metadata in .runner (e.g. config, tokens, etc.) 📌 Why the runner Container Name Matters This is likely due to a hardcoded assumption in: ARC's logic that mounts volumes, sets up environment, or copies secrets The Actions Runner Docker image entrypoint, which may: Expect config paths in fixed locations Possibly mount a shared volume under /home/runner Interact with other containers or the host based on that name For example: ARC might create a shared volume and mount it only into a container named runner If you change the container name (e.g. custom-runner), the mount or config copy step may not happen As a result, the .runner directory is never created → breaking the runner startup 🧪 Your Observation "I ended up patching ARC to remove this assumption" That’s a valid exploration — but unless you also update the runner image, or ARC's controller logic responsible for volume mounting, your patch might not be enough. ✅ Recommendations Stick to runner unless you want to fork and fully maintain the ARC + runner image logic. If you must change the container name: Carefully audit the ARC source (especially the runnerpod.go and ephemeral_runner.go) Ensure that: Volumes like /home/runner are correctly mounted Config files (e.g. .runner) are copied/created The entrypoint scripts inside the runner image don’t assume the container name Open an issue or discussion in the ARC GitHub repo |
Beta Was this translation helpful? Give feedback.
-
|
You've hit a core, non-configurable design point in the Actions Runner Controller (ARC) and the associated runner image. The requirement for the container name to be Why the Container Name Must Be
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Why are you starting this discussion?
Question
What GitHub Actions topic or product is this about?
Actions Runner Image
Discussion Details
Hi! I was wondering why the ARC and Actions Runner Image requires the
EphemeralRunnerContainerNameto berunner?I ended up patching ARC to remove this assumption but when I try to run the actual runner image it seems like
/home/runner/.runnerdoesn't exist on the host, is there an assumption somewhere that doesn't copy over the configuration files if the container is not namedrunner?Beta Was this translation helpful? Give feedback.
All reactions