mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-03 11:52:54 +00:00
35 lines
903 B
Bash
Executable File
35 lines
903 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script is used to pull the test dependency images that are stored in public ECR one by one to avoid rate limiting.
|
|
|
|
set -e
|
|
|
|
MAX_RETRIES=3
|
|
|
|
IMAGES=(
|
|
"greptime/zookeeper:3.7"
|
|
"greptime/kafka:3.9.0-debian-12-r1"
|
|
"greptime/etcd:3.6.1-debian-12-r3"
|
|
"greptime/minio:2024"
|
|
"greptime/mysql:5.7"
|
|
)
|
|
|
|
for image in "${IMAGES[@]}"; do
|
|
for ((attempt=1; attempt<=MAX_RETRIES; attempt++)); do
|
|
if docker pull "$image"; then
|
|
# Successfully pulled the image.
|
|
break
|
|
else
|
|
# Use some simple exponential backoff to avoid rate limiting.
|
|
if [ $attempt -lt $MAX_RETRIES ]; then
|
|
sleep_seconds=$((attempt * 5))
|
|
echo "Attempt $attempt failed for $image, waiting $sleep_seconds seconds"
|
|
sleep $sleep_seconds # 5s, 10s delays
|
|
else
|
|
echo "Failed to pull $image after $MAX_RETRIES attempts"
|
|
exit 1
|
|
fi
|
|
fi
|
|
done
|
|
done
|