Introduction
Qu'est-ce que gitrust ?
gitrust est une forge Git self-hosted écrite en Rust, conçue pour les équipes de 3 à 20 personnes qui souhaitent maîtriser leur infrastructure de développement. Elle offre un serveur HTTP (:4000) et SSH (:2222), une CI intégrée via Dagger, la génération de SBOM avec Syft et l'intégration Dependency-Track, une gestion fine des permissions (4 rôles), la double authentification, des labels hiérarchiques et une conformité ANSSI PA-074.
Une instance publique de démonstration est accessible sur demo.gitrust.eu.
À qui s'adresse cette documentation ?
Cette documentation est organisée en quatre parties selon leurs publics respectifs :
- Manuel utilisateur — pour les développeurs qui utilisent une instance gitrust existante : push/pull, pull requests, issues, CI, notifications. Prérequis : savoir utiliser Git en ligne de commande.
- Manuel d'administration — pour les ops et self-hosters qui déploient, configurent et maintiennent une instance en production. Prérequis : administration Linux, notions de réseau et TLS.
- Manuel développeur — pour les contributeurs au code gitrust et les développeurs qui construisent des intégrations sur l'API publique. Prérequis : Rust (pour contribuer) ou un langage client (pour l'API).
- Bibliothèque de templates — pour tous les profils, lorsqu'ils cherchent un point de départ prêt à l'emploi (fichiers
.env,docker-compose.yml, configs reverse-proxy, scripts de backup, exemples de clients API).
Comment cette documentation est-elle structurée ?
Cette documentation suit le cadre Diátaxis, qui distingue quatre types de contenu selon le besoin du lecteur :
| Type | Quand l'utiliser | Exemples |
|---|---|---|
| Tutoriels | Quand vous apprenez | Installer gitrust, créer votre premier dépôt |
| Guides pratiques | Quand vous résolvez un problème précis | Configurer SMTP, gérer les clés SSH |
| Référence | Quand vous cherchez une information technique | Variables d'environnement, schéma API REST |
| Explication | Quand vous voulez comprendre le pourquoi | Architecture des crates, modèle RBAC |
Chaque manuel (utilisateur, administration, développeur) contient ces quatre types de contenu organisés de manière indépendante.
Naviguer dans la documentation
- Manuel utilisateur — collaborer sur gitrust en tant que développeur
- Manuel d'administration — déployer et exploiter une instance
- Manuel développeur — contribuer au code ou consommer l'API
- Bibliothèque de templates — configs et scripts copiables
GitRust