MacLustr est un cluster privé de 33 Macs Apple Silicon et 4 serveurs Linux OVHcloud. Il totalise 484 cœurs CPU, 812 cœurs GPU et 1,38 To de mémoire, et héberge 36 applications en production, dont 35 sites publics servis en HTTPS par le MacLustr Tunnel.
Les compteurs « nominaux » du cluster (NODES.md, CLAUDE.md, site www.maclustr.io) comptent 32 cœurs pour chaque M3 Ultra ; system_profiler et mld scan en voient 28 (20 performance + 8 efficience). Ce document donne les valeurs mesurées.
Architecture en trois plans. (1) La passerelle interne M1M32 héberge le git personnel spbgit et l'orchestrateur mld, qui place chaque application sur le nœud le plus efficient, la supervise (mld heal toutes les 5 min) et pousse le registre aux consommateurs. (2) L'agent maclustr-agentd (M4M64a:9210) sonde tous les nœuds pour les apps macOS et iOS MacLustr et le site www.maclustr.io. (3) La passerelle publique BHS64 (OVH Beauharnois) termine le TLS de 36 domaines avec Caddy et les relaie aux nœuds par le tunnel WireGuard « MacLustr Tunnel » (hub 10.67.0.1, 13 pairs) ; R9128 (Gravelines) est le hub de secours. Il n'y a plus de ngrok.
Accès. Tout passe par ssh <alias> depuis le laptop (~/.ssh/config) avec clés ed25519 et agent forwarding ; trois clés publiques sont autorisées partout : maclustr-cluster (laptop), maclustr-m1m32 (passerelle mld) et maclustr-agentd (agent). Les mots de passe sudo et identifiants DeskIn/VNC ne figurent pas ici : voir NODES.md.
| Catégorie | Machines | Cœurs CPU | RAM | Stockage (brut) | Où |
|---|---|---|---|---|---|
| 1. Nœuds internes — LAN MacLustr | 21 Macs | 286 (nominal 294) | 784 Go | ≈ 13,1 To | Saint-Augustin-de-Desmaures, Québec |
| 2. Macs loués hors site | 12 Macs | 114 | 240 Go | ≈ 6,9 To | Turquie, États-Unis, Irlande, Chypre |
| 3. Serveurs dédiés OVHcloud (Linux) | 4 serveurs | 38 c / 76 threads x86 | 384 Go | 4 × 2 × 960 Go NVMe (RAID 1) | Beauharnois (Québec) ×3, Gravelines (France) ×1 |
| Total | 37 machines | 400 cœurs Apple + 38 cœurs AMD | 1 408 Go | ≈ 28 To | 7 sites, 5 pays |
Réseau 192.168.2.x, domaine maclustr.io, Tailscale présent mais SSH inter-nœuds via Tailscale bloqué (ACL) : tout passe par les IP LAN. Utilisateur simon-pierreboucher partout, home /Users/simon-pierreboucher. Tous durcis le 10 septembre 2026 (mld harden --all : ouverture de session automatique, pas de veille, redémarrage après coupure, mises à jour automatiques désactivées, FileVault désactivé sur les deux M3 Ultra). PM2 pour les apps, launchd seulement pour l'agent, les gardiens et la console.
| Alias | Modèle (identifiant) | Puce (P + E) | Cœurs | RAM | SSD total / libre | N° de série | IP LAN | Tunnel wg1 | macOS | État 10 sept. 22 h 30 |
|---|---|---|---|---|---|---|---|---|---|---|
| M3U96a | Mac Studio (Mac15,14) | M3 Ultra (20 + 8) | 28 | 96 Go | 995 / 487 Go | HM62TG64LP | 192.168.2.87 | 10.67.0.10 | 26.6 | en ligne, 17 processus PM2 |
| M3U96b | Mac Studio (Mac15,14) | M3 Ultra (20 + 8) | 28 | 96 Go | 995 / 414 Go | J3661QHQ7M | 192.168.2.82 | 10.67.0.11 | 26.4 | en ligne, 8 processus PM2 |
| M2U64 | Mac Studio (Mac14,14) | M2 Ultra (16 + 8) | 24 | 64 Go | 995 / 401 Go | T99R24M36K | 192.168.2.107 | 10.67.0.12 | 26.5 | en ligne, 10 processus PM2 |
| M4M64a | Mac Studio (Mac16,9) | M4 Max (12 + 4) | 16 | 64 Go | 995 / 848 Go | YFQW7Y1734 | 192.168.2.83 | 10.67.0.13 | 26.5.1 | en ligne, 9 processus PM2 |
| M4M64b | Mac Studio (Mac16,9) | M4 Max (12 + 4) | 16 | 64 Go | 995 / 799 Go | F163L9H422 | 192.168.2.78 | 10.67.0.14 | 26.5.1 | en ligne, 19 processus PM2 |
| M4BP48 | MacBook Pro (Mac16,5) | M4 Max (12 + 4) | 16 | 48 Go | 995 / 931 Go | DRXR751720 | 192.168.2.80 | — | 26.5.1 | en ligne (98 j) |
| M4BP36 | MacBook Pro (Mac16,6) | M4 Max (10 + 4) | 14 | 36 Go | 995 / 945 Go | DJ616D4NPF | 192.168.2.79 | — | 26.5.1 | en ligne (rallumé, 6 j) |
| M4M36 | Mac Studio (Mac16,9) | M4 Max (10 + 4) | 14 | 36 Go | 494 / 445 Go | FXGPY9V7NT | 192.168.2.69 | 10.67.0.17 | 26.5.2 | en ligne, gardiens launchd |
| M2M32 | Mac Studio (Mac14,13) | M2 Max (8 + 4) | 12 | 32 Go | 494 / 365 Go | X5PF2TW170 | 192.168.2.90 | 10.67.0.18 | 26.5.1 | en ligne |
| M2M32b | Mac Studio (Mac14,13) | M2 Max (8 + 4) | 12 | 32 Go | 494 / 296 Go | VHKX7M65XC | 192.168.2.77 | — | 26.5.1 | en ligne |
| M2M32c | Mac Studio (Mac14,13) | M2 Max (8 + 4) | 12 | 32 Go | 494 / 458 Go | W2QTCJ7TKG | 192.168.2.89 | — | 26.5.1 | en ligne |
| m4mc | Mac mini (Mac16,11) | M4 Pro (8 + 4) | 12 | 24 Go | 494 / 456 Go | J742M2X1VC | 192.168.2.75 | — | 26.5.1 | en ligne |
| M1M32 | Mac Studio (Mac13,1) | M1 Max (8 + 2) | 10 | 32 Go | 494 / 376 Go | LVC2Q4R716 | 192.168.2.76 | 10.67.0.2 | 26.5.1 | en ligne, passerelle |
| m4ma | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 24 Go | 494 / 457 Go | N6NVTGFFVV | 192.168.2.73 | — | 26.5.1 | en ligne |
| m4mb | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 209 Go | GYWPHYG6TX | 192.168.2.74 | — | 26.5.1 | en ligne |
| m4md | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 Go | — | 192.168.2.110 (dernière connue) | — | 26.6.2 | hors ligne (éteint depuis la coupure du 10 sept.) |
| m2m16 | Mac mini (Mac14,12) | M2 Pro (6 + 4) | 10 | 16 Go | 494 / 458 Go | LFWH0GVGC6 | 192.168.2.85 | — | 26.4.1 | en ligne (rallumé) |
| M3BA24 | MacBook Air (Mac15,12) | M3 (4 + 4) | 8 | 24 Go | 494 / 453 Go | M4KXY1V9CL | 192.168.2.81 | — | 26.5.1 | en ligne (rallumé, 6 j) |
| M3BA16 | MacBook Air (Mac15,12) | M3 (4 + 4) | 8 | 16 Go | 494 / 440 Go | LTQX17FW9W | 192.168.2.70 | — | 26.5.1 | en ligne (99 j) |
| m2m8a | Mac mini (Mac14,3) | M2 (4 + 4) | 8 | 8 Go | 494 / 456 Go | WQF2N4L6RT | 192.168.2.84 | — | 26.5.1 | en ligne (rallumé) |
| m2m8b | Mac mini (Mac14,3) | M2 (4 + 4) | 8 | 8 Go | 245 / 211 Go | Q339C7TMT7 | 192.168.2.72 | — | 26.5.1 | en ligne |
: 21 Macs, 286 cœurs mesurés (294 nominaux), 784 Go, 20 en ligne.** 11 Mac Studio, 6 Mac mini, 2 MacBook Pro, 2 MacBook Air. 16 nœuds ont redémarré ensemble le 10 septembre (coupure de courant) et sont revenus seuls : PM2, tunnel wg1 et routes Caddy intacts. Autres équipements sur place : deux NAS UGREEN (DXP4800 Plus 192.168.2.173, DH4300 Plus 192.168.2.175).
Rôle, runtimes et applications par nœud
| Alias | Rôle | Runtimes détectés | Applications (port) | Processus PM2 / launchd |
|---|---|---|---|---|
| M3U96a | worker apps principal ; ex-passerelle LLM (llm.maclustr.io démantelée le 9 juin 2026) | brew, docker, git, node, pm2, pnpm, postgresql@17, py3.14, redis, tunnel, uv | admin-ka (3300, épinglé, launchd), fetcha (8220), job-ka (8096), polyllm (8240), qc26 (8200), rareindex (8210), sorti-ka (8120), uqo-imm1033 (8161), vrai-prix (8090) | fetcha-api, fetcha-web, job-ka-sync, job-ka-web, polyllm-web, qc26-engine, qc26-web, rareindex-api/-web/-worker, sorti-ka-sync/-web, uqo-imm1033, vrai-prix, vrai-prix-cost-sync, vrai-prix-immoka-sync, vrai-prix-ingest |
| M3U96b | réservé hfmarketdata (lac de données FirstRate ~/firstratedata, 353 Go) | brew, docker, git, node, pm2, pnpm, py3.14, redis, tunnel | hfmarketdata (8090) | hfmarketdata-api, -contracts-backfill, -edgar-backfill, -edgar-incremental, -edgar-reconcile, -frd-refresh, -rowgroups, pm2-logrotate |
| M2U64 | worker apps, sans session graphique (services en LaunchDaemon) | brew, docker, git, node, pm2, pnpm, postgresql@17, py3.14, tunnel | food-ka (8097), maclustr-appmanager (8787), maclustr-console (3000), maclustr-nodepages (8003), spb-cloud (5001), spboucher-ai (3100), uqo-eval (8150), vquant (5000) | 10 processus PM2 (food-ka, app-manager, console, nodepages, spb-cloud, spboucher-ai, uqo-eval + cron cost-sync, vquant) |
| M4M64a | worker apps + maclustr-agentd :9210 (sondes SSH de tout le cluster, API des apps macOS/iOS) + site vitrine www.maclustr.io | brew, docker, git, node, pm2, postgresql@17, py3.14, tunnel, uv | fabri-ka (8097), ka-stats (8140), lou-ka (8095), maclustr-agentd (9210, launchd), maclustr-www (8280, épinglé), pdb-api (8270), uqo-chat (8190) | fabri-ka-sync/-web, ka-stats, lou-ka-sync/-web, maclustr-www, pdb-api, uqo-chat-api, uqo-chat-sandbox |
| M4M64b | worker apps le plus chargé (19 processus) ; Postgres 17 + Redis locaux pour api-ka | brew, docker, git, node, pm2, pnpm, postgresql@17, py3.13, py3.14, redis, tunnel | api-ka (8000, /opt/api-ka), auto-ka (8095), cancerindex (8250), groupe-ka (8110), immo-ka (8096), uqo-imm1003 (8160), websensor (8260) | apika-api, apika-scheduler, auto-ka-sync/-web, cancerindex-api/-backup/-web/-worker, groupe-ka (+ kaid-alerts, kaid-mf, rapport-quotidien, status-tick), immo-ka-sync/-web, uqo-imm1003, websensor-api/-engine/-web |
| M4BP48 | worker libre (portable) | brew, git, uv | — | — |
| M4BP36 | worker libre (portable) | brew, git | — | — |
| M4M36 | gardiens Ka (agents de surveillance, launchd) | brew, git, node, pm2, py3.13, tunnel | ka2 (8799), ka4 (8899), ka6 (8999) | ka2, ka4, ka6 (LaunchAgents) + runners/courrier/pousseur |
| M2M32 | worker libre (ex-trouve-ka, volumes Docker conservés) | brew, docker, git, node, pm2, pnpm, py3.14, tunnel, uv | — | — |
| M2M32b | worker libre (ex-flotte trouve-ka) | brew, docker, git, node, pm2, uv | — | — |
| M2M32c | worker libre | git, uv | — | — |
| m4mc | worker libre | git, uv | — | — |
| M1M32 | passerelle du cluster : spbgit (dépôts bare ~/srv/git/*.git, git.spboucher.ai :7420), orchestrateur mld (~/dispatch), mld heal (LaunchDaemon io.maclustr.mld-heal, 5 min), alias gitsrv ; aucune autre app | brew, git, node, pm2, postgresql@17, tunnel, uv | spbgit (7420) | spbgit |
| m4ma | worker libre | git, uv | — | — |
| m4mb | worker libre | git | — | — |
| m4md | worker libre (hors ligne) | — | — | — |
| m2m16 | worker libre | git | — | — |
| M3BA24 | worker libre (portable) | brew, git | — | — |
| M3BA16 | worker libre (portable) | brew, git | — | — |
| m2m8a | worker libre (8 Go) | brew, git | — | — |
| m2m8b | worker libre (8 Go) | git | — | — |
Douze Macs loués chez trois fournisseurs, ajoutés du 8 au 10 septembre 2026. Ils sont dans mld comme REMOTE_NODES réservés : aucun placement automatique, seulement mld deploy <app> --node <alias>. Pas de Tailscale, pas de LAN vers les apps sœurs, pas de gardiens Ka. PM2 est chargé en LaunchDaemon système (/Library/LaunchDaemons/pm2.<user>.plist) parce que la session graphique n'est pas garantie au démarrage. Runtimes posés par mld prepare : Xcode CLT, Homebrew, node 26, pnpm, pm2, Python 3.13/3.14, uv ; cinq d'entre eux sont déjà raccordés au tunnel (wg1). Aucune application déployée au 10 septembre 2026 : 12 machines prêtes.
Turquie — Macly (AS199099 Erlion Bilişim), 8 Macs
| Alias | Modèle (identifiant) | Puce (P + E) | Cœurs | RAM | SSD total / libre | N° de série | IP publique (LAN fournisseur) | Tunnel wg1 | macOS | Ville | Ajouté | État |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| M1M64 | Mac Studio (Mac13,1) | M1 Max (8 + 2) | 10 | 64 Go | 1 995 / 726 Go | WWVV29HYQW | 45.74.241.221 (10.100.1.221) | — | 26.6.2 | Istanbul | 2026-09-08 | en ligne (2 j) |
| m4me | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 201 Go | D46D7Q4XFL | 45.74.245.36 | — | 26.6.2 | Uşak | 2026-09-08 | en ligne (2 j) |
| m4mf | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 202 Go | XY0YVKXV50 | 45.74.245.37 (10.100.2.37) | — | 26.6.2 | Uşak | 2026-09-09 | en ligne (1 j) |
| m4mh | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 206 Go | H9FT6DP6V9 | 45.74.241.182 (10.100.1.182) | 10.67.0.47 | 26.6.2 | Istanbul | 2026-09-10 | en ligne (18 h) |
| m1m16b | Mac mini (Macmini9,1 — vendu « M4 », c'est un M1) | M1 (4 + 4) | 8 | 16 Go | 245 / 188 Go | C07J70PHQ6NY | 45.74.241.171 | 10.67.0.48 | 26.6.1 | Istanbul | 2026-09-10 | en ligne (19 h) |
| m4mi | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 204 Go | VW6R45M7HW | 45.74.245.39 | 10.67.0.49 | 26.6.2 | Uşak | 2026-09-10 | en ligne (16 h) |
| m4mj | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 207 Go | QX4L7DQFJH | 45.74.245.38 | 10.67.0.50 | 26.6.2 | Uşak | 2026-09-10 | en ligne (16 h) |
| m4mk | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 207 Go | DK65R60V95 | 45.74.241.98 | 10.67.0.51 | 26.6.2 | Istanbul | 2026-09-10 | en ligne (12 h) |
États-Unis (Atlanta) et Irlande (Dublin) — MacStadium, 3 Macs
| Alias | Modèle (identifiant) | Puce (P + E) | Cœurs | RAM | SSD total / libre | N° de série | IP publique | macOS | Ville | Ajouté | État |
|---|---|---|---|---|---|---|---|---|---|---|---|
| m2m16b | Mac mini (Mac14,12) | M2 Pro (6 + 4) | 10 | 16 Go | 995 / 942 Go | TQV5L6R9MK | 208.52.154.68 | 26.6 | Atlanta (AS395336) | 2026-09-08 | en ligne (3 j) |
| m1m16 | Mac mini (Macmini9,1) | M1 (4 + 4) | 8 | 16 Go | 995 / 958 Go | H2WGW18RQ6P0 | 207.254.29.71 | 26.6.2 | Dublin (AS30377) | 2026-09-08 | en ligne (6 j) |
| m2m16c | Mac mini (Mac14,3) | M2 (4 + 4) | 8 | 16 Go | 995 / 959 Go | X0KPDY0DQ5 | 207.254.29.128 | 26.6.2 | Dublin (AS30377) | 2026-09-08 | en ligne (3 j) |
Chypre (Limassol) — rentamac, 1 Mac
| Alias | Modèle (identifiant) | Puce (P + E) | Cœurs | RAM | SSD total / libre | N° de série | Accès SSH | macOS | Ajouté | État |
|---|---|---|---|---|---|---|---|---|---|---|
| m4mg | Mac mini (Mac16,10) | M4 (4 + 6) | 10 | 16 Go | 245 / 203 Go | R7023K3WF0 | gate1.rentamac.io:27335 | 26.6.2 | 2026-09-09 | en ligne (1 j) |
Quatre serveurs bare-metal Ubuntu Server 24.04.4 LTS (noyau 6.8), utilisateur ubuntu avec sudo sans mot de passe, root joignable par clé, fuseau America/Toronto, marqueur /root/maclustr-postinstall.done. Installés depuis le manager https://manager.ca.ovhcloud.com piloté en Safari/JXA (recette et scripts dans cluster-skill/ovh-manager/, ≈ 20 min par serveur). Ce ne sont pas des nœuds mld/agentd (pas de Homebrew ni de launchd) : on les pilote en SSH direct. Disques : 2 × 960 Go NVMe en RAID 1 logiciel partout (md2 /boot, md3 / 878 Go).
| Alias | Nom OVH (gamme, ID) | CPU | RAM | Réseau | IPv4 / IPv6 | Lieu | Rôle | Services actifs | État 10 sept. 22 h 35 |
|---|---|---|---|---|---|---|---|---|---|
BHS64 (ovh2) | ns5044661.ip-51-161-112.net (ADVANCE-2, ID 540625) | AMD EPYC 4345P, 8 c / 16 t, 3,8–5,5 GHz | 64 Go DDR5 ECC 3600 | 3 Gbit/s public, 25 Gbit/s privé | 51.161.112.61 (gw 100.64.0.1) · 2607:5300:22a:3d00::/56 | Beauharnois BHS8, baie BHS0805A03C, ca-east-bhs-a | passerelle principale MacLustr Tunnel | WireGuard hub wg0 10.67.0.1 (udp 51820, 13 pairs), Caddy (36 routes, TLS auto), ufw actif, tunnelctl | en ligne (22 h) |
BHS64b (ovh3) | ns5015175.ip-51-161-112.net (ADVANCE-2) | AMD EPYC 4345P, 8 c / 16 t | 64 Go DDR5 ECC | 3 Gbit/s | 51.161.112.66 · 2607:5300:22a:4200::/56 | Beauharnois, ca-east-bhs-a | réserve (usage à définir, pas une passerelle) | aucun (Caddy et ufw inactifs) | en ligne (3,5 h) |
BHS128 (ovh4) | ns5044426.ip-51-161-112.net (ADVANCE-1, ID 528691) | AMD EPYC 4245P, 6 c / 12 t, 3,9–5,4 GHz | 128 Go DDR5 3600 | 3 Gbit/s public, 25 Gbit/s privé | 51.161.112.69 (gw 100.64.0.1) · 2607:5300:22a:4500::/56 | Beauharnois BHS8, baie BHS0805A01C, ca-east-bhs-a | réserve (prêt à accueillir une app) | aucun (Caddy et ufw inactifs) | en ligne (installé ce soir 22 h 26) |
R9128 (ovh1) | ns3049362.ip-51-255-75.eu (RISE-L, ID 1907852) | AMD Ryzen 9 9950X, 16 c / 32 t, 4,3–5,7 GHz | 128 Go DDR5 3600 | 1 Gbit/s public + privé | 51.255.75.61 (gw 51.255.75.254) · 2001:41d0:1004:273d::/64 | Gravelines GRA1, baie G118A10, eu-west-gra-a (France) | passerelle secondaire / secours | WireGuard hub wg0 10.66.0.1, Caddy actif, ufw actif | en ligne (2 j) |
BHS64 — installé le 10 septembre 2026 (hostname bhs64), puis gateway-setup.sh BHS64 51.161.112.61 10.67.0. Clé publique WireGuard du hub QrpSXW8mIJjGMuB3eiP2LQJGpFgV6lTmBG9v0Cxsiz0=. Les Macs s'y raccordent par leur interface wg1 (10.67.0.x). Les certificats Let's Encrypt ont été copiés depuis R9128 pour un HTTPS immédiat. Latence ≈ 10 ms depuis Saint-Augustin. Outils : tunnelctl sur place, mlt sur le laptop (cible par défaut), mld tunnel … via M1M32. Toute route est repointée automatiquement à chaque mld deploy/move. Renouvellement automatique le 10 octobre 2026, sans engagement ; monitoring OVH avec intervention proactive.
BHS64b — jumeau exact de BHS64, installé le 10 septembre en soirée (hostname bhs64b). Décision : aucun rôle pour l'instant et ce ne sera pas une passerelle tunnel ; réservé pour un autre usage.
BHS128 — ADVANCE-1 de 128 Go, installé le 10 septembre à 22 h 26 (hostname bhs128) ; 3 clés vérifiées depuis le laptop, M1M32 et M4M64a, sudo, fuseau et paquets de base OK (git, python3, tmux, jq, rsync, wireguard, ufw…). Aucun rôle : réserve prête à accueillir une app ou autre chose. Pour publier un site depuis ce serveur : le raccorder au hub BHS64 en pair WireGuard, puis mlt add <domaine> BHS128:<port>.
R9128 — RISE-L installé le 8 septembre 2026 (hostname r9128). Première passerelle du tunnel (hub 10.66.0.1, Macs via wg0), devenue secours quand BHS64 a pris le relais (≈ +75 ms depuis le Québec). A hébergé SPB AI (API LLM llama.cpp CPU) le 9 septembre, retirée le jour même. Restent build-essential, cmake. Renouvellement automatique le 8 octobre 2026.
Les 36 domaines publics arrivent sur BHS64 (DNS A → 51.161.112.61) et sont relayés par WireGuard vers le nœud qui porte l'app. mld pose et repointe les routes ; mld heal répare pairs et routes manquants.
| Nœud (wg1) | Sites publics (→ port local) |
|---|---|
| M3U96a (10.67.0.10) | www.administration-ka.com (3300), www.fetcha.co (8220), www.job-ka.com (8096), www.polyllm.io (8240), www.qc26.ca (8200) + redirection qc26.ca, www.rareindex.io (8210), www.sorti-ka.com (8120), www.uqo-imm1033.app (8161), www.vrai-prix.com (8090) |
| M3U96b (10.67.0.11) | www.hfmarketdata.io (8090) |
| M2U64 (10.67.0.12) | app.maclustr.io (8787), cloud.spboucher.ai (5001), console.maclustr.io (3000), node.maclustr.io (8003), www.food-ka.com (8097), www.spboucher.ai (3100), www.uqo-eval.app (8150), www.vquant.ai (5000) |
| M4M64a (10.67.0.13) | www.fabri-ka.com (8097), www.ka-stats.com (8140), www.lou-ka.com (8095), www.maclustr.io (8280), www.pdb-api.co (8270), www.uqo-chat.app (8190) |
| M4M64b (10.67.0.14) | www.api-ka.com (8000), www.auto-ka.com (8095), www.cancerindex.io (8250), www.groupe-ka.com (8110), www.immo-ka.com (8096), www.uqo-imm1003.app (8160), www.websensor.io (8260) |
| M4M36 (10.67.0.17) | www.ka2.bot (8799), www.ka4.bot (8899), www.ka6.bot (8999) |
| M1M32 (10.67.0.2) | git.spboucher.ai (7420) |
| M2M32 (10.67.0.18), m4mh (.47), m1m16b (.48), m4mi (.49), m4mj (.50), m4mk (.51) | raccordés au tunnel, aucune route (prêts à publier) |
maclustr-agentd (M4M64a:9210, API Bearer, routes /api/cluster, /api/apps, /api/tunnel, /api/events) alimente les apps macOS MacLustr 3.0.7 et iOS 4.2.0 ; Postgres 17 local sur M3U96a, M2U64, M4M64a, M4M64b et M1M32 ; Redis sur M3U96a, M3U96b, M4M64b ; Docker sur les Studios et M2M32/M2M32b.
7 sites dans 6 pays sur trois continents. Le LAN de Saint-Augustin porte le cœur du cluster ; Beauharnois et Gravelines publient les sites ; Istanbul, Atlanta, Dublin et Limassol étendent la capacité. Géolocalisation vérifiée par IP et latence.

Le cœur du cluster : 21 Macs sur un réseau local 10 GbE, deux NAS UGREEN.
Huit Macs dédiés loués : un Mac Studio M1 Max 64 Go et sept Mac mini.
Passerelle principale du MacLustr Tunnel et deux serveurs de réserve. ≈ 10 ms du LAN.
Deux Mac mini dédiés (M1, M2).
Passerelle secondaire : secours et présence européenne.
Mac mini M2 Pro dédié.
Mac mini M4 derrière NAT, joint par la passerelle SSH du fournisseur.
| Emplacement | Nœuds | Cœurs / threads | Mémoire | Alias |
|---|---|---|---|---|
| Saint-Augustin-de-Desmaures Québec, Canada · MacLustr (LAN privé) | 21 | 294 cœurs | 784 Go | M3U96a, M3U96b, M2U64, M4M64a, M4M64b, M4BP48, M4BP36, M4M36, M2M32, M2M32b, M2M32c, m4mc, M1M32, m4ma, m4mb, m4md, m2m16, M3BA24, M3BA16, m2m8a, m2m8b |
| Istanbul Turquie · Macly (réseau Erlion) | 8 | 78 cœurs | 176 Go | M1M64, m4me, m4mf, m4mh, m1m16b, m4mi, m4mj, m4mk |
| Beauharnois Québec, Canada · OVHcloud BHS8 | 3 | 44 thr | 256 Go | BHS64, BHS64b, BHS128 |
| Dublin Irlande · MacStadium | 2 | 16 cœurs | 32 Go | m1m16, m2m16c |
| Gravelines Hauts-de-France, France · OVHcloud GRA1 | 1 | 32 thr | 128 Go | R9128 |
| Atlanta Géorgie, États-Unis · MacStadium | 1 | 10 cœurs | 16 Go | m2m16b |
| Limassol Chypre · rentamac | 1 | 10 cœurs | 16 Go | m4mg |
| Famille | Local | Loués | OVH | Total |
|---|---|---|---|---|
| Mac Studio | 11 | 1 | — | 12 |
| Mac mini | 6 | 11 | — | 17 |
| MacBook Pro | 2 | — | — | 2 |
| MacBook Air | 2 | — | — | 2 |
| Serveur x86 (AMD EPYC 4345P ×2, EPYC 4245P, Ryzen 9 9950X) | — | — | 4 | 4 |
| Puces Apple : M4 (Max ×5, Pro ×1, base ×10) 16 · M3 (Ultra ×2, base ×2) 4 · M2 (Ultra ×1, Max ×3, Pro ×2, base ×3) 9 · M1 (Max ×2, base ×2) 4 | 33 |
Capacité libre
36 applications, toutes décrites par un manifeste mld (dir, processus, runtimes, RAM, ports, placement, tunnel). Le registre M1M32:~/dispatch/registry.json est la seule source de vérité de « quelle app tourne où » ; état confirmé par maclustr-agentd au moment de la génération.
L'écosystème immobilier, automobile, alimentaire et emploi du Québec : une famille de plateformes qui partagent identité (KA ID), données (API·Ka) et gardiens autonomes.
| Application | Domaine | Nœud | Description | État |
|---|---|---|---|---|
| Groupe Ka | www.groupe-ka.com | M4M64b:8110 | Portail du groupe : vision, univers, dossier investisseurs. | en ligne 77 ms · 94 % / 24 h |
| Lou·Ka | www.lou-ka.com | M4M64a:8095 | Location résidentielle : annonces, carte 3D, Lou-Ka Score. | en ligne 350 ms · 100 % / 24 h |
| Immo·Ka | www.immo-ka.com | M4M64b:8096 | Propriétés à vendre : 70 000+ annonces, analyses de prix, KA Scores. | en ligne 66 ms · 94 % / 24 h |
| Vrai-Prix | www.vrai-prix.com | M3U96a:8090 | Évaluation hédonique, méthode du coût, statistiques de marché. | en ligne 60 ms · 90 % / 24 h |
| Auto·Ka | www.auto-ka.com | M4M64b:8095 | Marché automobile : véhicules, prix, fiches v3. | en ligne 300 ms · 94 % / 24 h |
| Fabri·Ka | www.fabri-ka.com | M4M64a:8097 | Artisans, fabricants et ateliers du Québec. | en ligne 39 ms · 100 % / 24 h |
| Food·Ka | www.food-ka.com | M2U64:8097 | Alimentation : produits, commerces, prix. | en ligne 134 ms · 93 % / 24 h |
| Sorti·Ka | www.sorti-ka.com | M3U96a:8120 | Sorties, événements et activités. | en ligne 158 ms · 90 % / 24 h |
| Job·Ka | www.job-ka.com | M3U96a:8096 | Emplois et carrières. | en ligne 146 ms · 90 % / 24 h |
| API·Ka | www.api-ka.com | M4M64b:8000 | API unifiée du groupe : Postgres 17, Redis, 24 outils agent. | en ligne 79 ms · 94 % / 24 h |
| Ka·Stats | www.ka-stats.com | M4M64a:8140 | Observatoire statistique des univers Ka. | en ligne 47 ms · 100 % / 24 h |
| Administration·Ka | www.administration-ka.com | M3U96a:3300 | Console d'administration multi-sites, pilotée par le registre mld. | en ligne 44 ms · 90 % / 24 h |
| Gardien ka2 | www.ka2.bot | M4M36:8799 | Agent gardien autonome : surveillance et réparation. | en ligne 74 ms · 94 % / 24 h |
| Gardien ka4 | www.ka4.bot | M4M36:8899 | Agent gardien autonome. | en ligne 73 ms · 94 % / 24 h |
| Gardien ka6 | www.ka6.bot | M4M36:8999 | Agent gardien autonome. | en ligne 76 ms · 94 % / 24 h |
Indices, marchés et infrastructures de données servis en API publiques.
| Application | Domaine | Nœud | Description | État |
|---|---|---|---|---|
| HF Market Data | www.hfmarketdata.io | M3U96b:8090 | Données de marché haute fréquence : actions, futures, options, fondamentaux SEC. API + MCP. | en ligne 79 ms · 94 % / 24 h |
| RareIndex | www.rareindex.io | M3U96a:8210 | Intelligence de marché des objets de collection : 212 connecteurs. | en ligne 49 ms · 90 % / 24 h |
| CancerIndex | www.cancerindex.io | M4M64b:8250 | Index mondial des cancers : 9 510 entités NCIt, 13 connecteurs, pgvector. | en ligne 49 ms · 94 % / 24 h |
| WebSensor | www.websensor.io | M4M64b:8260 | Détection de changements web : 4 000+ capteurs, 16 connecteurs. | en ligne 42 ms · 94 % / 24 h |
| Fetcha | www.fetcha.co | M3U96a:8220 | Infrastructure d'accès web intelligent : scrape, crawl, map, SDK. | en ligne 48 ms · 90 % / 24 h |
| PolyLLM | www.polyllm.io | M3U96a:8240 | Une interface, tous les modèles : 9 fournisseurs, Arena, BYOK. | en ligne 46 ms · 90 % / 24 h |
| vQuant | www.vquant.ai | M2U64:5000 | Terminal quantitatif : indices, portefeuilles, MFA. | en ligne 79 ms · 93 % / 24 h |
| QC26 | www.qc26.ca | M3U96a:8200 | L'élection québécoise 2026 en données : sondages, Monte Carlo, revue de presse. | en ligne 58 ms · 89 % / 24 h |
| PDB API | www.pdb-api.co | M4M64a:8270 | Explorateur et API de la base SPID (FastAPI + DuckDB). | en ligne 40 ms · 100 % / 24 h |
Outils de cours interactifs, tuteur IA et ateliers d'évaluation immobilière.
| Application | Domaine | Nœud | Description | État |
|---|---|---|---|---|
| UQO Éval | www.uqo-eval.app | M2U64:8150 | Atelier d'évaluation immobilière : hédonique, coût, à vendre, marché. | en ligne 47 ms · 93 % / 24 h |
| UQO IMM1003 | www.uqo-imm1003.app | M4M64b:8160 | Notes de cours interactives et séances vidéo. | en ligne 48 ms · 94 % / 24 h |
| UQO IMM1033 | www.uqo-imm1033.app | M3U96a:8161 | Notes de cours interactives et séances vidéo. | en ligne 61 ms · 90 % / 24 h |
| UQO-Chat | www.uqo-chat.app | M4M64a:8190 | Tuteur IA des cours IMM1003 et IMM1033, sur invitation. | en ligne 52 ms · 100 % / 24 h |
Les services qui font tourner le cluster lui-même.
| Application | Domaine | Nœud | Description | État |
|---|---|---|---|---|
| www.maclustr.io | www.maclustr.io | M4M64a:8280 | Cette page : vitrine du cluster, inventaire et état live des nœuds et des applications. | en ligne 46 ms · 99 % / 24 h |
| maclustr-agentd | service interne | M4M64a:9210 | Agent de supervision : métriques des 33 nœuds, santé des apps, état du tunnel. Alimente les apps macOS et iOS MacLustr et ce site. | en ligne 100 % / 24 h |
| Console MacLustr | console.maclustr.io | M2U64:3000 | Console web du cluster. | en ligne 74 ms · 93 % / 24 h |
| App Manager | app.maclustr.io | M2U64:8787 | Gestionnaire d'applications. | en ligne 78 ms · 93 % / 24 h |
| Node Pages | node.maclustr.io | M2U64:8003 | Pages de bord par nœud. | en ligne 68 ms · 93 % / 24 h |
| spbgit | git.spboucher.ai | M1M32:7420 | Forge git privée : dépôts bare de toutes les apps, source de vérité du code. | en ligne 94 ms · 94 % / 24 h |
Sites et services personnels.
| Application | Domaine | Nœud | Description | État |
|---|---|---|---|---|
| spboucher.ai | www.spboucher.ai | M2U64:3100 | Site personnel. | en ligne 76 ms · 93 % / 24 h |
| SPB Cloud | cloud.spboucher.ai | M2U64:5001 | Nuage privé : fichiers, partage, OTP, réorganisation IA. | en ligne 76 ms · 93 % / 24 h |
Mesures de maclustr-agentd le 10 septembre 2026 à 23 h 09 : 32/33 Macs en ligne, CPU moyen 13,6 %, 296 Go de mémoire utilisés sur 1 008 Go en ligne, 20 870 processus, 36/37 applications saines.
| Nœud | Puce | Cœurs | RAM | État | CPU | Mémoire | Disque | Load | macOS |
|---|---|---|---|---|---|---|---|---|---|
| M3U96a | M3 Ultra | 32 | 96 Go | en ligne | 15 % | 17,1 / 96 Go | 11 / 926 Go | 3.11 | 26.6 |
| M3U96b | M3 Ultra | 32 | 96 Go | en ligne | 10 % | 15,9 / 96 Go | 11 / 926 Go | 1.91 | 26.4 |
| M2U64 | M2 Ultra | 24 | 64 Go | en ligne | 5 % | 11,1 / 64 Go | 11 / 926 Go | 1.16 | 26.5 |
| M4M64a | M4 Max | 16 | 64 Go | en ligne | 25 % | 13,4 / 64 Go | 11 / 926 Go | 1.61 | 26.5.1 |
| M4M64b | M4 Max | 16 | 64 Go | en ligne | 15 % | 14,1 / 64 Go | 11 / 926 Go | 3.06 | 26.5.1 |
| M4BP48 | M4 Max | 16 | 48 Go | en ligne | 8 % | 12,1 / 48 Go | 12 / 926 Go | 1.49 | 26.5.1 |
| M4BP36 | M4 Max | 14 | 36 Go | en ligne | 17 % | 10,0 / 36 Go | 11 / 926 Go | 2.33 | 26.5.1 |
| M4M36 | M4 Max | 14 | 36 Go | en ligne | 10 % | 8,3 / 36 Go | 11 / 460 Go | 1.44 | 26.5.2 |
| M2M32 | M2 Max | 12 | 32 Go | en ligne | 10 % | 7,7 / 32 Go | 11 / 460 Go | 1.08 | 26.5.1 |
| M2M32b | M2 Max | 12 | 32 Go | en ligne | 10 % | 7,4 / 32 Go | 11 / 460 Go | 1.2 | 26.5.1 |
| M2M32c | M2 Max | 12 | 32 Go | en ligne | 12 % | 7,8 / 32 Go | 11 / 460 Go | 1.3 | 26.5.1 |
| m4mc | M4 Pro | 12 | 24 Go | en ligne | 10 % | 7,5 / 24 Go | 11 / 460 Go | 1.51 | 26.5.1 |
| M1M32 | M1 Max | 10 | 32 Go | en ligne | 13 % | 8,0 / 32 Go | 11 / 460 Go | 1.63 | 26.5.1 |
| m4ma | M4 | 10 | 24 Go | en ligne | 12 % | 7,3 / 24 Go | 11 / 460 Go | 1.45 | 26.5.1 |
| m4mb | M4 | 10 | 16 Go | en ligne | 13 % | 7,4 / 16 Go | 11 / 228 Go | 2.14 | 26.5.1 |
| m4md | M4 | 10 | 16 Go | hors ligne | — | — | — | — | — |
| m2m16 | M2 Pro | 10 | 16 Go | en ligne | 20 % | 7,5 / 16 Go | 11 / 460 Go | 1.22 | 26.4.1 |
| M1M64 | M1 Max | 10 | 64 Go | en ligne | 12 % | 8,3 / 64 Go | 11 / 1 858 Go | 1.54 | 26.6.2 |
| m2m16b | M2 Pro | 10 | 16 Go | en ligne | 26 % | 8,3 / 16 Go | 15 / 926 Go | 2.36 | 26.6 |
| m4me | M4 | 10 | 16 Go | en ligne | 14 % | 8,9 / 16 Go | 11 / 228 Go | 1.5 | 26.6.2 |
| m4mf | M4 | 10 | 16 Go | en ligne | 12 % | 8,7 / 16 Go | 11 / 228 Go | 1.66 | 26.6.2 |
| m4mg | M4 | 10 | 16 Go | en ligne | 10 % | 8,6 / 16 Go | 11 / 228 Go | 1.41 | 26.6.2 |
| m4mh | M4 | 10 | 16 Go | en ligne | 13 % | 9,1 / 16 Go | 11 / 228 Go | 1.63 | 26.6.2 |
| m4mi | M4 | 10 | 16 Go | en ligne | 15 % | 8,8 / 16 Go | 11 / 228 Go | 1.57 | 26.6.2 |
| m4mj | M4 | 10 | 16 Go | en ligne | 12 % | 8,8 / 16 Go | 11 / 228 Go | 1.17 | 26.6.2 |
| m4mk | M4 | 10 | 16 Go | en ligne | 11 % | 8,6 / 16 Go | 11 / 228 Go | 1.42 | 26.6.2 |
| M3BA24 | M3 | 8 | 24 Go | en ligne | 14 % | 10,4 / 24 Go | 11 / 460 Go | 1.89 | 26.5.1 |
| M3BA16 | M3 | 8 | 16 Go | en ligne | 17 % | 9,3 / 16 Go | 12 / 460 Go | 1.36 | 26.5.1 |
| m2m8a | M2 | 8 | 8 Go | en ligne | 18 % | 4,7 / 8 Go | 11 / 460 Go | 1.4 | 26.5.1 |
| m2m8b | M2 | 8 | 8 Go | en ligne | 12 % | 4,7 / 8 Go | 11 / 228 Go | 1.3 | 26.5.1 |
| m1m16 | M1 | 8 | 16 Go | en ligne | 12 % | 8,6 / 16 Go | 11 / 926 Go | 1.07 | 26.6.2 |
| m2m16c | M2 | 8 | 16 Go | en ligne | 13 % | 8,6 / 16 Go | 11 / 926 Go | 1.54 | 26.6.2 |
| m1m16b | M1 | 8 | 16 Go | en ligne | 16 % | 9,0 / 16 Go | 15 / 228 Go | 1.27 | 26.6.1 |
mld scan, mld status, mld tunnel status (22 h 30), system_profiler SPHardwareDataType, sw_vers, sysctl hw.model, df -H, uptime, pm2 jlist sur les 33 Macs ; lscpu, free, /proc/mdstat, systemctl, ufw status sur les 4 serveurs OVH ; fiches du manager OVH (ID, baie, IPv6) ; NODES.md, ~/.ssh/config, mld/config.py, agentd.py. Géolocalisation des Macs loués : whois / ip-api et temps de connexion mesurés le 9 septembre. Documents complémentaires : NODES.md (identifiants, sudo), MACLUSTR-TUNNEL.md (tunnel), KA-REMOTE-DEV.md (apps Ka), ovh-manager/README.md (installation OVH), cluster-registry.json (registre mld).
Les identifiants (mots de passe sudo, DeskIn, VNC, jetons) ne figurent pas dans ce dossier : voir NODES.md. Document généré par cluster-skill/dossier/build.py à partir de INVENTAIRE-MACLUSTR.md, de l'inventaire du site www.maclustr.io et de l'API live du cluster ; à régénérer après tout ajout ou retrait de machine.