{"id":31199,"date":"2022-09-07T06:43:42","date_gmt":"2022-09-07T06:43:42","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=31199"},"modified":"2022-12-23T05:47:27","modified_gmt":"2022-12-23T05:47:27","slug":"gitlab-tutorials-understanding-about-config-toml-example-of-config-toml","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/gitlab-tutorials-understanding-about-config-toml-example-of-config-toml\/","title":{"rendered":"GitLab Tutorials: Understanding runner config.toml &#038; Example of config.toml"},"content":{"rendered":"\n<p>The config.toml file is what configures a runner. You wouldn&#8217;t have one unless you&#8217;re running your own gitlab-runners, in which case it would be in \/etc\/gitlab\/config.toml on the host running the runner.<\/p>\n\n\n\n<p>You can change the behavior of GitLab Runner and of individual registered runners.<\/p>\n\n\n\n<p>To do this, you modify a file called config.toml, which uses the TOML format.<\/p>\n\n\n\n<p>GitLab Runner does not require a restart when you change most options. This includes parameters in the [[runners]] section and most parameters in the global section, except for listen_address. If a runner was already registered, you don\u2019t need to register it again.<\/p>\n\n\n\n<p>GitLab Runner checks for configuration modifications every 3 seconds and reloads if necessary. GitLab Runner also reloads the configuration in response to the SIGHUP signal.<\/p>\n\n\n\n<p>You can find the config.toml file in:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\/etc\/gitlab-runner\/ on *nix systems when GitLab Runner is executed as root (this is also the path for service configuration)<\/li><li>~\/.gitlab-runner\/ on *nix systems when GitLab Runner is executed as non-root<\/li><li>.\/ on other systems<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-executors\">The executors<a href=\"https:\/\/docs.gitlab.com\/runner\/configuration\/advanced-configuration.html#the-executors\" target=\"_blank\" rel=\"noopener\"><\/a><\/h2>\n\n\n\n<p>The following executors are available.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Executor<\/th><th>Required configuration<\/th><th>Where jobs run<\/th><\/tr><\/thead><tbody><tr><td><code>shell<\/code><\/td><td>&nbsp;<\/td><td>Local shell. The default executor.<\/td><\/tr><tr><td><code>docker<\/code><\/td><td><code>[runners.docker]<\/code>&nbsp;and&nbsp;<a href=\"https:\/\/docs.docker.com\/engine\/\" target=\"_blank\" rel=\"noopener\">Docker Engine<\/a><\/td><td>A Docker container.<\/td><\/tr><tr><td><code>docker-windows<\/code><\/td><td><code>[runners.docker]<\/code>&nbsp;and&nbsp;<a href=\"https:\/\/docs.docker.com\/engine\/\" target=\"_blank\" rel=\"noopener\">Docker Engine<\/a><\/td><td>A Windows Docker container.<\/td><\/tr><tr><td><code>docker-ssh<\/code><\/td><td><code>[runners.docker]<\/code>,&nbsp;<code>[runners.ssh]<\/code>, and&nbsp;<a href=\"https:\/\/docs.docker.com\/engine\/\" target=\"_blank\" rel=\"noopener\">Docker Engine<\/a><\/td><td>A Docker container, but connect with SSH.&nbsp;<strong>The Docker container runs on the local machine. This setting changes how the commands are run inside that container. If you want to run Docker commands on an external machine, change the&nbsp;<code>host<\/code>&nbsp;parameter in the&nbsp;<code>runners.docker<\/code>&nbsp;section.<\/strong><\/td><\/tr><tr><td><code>ssh<\/code><\/td><td><code>[runners.ssh]<\/code><\/td><td>SSH, remotely.<\/td><\/tr><tr><td><code>parallels<\/code><\/td><td><code>[runners.parallels]<\/code>&nbsp;and&nbsp;<code>[runners.ssh]<\/code><\/td><td>Parallels VM, but connect with SSH.<\/td><\/tr><tr><td><code>virtualbox<\/code><\/td><td><code>[runners.virtualbox]<\/code>&nbsp;and&nbsp;<code>[runners.ssh]<\/code><\/td><td>VirtualBox VM, but connect with SSH.<\/td><\/tr><tr><td><code>docker+machine<\/code><\/td><td><code>[runners.docker]<\/code>&nbsp;and&nbsp;<code>[runners.machine]<\/code><\/td><td>Like&nbsp;<code>docker<\/code>, but use&nbsp;<a href=\"https:\/\/docs.gitlab.com\/runner\/configuration\/autoscale.html\" target=\"_blank\" rel=\"noopener\">auto-scaled Docker machines<\/a>.<\/td><\/tr><tr><td><code>docker-ssh+machine<\/code><\/td><td><code>[runners.docker]<\/code>&nbsp;and&nbsp;<code>[runners.machine]<\/code><\/td><td>Like&nbsp;<code>docker-ssh<\/code>, but use&nbsp;<a href=\"https:\/\/docs.gitlab.com\/runner\/configuration\/autoscale.html\" target=\"_blank\" rel=\"noopener\">auto-scaled Docker machines<\/a>.<\/td><\/tr><tr><td><code>kubernetes<\/code><\/td><td><code>[runners.kubernetes]<\/code><\/td><td>Kubernetes pods.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-shells\">The shells<a href=\"https:\/\/docs.gitlab.com\/runner\/configuration\/advanced-configuration.html#the-shells\" target=\"_blank\" rel=\"noopener\"><\/a><\/h2>\n\n\n\n<p>The available shells can run on different platforms.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Shell<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>bash<\/code><\/td><td>Generate Bash (Bourne-shell) script. All commands executed in Bash context. Default for all Unix systems.<\/td><\/tr><tr><td><code>sh<\/code><\/td><td>Generate Sh (Bourne-shell) script. All commands executed in Sh context. The fallback for&nbsp;<code>bash<\/code>&nbsp;for all Unix systems.<\/td><\/tr><tr><td><code>powershell<\/code><\/td><td>Generate PowerShell script. All commands are executed in PowerShell Desktop context. In GitLab Runner 12.0-13.12, this is the default for Windows.<\/td><\/tr><tr><td><code>pwsh<\/code><\/td><td>Generate PowerShell script. All commands are executed in PowerShell Core context. In GitLab Runner 14.0 and later, this is the default for Windows.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Example<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ more \/etc\/gitlab-runner\/config.toml\r\nconcurrent = <span class=\"hljs-number\">1<\/span>\r\ncheck_interval = <span class=\"hljs-number\">0<\/span>\r\n\r\n&#91;session_server]\r\n  session_timeout = <span class=\"hljs-number\">1800<\/span>\r\n\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"rajeshkumar\"<\/span>\r\n  url = <span class=\"hljs-string\">\"http:\/\/43.205.228.212\/\"<\/span>\r\n  id = <span class=\"hljs-number\">3<\/span>\r\n  token = <span class=\"hljs-string\">\"AKrp1HueGK1DxaHxjNmD\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-06<\/span>T06:<span class=\"hljs-number\">40<\/span>:<span class=\"hljs-number\">14<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"shell\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"raju123\"<\/span>\r\n  url = <span class=\"hljs-string\">\"http:\/\/43.205.228.212\/\"<\/span>\r\n  id = <span class=\"hljs-number\">16<\/span>\r\n  token = <span class=\"hljs-string\">\"aZ9zvKntG8-PKsm8s1HN\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-06<\/span>T07:<span class=\"hljs-number\">13<\/span>:<span class=\"hljs-number\">53<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"shell\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"gitlab-test\"<\/span>\r\n  url = <span class=\"hljs-string\">\"https:\/\/gitlab.com\/\"<\/span>\r\n  id = <span class=\"hljs-number\">17373720<\/span>\r\n  token = <span class=\"hljs-string\">\"sJp-fyfCvj-K1M-yysfj\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-06<\/span>T09:<span class=\"hljs-number\">09<\/span>:<span class=\"hljs-number\">09<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"shell\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"docker\"<\/span>\r\n  url = <span class=\"hljs-string\">\"https:\/\/gitlab.com\/\"<\/span>\r\n  id = <span class=\"hljs-number\">17388862<\/span>\r\n  token = <span class=\"hljs-string\">\"RDoZpsR8XzyuipDHzYsz\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-07<\/span>T04:<span class=\"hljs-number\">31<\/span>:<span class=\"hljs-number\">53<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"docker\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n  &#91;runners.docker]\r\n    tls_verify = <span class=\"hljs-literal\">false<\/span>\r\n    image = <span class=\"hljs-string\">\"alpine\"<\/span>\r\n    privileged = <span class=\"hljs-literal\">false<\/span>\r\n    disable_entrypoint_overwrite = <span class=\"hljs-literal\">false<\/span>\r\n    oom_kill_disable = <span class=\"hljs-literal\">false<\/span>\r\n    disable_cache = <span class=\"hljs-literal\">false<\/span>\r\n    volumes = &#91;<span class=\"hljs-string\">\"\/cache\"<\/span>]\r\n    shm_size = <span class=\"hljs-number\">0<\/span>\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"group\"<\/span>\r\n  url = <span class=\"hljs-string\">\"https:\/\/gitlab.com\/\"<\/span>\r\n  id = <span class=\"hljs-number\">17389806<\/span>\r\n  token = <span class=\"hljs-string\">\"ES9VZQ4eZx_yfEyxVeqm\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-07<\/span>T05:<span class=\"hljs-number\">09<\/span>:<span class=\"hljs-number\">40<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"shell\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"linux-runner\"<\/span>\r\n  url = <span class=\"hljs-string\">\"https:\/\/gitlab.com\/\"<\/span>\r\n  id = <span class=\"hljs-number\">17390444<\/span>\r\n  token = <span class=\"hljs-string\">\"UHdwAw3MXnyf-C1NgwMR\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-07<\/span>T05:<span class=\"hljs-number\">49<\/span>:<span class=\"hljs-number\">15<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"shell\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n\r\n&#91;&#91;runners]]\r\n  name = <span class=\"hljs-string\">\"docker-runner\"<\/span>\r\n  url = <span class=\"hljs-string\">\"https:\/\/gitlab.com\/\"<\/span>\r\n  id = <span class=\"hljs-number\">17390576<\/span>\r\n  token = <span class=\"hljs-string\">\"_nHBeXQVrwj8V-xxq899\"<\/span>\r\n  token_obtained_at = <span class=\"hljs-number\">2022<\/span><span class=\"hljs-number\">-09<\/span><span class=\"hljs-number\">-07<\/span>T05:<span class=\"hljs-number\">57<\/span>:<span class=\"hljs-number\">22<\/span>Z\r\n  token_expires_at = <span class=\"hljs-number\">0001<\/span><span class=\"hljs-number\">-01<\/span><span class=\"hljs-number\">-01<\/span>T00:<span class=\"hljs-number\">00<\/span>:<span class=\"hljs-number\">00<\/span>Z\r\n  executor = <span class=\"hljs-string\">\"docker\"<\/span>\r\n  &#91;runners.custom_build_dir]\r\n  &#91;runners.cache]\r\n    &#91;runners.cache.s3]\r\n    &#91;runners.cache.gcs]\r\n    &#91;runners.cache.azure]\r\n  &#91;runners.docker]\r\n    tls_verify = <span class=\"hljs-literal\">false<\/span>\r\n    image = <span class=\"hljs-string\">\"alpine\"<\/span>\r\n    privileged = <span class=\"hljs-literal\">false<\/span>\r\n    disable_entrypoint_overwrite = <span class=\"hljs-literal\">false<\/span>\r\n    oom_kill_disable = <span class=\"hljs-literal\">false<\/span>\r\n    disable_cache = <span class=\"hljs-literal\">false<\/span>\r\n    volumes = &#91;<span class=\"hljs-string\">\"\/cache\"<\/span>]\r\n    shm_size = <span class=\"hljs-number\">0<\/span>\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>https:\/\/docs.gitlab.com\/runner\/configuration\/advanced-configuration.html<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The config.toml file is what configures a runner. You wouldn&#8217;t have one unless you&#8217;re running your own gitlab-runners, in which case it would be in \/etc\/gitlab\/config.toml on the host running&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-31199","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=31199"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31199\/revisions"}],"predecessor-version":[{"id":31202,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31199\/revisions\/31202"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=31199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=31199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=31199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}