actions / actions/actions-runner-controller
Make `RepositoryNames` Atttribute Optional for RunnerDeployments Backed by a HRA
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
Initially discussed in https://github.com/summerwind/actions-runner-controller/pull/303, see for more details. Creating a seperate feature issue so it doesn't get lost @mumoshu /
Problem
At the moment you need to maintain a RepositoryNames list in both the RunnerDeployment as well as the HorizontalRunnerAutoscaler that backs it. This is non-optimal for obvious reasons
Solutions
- Make the RepositoryNames list optional with RunnerDeployment and mandatory with HRAs. They can be included in RunnerDeployment so you can run sets of RunnerDeployments without a HRA if you really want but excluded if your RunnerDeployment is backed by a HRA
- Or do it the other way, remove RepositoryNames from the HRA spec and make it pull its list from the RunnerDeployment it is targeting instead. If this approach was taken I wouldn't even make RepositoryNames part of the HRA spec, from my knowledge of the solution I don't see any benefit being able to define the RepositoryNames list twice? Even if you could point 1 HRA at multiple RunnerDeployments I would still make it get its list from all the associated targets instead of having to maintain its own list.
Option 1 was preferred because GitHub API doesn't provide us the way to efficiently calculate which repository uses which organizational runner and how busy they are.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing linked pull request #303 and the RunnerDeployment and HorizontalRunnerAutoscaler specifications and reconciliation paths. Resolve which proposed ownership model for RepositoryNames is intended, then verify that the chosen model avoids duplicate configuration while preserving supported RunnerDeployment and HRA behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, go, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100