cattle-ops / terraform-aws-gitlab-runner

Terraform module for AWS GitLab runners on ec2 (spot) instances
https://registry.terraform.io/modules/cattle-ops/gitlab-runner/aws
MIT License
577 stars 326 forks source link

Add support for session_server #92

Open roock opened 5 years ago

roock commented 5 years ago

It would be cool if we could support session_server in the gitlab runner config for interactive webterminals

https://docs.gitlab.com/ee/ci/interactive_web_terminal/index.html https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-session_server-section

npalm commented 5 years ago

@roock cool idea, any idea thoughts for an implementation?

roock commented 5 years ago

some thoughts:

kayman-mk commented 4 years ago

Oh yes, a feature I missed already. Guess no work is going on at the moment, right?

npalm commented 4 years ago

Yep, no development is going on, feel free to create a PR

kayman-mk commented 4 years ago

The EIP is assigned to the runner agent. #124 will not be solved here. I will also offer the possibility to add a rule to a load balancer instead of assigning an EIP.

kayman-mk commented 4 years ago

I reviewed my last comment and think that it makes no sense to add an IP or load balancer or something else. The reason is, that you should already been able to reach the runner from your gitlab instance (to start the build jobs).

roock commented 4 years ago

I reviewed my last comment and think that it makes no sense to add an IP or load balancer or something else. The reason is, that you should already been able to reach the runner from your gitlab instance (to start the build jobs).

Afaik there is a difference between regular runner jobs and the session Server. For regular jobs, the runner will establish a http connection to the gitlab server. For the session server, Gitlab will establish a (tls-encrypted) connection to the runner, so you will need to expose the session service to Gitlab.

kayman-mk commented 4 years ago

Oh yes, you are absolutely right. I will add options for an IP address and a load balancer (ALB, ELB do not work here, see https://docs.gitlab.com/ee/administration/integration/terminal.html#enabling-and-disabling-terminal-support)

roock commented 4 years ago

The module already supports adding an EIP directly to the instance. Not sure if it is strictly required to put it behind a ALB, although it might be a more elegant solution.

kayman-mk commented 4 years ago

@roock Yeah, just saw it. So nothing to do for the EIP. An ALB listener can now be passed to the module. But the test is still missing. The idea is to use either EIP or ALB. Depends on your preferences, company guidelines, ...

kayman-mk commented 2 years ago

Hm, still on my wishlist. Using an ALB is too complicated. Let's stick with the EIP solution which is already in place.

kayman-mk commented 2 years ago

Ok, let's give it another try. Stick with EIP for the base feature and add ALB support later.

connorshea commented 1 month ago

Was there any progress toward this? :)

kayman-mk commented 1 month ago

No progress at all. Any ideas?