From 7063a9a3b8159e3e86ae31766993fd54087c721b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Masset?= Date: Sat, 24 Jun 2023 06:27:31 +0200 Subject: [PATCH 1/4] Make STARTER_KIT_VERSION configurable in get-starter-kit.sh --- get-starter-kit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-starter-kit.sh b/get-starter-kit.sh index bd717e2..191a7d2 100755 --- a/get-starter-kit.sh +++ b/get-starter-kit.sh @@ -14,7 +14,7 @@ set -o errexit -o nounset -o pipefail # Set Starterkit version -STARTER_KIT_VERSION="latest" +STARTER_KIT_VERSION="${1:-latest}" if [ "$STARTER_KIT_VERSION" == "latest" ]; then From eb0066e3e32e012d0ccd7dfec829801b047c881f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Masset?= Date: Sat, 24 Jun 2023 07:52:07 +0200 Subject: [PATCH 2/4] Make starterkit GitHub project configurable in get-starter-kit.sh --- get-starter-kit.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/get-starter-kit.sh b/get-starter-kit.sh index 191a7d2..853c899 100755 --- a/get-starter-kit.sh +++ b/get-starter-kit.sh @@ -15,16 +15,17 @@ set -o errexit -o nounset -o pipefail # Set Starterkit version STARTER_KIT_VERSION="${1:-latest}" +STARTER_KIT_PROJECT="${2:-Orange-OpenSource/AWSTerraformStarterKit}" if [ "$STARTER_KIT_VERSION" == "latest" ]; then - LOCATION=$(curl -s https://api.github.com/repos/Orange-OpenSource/AWSTerraformStarterKit/releases/latest \ + LOCATION=$(curl -s "https://api.github.com/repos/${STARTER_KIT_PROJECT}/releases/latest \ | grep "tag_name" \ - | awk '{print "https://github.com/Orange-OpenSource/AWSTerraformStarterKit/archive/" substr($2, 2, length($2)-3) ".zip"}') \ + | awk '{print "https://github.com/${STARTER_KIT_PROJECT}/archive/" substr($2, 2, length($2)-3) ".zip"}') \ ; curl -L -o /tmp/archive.zip "$LOCATION" else curl -L\ - "https://github.com/Orange-OpenSource/AWSTerraformStarterKit/archive/refs/tags/${STARTER_KIT_VERSION}.zip" \ + "https://github.com/${STARTER_KIT_PROJECT}/archive/refs/tags/${STARTER_KIT_VERSION}.zip" \ -o /tmp/archive.zip fi From 1957d56ac294b305b4eada1dc856227059288abe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Masset?= Date: Sun, 25 Jun 2023 10:24:02 +0200 Subject: [PATCH 3/4] Use jq to parse GitHub release API output in get-starter-kit.sh --- get-starter-kit.sh | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/get-starter-kit.sh b/get-starter-kit.sh index 853c899..dbbce75 100755 --- a/get-starter-kit.sh +++ b/get-starter-kit.sh @@ -17,18 +17,16 @@ set -o errexit -o nounset -o pipefail STARTER_KIT_VERSION="${1:-latest}" STARTER_KIT_PROJECT="${2:-Orange-OpenSource/AWSTerraformStarterKit}" -if [ "$STARTER_KIT_VERSION" == "latest" ]; then +STARTER_KIT_FORMAT="zip" +STARTER_KIT_URL="https://github.com/${STARTER_KIT_PROJECT}" - LOCATION=$(curl -s "https://api.github.com/repos/${STARTER_KIT_PROJECT}/releases/latest \ - | grep "tag_name" \ - | awk '{print "https://github.com/${STARTER_KIT_PROJECT}/archive/" substr($2, 2, length($2)-3) ".zip"}') \ - ; curl -L -o /tmp/archive.zip "$LOCATION" -else - curl -L\ - "https://github.com/${STARTER_KIT_PROJECT}/archive/refs/tags/${STARTER_KIT_VERSION}.zip" \ - -o /tmp/archive.zip +if [ "$STARTER_KIT_VERSION" == "latest" ]; then + STARTER_KIT_VERSION=$(curl -s "https://api.github.com/repos/${STARTER_KIT_PROJECT}/releases/latest" | jq -r ".tag_name") fi +STARTER_KIT_LOCATION="${STARTER_KIT_URL}/archive/refs/tags/${STARTER_KIT_VERSION}.${STARTER_KIT_FORMAT}" +curl --fail -L "${STARTER_KIT_LOCATION}" -o /tmp/archive.zip + unzip /tmp/archive.zip -d . cp -r AWSTerraformStarterKit-*/. . rm -rf AWSTerraformStarterKit-* From c733196acf204d68a09e8aa9e5eb644696c710d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Masset?= Date: Sun, 25 Jun 2023 10:24:50 +0200 Subject: [PATCH 4/4] Download starterkit tarball to avoid temporary file --- get-starter-kit.sh | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/get-starter-kit.sh b/get-starter-kit.sh index dbbce75..69bafad 100755 --- a/get-starter-kit.sh +++ b/get-starter-kit.sh @@ -17,17 +17,12 @@ set -o errexit -o nounset -o pipefail STARTER_KIT_VERSION="${1:-latest}" STARTER_KIT_PROJECT="${2:-Orange-OpenSource/AWSTerraformStarterKit}" -STARTER_KIT_FORMAT="zip" -STARTER_KIT_URL="https://github.com/${STARTER_KIT_PROJECT}" +STARTER_KIT_FORMAT="tar" +STARTER_KIT_URL="https://api.github.com/repos/${STARTER_KIT_PROJECT}" +STARTER_KIT_LOCATION="${STARTER_KIT_URL}/${STARTER_KIT_FORMAT}ball/${STARTER_KIT_VERSION}" if [ "$STARTER_KIT_VERSION" == "latest" ]; then - STARTER_KIT_VERSION=$(curl -s "https://api.github.com/repos/${STARTER_KIT_PROJECT}/releases/latest" | jq -r ".tag_name") + STARTER_KIT_LOCATION=$(curl -s ${STARTER_KIT_URL}/releases/latest | jq -r ".${STARTER_KIT_FORMAT}ball_url") fi -STARTER_KIT_LOCATION="${STARTER_KIT_URL}/archive/refs/tags/${STARTER_KIT_VERSION}.${STARTER_KIT_FORMAT}" -curl --fail -L "${STARTER_KIT_LOCATION}" -o /tmp/archive.zip - -unzip /tmp/archive.zip -d . -cp -r AWSTerraformStarterKit-*/. . -rm -rf AWSTerraformStarterKit-* -rm /tmp/archive.zip +curl --fail -L "${STARTER_KIT_LOCATION}" | tar -xz --strip-components 1