forked from cgswong/docker-vault
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update.sh
executable file
·38 lines (31 loc) · 1.22 KB
/
update.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/local/bin/bash
# ###################################################
# DESC.: Update Dockerfile for each version directory.
# Show some information on each version.
# ###################################################
set -e
declare -A aliases
aliases=(
[0.1.2]='latest'
)
# Script directory
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
versions=( */ )
versions=( "${versions[@]%/}" )
downloadable=$(curl -sSL 'https://dl.bintray.com/mitchellh/vault' | sed -rn 's!.*?>(vault_)?([0-9]+\.[0-9]+\.[0-9])_linux_amd64.zip<.*!\2!gp')
url='git://github.com/cgswong/docker-vault'
for version in "${versions[@]}"; do
recent=$(echo "$downloadable" | grep -m 1 "$version")
sed 's/%%VERSION%%/'"$recent"'/' <Dockerfile.tpl >"$version/Dockerfile"
commit="$(git log -1 --format='format:%H' -- "$version")"
fullVersion="$(grep -m1 'ENV VAULT_VERSION' "$version/Dockerfile" | cut -d' ' -f3)"
versionAliases=()
while [ "$fullVersion" != "$version" -a "${fullVersion%[-]*}" != "$fullVersion" ]; do
versionAliases+=( $fullVersion )
fullVersion="${fullVersion%[-]*}"
done
versionAliases+=( $version ${aliases[$version]} )
for va in "${versionAliases[@]}"; do
echo "$va: ${url}@${commit} $version"
done
done