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.