@@ -9,11 +9,9 @@ REPO_NAME="tiger-cli"
99BINARY_NAME=" tiger"
1010INSTALL_DIR=" ${TIGER_INSTALL_DIR:-/ usr/ local/ bin} "
1111
12- # GitHub Repository Configuration
13- GITHUB_OWNER=" timescale"
14- GITHUB_REPO=" tiger-cli"
15- GITHUB_URL=" https://github.com/${GITHUB_OWNER} /${GITHUB_REPO} "
16- GITHUB_API_URL=" https://api.github.com/repos/${GITHUB_OWNER} /${GITHUB_REPO} "
12+ # S3 Configuration (primary download source)
13+ S3_BUCKET=" ${TIGER_S3_BUCKET:- tiger-cli-releases} "
14+ S3_BASE_URL=" https://${S3_BUCKET} .s3.amazonaws.com"
1715
1816# Colors for output
1917RED=' \033[0;31m'
@@ -83,18 +81,15 @@ command_exists() {
8381}
8482
8583
86- # Get latest version from GitHub API
84+ # Get latest version from S3
8785get_latest_version () {
88- local api_url=" ${GITHUB_API_URL} /releases/latest"
89-
90- # Get latest release info from GitHub API
86+ # Try to get version from S3 latest.txt file at bucket root
9187 local version
92- version=$( curl -fsSL " ${api_url} " 2> /dev/null | grep ' "tag_name": ' | sed -E ' s/.*"tag_name":[ ]*"([^"]+)".*/\1/ ' || echo " " )
88+ version=$( curl -fsSL " ${S3_BASE_URL} /latest.txt " 2> /dev/null | head -n1 | tr -d ' \n\r ' || echo " " )
9389
9490 if [ -z " ${version} " ]; then
95- log_error " Failed to get latest release from GitHub API"
96- log_error " URL: ${api_url} "
97- log_error " Make sure the repository has at least one release published"
91+ log_error " latest.txt file not found in S3 bucket root"
92+ log_error " URL: ${S3_BASE_URL} /latest.txt"
9893 exit 1
9994 fi
10095
@@ -111,18 +106,20 @@ install_binary() {
111106 tmp_dir=" $( mktemp -d) "
112107 trap ' rm -rf "${tmp_dir}"' EXIT
113108
114- # Construct archive name (matches GoReleaser naming convention)
109+ # Construct archive name
115110 local archive_name
116111 if [ " ${platform} " = " windows_x86_64" ]; then
117112 archive_name=" ${REPO_NAME} _Windows_x86_64.zip"
118113 else
119114 archive_name=" ${REPO_NAME} _$( echo " ${platform} " | sed ' s/_/ /' | awk ' {print toupper(substr($1,1,1)) tolower(substr($1,2)) "_" $2}' ) .tar.gz"
120115 fi
121116
122- # Construct GitHub releases download URL
123- local download_url=" ${GITHUB_URL } /releases/download /${version} /${archive_name} "
117+ # Construct S3 download URL (artifacts are stored in releases/version/ directory)
118+ local download_url=" ${S3_BASE_URL } /releases/${version} /${archive_name} "
124119
125120 log_info " Downloading Tiger CLI ${version} for ${platform} ..."
121+ log_info " Source: S3"
122+ log_info " URL: ${download_url} "
126123
127124 # Download archive with retry logic
128125 local max_retries=3
@@ -137,9 +134,9 @@ install_binary() {
137134 log_warn " Download failed, retrying (${retry_count} /${max_retries} )..."
138135 sleep 2
139136 else
140- log_error " Failed to download Tiger CLI from GitHub after ${max_retries} attempts"
137+ log_error " Failed to download Tiger CLI from S3 after ${max_retries} attempts"
141138 log_error " URL: ${download_url} "
142- log_error " Please check that the GitHub release exists and contains the expected assets "
139+ log_error " Please check that the S3 bucket contains the release files "
143140 exit 1
144141 fi
145142 fi
0 commit comments