That’s not a problem that needed solving

This is a re-post of something I’ve shared before, but it comes up so often in software development that it’s worth mentioning again.

It’s important to be aware of the relative importance of everything you’re working on. If something doesn’t add value, why are you working on it? If you’re working on trying to fix something that doesn’t need fixing, why are you spending some looking for a solution?

Don’t waste time trying to fix things that are not broken.

GitLab Runner with Docker executor: “client version 1.43 is too old”

Setting up a Docker image build in my GitLab ci I got this error:

ERROR: Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version: driver not connecting

Docker version on the VM running the GitLab Runner:

$ docker --version
Docker version 29.1.3, build f52814d

Versions in my .gitlab-ci.yml:

image: docker:24.0.5-cli
services:
  - docker:24.0.5-dind

Updated both to match the Docker version on the VM resolved the issue.

gitlab-runner unable to pull repos (host not found)

I’ve set up a new gitlab-runner on my homelab GitLab server. It’s using a Docker executer, and when it attempts to pull the repo to build, it’s gets error:

Could not resolve host: gitlab.local (Domain name not found)

gitlab.local is in /etc/hosts on the VM and I can ping the name and it resolves. A quick Google found this post, and the suggestion is to edit /etc/gitlab-runner/config.toml and add:

network_mode = "host"

to the [runners.docker] section. Seems like that fixes the issue.