From e45dbaa02698dae152e95e4aed457cf59598f9f7 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Tue, 13 Aug 2019 19:54:40 +0300 Subject: [PATCH] Added generate-stackbrew-library script for Docker official images --- generate-stackbrew-library.sh | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 generate-stackbrew-library.sh diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh new file mode 100755 index 000000000..cb3291ba8 --- /dev/null +++ b/generate-stackbrew-library.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +set -eu + +declare -a -r versions=( 3.0.28 4.0.11 4.2.5 ) + +self="${BASH_SOURCE##*/}" + +# get the most recent commit which modified any of "$@" +fileCommit() { + git log -1 --format='format:%H' HEAD -- "$@" +} + +# prints "$2$1$3$1...$N" +join() { + local sep="$1"; shift + local out; printf -v out "${sep//%/%%}%s" "$@" + echo "${out#$sep}" +} + +cat <<-EOH +# this file is generated via https://github.com/zabbix/zabbix-docker/blob/$(fileCommit "$self")/$self + +Maintainers: Alexey Pustovalov (@dotneft) +GitRepo: https://github.com/zabbix/zabbix-docker.git +EOH + +for version in "${versions[@]}"; do + major_version=${version%.*} + commit=`git rev-list -n 1 "$version"` + + for component in agent java-gateway proxy-{mysql,sqlite3} server-{mysql,pgsql} web-{apache,nginx}-{mysql,pgsql}; do + for variant in alpine; do + dir="${component}/${variant}" + [ -f "$dir/Dockerfile" ] || continue + + variantArches=( amd64 ) + + echo + cat <<-EOE + Tags: $version-$component, $major_version-$component + Architectures: $(join ', ' "${variantArches[@]}") + GitCommit: $commit + GitFetch: refs/heads/$major_version + Directory: $dir + EOE + done + done +done