Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion utils/build/ssi/base/base_ssi.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM ${BASE_IMAGE}

WORKDIR /workdir

COPY ./base/install_script_ssi.sh ./base/binaries/* ./
COPY ./base/install_script_ssi.sh ./base/download_with_retry.sh ./base/binaries/* ./

ARG DD_API_KEY=deadbeef

Expand Down
2 changes: 1 addition & 1 deletion utils/build/ssi/base/base_ssi_installer.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM ${BASE_IMAGE}

WORKDIR /workdir

COPY ./base/install_script_ssi_installer.sh ./
COPY ./base/install_script_ssi_installer.sh ./base/download_with_retry.sh ./

ARG DD_API_KEY=deadbeef

Expand Down
20 changes: 20 additions & 0 deletions utils/build/ssi/base/download_with_retry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

download_with_retry() {
local url="$1"
local output
output="$(basename "$url")"

local max_attempts=5
local attempt
for (( attempt = 1; attempt <= max_attempts; attempt++ )); do
echo "[TRACE] downloading ${output} (attempt ${attempt}/${max_attempts})"
if curl --fail --retry 3 -sSL -o "$output" "$url" && [ -s "$output" ]; then
return 0
fi
rm -f "$output"
done

echo "[ERROR] ${output} is missing or empty after ${max_attempts} attempts" >&2
return 1
}
13 changes: 11 additions & 2 deletions utils/build/ssi/base/install_script_ssi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,22 @@ if [ -n "${DD_INSTALLER_INJECTOR_VERSION}" ]; then
export DD_INSTALLER_DEFAULT_PKG_VERSION_DATADOG_APM_INJECT="${DD_INSTALLER_INJECTOR_VERSION}"
fi

# shellcheck source=utils/build/ssi/base/download_with_retry.sh
source ./download_with_retry.sh

if [ -f "install_script_agent7.sh" ]; then
echo "[TRACE] install_script_agent7.sh exists"
DD_REPO_URL=${DD_injection_repo_url} DD_INSTALL_ONLY=true DD_APM_INSTRUMENTATION_ENABLED=host bash -c "$(cat install_script_agent7.sh)"
Comment thread
sarahchen6 marked this conversation as resolved.
else
DD_REPO_URL=${DD_injection_repo_url} DD_INSTALL_ONLY=true DD_APM_INSTRUMENTATION_ENABLED=host bash -c "$(curl -L https://dd-agent.s3.amazonaws.com/scripts/install_script_agent7.sh)"
download_with_retry https://dd-agent.s3.amazonaws.com/scripts/install_script_agent7.sh
fi

if [ ! -s "install_script_agent7.sh" ]; then
echo "[ERROR] install_script_agent7.sh is missing or empty; aborting SSI install" >&2
exit 1
fi

DD_REPO_URL=${DD_injection_repo_url} DD_INSTALL_ONLY=true DD_APM_INSTRUMENTATION_ENABLED=host bash ./install_script_agent7.sh

if [ -f /etc/debian_version ] || [ "$DISTRIBUTION" == "Debian" ] || [ "$DISTRIBUTION" == "Ubuntu" ]; then
OS="Debian"
elif [ -f /etc/redhat-release ] || [ "$DISTRIBUTION" == "RedHat" ] || [ "$DISTRIBUTION" == "CentOS" ] || [ "$DISTRIBUTION" == "Amazon" ] || [ "$DISTRIBUTION" == "Rocky" ] || [ "$DISTRIBUTION" == "AlmaLinux" ]; then
Expand Down
7 changes: 6 additions & 1 deletion utils/build/ssi/base/install_script_ssi_installer.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
#!/bin/bash

DD_INSTALL_ONLY=true DD_INSTALLER=true bash -c "$(curl -L https://dd-agent.s3.amazonaws.com/scripts/install_script_agent7.sh)"
# shellcheck source=utils/build/ssi/base/download_with_retry.sh
source ./download_with_retry.sh

download_with_retry https://dd-agent.s3.amazonaws.com/scripts/install_script_agent7.sh || exit 1

DD_INSTALL_ONLY=true DD_INSTALLER=true bash ./install_script_agent7.sh
Loading