INFRA(7) "Infrastructure de Baguette" "Manuel de l'infra de Baguette" # Liste des machines Pour les services : *très important*, _plutôt important_ [- *ARN* :- _Système_ :- _Adresse_ :- _Port SSH_ :- _Services_ |- *phy0* :- Alpine 3.15 :[ 89.234.141.125 :- 22 :[ *firewall* |- team :- OpenBSD 7.4 :[ 192.168.122.132 :- 2210 :[ *gitea* mattermost *smtpd* honk (fediverse/Mastodon) |- mail :- OpenBSD 7.4 :[ 192.168.122.10 :- 2204 :[ *smtpd* *imap* (dovecot) |- alpha :- Alpine 3.18 :[ 192.168.122.84 :- 2203 :[ *nginx* arpenteurs *weechat/irc* |- baguette :- Alpine 3.18 :[ 192.168.122.181 :- 2220 :[ _zig dev_ _package.mk_ |- bsdbuild :- OpenBSD 6.6 :[ 192.168.122.165 :- 2265 :[ builds (weechat) |- R&D :- Alpine 3.1X :[ 192.168.122.211 :- 2205 :[ expérimental |- CEIUS :- Alpine 3.1X :[ 192.168.122.30 :- 2230 :[ CEIUS (??) _Notes_ : - Les machines pourraient être renommées.++ Les adresses et les ports sont aléatoires. - Le serveur physique a plusieurs disques, mais un seul est utilisé pour le moment.++ Un RAID serait envisageable. # phy0 La machine `phy0` redémarre sur son disque `/dev/sdb`. ## procédure après redémarrage Il faut supprimer la règle iptables empêchant les connexions extérieures vers les machines virtuelles. - iptables -D FORWARD 2 # VM Alpha ## NGINX - gère toutes les connexions entrantes sur les ports 80, 443 - configuration dans _/srv/root/nginx/_, attention au rewrite de service (voir *TODO*) [- _Domaine_ :- _Service_ :- _Port_ |- *git.baguette.netlib.re* :- gitea :- 443 (80 redirigé) |- *team.baguette.netlib.re* :- mattermost :- 443 (80 redirigé) |- *social.karchnu.netlib.re* :- honk :- 80 (443 redirigé) |- _todo.baguette.netlib.re_ :- todo :- 443 (80 redirigé), 9999 |- arpenteurs.netlib.re :- kemal :- 80 # VM team ## {git,team}.baguette.netlib.re Les services `gitea` et `mattermost` sont _ouvert_ au public, notamment pour le projet `Baguette`. - gitea et mattermost utilisent _postgresql_ - gitea - configuration: _/etc/gitea/_ = la base, _/var/gitea/_ = les données + personnalisation - _/etc/gitea/gitea.conf_ = psql, mails, droits - _/var/gitea/_ = dépôts, avatars, personnalisation de l'apparence - mattermost pour le développement - _honk_ pour remplacer Twitter Les certificats ont été générés par _acme.sh_. Voir section *TODO*. ## opensmtpd Le serveur smtpd gère les domaines : - baguette.netlib.re (requis par gitea et mattermost) *Debug potentiel* En cas de **AUTH LOGIN failed** dans les logs, vérifier que *rspamd* est lancé. # VM bsdbuild (toujours active ?) Actuellement : zone de jeu, on peut tester des outils dessus, lancer des compilations. # TODO pour le développement d'outils à déployer sur l'infra ## Pare-feu - pourrait imposer un rate limit - l'accès à un service depuis une autre VM est compromis pour l'instant, il faut des règles DNAT+SNAT ## Déploiement 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`. *service* - pourrait (devrait ?) être utilisé à terme - manque la gestion correcte des groupes au lancement d'un processus - lance actuellement nginx *mais sa configuration est réécrite avec de mauvaises valeurs*, à revoir *libipc* doit être patché pour les sockets unix qu'il crée : - changer le propriétaire et le groupe - changer les permissions ## Certificats à maintenir (acme-client sur team) - baguette.netlib.re (+ git, team et todo sur le même domaine) - social.karchnu.netlib.re ## Adresse IPv6 Pour le moment tout est en v4, y compris sur la machine physique.