Skip to content

Instantly share code, notes, and snippets.

@shaneog
Forked from anonymous/stdlib.sh
Created January 18, 2023 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shaneog/8109d9b1844481c15fb107b51e351630 to your computer and use it in GitHub Desktop.
Save shaneog/8109d9b1844481c15fb107b51e351630 to your computer and use it in GitHub Desktop.
aws_ecr_curl() {
login_cmd=$(aws ecr get-login)
username=$(echo "$login_cmd" | cut -d " " -f 4)
password=$(echo "$login_cmd" | cut -d " " -f 6)
endpoint=$(echo "$login_cmd" | cut -d " " -f 9)
args=("$@")
args_length=${#args[@]}
args_last=${args[$args_length-1]}
unset 'args[${args_length}-1]'
path="${args_last}"
curl \
-u "${username}:${password}" \
"${args[@]}" \
"${endpoint}${path}"
}
# Usage: docker_tag_exists somerepo sometag
docker_tag_exists() {
repo_name="$1"
tag="$2"
aws_ecr_curl \
--head \
--fail \
-s \
"/v2/${repo_name}/manifests/${tag}" \
> /dev/null
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment