I am trying to debug a job on a gitlab runner. From what I understand, I need to modify the gitlab runner config in order to enable the interactive web terminal.
My current config.toml
looks like:
concurrent = 1
check_interval = 0
[[runners]]
name = "XXX"
url = "https://URL.TO.SELF.HOSTED.GITLAB.INSTANCE"
token = "XXX"
executor = "docker"
builds_dir = "/build"
cache_dir = "/cache"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "ubuntu:18.04"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
I understood from the documentation that I need to add [session_server]
section to the top level of the config:
[session_server]
listen_address = "[::]:8093" # listen on all available interfaces on port 8093
advertise_address = "runner-host-name.tld:8093"
session_timeout = 1800
There are 3 questions that I have:
I do not understand what should I add instead of
runner-host-name.tld
? From the documentation, it is: "The URL that GitLab Runner will expose to GitLab to be used to access the session server". However, where can I find what URL is used?I saw here that I should specify IP address of the running machine, not host name. How is it different from specifying host name? Does it affect anyhow the security?
In the documentation, it is also written: "The runner will create a TLS certificate automatically to have a secure connection". Should I make any additional step to secure the connection?
I would also highly appreciate if you could recommend me some books/materials to read on the topic.