Le service Git est un logiciel d’hébergement de code en ligne ou « forge logicielle » qui permet de travailler en collaboration sur des dépôts Git. Il est basé sur le logiciel Gitea.
Il est réservé à nos membres et nécessite un compte sur la plateforme. Chaque compte connecté à l’espace membre peut créer un maximum de 50 dépôts. Les utilisateur·ices se connectent aux dépôts via SSH ou HTTPS.
Les comptes non connectés à l’espace membre ne peuvent pas créer de dépôts, mais peuvent participer aux dépôts existants (créer des issues ou pull requests).
Ce service a été inauguré le 12 septembre 2019 avec le service Nitter, avec pour but premier d’héberger les dépôts de l’association (qui n’utilisait auparavant aucun système de dépôt).
Depuis février 2022, notre service utilise la variante rootless de l’image.
Nous utilisons l’image officielle gitea/gitea, variante rootless sans modification. Sa configuration actuelle se situe sur le dépôt Core.
Gitea dépend d’un système de gestion de base de données, nous utilisons PostgreSQL à cette fin. Les fichiers de configuration et les dépôts sont conservés dans un volume.
Le serveur SSH de notre instance est ouvert sur un port non conventionnel (42084).
L’utilisation de git pull
sur un dépôt classique permet de tester la connexion HTTPS/SSH au daemon git.
Divers outils intégrés à Gitea à travers la commande gitea doctor
permettent de diagnostiquer des problèmes liés à l’entretien du service.
Voici les statistiques d’utilisation du service Git de La Contre-Voie.
Il s’agit de moyennes journalières mesurées pendant la 5e semaine (calendrier ISO) de chaque année listée.
Année | Requêtes | Utilisateur·ice·s uniques | Bande passante |
---|---|---|---|
2020 | 6 876 | 149 | 0,27 GB |
2021 | 6 986 | 435 | 0,56 GB |
2022 | 18 818 | 537 | 0,80 GB |
2023 | 17 857 | 1 359 | 0,82 GB |
Le service Git reste donc très peu consommateur en bande passante, car relativement peu utilisé.
En date d’avril 2023, notre instance héberge 152 comptes, 15 comptes « organisation » et 315 dépôts. La base de données PostgreSQL pèse 31 MB et le volume de Gitea pèse 1.3 GB. Le conteneur consomme environ 375 MB de RAM.
Gitea dispose de peu de fonctionnalités pour lutter contre le spam, en particulier contre la création de comptes. Ces comptes fictifs polluent l’instance et risquent même de porter atteinte à la réputation du serveur mail utilisé pour l’envoi des emails de confirmation d’inscription.
Si vous pensez pouvoir échapper à ce spam en utilisant la fonctionnalité de captcha intégrée à Gitea, détrompez-vous : elle est totalement inefficace contre la plupart des bots.
Nous avons constaté plusieurs types de « comptes bots », qui sont des comptes que nous considérons comme illégitimes et créés en abusant de notre service.
Gitea peut être mis à jour simplement en téléchargeant l’image Docker officielle après avoir pris connaissance du changelog pour s’assurer qu’aucun changement important ne risque de casser l’installation actuelle. Ce processus de mise à jour s’applique tout aussi bien pour les versions mineures (1.x
) que les versions patch (1.x.y
).
Pour réaliser la mise à jour dans les règles de l’art afin de minimiser les risques d’une mise à jour échouée, un guide de mise à jour complet est disponible ici.
Pour régler les problèmes de spam, l’utilisation d’une authentification unifiée avec l’espace membre permettrait de désactiver les inscriptions.
L’inconvénient majeur de cette mesure serait qu’elle pourrait empêcher la création de comptes légitimes pour des personnes qui veulent contribuer à un projet existant sans créer de dépôt (fork, tickets, contribution à un projet existant…), un usage largement recensé sur notre instance. Un Gitea fédéré constituerait un palliatif efficace, mais cette fonctionnalité n’est pas implémentée à ce jour et pourrait prendre du temps.
Un thème a été créé spécifiquement pour l’instance Gitea de l’association, basé sur son thème sombre. Une actualisation de ce thème serait la bienvenue.