Accueil

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

NiveauFrontièreUsage
WASISandbox par capacités.Module tiers par défaut.
microVMFrontière VM minimale.Module avec dépendances système.
NatifProcessus 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.