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.

The six pillars of Gitrust around a Rust memory-safe core Gitrust Rust memory-safe Security Zeroize · SSH 4096 Compliance ANSSI PA-074 Self-hosting Zero cloud Integration HTTP + SSH Collaboration Multi-team Observability SBOM · Audit

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

From the developer workstation to the self-hosted infrastructure Developer git / SSH / HTTPS Gitrust axum · HTMX · Rust PostgreSQL metadata, permissions Bare repos on local disk Dagger CI pipelines · post-receive hook Dependency-Track SBOM · CVE core data hooks / CI on your infra

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.