From 53b6e03efe9eaab25acca069801adecd5933c17d Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Mon, 26 Sep 2022 14:11:33 +0200 Subject: Add new git-server playbook --- playbooks.d/git-server/description.txt | 1 + playbooks.d/git-server/etc/defaults | 3 ++ playbooks.d/git-server/etc/os.d/linux-gentoo | 1 + playbooks.d/git-server/playbook.bash | 50 ++++++++++++++++++++++ playbooks.d/git-server/share/gitconfig | 2 + .../share/pubkeys.d/root@anoia-ed25519.pub | 1 + .../share/pubkeys.d/root@bast-ed25519.pub | 1 + .../share/pubkeys.d/root@caeghi-ed25519.pub | 1 + .../share/pubkeys.d/root@denahnu-ed25519.pub | 1 + .../share/pubkeys.d/root@edephas-ed25519.pub | 1 + .../share/pubkeys.d/root@faiwoo-ed25519.pub | 1 + .../share/pubkeys.d/root@gaeru-ed25519.pub | 1 + .../share/pubkeys.d/root@hurzak-ed25519.pub | 1 + .../share/pubkeys.d/root@tyil-ed25519.pub | 1 + .../share/pubkeys.d/tyil@anoia-ed25519.pub | 1 + .../share/pubkeys.d/tyil@bast-ed25519.pub | 5 +++ .../share/pubkeys.d/tyil@caeghi-ed25519.pub | 1 + .../share/pubkeys.d/tyil@denahnu-ed25519.pub | 1 + .../share/pubkeys.d/tyil@edephas-ed25519.pub | 1 + .../share/pubkeys.d/tyil@faiwoo-ed25519.pub | 1 + .../share/pubkeys.d/tyil@hurzak-ed25519.pub | 1 + .../share/pubkeys.d/tyil@ivdea-ed25519.pub | 1 + .../share/pubkeys.d/tyil@sessifet-rsa.pub | 1 + .../share/pubkeys.d/tyil@tyil-ed25519.pub | 1 + 24 files changed, 80 insertions(+) create mode 100644 playbooks.d/git-server/description.txt create mode 100644 playbooks.d/git-server/etc/defaults create mode 100644 playbooks.d/git-server/etc/os.d/linux-gentoo create mode 100644 playbooks.d/git-server/playbook.bash create mode 100644 playbooks.d/git-server/share/gitconfig create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@anoia-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@bast-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@caeghi-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@denahnu-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@edephas-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@faiwoo-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@gaeru-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@hurzak-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/root@tyil-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@anoia-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@bast-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@caeghi-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@denahnu-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@edephas-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@faiwoo-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@hurzak-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@ivdea-ed25519.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@sessifet-rsa.pub create mode 100644 playbooks.d/git-server/share/pubkeys.d/tyil@tyil-ed25519.pub diff --git a/playbooks.d/git-server/description.txt b/playbooks.d/git-server/description.txt new file mode 100644 index 0000000..25573f4 --- /dev/null +++ b/playbooks.d/git-server/description.txt @@ -0,0 +1 @@ +Simple git server for personal use diff --git a/playbooks.d/git-server/etc/defaults b/playbooks.d/git-server/etc/defaults new file mode 100644 index 0000000..521190f --- /dev/null +++ b/playbooks.d/git-server/etc/defaults @@ -0,0 +1,3 @@ +git.user=git +pkg.git=git +git.repodir=/srv/git diff --git a/playbooks.d/git-server/etc/os.d/linux-gentoo b/playbooks.d/git-server/etc/os.d/linux-gentoo new file mode 100644 index 0000000..7b9c30b --- /dev/null +++ b/playbooks.d/git-server/etc/os.d/linux-gentoo @@ -0,0 +1 @@ +pkg.git=dev-vcs/git diff --git a/playbooks.d/git-server/playbook.bash b/playbooks.d/git-server/playbook.bash new file mode 100644 index 0000000..ac4f2da --- /dev/null +++ b/playbooks.d/git-server/playbook.bash @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +playbook_add() { + notice "$BASHTARD_PLAYBOOK" "Installing packages" + pkg install "$(config "pkg.git")" + + notice "$BASHTARD_PLAYBOOK" "Creating user 'git'" + useradd \ + --home-dir "$(config "git.repodir")" \ + --create-home \ + --shell "$(config "fs.bindir")/git-shell" \ + "$(config "git.user")" + + playbook_sync +} + +playbook_sync() { + notice "$BASHTARD_PLAYBOOK" "Setting up authorized_keys" + mkdir -pv -- "$(config "git.repodir")/.ssh" + + cat "$BASHTARD_ETCDIR/playbooks.d/$BASHTARD_PLAYBOOK/share/pubkeys.d/"* > "$(config "git.repodir")/.ssh/authorized_keys" + + chown -Rv "$(config "git.user"):$(config "git.user")" "$(config "git.repodir")/.ssh" + chmod -v 700 "$(config "git.repodir")/.ssh" + chmod -v 644 "$(config "git.repodir")/.ssh/authorized_keys" + + notice "$BASHTARD_PLAYBOOK" "Ensuring all desired repositories exist" + while read -r repo + do + local name="$(config "git.repos.$repo.name" "$repo")" + local path="$(config "git.repodir")/$(config "git.repos.$repo.path" "$name")" + + info "$BASHTARD_PLAYBOOK" "Ensuring $name exists ($repo)" + + if [[ ! -d "$path" ]] + then + notice "$BASHTARD_PLAYBOOK" "Creating bare repository at $path" + sudo -u git mkdir -pv -- "$path" + sudo -u git git -C "$path" --bare init + fi + + printf "$(config "git.repos.$repo.description" "Nondescript")\n" > "$path/description" + done < <(config_subkeys "git.repos") +} + +playbook_del() { + notice "$BASHTARD_PLAYBOOK" "Cleaning up repodir" + rm -frv --one-file-system -- "$(config "git.repodir")" + userdel "$(config "git.user")" +} diff --git a/playbooks.d/git-server/share/gitconfig b/playbooks.d/git-server/share/gitconfig new file mode 100644 index 0000000..200c0c9 --- /dev/null +++ b/playbooks.d/git-server/share/gitconfig @@ -0,0 +1,2 @@ +[init] + defaultBranch = master diff --git a/playbooks.d/git-server/share/pubkeys.d/root@anoia-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@anoia-ed25519.pub new file mode 100644 index 0000000..30daab2 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@anoia-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVA8JzM40s3VSWIKtFDCL3DX8pnM8fhX81I7aa/U+ie root@anoia.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/root@bast-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@bast-ed25519.pub new file mode 100644 index 0000000..e1d7ab3 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@bast-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICk/6jLojpp5Jaum8C1trxqtZuLd/GJH8sh0SB/Z/y9J root@bast diff --git a/playbooks.d/git-server/share/pubkeys.d/root@caeghi-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@caeghi-ed25519.pub new file mode 100644 index 0000000..2c94f81 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@caeghi-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEeckhvozWNKJssM+PY44fBXkzVeoqg9H8NHreWLUvGY root@caeghi.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/root@denahnu-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@denahnu-ed25519.pub new file mode 100644 index 0000000..fb857d7 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@denahnu-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID7lMmT3CJEPk1BnpW0UHie6g0LUJ/i45Sp5l4DGocwg root@denahnu.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/root@edephas-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@edephas-ed25519.pub new file mode 100644 index 0000000..0d09b9a --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@edephas-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID2tje8i3DtCmLrc+qJ7d02qQQ0lO7wtwWXO4XthWGra root@edephas diff --git a/playbooks.d/git-server/share/pubkeys.d/root@faiwoo-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@faiwoo-ed25519.pub new file mode 100644 index 0000000..2f712c7 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@faiwoo-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcFE9oQT3s+vLsv4WNKTn3K0ZhntStXdCHfdBPj/62V root@faiwoo diff --git a/playbooks.d/git-server/share/pubkeys.d/root@gaeru-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@gaeru-ed25519.pub new file mode 100644 index 0000000..3056a3d --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@gaeru-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICj0hW49y+AGuMN2D672I5K6ZVLPVZLCsd+2MIat54nP root@gaeru.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/root@hurzak-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@hurzak-ed25519.pub new file mode 100644 index 0000000..348487a --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@hurzak-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOdRI1JSQnDYqoCkCrNz/T9mLSCNb5vRSnNjb/3CGtDK root@hurzak.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/root@tyil-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/root@tyil-ed25519.pub new file mode 100644 index 0000000..60cd440 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/root@tyil-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC2UxgdieMtF0a9QXFRb5QVYOwxG9oN1Q85///Y6VCZj root@tyil.email diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@anoia-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@anoia-ed25519.pub new file mode 100644 index 0000000..aea0daa --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@anoia-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOLpn3Tny1LSWaLeIDmdAkZZoAajSJN9CQvfFdgLFfsK tyil@anoia.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@bast-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@bast-ed25519.pub new file mode 100644 index 0000000..00e492d --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@bast-ed25519.pub @@ -0,0 +1,5 @@ +<<<<<<< HEAD +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAXhPa+EGS4NySl0YqG38xGEab6uqdimseqq4tlLWyV4 tyil@bast.tyil.net +======= +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILE1+6HjG3XvLQDHLwnFzq78SEsPTNa8Wu6+inmTMqu7 tyil@bast +>>>>>>> d8b0063 (Update pubkey for tyil@bast) diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@caeghi-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@caeghi-ed25519.pub new file mode 100644 index 0000000..969df53 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@caeghi-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILQp0puZEEADKgUF1XYtLPzcYLTGNdDj0WCTf37adaZ2 tyil@caeghi.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@denahnu-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@denahnu-ed25519.pub new file mode 100644 index 0000000..0434392 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@denahnu-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE4sustL8Mw5lQpyuUnmhJgeypvlHy6UFaEKmFCGcltL tyil@denahnu diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@edephas-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@edephas-ed25519.pub new file mode 100644 index 0000000..b3b01eb --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@edephas-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHiNIpe2QCOk22YYU/mY7QA2rq0E07wetzj5R1wtWxeC tyil@edephas.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@faiwoo-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@faiwoo-ed25519.pub new file mode 100644 index 0000000..6dd5ab7 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@faiwoo-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCiQJhuTvL0vZoOAu1L0sU81VV2qH1l4U73bL9RYfrW tyil@faiwoo diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@hurzak-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@hurzak-ed25519.pub new file mode 100644 index 0000000..0b6b1ef --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@hurzak-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINRprF4gE0pGiMNSxR8Z0fFsBikoifsm7HpdbHkBsmDg tyil@hurzak.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@ivdea-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@ivdea-ed25519.pub new file mode 100644 index 0000000..834bcd2 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@ivdea-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE+Ki28DBM3A8QUpxbAlZx2x111+rhn8JPcec67y9xi/ tyil@ivdea.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@sessifet-rsa.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@sessifet-rsa.pub new file mode 100644 index 0000000..1b8d9e6 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@sessifet-rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqntlHQ/3HHPUoNl7bpQ6pZIxZHnUAAIXTB5eBjDE0auJZE0Qz5HjUkqZNSb0SzoK9GgLLMH7yNMaYMSTRJguRARRTY3MpdQbrsMu5/8HbKZwxhy7jVRAODnIDO2b3A67ZOHQAazNZYlX873fVhDJHP3RPpYWJS1L2jyk6Z3euvg0duo4JolBEHzmuDi8mEhdNhjW54VM9CRofRrD2VBrnxbmH6LCQwVfuEiz7jVlyugKIiPtaX/9fSnwUVjpNVn0TA93FL0M6xypZFywORrAGLV9kuoQ/G0iVfXqH1A04OFzH1RGNq+oHfHWYZdE098SS+ur9E8+wXcIDBkkI37kF tyil@sessifet.tyil.net diff --git a/playbooks.d/git-server/share/pubkeys.d/tyil@tyil-ed25519.pub b/playbooks.d/git-server/share/pubkeys.d/tyil@tyil-ed25519.pub new file mode 100644 index 0000000..87d8f58 --- /dev/null +++ b/playbooks.d/git-server/share/pubkeys.d/tyil@tyil-ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQDyWbo8Ma60t5wwKK2bdxo03gj2GxxCyn2/V2nNr5Z tyil@tyil.email -- cgit v1.1