diff options
| -rw-r--r-- | Dockerfile.debian | 1 | ||||
| -rw-r--r-- | scripts/push-repo-mirrors.bash | 7 |
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 |
