Documentation développeur et intégrateur
Modules, signature et isolation
Contrat technique d'un module OC2-Edge : manifeste, capacités, interfaces, signature, révocation et niveaux d'isolation.
Un module est un livrable gouverné. Il ne devient exécutable que si son manifeste est valide, son artefact est signé et sa clé est approuvée par l’instance.
Manifeste
Le manifeste porte trois blocs :
identity:
name: hello-track
version: 0.1.0
publisher: exemple
capabilities:
publish:
- oc2.tracks.v1
interfaces:
provides:
- oc2.module.lifecycle.v1
Le manifeste doit suffire à comprendre les privilèges du module. Ce qui n’est pas déclaré est refusé à l’exécution.
Interfaces
Les interfaces sont typées et versionnées. Un module compilé contre oc2.tracks.v1 continue de fonctionner tant que cette version est servie. Une modification incompatible crée une nouvelle version d’interface.
Signature
oc2 sign --key ./keys/editeur --artifact out/hello-track.wasm
oc2 verify --artifact out/hello-track.wasm --signature out/hello-track.wasm.sig
La signature doit couvrir l’artefact et le manifeste. Le nœud refuse l’installation si l’artefact a changé après signature ou si le manifeste ne correspond plus.
Révocation
La révocation d’un module ou d’une clé se propage par le dépôt TUF de l’instance. Le nœud doit traiter la révocation comme une mise à jour ordinaire : vérification des métadonnées, application atomique, journalisation.
Isolation
| Niveau | Frontière | Usage |
|---|---|---|
| WASI | Sandbox par capacités. | Module tiers par défaut. |
| microVM | Frontière VM minimale. | Module avec dépendances système. |
| Natif | Processus confiné. | Module socle ou module matériel revu. |
Le niveau d’isolation figure dans le manifeste et dans le magasin de modules. Il participe à la décision d’approbation de l’opérateur.