Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EspaceBoreal

Self-hosted git forge for document administration by pull request.

Extracted from AndORHub and expanded per the Collège comme dépôt git vision document.

What This Is

A git server with three layers:

Layer Who Interface
Level 1 (Staff) Documents, editing Web editor API — no git words
Level 2 (Coordinators) Review, approve, merge Web UI — branches, diffs, signatures
Level 3 (Lab/TI) Everything Raw git over HTTPS

Quick Start

cd espace-boreal
npm install
npm run dev

Server starts on :3001 with repos in ./repos and object store in ./objects.

API

Repositories

GET  /api/v1/repos              # List all repos
POST /api/v1/repos              # Create repo { name }
GET  /api/v1/repos/:name        # Repo info

File Browser (Level 1+)

GET /api/v1/repos/:name/tree?branch=main
GET /api/v1/repos/:name/tree/:path?branch=main
GET /api/v1/repos/:name/file/:path?branch=main

History (Level 2+)

GET /api/v1/repos/:name/history?depth=20&branch=main
GET /api/v1/repos/:name/diff/:oid?parent=oid

Propositions — Pull Requests (Level 2+)

GET  /api/v1/repos/:name/propositions?state=pret
POST /api/v1/repos/:name/propositions
     { branch, target?, title, description }

POST /api/v1/repos/:name/propositions/:id/signer
     { comment? }

POST /api/v1/repos/:name/propositions/:id/fusionner

DVC Object Store (Level 3)

GET  /objects/:hash
PUT  /objects/:hash

Git Protocol

Standard git over HTTPS:

git clone https://host:3001/monrepo.git
git push https://host:3001/monrepo.git

Vocabulary

Git EspaceBoreal
commit entree-registre
pull request proposition
merge signature
revert annulation
branch brouillon
diff releve-modifications
CODEOWNERS signataires

Environment

ESPACE_BOREAL_REPO_ROOT=./repos
ESPACE_BOREAL_OBJECT_STORE=./objects
ESPACE_BOREAL_PORT=3001
ESPACE_BOREAL_HOST=0.0.0.0

Almanach01 Integration

EspaceBoreal runs as a standalone service. Almanach01 (Rust/Axum) connects via:

  1. JWT auth — Almanach01 signs tokens; EspaceBoreal validates
  2. HTTP API — Almanach01 calls document APIs for staff UI
  3. Git protocol — For lab/TI direct access

See docs/ALMANACH01_INTEGRATION.md.

Architecture

espace-boreal/
├── src/
│   ├── core/        # Git engine (extracted from AndORHub)
│   ├── proposition/ # Pull request workflow
│   ├── signataires/ # CODEOWNERS equivalent
│   ├── dvc/         # Mini-DVC (binary files)
│   ├── org/         # Organization structure
│   ├── vocab/       # Terminology mapping
│   └── server.ts    # HTTP server
└── templates/       # Default monorepo structure

License

Same as AndORHub — extracted with permission.

About

Git forge for college boreal

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages