mirror of
https://github.com/truecharts/charts.git
synced 2026-07-07 17:21:22 -03:00
46 lines
1.9 KiB
Bash
Executable File
46 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Find all values.yaml files in subdirectories
|
|
find . -type f -name "values.yaml" | while read -r file; do
|
|
|
|
|
|
# Extract repository references matching docker.io/*
|
|
grep -oE 'repository: docker.io/[^[:space:]]+' "$file" | while read -r line; do
|
|
repo=$(echo "$line" | cut -d ' ' -f2 | sed 's|docker.io/||')
|
|
echo "Checking repo $repo for file $file"
|
|
# Check if equivalent ghcr.io, public.ecr.aws, or gcr.io repositories exist
|
|
## TODO add checks and such
|
|
#ghcr_url="https://ghcr.io/v2/$repo/tags/list"
|
|
quay_url="https://quay.io/v2/$repo/tags/list"
|
|
ecr_url="https://public.ecr.aws/v2/$repo/tags/list"
|
|
# Not sure if we should
|
|
# gcr_url="https://mirror.gcr.io/v2/$repo/tags/list"
|
|
|
|
|
|
## TODO add checks and such
|
|
# ghcr_exists=$(curl -s -o /dev/null -w "%{http_code}" "$ghcr_url")
|
|
quay_exists=$(curl -s -o /dev/null -w "%{http_code}" "$quay_url")
|
|
ecr_exists=$(curl -s -o /dev/null -w "%{http_code}" "$ecr_url")
|
|
# gcr_exists=$(curl -s -o /dev/null -w "%{http_code}" "$gcr_url")
|
|
|
|
## TODO add checks and such
|
|
# if [[ "$ghcr_exists" == "200" ]]; then
|
|
# new_repo="ghcr.io/$repo"
|
|
if [[ "$quay_exists" == "200" ]]; then
|
|
new_repo="quay.io/$repo"
|
|
elif [[ "$ecr_exists" == "200" ]]; then
|
|
new_repo="public.ecr.aws/$repo"
|
|
# Not sure if we should
|
|
# elif [[ "$gcr_exists" == "200" ]]; then
|
|
# new_repo="mirror.gcr.io/$repo"
|
|
fi
|
|
if [[ $new_repo != "" ]]; then
|
|
# Replace repository reference in the file
|
|
sed -i '' "s|repository: docker.io/$repo|repository: $new_repo|g" "$file"
|
|
## For Linux
|
|
# sed -i "s|repository: docker.io/$repo|repository: $new_repo|g" "$file"
|
|
echo "Updated repository in $file to $new_repo"
|
|
fi
|
|
done
|
|
done
|