argocd-image-updater icon indicating copy to clipboard operation
argocd-image-updater copied to clipboard

semver update strategy with no constraint also picks prereleases

Open m-ronchi opened this issue 2 years ago • 0 comments

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 

m-ronchi avatar Apr 28 '22 09:04 m-ronchi