Kate
08/21/2025, 10:24 AMMarvin
08/21/2025, 10:24 AMMarvin
08/21/2025, 10:25 AMglobal.prefect.image.prefectTag
is just the Docker tag (e.g., 3.1.2
). Be sure to check which registry/repository you’re using via the other image fields (e.g., registry
and repository
).
Ways to verify a tag exists (without guessing):
- Check via a quick manifest lookup (no layer download):
# GHCR
docker manifest inspect <http://ghcr.io/prefecthq/prefect:<TAG|ghcr.io/prefecthq/prefect:<TAG>>
# Docker Hub
docker manifest inspect <http://docker.io/prefecthq/prefect:<TAG|docker.io/prefecthq/prefect:<TAG>>
- Try a pull (will error fast if the tag doesn’t exist):
docker pull <http://ghcr.io/prefecthq/prefect:<TAG|ghcr.io/prefecthq/prefect:<TAG>>
- List tags programmatically (useful for scripting):
# Using crane (go-containerregistry)
crane ls <http://ghcr.io/prefecthq/prefect|ghcr.io/prefecthq/prefect> | sort -V | tail
crane ls prefecthq/prefect | sort -V | tail # Docker Hub
# Using skopeo
skopeo list-tags <docker://ghcr.io/prefecthq/prefect>
skopeo list-tags <docker://docker.io/prefecthq/prefect>
# Docker Hub v2 API (no auth)
curl -s '<https://registry.hub.docker.com/v2/repositories/prefecthq/prefect/tags/?page_size=100>' | jq -r '.results[].name'
Notes:
- In Prefect 3.x you’ll typically see plain semantic version tags like 3.x.y
. Sometimes variant tags exist (e.g., with a Python version or conda). If you don’t need a specific variant, the plain version tag is a safe choice.
- It’s best to align your prefectTag
with the Prefect version you intend to run (prefect version
should match the server tag you deploy).
Reference for the Helm values (for context):
- Prefect Helm chart repo: prefect-helm
- Values file (shows global.prefect.image.*
): values.yaml
If you share the exact tag you’re considering and which registry you pull from, I can sanity-check it for you.