argocd-image-updater
argocd-image-updater copied to clipboard
semver update strategy with no constraint also picks prereleases
Describe the bug if I have an image with update strategy set to 'semver' and without any version constraint, argocd-image-updater will pick a prerelease version if it's greater than any release
To Reproduce Steps to reproduce the behavior:
- have a docker image with the following tags:
v1.0.1-64.272fa09
,v1.0.0
- create an application with that image, and enable argocd-image-updater on it (semver stratrgy, no constraints)
Expected behavior
argocd-image-updater updates the image to v1.0.0
Additional context the docs currently say
Updating to pre-release versions (e.g. -rc1) is supported, but must be explicitly allowed (see below).
if the current behaviour is intended, please fix them
Version 0.11.3
Logs without constraint:
╰$ dist/argocd-image-updater test 000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name --registries-conf=r.conf --loglevel=trace
INFO[0000] getting image image_name=image/name registry=000000000000.dkr.ecr.us-west-2.amazonaws.com
DEBU[0000] rate limiting is disabled prefix=000000000000.dkr.ecr.us-west-2.amazonaws.com registry="https://000000000000.dkr.ecr.us-west-2.amazonaws.com"
INFO[0000] Loaded 1 registry configurations from r.conf
INFO[0000] /Users/****/Workspace/forks/argocd-image-updater/ecr.sh dir= execID=dur2H
INFO[0001] Fetching available tags and metadata from registry image_name=image/name
TRAC[0002] https://000000000000.dkr.ecr.us-west-2.amazonaws.com/v2/image/name/tags/list
INFO[0003] Found 35 tags in registry image_name=image/name
DEBU[0003] could not parse input tag latest as semver: Invalid Semantic Version
TRAC[0003] Finding out whether to consider v0.0.0-10-17ef46e for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] Finding out whether to consider v0.0.0-12-91bc3c9 for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
(...omissis...)
TRAC[0003] Finding out whether to consider v1.0.0-61.c0dd31e for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] Finding out whether to consider v1.0.0 for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] Finding out whether to consider v1.0.1-64.272fa09 for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
DEBU[0003] found 34 from 34 tags eligible for consideration image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
INFO[0003] latest image according to constraint is 000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name:v1.0.1-64.272fa09
with *
constraint:
╰$ dist/argocd-image-updater test 000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name --registries-conf=r.conf --semver-constraint='*' --loglevel=trace
INFO[0000] getting image image_name=image/name registry=000000000000.dkr.ecr.us-west-2.amazonaws.com
DEBU[0000] rate limiting is disabled prefix=000000000000.dkr.ecr.us-west-2.amazonaws.com registry="https://000000000000.dkr.ecr.us-west-2.amazonaws.com"
INFO[0000] Loaded 1 registry configurations from r.conf
INFO[0000] /Users/****/Workspace/forks/argocd-image-updater/ecr.sh dir= execID=I733V
INFO[0001] Fetching available tags and metadata from registry image_name=image/name
TRAC[0002] https://000000000000.dkr.ecr.us-west-2.amazonaws.com/v2/image/name/tags/list
INFO[0003] Found 35 tags in registry image_name=image/name
DEBU[0003] could not parse input tag latest as semver: Invalid Semantic Version
TRAC[0003] Finding out whether to consider v0.0.0-10-17ef46e for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] v0.0.0-10-17ef46e did not match constraint * image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] Finding out whether to consider v0.0.0-12-91bc3c9 for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] v0.0.0-12-91bc3c9 did not match constraint * image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
(...omissis...)
TRAC[0003] Finding out whether to consider v1.0.0-61.c0dd31e for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] v1.0.0-61.c0dd31e did not match constraint * image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] Finding out whether to consider v1.0.0 for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] Finding out whether to consider v1.0.1-64.272fa09 for being updateable image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
TRAC[0003] v1.0.1-64.272fa09 did not match constraint * image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
DEBU[0003] found 1 from 34 tags eligible for consideration image=000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name
INFO[0003] latest image according to constraint is 000000000000.dkr.ecr.us-west-2.amazonaws.com/image/name:v1.0.0