#!/usr/bin/env bash
set -e

docker-version-osarch() {
	if ! type docker &> /dev/null; then
		# docker is not installed
		return
	fi
	local target="$1" # "Client" or "Server"
	local fmtStr="{{.${target}.Os}}/{{.${target}.Arch}}"
	if docker version -f "$fmtStr" 2> /dev/null; then
		# if "docker version -f" works, let's just use that!
		return
	fi
	docker version | awk '
		$1 ~ /^(Client|Server):$/ { section = 0 }
		$1 == "'"$target"':" { section = 1; next }
		section && $1 == "OS/Arch:" { print $2 }

		# old versions of Docker
		$1 == "OS/Arch" && $2 == "('"${target,,}"'):" { print $3 }
	'
}

# Retrieve OS/ARCH of docker daemon, e.g. linux/amd64
export DOCKER_ENGINE_OSARCH="${DOCKER_ENGINE_OSARCH:=$(docker-version-osarch 'Server')}"
export DOCKER_ENGINE_GOOS="${DOCKER_ENGINE_OSARCH%/*}"
export DOCKER_ENGINE_GOARCH="${DOCKER_ENGINE_OSARCH##*/}"
DOCKER_ENGINE_GOARCH=${DOCKER_ENGINE_GOARCH:=amd64}

# and the client, just in case
export DOCKER_CLIENT_OSARCH="$(docker-version-osarch 'Client')"
export DOCKER_CLIENT_GOOS="${DOCKER_CLIENT_OSARCH%/*}"
export DOCKER_CLIENT_GOARCH="${DOCKER_CLIENT_OSARCH##*/}"
DOCKER_CLIENT_GOARCH=${DOCKER_CLIENT_GOARCH:=amd64}

DOCKERFILE='Dockerfile'

if [ "${DOCKER_ENGINE_GOOS:-$DOCKER_CLIENT_GOOS}" = "windows" ]; then
	DOCKERFILE='Dockerfile.windows'
fi

export DOCKERFILE
