-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple runners #17
Comments
Is it even supported by the official kubernetes executor? On top of my head
(I am on the phone ATM) its limited to one reg,thus requiring multiple
runners if the split in reg/tags/config is needed.
…On Tue, Oct 4, 2022, 17:21 Guilhem Bonnefille ***@***.***> wrote:
I'm actively looking for a way to have a single gilab-runner instance
running multiple «runners» in order to create a single shared runner for
dedicated groups/projects (cf.
https://gitlab.com/gitlab-org/charts/gitlab-runner/-/issues/230) while
controlling the number of total jobs via a single concurrent property.
Do you think it make sense to improve your operator with a new CRD (for
example SharedRunner) allowing to define multiple registrations while
keeping a single gitlab-runner?
—
Reply to this email directly, view it on GitHub
<#17>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACJ5V4EZTBL7IGFBQOFPWTWBRKQPANCNFSM6AAAAAAQ4XSQP4>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
@gbonnefille
It might be achievable with something like
I can definitely see advantages to this, however I need to think about it (due to a lack of personal free time atm sadly).
|
No problem, the most important is that the idea is acceptable, so I can start looking how I can contribute to that. |
Here are some though after reading code. The most challenging part is, of course, to take into account any changes on the config. The gitlab-runner is able to reload automatically its config if a change occurs. So, no need to look for change in the The gitlab-runner-controler has to detect changes on |
@alekc I also started playing with the code (nothing functional yet). One idea is to stay as close as the Gitlab Runner configuration. Another idea is to reuse the « root » configuration as a default configuration. When I set multiple configurations in What do you think about such implementation direction? |
I am doing some work on it as well (you can see it in PR). I had to split Runner and Multirunner in 2 different CRD/controllers. Main reason is: as right now, Runner saves the information about latest registration tag, registration and auth tokens as a single field in the status (they are needed because otherwise we do not know if the reg spec has been changed or not). That obviously won't work with the multiple runners approach because we need to keep track of this data for every runner specified in the multirunner section. WHile I am at it, I am doing some minor/major refactoring around components and making them as generic as possible. You can expect a working testing demo in couple of days top. I'd rather not to touch too much existing runner because its simple and already used in some environments, so I would like to keep the change as small as possible for legacy (well, I am going to drop the secret containing token, but thats another story). |
I understand you don't want to risk breaking the legacy. |
Hey @gbonnefille , sorry for the delay. Past days were a bit more challenging that expected. You can try to build from the latest branch mentioned in the pr above.
A single runner (on kubernetes) is built and launched having following config:
There are still a quiet bit of work to do before this sees the end release but, so far looks good for most aspects. Todo list:
|
I'm actively looking for a way to have a single gilab-runner instance running multiple «runners» in order to create a single shared runner for dedicated groups/projects (cf. https://gitlab.com/gitlab-org/charts/gitlab-runner/-/issues/230) while controlling the number of total jobs via a single
concurrent
property.Do you think it make sense to improve your operator with a new CRD (for example SharedRunner) allowing to define multiple registrations while keeping a single gitlab-runner?
The text was updated successfully, but these errors were encountered: