Gitlab runner using Podman unable to pull helper image

Pipelines fail when trying to run Podman executor

We are running a self-managed gitlab ce instance. I am currently trying to setup a gitlab runner using podman and have got to a stage where the pipeline run fails trying to pull the helper image from gitlab registry.

If I pull the helper image manually and run the gitlab-runner with pull_policy = “if-not-present”, the pipeline passes.

When I exec into the gitlab-runner container I can see the proxy settings are correct and I can wget and curl pages from outside our network.

  • gitlab version: 16.0.1

  • gitlab-runner version: 16.1.0

  • podman version: 4.2.0

  • config.toml:

listen_address = “localhost:9252”
concurrent = 5
check_interval = 0
shutdown_timeout = 0

[session_server]
session_timeout = 1800

[[runners]]
name = “test_podman_runner”
url = “https://gitlab.xxxxxxxxxxxxx/
id = 190
token = “glrtxxxxxxxxxxxxxx
token_obtained_at = 2023-06-20T15:42:13Z
token_expires_at = 0001-01-01T00:00:00Z
executor = “docker”
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.docker]
tls_verify = false
image = “ruby:2.7”
host = “unix:///var/run/docker.sock”
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = [”/cache"]
shm_size = 0
pull_policy = “if-not-present”

helper_image = “registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:alpine-latest-x86_64-b72e108d

It appears to me as though it’s a proxy error, but I can’t see where it may be.

Hope someone can steer me in the right direction

I get that you go to the internet via HTTP proxy. The helper image is pulled by Podman not by gitlab-runner container, so the Podman needs to have the HTTP Proxy configured.

1 Like