diff options
-rwxr-xr-x | configure | 22 | ||||
-rwxr-xr-x | gitolite/initialize.sh | 6 |
2 files changed, 27 insertions, 1 deletions
diff --git a/configure b/configure new file mode 100755 index 0000000..53d8e1c --- /dev/null +++ b/configure @@ -0,0 +1,22 @@ +#!/bin/sh + +usage() { + echo "usage: ./configure <ssh-pubkey>" + echo "Please give me your administrator public key, whose filename must" + echo "end in '.pub'. Paths beginning with '~' are not allowed, however" + echo "your shell might pre-expand them." + exit 1 +} + +echo "$1" | grep -Eq '^~' && usage +echo "$1" | grep -Eq '.+\.pub$' || usage + +echo "$1" | grep -Eq '^/' && keypath="$1" || keypath="$PWD/$1" +keyname=$(basename "$keypath") + +docker compose run \ + --build \ + --rm \ + --volume "$keypath:/tmp/$keyname:ro" \ + gitolite \ + /app/initialize.sh "$keyname" diff --git a/gitolite/initialize.sh b/gitolite/initialize.sh index 6806acd..10aa4f0 100755 --- a/gitolite/initialize.sh +++ b/gitolite/initialize.sh @@ -8,9 +8,13 @@ echo -e "This will erase data in the gitolite repository volume!" echo -e "One SSH pubkey will be used as the initial administrator of the new install." echo -e "\nKey selected: $1" cat "/tmp/$1" -echo -e "\nPress Enter/Return to continue..." +echo -ne "\nEnter 'YES' to continue: " read -r confirm +if [ "$confirm" != "YES" ]; then + echo "ABORTING!" + exit 0 +fi rm -rf /git/.gitolite /git/repositories/* su git -c "gitolite setup -pk /tmp/$1" |