Erminig/doc/architecture.md
2025-04-29 17:15:19 +02:00

55 lines
1.3 KiB
Markdown

# Architecture Erminig
---
## Vue Globale
Erminig est une forge artisanale en 3 piliers :
- **Evezh** : Veille logicielle, détection de nouvelles versions.
- **Govel** : Construction et maintenance des paquets à partir des fichiers Pakva.
- **Keo** : Gestion du dépôt de paquets et mise à disposition publique.
Chaque module est indépendant, mais communique par base de données et sockets.
---
## Détails
| Module | Rôle | Langage | Communication |
|:-------|:-----|:--------|:---------------|
| Evezh | Check des versions upstream | Python 3.13 | SQLite |
| Govel | Build + révision + création Pakva | Python 3.13 | SQLite, fichiers système |
| Keo | Mirroir de paquets `.bzh` | À venir | SQLite, HTTP (futur) |
---
## Dossiers critiques
| Dossier | Contenu |
|:--------|:--------|
| `/var/lib/erminig` | Données persistantes (db, Pakva, builds, etc.) |
| `/var/cache/erminig` | Temporaire (compilations, archives, logs) |
| `/opt/erminig` | Sources du projet installées |
---
## Principes
- **KISS** : Keep it simple, stupid.
- **Séparation stricte** entre utilisateur système (`pak`) et root.
- **Aucune dépendance inutile.**
- **Logs clairs** pour tout ce qui est critique.
- **Architecture modulaire.**
---
# Motto
> **Un système simple.
> Une forge robuste.
> Un esprit libre.**
---
# FIN