Description de l’infrastructure

L’infrastructure est actuellement composé d’un unique serveur.

Environement

Hébergement

Le serveur est un serveur KS-2 (4GB RAM, CPU Atom N2800, HDD 1x1 To) hébergé par Kimsufi à Paris dans le datacenter GRA1 (Rack G131B32), loué au nom de Antoine Eiche. L’objectif est de transférer cette machine à une association (que nous devons créer).

Nom de domaine

Le nom de domaine markas.fr est géré par Gandi au nom de Antoine Eiche. L’objectif est de transférer ce nom de domaine à une association (que nous devons créer).

Système d’exploitation

Nous utilisons la distribution NixOS en version nixos-20.03. La révision NixOS actuellement déployé est c9d124e39dbeefc53c7b3e09fbfc2c26bcbd4845. Nous configurons ensuite cette distribution pour l’adapter à nos besoins. La révision de la configuration Markas actuellement déployée est 7d4c41980db852993a2e6deabe234f8ea7a16d95.

Version des logiciels

TODO: donner la version de quelque logiciels clés (kernel, nginx, nextcloud,…).

Liste des membres ayant des droits d’administreurs

TODO: lister les droits root, ssh admin nextcloud,…

Politique de sécurité

TODO: expliquer que l’on fait des mises à jour régulièrement, qu’on limite les accès admin, que l’on ne fait pas de backup…

Licence

Le dépôt https://framagit.org/markas/infrastructure est sous license AGPLv3

Les services d’infrastructures

Afin d’assurer le bon fonctionnement des services utilisateurs, des services d’infrastructures sont nécessaires.

Monitoring et alerting

Nous utilisons Prometheus et Grafana.

Logs

Les logs du serveur sont exposés par systemd-journal-gatewayd. Ces logs ne sont accessible que par le VPN et ne sont actuellement ni exportés, ni sauvegardés.

VPN

Un VPN est utilisé pour permettre aux membres d’accéder à des données privées, telles que les logs. Le VPN utilisé est Wireguard.

Mode de déploiement

La configuration du serveur est décrite dans le dépôt https://framagit.org/markas/infrastructure. Toutes les minutes, un service systemd récupère le contenu de ce dépôt sur le serveur et applique les potentiels changements.

Avant d’appliquer un changement, le serveur vérifie que le commit HEAD de la branche master a bien été signé par une personne autorisée.