Can not use the runner session server in kubernetes without load balancer provider

Summary

It it currently not possible to use the session feature of gitlab-runner in kubernetes since there is no way to alter the kubernetes service supposed to expose this feature.

The current implementation makes the service stay in a pending state forever, making any gitops-like too to consider the helm release as not stabilized.

Steps to reproduce

Deploy the helm chart setting the sessionServer.enabled field to true

Configuration used

(Please provide a sanitized version of the configuration used wrapped in a code block (```yaml))

    checkInterval: 5
    concurrent: 10
    gitlabUrl: http://gitlab-webservice-default.gitlab.svc.cluster.local:8181
    probeTimeoutSeconds: 10
    metrics:
      enabled: true
      serviceMonitor:
        enabled: true
    service:
      enabled: true
    sessionServer:
      enabled: true
    runners:
      config: |
        [[runners]]
          output_limit = 25000
          [runners.kubernetes]
            image = "ubuntu:22.04"
            helper_image = "gitlab/gitlab-runner-helper:ubuntu-x86_64-latest"
            cpu_limit = "4"
            memory_limit = "8Gi"
            cpu_request = "0.5"
            memory_request = "500Mi"
            poll_timeout = 600

Current behavior

The gitlab session server service remains in a pending state forever since I have no load balancer provider on this cluster

image

Expected behavior

Be able to override the service type to be able to use at the very least a nodePort or an internal service address

Versions

  • Chart: 0.63.0
  • Platform: not relevant
  • Kubernetes: not relevant
  • Helm: not relevant

Relevant logs

N/A