Theodem: Unterschied zwischen den Versionen
Aus Stratum 0
(+chrissi^, ssh läuft, kein http mehr vorgesehen) |
(→Doku) |
||
(19 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Hardware | {{Hardware | ||
− | |kontakt= | + | |kontakt=[[Benutzer:chrissi^|chrissi^]] |
|status=working | |status=working | ||
− | |ort=[[ | + | |ort=[[endur]] |
|beschreibung=VM für [[Vorstand]]sfoo | |beschreibung=VM für [[Vorstand]]sfoo | ||
|links= | |links= | ||
Zeile 36: | Zeile 36: | ||
== Doku == | == Doku == | ||
− | * Debian | + | * Debian 12 |
* 512 MB RAM | * 512 MB RAM | ||
* 6 GB Platte | * 6 GB Platte | ||
* 2 CPU-Kerne | * 2 CPU-Kerne | ||
− | * Netzwerk intern, | + | * Netzwerk intern, statisch via /etc/systemd/network/eth0.network |
* gitolite3 in <tt>/var/lib/gitolite3/</tt>, user <tt>git</tt> | * gitolite3 in <tt>/var/lib/gitolite3/</tt>, user <tt>git</tt> | ||
− | * | + | * <tt>s0v-finanzen</tt>-Repo: |
+ | ** post-receive-Hook ist manuell im Repository angelegt, delegiert an | ||
+ | *** <tt>/var/lib/gitolite3/scripts/jverein-finance-report/hook.sh</tt> | ||
+ | **** benutzt virtualenv unter <tt>/var/lib/gitolite3/scripts/jverein-finance-report/venv</tt> | ||
+ | *** <tt>/var/lib/gitolite3/scripts/jverein-regressionstests/run_tests.sh</tt> | ||
+ | **** Verschickt die Reports an Schatzmeisterin und Vertreter | ||
* SSH via Port-Forwarding von [[gandolf]], Port 2222 | * SSH via Port-Forwarding von [[gandolf]], Port 2222 | ||
+ | * Alle Dateien in <tt>/var/www/html</tt> werden auf [[regolas]] gesynct, sobald die Datei <tt>/var/www/html/.dirty</tt> angelegt wird (z.B. durch Ausführen von <tt>/usr/local/bin/regolas-rsync</tt>, 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 === | ||
+ | * [https://data.stratum0.org/finanz/ 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 <user> | ||
+ | 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 | ||
[[Kategorie:Virtuelle Maschine]] | [[Kategorie:Virtuelle Maschine]] | ||
[[Kategorie:Infrastruktur]] | [[Kategorie:Infrastruktur]] |
Aktuelle Version vom 10. Januar 2024, 20:48 Uhr
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 12
- 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 Schatzmeisterin und Vertreter
- /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 <user> 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