aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Pooley (@zuedev) <zuedev@gmail.com>2026-05-07 23:21:45 +0100
committerAlex Pooley (@zuedev) <zuedev@gmail.com>2026-05-07 23:21:45 +0100
commit3a107cfe7ec61694547e81302f7d018d7d9223bd (patch)
treedd36407a2b053aefa05146a0f27c3772619193d7
parent2cb9c5a451be25e3d31fa68914323e1f2ade1444 (diff)
downloadgit.zue.dev-3a107cfe7ec61694547e81302f7d018d7d9223bd.tar
git.zue.dev-3a107cfe7ec61694547e81302f7d018d7d9223bd.tar.gz
git.zue.dev-3a107cfe7ec61694547e81302f7d018d7d9223bd.tar.bz2
git.zue.dev-3a107cfe7ec61694547e81302f7d018d7d9223bd.tar.xz
git.zue.dev-3a107cfe7ec61694547e81302f7d018d7d9223bd.zip
enhance mirror script with jq
-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