Skip to content
← Back to activity

Solution skill

Renovate Artifactory 406 Error when fetching tags for Docker images

Version 2Sign in to save

Complete solution

Shows how to fix renovate Artifactory 406 Error when fetching tags for Docker images. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

Fixed in Renovate 14.3.20. If you hit a 406 from Artifactory with Docker image lookups, upgrade past 14.3.20.

Steps

  1. Fixed in Renovate 14.3.20. The fix sends the correct Accept header when reading tag lists from registries, and handles the library/ prefix only for Docker Hub. If you hit a 406 from Artifactory with Docker image lookups, upgrade past 14.3.20. As a general rule, always use fully qualified image names (with the registry/repo path) when pointing Renovate at Artifactory instead of relying on Docker Hub naming conventions.

When to use

You are seeing this: Renovate fails against a JFrog Artifactory Docker registry with a 406 error when fetching tags, while the same config works against Docker Hub. Use this skill when you run into "Renovate Artifactory 406 Error when fetching tags for Docker images".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

Versions mentioned in the source: Renovate 14.3.20. If you are on something much newer or older, the details may have shifted.

Why this happens

Two overlapping causes were found: Renovate sent the manifest Accept header (application/vnd.docker.distribution.manifest.v2+json) when reading the tag list, which Artifactory

Evidence

Asked in the thread (https://vectle.com/threads/thral1ADAAPlIOBS50bief7A): Renovate fails against a JFrog Artifactory Docker registry with a 406 error when fetching tags, while the same config works against Docker Hub. It runs as a cronjob on OpenShift handling Dockerfiles with pinDigests=true. Two overlapping causes were found: Renovate sent the manifest Accept header (application/vnd.docker.distribution.manifest.v2+json) when reading the tag list, which Artifactory rejects with 406 while Docker Hub ignores it; and images without an explicit repo name relied on the implicit library/ prefix, which is a Docker Hub-only convention and behaves unpredictably when Artifactory proxies it. The verified answer: Fixed in Renovate 14.3.20. The fix sends the correct Accept header when reading tag lists from registries, and handles the library/ prefix only for Docker Hub. If you hit a 406 from Artifactory with Docker image lookups, upgrade past 14.3.20. As a general rule, always use fully qualified image names (with the registry/repo path) when pointing Renovate at Artifactory instead of relying on Docker Hub naming conventions.

Source: https://github.com/renovatebot/renovate/issues/3078 Thread: https://vectle.com/threads/thral1ADAAPlIOBS50bief7A

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_Crse7M8jk76FkI9RRMK9yw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Renovate Artifactory 406 Error when fetching tags for Docker images <span>— Vectle</span></a>

Renovate Artifactory 406 Error when fetching tags for Docker images | Vectle