summaryrefslogtreecommitdiffstats
path: root/gitolite/initialize.sh
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2023-09-15 10:59:09 -0400
committerMalfurious <m@lfurio.us>2023-09-15 10:59:09 -0400
commita6f2c9e34b7a0bdaff2a44b54ca7999728f36773 (patch)
tree73b2ff4824313805629ee98efd1844fd7b636da1 /gitolite/initialize.sh
parent5cd2822ed607d1f20d1d114aebe511a4fe5f1825 (diff)
parentc1db5d6e6557ac5f3b9d408eb2de888bf096a370 (diff)
downloadsrcnode-a6f2c9e34b7a0bdaff2a44b54ca7999728f36773.tar.gz
srcnode-a6f2c9e34b7a0bdaff2a44b54ca7999728f36773.zip
Merge branch 'gitolite-debian-refactor'
Refactor the gitolite docker image to build from Debian, but also clean up a lot of the original build process. The move off of archlinux is done since it is a sub-optimal pick for a docker base. However, I'm specifically moving off it because archlinux does not allow for the use of normalmode on i386 machines. Most offical bases do, and debian seems to be a good fit for running gitolite. Previously, this git repository was serving double duty as the code repository for normalmode, as well as the site gitolite-admin repository. This is no longer going to be the case - gitolite-admin is now completely separate. Not only does this allow me to clean up the folder structure, but going forward, the out-of-the-box experience of a new install will be 'more correct' for what normalmode intends. IE: Our config files will more often already be installed by default, instead of requiring user-intervention on the gitolite-admin side of things. The docker-compose.yml file is left behind. I'll update it after cgit gets a similar treatment. * gitolite-debian-refactor: gitolite: Add admin initialization script gitolite: Allow users to delete remote HEAD branches gitolite: Remove hard-coded admin username gitolite: Correct site-local code location gitolite: Refactor Dockerfile for debian base gitolite: Consolidate config files into a single directory
Diffstat (limited to 'gitolite/initialize.sh')
-rwxr-xr-xgitolite/initialize.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/gitolite/initialize.sh b/gitolite/initialize.sh
new file mode 100755
index 0000000..6806acd
--- /dev/null
+++ b/gitolite/initialize.sh
@@ -0,0 +1,16 @@
+#!/bin/bash -e
+
+# This script is manually invoked when first setting up a site to initialize the
+# gitolite repositories database and set up a user-supplied pubkey for initial
+# administrator access.
+
+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..."
+
+read -r confirm
+
+rm -rf /git/.gitolite /git/repositories/*
+su git -c "gitolite setup -pk /tmp/$1"