Skip to content

Commit 072276b

Browse files
committed
test
1 parent 54d5a4a commit 072276b

File tree

3 files changed

+10
-129
lines changed

3 files changed

+10
-129
lines changed

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@
22
path = common-dev-assets
33
url = https://github.com/terraform-ibm-modules/common-dev-assets
44
branch = main
5+
[submodule "scripts/common-bash-library"]
6+
path = scripts/common-bash-library
7+
url = https://github.com/terraform-ibm-modules/common-bash-library
8+
branch = more

scripts/common-bash-library

Submodule common-bash-library added at cb81dba

scripts/install-binaries.sh

Lines changed: 5 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -3,135 +3,11 @@
33
set -o errexit
44
set -o pipefail
55

6-
ARG=""
76
DIRECTORY="/tmp"
7+
JQ_DOWNLOAD_URL=${JQ_DOWNLOAD_URL:-""}
8+
KUBECTL_DOWNLOAD_URL=${KUBECTL_DOWNLOAD_URL:""}
9+
source ./common-bash-library/common/common.sh
810

9-
#######################################
10-
# OS / ARCH Detection
11-
#######################################
11+
install_jq "latest" "${DIRECTORY}" "true" "${JQ_DOWNLOAD_URL}" "true"
1212

13-
if [[ $OSTYPE == 'darwin'* ]]; then
14-
OS="darwin"
15-
# Detect Apple Silicon vs Intel
16-
mac_arch="$(sysctl -a 2>/dev/null | grep machdep.cpu.brand_string || true)"
17-
if [[ "$mac_arch" == 'machdep.cpu.brand_string: Intel'* ]]; then
18-
ARCH="amd64"
19-
else
20-
ARCH="arm64"
21-
fi
22-
else
23-
OS="linux"
24-
ARCH="amd64"
25-
fi
26-
27-
#######################################
28-
# Download helpers
29-
#######################################
30-
31-
function download {
32-
local binary=$1
33-
local url=$2
34-
local file=$3
35-
local tmp_dir=$4
36-
37-
echo "Downloading ${binary}..."
38-
curl --retry 3 -fLsS "${url}" --output "${tmp_dir}/${file}"
39-
40-
}
41-
42-
#######################################
43-
# Permission check
44-
#######################################
45-
46-
function permission_check {
47-
if ! [ -w "${DIRECTORY}" ]; then
48-
echo "No write permission to ${DIRECTORY}. Using sudo..."
49-
ARG=sudo
50-
fi
51-
}
52-
53-
#######################################
54-
# Install to DIRECTORY
55-
#######################################
56-
57-
function copy_replace_binary {
58-
local binary=$1
59-
local tmp_dir=$2
60-
61-
echo "Placing ${binary} into ${DIRECTORY}..."
62-
permission_check
63-
64-
${ARG} rm -f "${DIRECTORY}/${binary}"
65-
${ARG} cp -r "${tmp_dir}/${binary}" "${DIRECTORY}"
66-
${ARG} chmod +x "${DIRECTORY}/${binary}"
67-
}
68-
69-
#######################################
70-
# Cleanup
71-
#######################################
72-
73-
function clean {
74-
local tmp_dir=$1
75-
echo "Deleting tmp dir: ${tmp_dir}"
76-
rm -rf "${tmp_dir}"
77-
echo "COMPLETE"
78-
echo
79-
}
80-
81-
#######################################
82-
# Install: kubectl
83-
#######################################
84-
85-
# renovate: datasource=github-releases depName=kubernetes/kubernetes
86-
KUBECTL_VERSION=v1.34.1
87-
BINARY=kubectl
88-
89-
if ! command -v kubectl >/dev/null 2>&1; then
90-
echo "kubectl not found. Installing version ${KUBECTL_VERSION} locally..."
91-
TMP_DIR=$(mktemp -d /tmp/${BINARY}-XXXXX)
92-
93-
echo
94-
echo "-- Installing ${BINARY} ${KUBECTL_VERSION}..."
95-
96-
FILE_NAME="kubectl"
97-
BASE_URL="${KUBECTL_DOWNLOAD_URL:-https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/${OS}/${ARCH}/${FILE_NAME}}"
98-
99-
download "$BINARY" "$BASE_URL" "$FILE_NAME" "$TMP_DIR"
100-
copy_replace_binary "$BINARY" "$TMP_DIR"
101-
clean "$TMP_DIR"
102-
103-
else
104-
echo "${BINARY} ${KUBECTL_VERSION} already installed - skipping install"
105-
fi
106-
107-
#######################################
108-
# Install: jq
109-
#######################################
110-
111-
JQ_OS=${OS}
112-
if [[ $OSTYPE == 'darwin'* ]]; then
113-
JQ_OS="macos"
114-
fi
115-
116-
# renovate: datasource=github-releases depName=jqlang/jq
117-
JQ_VERSION=1.7.1
118-
BINARY=jq
119-
120-
if ! command -v jq >/dev/null 2>&1; then
121-
echo "jq not found. Installing version ${JQ_VERSION} locally..."
122-
TMP_DIR=$(mktemp -d /tmp/${BINARY}-XXXXX)
123-
124-
echo
125-
echo "-- Installing ${BINARY} ${JQ_VERSION}..."
126-
127-
FILE_NAME="jq-${JQ_OS}-${ARCH}"
128-
BASE_URL="${JQ_DOWNLOAD_URL:-https://github.com/jqlang/jq/releases/download/jq-${JQ_VERSION}/${FILE_NAME}}"
129-
130-
download "$BINARY" "$BASE_URL" "$FILE_NAME" "$TMP_DIR"
131-
mv "${TMP_DIR}/${FILE_NAME}" "${TMP_DIR}/${BINARY}"
132-
copy_replace_binary "$BINARY" "$TMP_DIR"
133-
clean "$TMP_DIR"
134-
135-
else
136-
echo "${BINARY} ${JQ_VERSION} already installed - skipping install"
137-
fi
13+
install_kubectl "latest" "${DIRECTORY}" "true" "${KUBECTL_DOWNLOAD_URL}" "true"

0 commit comments

Comments
 (0)