Skip to content

Commit 9a1faa5

Browse files
authored
fix: binary installation script fails during concurrent Terraform runs (#906)
1 parent c2be813 commit 9a1faa5

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

modules/kube-audit/scripts/install-binaries.sh

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ set -o pipefail
1010
DIRECTORY=${1:-"/tmp"}
1111
# renovate: datasource=github-tags depName=terraform-ibm-modules/common-bash-library
1212
TAG=v0.2.0
13+
# Running multiple Terraform executions on the same environment that share a /tmp directory can lead to conflicts during script execution.
14+
SUFFIX=""
15+
for _ in {1..4}; do
16+
SUFFIX+=${RANDOM:0:1}
17+
done
1318

1419
echo "Downloading common-bash-library version ${TAG}."
1520

@@ -23,21 +28,22 @@ curl --silent \
2328
--fail \
2429
--show-error \
2530
--location \
26-
--output "${DIRECTORY}/common-bash.tar.gz" \
31+
--output "${DIRECTORY}/common-bash-${SUFFIX}.tar.gz" \
2732
"https://github.com/terraform-ibm-modules/common-bash-library/archive/refs/tags/$TAG.tar.gz"
2833

29-
tar -xzf "${DIRECTORY}/common-bash.tar.gz" -C "${DIRECTORY}"
30-
rm -f "${DIRECTORY}/common-bash.tar.gz"
34+
mkdir -p "${DIRECTORY}/common-bash-library-${SUFFIX}"
35+
tar -xzf "${DIRECTORY}/common-bash-${SUFFIX}.tar.gz" -C "${DIRECTORY}/common-bash-library-${SUFFIX}"
36+
rm -f "${DIRECTORY}/common-bash-${SUFFIX}.tar.gz"
3137

3238
# The file doesn’t exist at the time shellcheck runs, so this check is skipped.
3339
# shellcheck disable=SC1091,SC1090
34-
source "${DIRECTORY}/common-bash-library-${TAG#v}/common/common.sh"
40+
source "${DIRECTORY}/common-bash-library-${SUFFIX}/common-bash-library-${TAG#v}/common/common.sh"
3541

3642
echo "Installing jq."
3743
install_jq "latest" "${DIRECTORY}" "true"
3844
echo "Installing kubectl."
3945
install_kubectl "latest" "${DIRECTORY}" "true"
4046

41-
rm -rf "${DIRECTORY}/common-bash-library-${TAG#v}"
47+
rm -rf "${DIRECTORY}/common-bash-library-${SUFFIX}"
4248

4349
echo "Installation complete successfully"

0 commit comments

Comments
 (0)