Theodem
Aus Stratum 0
Version vom 20:48, 13. Mär. 2023 von Chrissi^ (Diskussion | Beiträge)
Theodem | |
---|---|
Beschreibung: | VM für Vorstandsfoo |
Ort: | endur |
Status: | working (Was heißt das?) |
Kontakt: | chrissi^ |
Inhaltsverzeichnis
SSH-Keys
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 $ for i in /etc/ssh/ssh_host_*.pub; do ssh-keygen -lf $i; done 1024 ea:74:1e:22:63:7e:48:29:eb:60:c7:0c:2f:3c:56:60 /etc/ssh/ssh_host_dsa_key.pub (DSA) 256 ad:de:1a:1f:2b:8f:e4:5c:cb:72:0a:e2:f3:48:73:b1 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA) 256 2e:f0:ac:eb:83:6d:5c:5a:20:8f:8f:16:7a:8a:e9:13 /etc/ssh/ssh_host_ed25519_key.pub (ED25519) 2048 a3:28:ca:9f:9a:f5:ee:b7:5e:13:7a:9d:35:db:94:ca /etc/ssh/ssh_host_rsa_key.pub (RSA) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJXeHGPAAoJELJBPGbdLD/qO2QP/1ATa80NxMB5CHzpyWBq3tqV zZYMAH2Hx1CQWZDQ/ATTfzt4duGL9REOVlkWIjsYlIEKgCSWT5vv9fuuDJIbKjfj otPgB7SHZ5J9O4HtduneKNxWFb2VQvZiW7GD0Rrps2WD7PHtHmF2BjjkemWwkL1a 9AdpxxHfUB8Jr+06ciIe/z94mFlCPpr4phe1HW5WvPP/AlrIf+GYVCZL3J3FIcxh HUGcykabjAoYhW6LDKL8ovVJkn8tf38D3LUJv7fePOGb9SFk/xf6JO30mveIRChz pMUhyqPg6/qlZ4itxzFAzYs61hovK8PnD6eBk87PtJS2GE5jWnMmyO2y2xmQpGQH c10Zq477R6useUDjc7xq/R6Ays5wM6extw8KA5UrQRikifA0yS0MdVnlqWbTufYj 9mlV0BBGPYN/zA55ui/mp2cDA9ph5/m+ZM5AC3mh8jxYMTWPEUBhCAK4UWfYjDy3 W6aX/WxV+hcQAivG1K97Skd3DIdSsokCVFoYrJMJ8SvVmI3kTTZL5AwcmW4A1s8A fW5Oq2kIc5h6indDyy8tgN3dQodMWl5Nd5okEomCaIiT4YFMP65k5rZMLA8PE9Fv JVYo/6IA7M+8qs5/hMVAbSNqZnm1CntgKNmSM2T8OWlyNyuxzb1AR2lM2CdIcrFf tsFJqwX82h1NsOre6Lec =OiC3 -----END PGP SIGNATURE-----
Doku
- Debian stretch, systemd
- 512 MB RAM
- 6 GB Platte
- 2 CPU-Kerne
- Netzwerk intern, statisch via /etc/systemd/network/eth0.network
- gitolite3 in /var/lib/gitolite3/, user git
- s0v-finanzen-Repo:
- post-receive-Hook ist manuell im Repository angelegt, delegiert an
- /var/lib/gitolite3/scripts/jverein-finance-report/hook.sh
- benutzt virtualenv unter /var/lib/gitolite3/scripts/jverein-finance-report/venv
- /var/lib/gitolite3/scripts/jverein-regressionstests/run_tests.sh
- Verschickt die Reports an: rou***@c*.de, chr***@t*.de
- /var/lib/gitolite3/scripts/jverein-finance-report/hook.sh
- post-receive-Hook ist manuell im Repository angelegt, delegiert an
- SSH via Port-Forwarding von gandolf, Port 2222
- Alle Dateien in /var/www/html werden auf regolas gesynct, sobald die Datei /var/www/html/.dirty angelegt wird (z.B. durch Ausführen von /usr/local/bin/regolas-rsync, was auch stündlich als Cronjob geschieht). Die Dateien sind damit unter https://data.stratum0.org erreichbar.
- jre8: Der H2DB-Server für die Finanz-Scripte funktioniert nicht unter der OpenJRE11. Es ist daher aus stretch eine jre8 installiert.
Skripte etc
/home/regolas-rsync/bin/regolas-rsync:
#!/bin/sh rsync \ --recursive --delete --stats \ --chmod=D2755,F644 \ --exclude='.*' \ /var/www/html/ theodem-rsync@regolas:/var/www/data.stratum0.org/ | \ sed 's/^/regolas-rsync: /'
/etc/systemd/system/regolas-rsync.service:
[Unit] Description=rsync everything from /var/www/html to regolas Requires=network.target [Service] User=regolas-rsync Group=www-data ExecStart=/bin/sh -c ' \ while true; do \ if [ -r /var/www/html/.dirty ]; then \ /home/regolas-rsync/bin/regolas-rsync; \ rm -f /var/www/html/.dirty; \ fi; \ sleep 1; \ done' Restart=always [Install] WantedBy=multi-user.target
Services
- Finanzreport (Schatzmeister)
- Git-Hook in /var/lib/gitolite3/repositories/s0v-finanzen.git/hooks/post-receive
SSH-Config
Die folgende ~/.ssh/config ist ein Beispiel, wie theodem erreicht werden kann.
Host theodem User chrissi Port 2222 HostName theodem.stratum0.org
gitolite
Übersicht der eigenen Repositories
Man kann sich alle Repositories anzeigen lassen, auf die man zugriff hat:
$ ssh git@theodem hello chrissi, this is git@theodem running gitolite3 3.6.6-1 (Debian) on git 2.11.0 R W gitolite-admin R W s0v-dokumente R W s0v-finanzen R W s0v-mails2011 R W s0v-mails2012 R W s0v-mails2013 R W s0v-mails2014 R W s0v-mails2015 R W s0v-mails2016 R W s0v-mails2017 R W s0v-mails2018 R W s0v-mails2019
Repository klonen
Die URL eines Repositories ergibt sich aus seinem Namen und der Basisurl:
git@theodem:<Name>
z.B.:
git@theodem:s0v-dokumente