From fa7aa5c39f678bd7894ab73788ae509ce04e7997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Schro=CC=88der?= Date: Fri, 31 Jan 2025 15:11:46 +0100 Subject: [PATCH] Improve install script of terraform-backend-git feature --- .../devcontainer-feature.json | 2 +- src/terraform-backend-git/install.sh | 36 +++++++------------ 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/src/terraform-backend-git/devcontainer-feature.json b/src/terraform-backend-git/devcontainer-feature.json index 7f74f9c..b1946e0 100644 --- a/src/terraform-backend-git/devcontainer-feature.json +++ b/src/terraform-backend-git/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "terraform-backend-git", - "version": "1.1.0", + "version": "1.1.1", "name": "Terraform State management using Git", "documentationURL": "https://github.com/skriptfabrik/devcontainer-features/tree/main/src/terraform-backend-git", "description": "Installs terraform-backend-git binary.", diff --git a/src/terraform-backend-git/install.sh b/src/terraform-backend-git/install.sh index 625d083..ee11572 100644 --- a/src/terraform-backend-git/install.sh +++ b/src/terraform-backend-git/install.sh @@ -2,40 +2,28 @@ set -e -ADJUSTED_VERSION="${VERSION:-"latest"}" - -# Debian / Ubuntu packages -install_debian_packages() { - # Install prerequisites - apt-get -y update - apt-get -y install --no-install-recommends curl ca-certificates - - # Clean up - apt-get -y clean - rm -rf /var/lib/apt/lists/* -} +CLI_VERSION="${VERSION:-"latest"}" # Bring in ID, ID_LIKE, VERSION_ID, VERSION_CODENAME . /etc/os-release # Get an adjusted ID independent of distro variants -if [ "${ID}" = "debian" ] || [ "${ID_LIKE}" = "debian" ]; then - ADJUSTED_ID="debian" -else +if [ "${ID}" != "debian" ] && [ "${ID_LIKE}" != "debian" ]; then echo "Linux distro ${ID} not supported." exit 1 fi -# Install packages for appropriate OS -case "${ADJUSTED_ID}" in - "debian") - install_debian_packages - ;; -esac +# Install prerequisites +apt-get -y update +apt-get -y install --no-install-recommends curl ca-certificates jq + +# Clean up +apt-get -y clean +rm -rf /var/lib/apt/lists/* # Fetch latest version if needed -if [ "${ADJUSTED_VERSION}" = "latest" ]; then - ADJUSTED_VERSION=$(curl -s https://api.github.com/repos/plumber-cd/terraform-backend-git/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') +if [ "${CLI_VERSION}" = "latest" ]; then + CLI_VERSION=$(curl -s https://api.github.com/repos/plumber-cd/terraform-backend-git/releases/latest | jq -r '.tag_name' | awk '{print substr($1, 2)}') fi # Detect current machine architecture @@ -46,7 +34,7 @@ else fi # Download URL -DOWNLOAD_URL="https://github.com/plumber-cd/terraform-backend-git/releases/download/v${ADJUSTED_VERSION}/terraform-backend-git-linux-${ARCH}" +DOWNLOAD_URL="https://github.com/plumber-cd/terraform-backend-git/releases/download/v${CLI_VERSION}/terraform-backend-git-linux-${ARCH}" # Download and install terraform-backend-git echo "Downloading terraform-backend-git from ${DOWNLOAD_URL}"