.\" Generated by scdoc 1.11.2 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "INFRA" "7" "2024-03-21" "Infrastructure de Baguette" "Manuel de l'infra de Baguette" .P .SH Liste des machines .P Pour les services : \fBtrès important\fR, \fIplutôt important\fR .P .TS allbox;c c c c c c c l c l c c l c l c c l c l c c l c l c c l c l c c l c l c c l c l c c l c l. T{ \fBARN\fR T} T{ \fISystème\fR T} T{ \fIAdresse\fR T} T{ \fIPort SSH\fR T} T{ \fIServices\fR T} T{ \fBphy0\fR T} T{ Alpine 3.\&15 T} T{ 89.\&234.\&141.\&125 T} T{ 22 T} T{ \fBfirewall\fR T} T{ team T} T{ OpenBSD 7.\&4 T} T{ 192.\&168.\&122.\&132 T} T{ 2210 T} T{ \fBgitea\fR mattermost \fBsmtpd\fR honk (fediverse/Mastodon) T} T{ mail T} T{ OpenBSD 7.\&4 T} T{ 192.\&168.\&122.\&10 T} T{ 2204 T} T{ \fBsmtpd\fR \fBimap\fR (dovecot) T} T{ alpha T} T{ Alpine 3.\&18 T} T{ 192.\&168.\&122.\&84 T} T{ 2203 T} T{ \fBnginx\fR arpenteurs \fBweechat/irc\fR T} T{ baguette T} T{ Alpine 3.\&18 T} T{ 192.\&168.\&122.\&181 T} T{ 2220 T} T{ \fIzig dev\fR \fIpackage.\&mk\fR T} T{ bsdbuild T} T{ OpenBSD 6.\&6 T} T{ 192.\&168.\&122.\&165 T} T{ 2265 T} T{ builds (weechat) T} T{ R&D T} T{ Alpine 3.\&1X T} T{ 192.\&168.\&122.\&211 T} T{ 2205 T} T{ expérimental T} T{ CEIUS T} T{ Alpine 3.\&1X T} T{ 192.\&168.\&122.\&30 T} T{ 2230 T} T{ CEIUS (?\&?\&) T} .TE .sp 1 .P .P \fINotes\fR : .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Les machines pourraient être renommées.\& .br Les adresses et les ports sont aléatoires.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Le serveur physique a plusieurs disques, mais un seul est utilisé pour le moment.\& .br Un RAID serait envisageable.\& .RE .P .SH phy0 .P La machine `phy0` redémarre sur son disque `/dev/sdb`.\& .P .SS procédure après redémarrage .P Il faut supprimer la règle iptables empêchant les connexions extérieures vers les machines virtuelles.\& .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} iptables -D FORWARD 2 .RE .P .SH VM Alpha .P .SS NGINX .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} gère toutes les connexions entrantes sur les ports 80, 443 .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} configuration dans \fI/srv/root/nginx/\fR, attention au rewrite de service (voir \fBTODO\fR) .RE .P .TS allbox;c c c c c c c c c c c c c c c c c c. T{ \fIDomaine\fR T} T{ \fIService\fR T} T{ \fIPort\fR T} T{ \fBgit.\&baguette.\&netlib.\&re\fR T} T{ gitea T} T{ 443 (80 redirigé) T} T{ \fBteam.\&baguette.\&netlib.\&re\fR T} T{ mattermost T} T{ 443 (80 redirigé) T} T{ \fBsocial.\&karchnu.\&netlib.\&re\fR T} T{ honk T} T{ 80 (443 redirigé) T} T{ \fItodo.\&baguette.\&netlib.\&re\fR T} T{ todo T} T{ 443 (80 redirigé), 9999 T} T{ arpenteurs.\&netlib.\&re T} T{ kemal T} T{ 80 T} .TE .sp 1 .SH VM team .P .SS {git,team}.baguette.netlib.re .P Les services `gitea` et `mattermost` sont \fIouvert\fR au public, notamment pour le projet `Baguette`.\& .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} gitea et mattermost utilisent \fIpostgresql\fR .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} gitea .RS 4 .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} configuration: \fI/etc/gitea/\fR = la base, \fI/var/gitea/\fR = les données + personnalisation .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fI/etc/gitea/gitea.\&conf\fR = psql, mails, droits .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fI/var/gitea/\fR = dépôts, avatars, personnalisation de l'\&apparence .RE .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} mattermost pour le développement .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fIhonk\fR pour remplacer Twitter .RE .P Les certificats ont été générés par \fIacme.\&sh\fR.\& Voir section \fBTODO\fR.\& .P .SS opensmtpd .P Le serveur smtpd gère les domaines : .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} baguette.\&netlib.\&re (requis par gitea et mattermost) .RE .P \fBDebug potentiel\fR .P En cas de \fB\fRAUTH LOGIN failed\fB\fR dans les logs, vérifier que \fBrspamd\fR est lancé.\& .P .P .SH VM bsdbuild (toujours active ?) .P Actuellement : zone de jeu, on peut tester des outils dessus, lancer des compilations.\& .P .P .SH TODO pour le développement d'outils à déployer sur l'infra .P .SS Pare-feu .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} pourrait imposer un rate limit .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} l'\&accès à un service depuis une autre VM est compromis pour l'\&instant, il faut des règles DNAT+SNAT .RE .P .SS Déploiement .P Le déploiement devrait être effectué de manière automatique depuis les sources.\& Actuellement un problème réseau nous en empêche : il faut se plonger dans `iptables`.\& .P \fBservice\fR .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} pourrait (devrait ?\&) être utilisé à terme .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} manque la gestion correcte des groupes au lancement d'\&un processus .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} lance actuellement nginx \fBmais sa configuration est réécrite avec de mauvaises valeurs\fR, à revoir .RE .P \fBlibipc\fR doit être patché pour les sockets unix qu'\&il crée : .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} changer le propriétaire et le groupe .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} changer les permissions .RE .P .SS Certificats à maintenir (acme-client sur team) .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} baguette.\&netlib.\&re (+ git, team et todo sur le même domaine) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} social.\&karchnu.\&netlib.\&re .RE .P .SS Adresse IPv6 .P Pour le moment tout est en v4, y compris sur la machine physique.\&