infrastructure-doc/man/infra.7.scd

156 lines
3.6 KiB
Markdown

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.20
:[ 89.234.141.125
:- 22
:[ *firewall*
|- team
:- OpenBSD 7.6
:[ 192.168.122.132
:- 2210
:[ *gitea* mattermost *smtpd* honk (fediverse/Mastodon)
|- mail
:- OpenBSD 7.6
:[ 192.168.122.10
:- 2204
:[ *smtpd* *imap* (dovecot)
|- alpha
:- Alpine 3.20
:[ 192.168.122.84
:- 2203
:[ *nginx* arpenteurs *weechat/irc*
|- baguette
:- Alpine 3.20
:[ 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.