Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR-004 — Linux tier-1 exclusif, FreeBSD et Windows tier-3 documentés

Statut : Accepté — document fondateur. Édition directe autorisée en phase de design pré-ouverture publique ; immuable après ouverture publique (toute évolution via RFC, ADR-015). Catégorie : Architecture (cible système et matérielle, toutes couches).

Contexte

Les mécanismes sur lesquels l’architecture veut s’appuyer — io_uring, Landlock, seccomp-bpf, eBPF, namespaces/cgroups — n’existent que sous Linux, et sans équivalent transposable ailleurs.

Il fallait donc choisir : brider le design pour préserver une portabilité future, ou exploiter pleinement le noyau et l’assumer. Un choix qui engage chaque couche, et qu’il vaut mieux poser une fois pour toutes que renégocier à chaque décision technique.

Décision

L’architecture est conçue pour Linux. Choix structurants assumés Linux-only : io_uring, Landlock, seccomp-bpf, eBPF, namespaces/cgroups, systemd, PipeWire.

Mac Intel tier-1 (architecture x86_64 standard). Apple Silicon tier-2, supporté via collaboration avec Asahi Linux. ARM64 hors Apple Silicon tier-3 selon contributions communautaires.

Conséquences

Couche 0 a une façade Rust propre qui pourrait recevoir d’autres backends sans que ce soit un objectif. Aucun compromis design pour préserver une portabilité théorique. Documentation des « portes » : on liste explicitement par couche quelles parties sont portables et quelles parties ne le sont pas.

Alternatives rejetées

Aucune alternative n’a été consignée lors de l’instruction.


Licence du document : MPL 2.0