Skip to content

Commit 490b1d5

Browse files
fix(trivy): switch to APT repository for trivy installation
GitHub release assets for aquasecurity/trivy are no longer available. Switch to the official APT repository at get.trivy.dev for reliable installation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent be7cacc commit 490b1d5

File tree

1 file changed

+9
-31
lines changed

1 file changed

+9
-31
lines changed

scripts/install-universal.sh

Lines changed: 9 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -44,43 +44,21 @@ log_info "Starting universal security tools installation"
4444

4545
TMPDIR_CLEANUP="$(mktemp -d)"
4646

47-
# Install trivy (idempotent)
47+
# Install trivy via APT repository (idempotent)
4848
if command -v trivy &>/dev/null; then
4949
log_info "trivy is already installed, skipping"
5050
else
51-
log_info "Installing trivy"
51+
log_info "Installing trivy via APT repository"
5252
require_cmd "curl" "curl is required to install trivy"
5353

54-
ARCH="$(get_arch)"
55-
OS="$(get_os)"
54+
curl -fsSL https://get.trivy.dev/deb/public.key | gpg --dearmor -o /usr/share/keyrings/trivy.gpg
55+
echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://get.trivy.dev/deb generic main" \
56+
> /etc/apt/sources.list.d/trivy.list
57+
apt-get update -qq
58+
apt-get install -y --no-install-recommends trivy
59+
rm -rf /var/lib/apt/lists/*
5660

57-
# Map architecture names for trivy release artifacts
58-
case "${ARCH}" in
59-
amd64) TRIVY_ARCH="64bit" ;;
60-
arm64) TRIVY_ARCH="ARM64" ;;
61-
*) TRIVY_ARCH="${ARCH}" ;;
62-
esac
63-
64-
case "${OS}" in
65-
linux) TRIVY_OS="Linux" ;;
66-
darwin) TRIVY_OS="macOS" ;;
67-
*) TRIVY_OS="${OS}" ;;
68-
esac
69-
70-
# Fetch latest trivy version from GitHub releases
71-
TRIVY_VERSION=$(curl -fsSL https://api.github.com/repos/aquasecurity/trivy/releases/latest | jq -r '.tag_name' | sed 's/^v//')
72-
if is_empty "${TRIVY_VERSION}"; then
73-
log_warn "Could not determine latest trivy version, using fallback"
74-
TRIVY_VERSION="0.58.0"
75-
fi
76-
77-
log_info "Downloading trivy ${TRIVY_VERSION} for ${TRIVY_OS}/${TRIVY_ARCH}"
78-
TRIVY_URL="https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_${TRIVY_OS}-${TRIVY_ARCH}.tar.gz"
79-
curl -fsSL "${TRIVY_URL}" -o "${TMPDIR_CLEANUP}/trivy.tar.gz"
80-
tar -xzf "${TMPDIR_CLEANUP}/trivy.tar.gz" -C "${TMPDIR_CLEANUP}"
81-
install -m 0755 "${TMPDIR_CLEANUP}/trivy" /usr/local/bin/trivy
82-
83-
log_info "trivy ${TRIVY_VERSION} installed successfully"
61+
log_info "trivy installed successfully"
8462
fi
8563

8664
# Verify gitleaks is available (built in Go builder stage and copied)

0 commit comments

Comments
 (0)