#!/bin/bash # Usage: ./app-version.sh # Example: ./app-version.sh drone/drone:1.10.1 app # # Accepts a full format hub.docker.com image tag which it pulls locally and # generates output which can be used to put in the abra.sh for app packaging. # Requires the yq program https://mikefarah.gitbook.io/yq/ error() { echo "$(tput setaf 1)ERROR: $*$(tput sgr0)" exit 1 } IMAGE="$1" SERVICE="$2" if ! docker pull -q "$IMAGE" > /dev/null 2>&1; then error "Failed to download image, is the tag correct?" fi version=$(echo "$IMAGE" | cut -d ':' -f2) digest=$(docker image inspect -f "{{.Id}}" "$IMAGE" | cut -d ':' -f2- | cut -c 1-8) echo "ABRA_TYPE_${SERVICE^^}_VERSION=${version}" echo "ABRA_TYPE_${SERVICE^^}_DIGEST=${digest}"