1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-07 16:06:14 +00:00

get list of docker tags (when jq is available)

Signed-off-by: Felix Bartels <felix@host-consultants.de>
This commit is contained in:
Felix Bartels 2019-01-27 20:51:38 +01:00
parent abddfcb52f
commit eafcbc982b
2 changed files with 48 additions and 1 deletions

View File

@ -156,7 +156,7 @@ publish-web: build-web tag-web
docker push $(docker_repo)/kopano_web:latest
publish-konnect: build-konnect tag-konnect
docker push $(docker_repo)/kopano_konnect:latest
component=konnect make publish-container
publish-playground: build-playground
docker push $(docker_repo)/kopano_playground:latest

View File

@ -34,22 +34,69 @@ plugin_menu() {
[[ "$msg" ]] && echo "$msg"; :
}
docker_tag_search () {
set +e
# Display help
if [[ "${1}" == "" ]]; then
echo "Usage: docker tags repo/image"
echo " docker tags image"
return
fi
# Full repo/image was supplied
if [[ $1 == *"/"* ]]; then
name=$1
# Only image was supplied, default to library/image
else
name=library/${1}
fi
#printf "Searching tags for ${name}"
# Fetch all pages, because the only endpoint supporting pagination params
# appears to be tags/lists, but that needs authorization
results=""
i=0
has_more=0
while [ $has_more -eq 0 ]; do
i=$((i+1))
result=$(curl "https://registry.hub.docker.com/v2/repositories/${name}/tags/?page=${i}" 2>/dev/null | jq -r '."results"[]["name"]' 2>/dev/null)
has_more=$?
if [[ ! -z "${result// }" ]]; then results="${results} ${result}"; fi
#printf "."
done
echo "$results" | xargs -n1 | sort -ru | xargs
}
if [ ! -e ./.env ]; then
PRINT_SETUP_SUCCESS=""
echo "Creating an .env file for you"
if type jq > /dev/null; then
echo "Available tags in https://hub.docker.com/r/zokradonh/kopano_core/: $(docker_tag_search zokradonh/kopano_core)"
fi
value_default=latest
read -p "Which tag do you want to use for Kopano Core components? [$value_default]: " new_value
CORE_VERSION=${new_value:-$value_default}
if type jq > /dev/null; then
echo "Available tags in https://hub.docker.com/r/zokradonh/kopano_webapp/: $(docker_tag_search zokradonh/kopano_webapp)"
fi
value_default=latest
read -p "Which tag do you want to use for Kopano WebApp? [$value_default]: " new_value
WEBAPP_VERSION=${new_value:-$value_default}
if type jq > /dev/null; then
echo "Available tags in https://hub.docker.com/r/zokradonh/kopano_zpush/: $(docker_tag_search zokradonh/kopano_zpush)"
fi
value_default=latest
read -p "Which tag do you want to use for Z-Push? [$value_default]: " new_value
ZPUSH_VERSION=${new_value:-$value_default}
if type jq > /dev/null; then
echo "Available tags in https://hub.docker.com/r/zokradonh/kopano_konnect/: $(docker_tag_search zokradonh/kopano_konnect)"
fi
value_default=latest
read -p "Which tag do you want to use for Kopano Konnect? [$value_default]: " new_value
KONNECT_VERSION=${new_value:-$value_default}