43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Usage: ./app-version.sh <image> <service>
 | |
| # 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 "--- Add the following to your abra.sh ---"
 | |
| echo "export ABRA_TYPE_${SERVICE^^}_VERSION=${version}"
 | |
| echo "export ABRA_TYPE_${SERVICE^^}_DIGEST=${digest}"
 | |
| 
 | |
| version_lookup="ABRA_TYPE_${SERVICE^^}_VERSION"
 | |
| digest_lookup="ABRA_TYPE_${SERVICE^^}_DIGEST"
 | |
| 
 | |
| label='- "coop-cloud.${STACK_NAME}.'
 | |
| label+="${SERVICE}"
 | |
| label+='.version=${'
 | |
| label+="${version_lookup}"
 | |
| label+='}-${'
 | |
| label+="${digest_lookup}"
 | |
| label+='}"'
 | |
| 
 | |
| echo
 | |
| echo "--- And don't forget to label the actual service in the compose file ---"
 | |
| echo "$label"
 |