summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2023-09-16 13:07:18 -0400
committerMalfurious <m@lfurio.us>2023-09-16 13:07:18 -0400
commit0b329d20c64502e3a9e932590f7872e09167d001 (patch)
tree8e883cc73c23414a20fc2c46c474753e376db0a7 /configure
parent4cc4870fd7c7e57379dc605d377bb2e6e09473ae (diff)
downloadsrcnode-0b329d20c64502e3a9e932590f7872e09167d001.tar.gz
srcnode-0b329d20c64502e3a9e932590f7872e09167d001.zip
Add host script for initial configuration flow
The new installation procedure is to start with ./configure to set your pubkey up for admin access. The initialize script is updated to use an active prompt, since as-is, CTRL-C won't properly terminate the script to cancel. Signed-off-by: Malfurious <m@lfurio.us>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure22
1 files changed, 22 insertions, 0 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"