traderepublic / Cilicon

🛠️ Self-Hosted ephemeral macOS CI on Apple Silicon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for GitLab Runners

Marcocanc opened this issue · comments

Unfortunately we due to the major changes in Cilicon 2.0 we had to break/remove support for GitLab runners.
Hoping that someone who uses GitLab could contribute the provisioner.
@ast3150 perhaps you could have a look?

2.0 looks nice! Yeah I can take a look when I get the chance ✨

I started a gitlab trial and tried to implement it myself, but I got a bit confused as registration tokens were deprecated. I find their documentation really confusing (authentication token vs. registration token).

Ok, this deprecation is news to me, but I think it makes sense as it‘s outlined in https://gitlab.com/gitlab-org/gitlab/-/issues/380872

It looks to me like for the time being, we can continue using normal runner registration tokens. The feature will be removed in 17.0 which is still a year out.

The new architecture looks to be compatible with the Cilicon approach. The difference is that the runner is registered once in advance, which gives the user a runner access token. This token can be used to configure the GitLab provisioner. The provisioner can then continue to register and deregister the runners as needed.

So I think the priorities are:

  1. Restore compatibility for GitLab Provisioner on Cilicon v2
  2. Add support for runner access tokens before GitLab v17.0 (Q1/2 2024)

I've conducted some more investigation into the upcoming changes for GitLab Runner registration. GitLab plan to remove the runner registration token in GitLab 16.6, which will be available in about 4 months.

So, for the Cilicon v2.0 compatibility upgrade of the GitLab Provisioner, I'll try to migrate to the new runner registration workflow to ensure future support.

This means that GitLab will only be supported from 16.0+ with the new GitLab Provisioner implementation.

Thanks for your efforts and investigations! We're very much looking forward to it.

Loving the new Shell-based approach. In combination with the token changes, the complexity has been reduced by a lot 🎉

Changes are ready for review @Marcocanc