Fonctionnalites & organisation
Gitrust reunit les briques d'une Git forge moderne autour de six piliers : securite memoire, conformite reglementaire, self-hosting, collaboration, observabilite et integration. Chaque fonction est concue pour rester simple, auditable et sans dependance externe.
mindmap
root((Gitrust))
Securite memoire
Rust memory safe
Zeroize des secrets
SSH RSA 4096 bits
Conformite ANSSI
PA-074
Audit fournisseurs
SBOM CycloneDX
Self-hosting
Zero cloud
Zero telemetrie
Bare-metal ou VPS
Integration
HTTP natif
SSH natif
Clients Git standards
Collaboration
Multi-team
Roles hierarchiques
Permissions fines
Observabilite
SBOM exportable
Dependency-Track
Audit CVE
Glossaire des fonctionnalites
Securite memoire
- Rust memory-safe
- Base 100 % Rust avec
#![forbid(unsafe_code)] sur les crates critiques. Aucun comportement indefini, aucune fuite memoire exploitable.
- Lints stricts
deny(unwrap_used, expect_used, panic, indexing_slicing) applique a l'ensemble du code. Les erreurs sont gerees, jamais escamotees.
- Zeroize
- Les secrets (tokens, hashes) implementent le trait
Zeroize : la memoire est effacee automatiquement a la destruction.
- SSH durci
- Cles RSA >= 4096 bits imposees, algorithmes faibles rejetes, empreintes SHA256 verifiees a chaque connexion.
Conformite ANSSI PA-074
- Audit fournisseurs
- Chaque dependance est tracee, versionnee et auditable via le manifeste Cargo et la SBOM CycloneDX integree.
- Path traversal bloque
- Validation systematique des chemins disque (owner + slug) : rejet de
.., / et \.
- Journalisation
- Traces d'audit sur les operations sensibles : creation, partage, suppression de depot, rotation de cle, changement de permission.
Self-hosting
- Deploiement souverain
- Une archive Rust, un PostgreSQL, un volume disque. Aucun service tiers, aucun appel reseau externe.
- Zero CDN
- Tous les assets (CSS, JS, polices) sont servis localement. CSP stricte bloquant les domaines externes.
- Zero telemetrie
- Aucune donnee n'est remontee ailleurs que dans vos propres journaux. Les metriques restent chez vous.
Collaboration
- Roles hierarchiques
- Quatre roles clairs : Reader, Developer, Maintainer, Owner. Permissions effectives = max(individu, equipe).
- Depots partages
- Partage individuel ou par equipe, avec ou sans heritage. Les droits se combinent, jamais ne se contournent.
- Organisations
- Structure multi-team avec isolement des espaces de noms et des cles SSH.
Integration
- Git HTTP natif
- Smart HTTP complet (clone, fetch, push) sans couche proxy. Compatible avec tous les clients Git standards.
- Git SSH natif
- Serveur SSH integre (port 2222 par defaut), authentification par cle publique, gestion fine des hooks.
- Hooks extensibles
- Points d'extension
pre-receive, post-receive, update pour brancher vos pipelines CI, vos scanners, vos notifications.
- Dagger CI optionelle
- Declenchement natif de pipelines Dagger CI sur chaque push via le hook
post-receive. Builds reproductibles, portables et versionnes cote depot.
- API cohesive
- Endpoints REST pour l'automatisation (creation de depot, gestion des cles, invitation d'utilisateurs).
Observabilite et qualite
- SBOM CycloneDX
- Generation automatique de la nomenclature logicielle au format CycloneDX 1.5, exportable vers Dependency-Track.
- Analyse de vulnerabilites
- Integration continue avec Dependency-Track : detection et suivi des CVE sur l'ensemble des dependances.
- Journaux structures
- Logs JSON exploitables par tout agregateur (ELK, Loki, Graylog) sans adapter de parseur.
Flux de travail developpeur
flowchart LR
Dev["Developpeur
git, SSH, HTTPS"]
Gitrust["Gitrust
axum, HTMX, Rust"]
PG[("PostgreSQL
metadata, permissions")]
Repos[("Bare repos
disque local")]
Dagger["Dagger CI
pipelines, post-receive"]
DTrack["Dependency-Track
SBOM, CVE"]
Dev -->|"git push"| Gitrust
Gitrust -->|"core data"| PG
Gitrust -->|"core data"| Repos
Gitrust -.->|"hooks CI"| Dagger
Gitrust -.->|"hooks CI"| DTrack
Prets a reprendre le controle de votre code ?
Gitrust est en deploiement progressif. Pour acceder a une demo, poser vos questions ou etre accompagne sur une integration ANSSI-conforme, contactez l'equipe.