Le mmh, en bref — une petite antenne sur n’importe quelle machine

Minihubs et mmh · 4. Le mmh

Une antenne de 15 Mo,
là où il en faut une.

Le minihub fait tourner des applications. Pour des tâches plus petites, il a des enfants : les mmh. Un binaire Go, une machine, un rôle.

Le minihub est un agent Java, avec sa base, son bus de messages et Docker. C’est beaucoup pour une petite machine virtuelle qui doit seulement sortir sur Internet, ou lancer une tâche chaque nuit. Le mmh, pour miniMiniHub, répond à ce cas : un seul fichier exécutable en Go, de 12 à 17 Mo, sans dépendance.

À quoi ça sert

Un mmh tient un ou plusieurs rôles :

proxy

Il sert de sortie sur Internet pour les applications du Hub, avec sa propre adresse, en direct ou par TOR. C’est l’objet de l’article suivant.

smtp

Il remet du courrier directement aux serveurs de destination, seulement pour les domaines qu’on lui confie, et sous quota.

batch

Il exécute des tâches planifiées d’agent IA, que le Hub crée et modifie à distance, et remonte un rapport.

Un cas réel. Adswizard fait tourner des mmh sur sa propre infrastructure. Leur rôle est batch : des tâches planifiées d’agent IA, pilotées depuis le Hub, sans que son réseau s’ouvre.

Ce qu’on voit à l’écran

Les mmh rattachés à minihub-ovh-rss, et la fiche de l'un d'eux

Relevée le 2026-09-23 à 13:41. C’est la fiche du minihub minihub-ovh-rss, onglet miniMiniHubs (17) : 17 mmh sont rattachés à ce minihub. En haut à droite, l’heure de mise à jour et un bouton Rafraîchir.

La rangée d’onglets. Un onglet par mmh. Certains noms sont en partie floutés : ils désignent des clients qui n’ont pas demandé à être cités. On lit notamment adsw-prd1, adsw-prd2, adsw-token (Adswizard), et mmh-prod-001, mmh-prod-002 (nos deux sorties).

Le cadre du mmh ouvert, adsw-prd1. État ACTIVE. Dernier heartbeat il y a 11 s. Mode persistent : l’agent est un service système qui survit au redémarrage de la machine. Rôle batch. Version d’agent 0.7.2. L’adresse vue et l’hôte sont floutés.

« Charge et activité ». CPU 6 %, RAM 33 %, disque 38 %. L’adresse de sortie (IP d’égress), floutée. « Connexions par service : aucune ».

« Actions MCP ». C’est la partie la plus parlante. Le texte l’explique : « Catalogue introspecté : chaque binaire enrôlé est interrogé. Rien n’est déclaré côté Hub, donc rien ne peut dériver du code déployé. » Ici, 13 actions sur 1 binaire, servies depuis le cache du Hub (sonde de 13:40:15), le bouton Re-sonder force une lecture fraîche. Le binaire mmh:core est OK en v0.7.2. Première action listée : bash, étiquetée ops, « Exécuter une commande et observer sa sortie ». Sa règle est écrite en clair : exécution directe des arguments, jamais par un shell ; une commande composée (;, |, $(), redirection) est refusée. La sortie est rendue, tronquée à 100 ko.

Comment ça marche

Le mmh se rattache à un minihub, en sortant

Tunnel gRPC mTLS vers son minihub parent, sur le port 443. Aucun port ouvert sur la machine du mmh. Le minihub le relaie au Hub.

Il donne signe de vie et sa charge

Battement de cœur régulier, avec CPU, mémoire, disque et connexions par service. Le minihub tient le registre de ses mmh.

Il est fermé par défaut

Pas de mTLS, pas de démarrage. Magasin local chiffré (AES-256-GCM), ou pas de démarrage. Et un fichier de permissions, au format allow / deny / ask : sans lui, le mmh démarre, bat… et n’exécute rien.

Il déclare ce qu’il sait faire

Le Hub interroge chaque binaire autorisé, qui publie ses actions et leurs paramètres. Un appel mal formé est refusé par le Hub avant de réveiller la machine.

Le Hub lui confie des tâches

Une tâche planifiée : une expression cron, un agent, un gabarit de prompt. Le mmh la garde dans une file durable et remonte un rapport en Markdown, que le Hub peut diffuser par courrier.

Ce que ça vous permet

Mettre une petite antenne sur n’importe quelle machine, même modeste, même chez un hébergeur qui ferme tout, et lui confier un travail précis : une tâche de nuit, une sortie sur Internet, un envoi de courrier. Elle ne fait que ce qu’on lui a permis, et vous voyez tout depuis la plateforme.

Les limites, aujourd’hui

  • Le certificat qui relie un mmh à son minihub se renouvelle à la main.
  • Une permission « ask » vaut un refus : il n’existe pas encore de canal pour approuver.
  • Un seul de nos minihubs accueille des mmh.

Une tâche à confier à une machine ?

Retour en haut

Mentions légales · Confidentialité · Contact

© 2026 LMVI Conseil — SARL, SIREN 949 417 620 · [email protected]