aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile.debian1
-rw-r--r--scripts/push-repo-mirrors.bash7
2 files changed, 5 insertions, 3 deletions
diff --git a/Dockerfile.debian b/Dockerfile.debian
index 7379f23..f5b40ca 100644
--- a/Dockerfile.debian
+++ b/Dockerfile.debian
@@ -8,6 +8,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
openssh-server \
git \
cron \
+ jq \
&& rm -rf /var/lib/apt/lists/*
# Create the privilage separation directory as openssh-server post-install script doesn't do it in docker build context
diff --git a/scripts/push-repo-mirrors.bash b/scripts/push-repo-mirrors.bash
index e25d39f..ae63307 100644
--- a/scripts/push-repo-mirrors.bash
+++ b/scripts/push-repo-mirrors.bash
@@ -22,12 +22,13 @@ for repository in /repositories/*; do
echo "gitinfoContents: $gitinfoContents"
# extract mirrors from gitinfo (json format)
- mirrors=$(echo "$gitinfoContents" | grep -oP '"mirrors":\s*\[\K[^\]]+')
+ mirrors=$(echo "$gitinfoContents" | jq -r '.mirrors[]')
echo "Extracted mirrors: $mirrors"
# push to each mirror
- for mirror in $(echo "$mirrors" | tr ',' '\n'); do
+ while IFS= read -r mirror; do
+ [ -z "$mirror" ] && continue
case "$mirror" in
*github.com*)
# do we have a /run/secrets/github_token defined?
@@ -45,5 +46,5 @@ for repository in /repositories/*; do
echo "Unknown mirror type: $mirror. Skipping."
;;
esac
- done
+ done <<< "$mirrors"
done \ No newline at end of file