tag-images.sh: add --tag-filter to tag only a specific _edge tag
Currently the tag-images.sh script interates over all the given _edge
tags from the given images in the given namespace and adds the needed
tags (eg. _beta, _candidate or _stable). That's not always
wanted. Eg. when using the script in a CI pipeline where a job does
only update a specific image (eg. the "impish-21.10_edge" tagged
image), the script should only add the additional tags to that tagged
image.
With the new parameter, that's possible.
Assuming there are multiple _edge tags (eg. "impish-21.10_edge" and
"hirsute-21.04_edge") for a given image and --tag-filter is set to
"impish", the script will now only add the extra tags to the image
that is tagged with "impish-21.10_edge" .
Note: --tag-filter only works when the given IMAGE is a base
image (means that IMAGE must be "ubuntu").
It's not good to print info messages during the login process because
they can pollute the output of other scripts. This commit gets rid of
one such message, and transforms another info message into a debug
message.
tag-images.sh: Reorganize code to reduce indentation
If we move the code to tag the distroname and the distroversion up, we
can bail out of the loop earlier if we're tagging a devel release,
which means that we can reduce the indentation level of the subsequent
code.
Currently there needs to be a AWS profile configured to tag images on
AWS. With this change, it's also possible to use the standard[0] AWS
environment variables to provide the credentials for login.
Currently a AWS_PROFILE needs to be configured with the name of the
NAMESPACE that is used. Eg. when trying to tag images under ubuntu/,
the AWS profile "ubuntu" must be there. That is not a good name where
multiple profiles are available.
So allow setting the env var AWS_PROFILE and use the profile set
there.
tag-images.sh: do not tag stable/beta/candidate the devel release
The release under development should not be tagged with
stable/beta/candidate because it's currently under development.
So use distro-info to get the release under development and skip that
image for tagging.
Note: the distroname tag and release version tag are still added.
The ubuntu base image is now also available on dockerhub in the ubuntu
namespace[0]. So allow using the tag-images.sh script with the
dockerhub registry.