SPB Git forge
3commits 1branches 0releases
2.9 MBsize
maindefault branch
1 h agolast push
HTML 57.2% Shell 19.1% Python 11.2% CSS 7.4% JavaScript 5.1%
23.0 KB

# Inventaire complet des machines — MacLustr (LAN) et OVH

Document présentable dérivé (sans identifiants) : INVENTAIRE-MACLUSTR.md / .pdf (2026-09-10 soir, 37 machines). Mis à jour le 2026-10-02 (retrait de 4 des 5 serveurs OVH : R9128, BHS64b, BHS128, BHS128b — seule la passerelle BHS64 reste, voir §3), le 2026-09-28 (ajout de m6mb + m5ma ; IP publique du LAN désormais 142.170.25.2), le 2026-09-26 (ajout de M5M36 + m6ma) et le 2026-09-25 (ajout du Mac Studio M4M64c ; retrait des 12 Macs loués Macly/MacStadium/rentamac, voir §2) et le 2026-09-21 (ajout de 3 Mac mini locaux m4ml/m4mm/m4mn ; toutes les IP LAN ont été renumérotées par le DHCP le 2026-09-21 — colonne IP LAN = état live mld discover du 2026-09-21, les alias *.maclustr.io pointent sur Tailscale et restent valides). Source de vérité des inventaires : ~/Desktop/Cluster/maclustr-dispatch/mld/config.py (mld), maclustr-ios-v2/agent/agentd.py (agent), maclustr-v2/Sources/Services/ClusterManager.swift (app macOS), ~/.ssh/config (alias laptop).

Totaux : 29 Macs, tous sur le LAN = 401 cœurs / 1 068 Go RAM (les 12 Macs loués ont été retirés le 2026-09-25, §2), + 1 serveur Linux OVH : BHS64 (16 t / 64 Go, Beauharnois) = passerelle MacLustr Tunnel. Les 4 autres (R9128 Gravelines, BHS64b, BHS128, BHS128b Beauharnois) ont été retirés le 2026-10-02 (§3). Au 2026-09-08 : 22 Macs en ligne, 4 hors ligne (M4BP36, m2m16, M3BA24, m2m8a — éteints), OVH en ligne.


# 1. Nœuds MacLustr sur le LAN (192.168.2.x, maclustr.io, Tailscale)

Utilisateur simon-pierreboucher, sudo 492592, home /Users/simon-pierreboucher, clés ed25519 sans mot de passe, SSH inter-nœuds via LAN uniquement (Tailscale bloqué par ACL). Découverte des IP en live (mld discover, marqueur ~/.maclustr-node).

Alias Modèle Puce Cœurs RAM Disque IP LAN macOS Rôle État 2026-09-08 Apps mld
M3U96a Mac Studio M3 Ultra 32 96 Go 926 Go 192.168.2.80 26.6 worker (calcul + apps), passerelle LLM llm.maclustr.io:9000 en ligne admin-ka, fetcha, job-ka, polyllm, qc26, rareindex, sorti-ka, uqo-imm1033, vrai-prix
M3U96b Mac Studio M3 Ultra 32 96 Go 926 Go 192.168.2.85 (via M3U96a depuis le laptop) 26.4 réservé hfmarketdata en ligne hfmarketdata
M2U64 Mac Studio M2 Ultra 24 64 Go 926 Go 192.168.2.61 26.5 worker, sans session graphique (LaunchDaemon) en ligne food-ka, maclustr-appmanager, maclustr-console, maclustr-nodepages, spb-cloud, spboucher-ai, uqo-eval, vquant, company-atlas (www.company-atlas.co, :8360/8361, Postgres companyatlas, 2026-09-12)
M4M64a Mac Studio M4 Max 16 64 Go 926 Go 192.168.2.70 26.5.1 worker + maclustr-agentd :9210 + www.maclustr.io (site vitrine, pinné : loopback agentd) en ligne fabri-ka, ka-stats, lou-ka, maclustr-agentd, maclustr-www, pdb-api, uqo-chat
M4M64b Mac Studio M4 Max 16 64 Go 926 Go 192.168.2.77 26.5.1 worker en ligne api-ka, auto-ka, cancerindex, groupe-ka, immo-ka, uqo-imm1003, websensor
M4M64c Mac Studio M4 Max 16 64 Go 494 Go 192.168.2.103 26.4 worker libre (ajouté 2026-09-25 ; Tailscale 100.125.225.117, S/N JX0PHFQHF1, wg1 10.67.0.33 raccordé ; bootstrap + prepare + harden faits le 2026-09-25 ; DNS GoDaddy A → IP Tailscale) en ligne —
M5M36 Mac Studio M5 Max 18 36 Go 494 Go 192.168.2.104 27.0 worker libre (ajouté 2026-09-26 ; Tailscale 100.69.26.91, S/N LY5Q6FD2PL, wg1 10.67.0.34) en ligne —
M4BP48 MacBook Pro M4 Max 16 48 Go 926 Go 192.168.2.59 26.5.1 worker en ligne —
M4BP36 MacBook Pro M4 Max 14 36 Go — 192.168.2.86 — worker hors ligne (éteint) —
M4M36 Mac Studio M4 Max 14 36 Go 460 Go 192.168.2.67 26.5.2 worker, gardiens Ka en ligne ka2, ka4, ka6
M2M32 Mac Studio M2 Max 12 32 Go 460 Go 192.168.2.78 26.5.1 worker dédié CountryAtlas en ligne countryatlas (8290/8291)
M2M32b Mac Studio M2 Max 12 32 Go 460 Go 192.168.2.69 26.5.1 worker dédié SatelliteIndex (Postgres 17 + Redis Homebrew, wg1 10.67.0.19) en ligne satelliteindex (8310 web, 8311 api, scheduler)
M2M32c Mac Studio M2 Max 12 32 Go 460 Go 192.168.2.76 26.5.1 worker dédié AI Atlas (Postgres 17 + pgvector + Redis Homebrew, wg1 10.67.0.20) en ligne ai-atlas (8320 web, 8321 api, scheduler)
m4mc Mac mini M4 Pro 12 24 Go 460 Go 192.168.2.75 26.5.1 worker en ligne —
M1M32 Mac Studio M1 Max 10 32 Go 460 Go 192.168.2.72 26.5.1 passerelle : spbgit (git.spboucher.ai) + orchestrateur mld ; aucune app en ligne spbgit
m4ma Mac mini M4 10 24 Go 460 Go 192.168.2.83 26.5.1 worker en ligne —
m4mb Mac mini M4 10 16 Go 228 Go 192.168.2.74 26.5.1 worker en ligne —
m4md Mac mini M4 10 16 Go 228 Go 192.168.2.62 26.6.2 worker (ajouté 2026-09-04) en ligne —
m4ml Mac mini M4 10 16 Go 228 Go 192.168.2.63 26.7 worker (ajouté 2026-09-21 ; Tailscale 100.70.177.46, S/N VLXC9XWJLY) en ligne —
m4mm Mac mini M4 Pro 12 48 Go 460 Go 192.168.2.92 26.5.1 worker (ajouté 2026-09-21 ; Tailscale 100.115.250.59, S/N DYH4X6RW3R, wg1 réservé 10.67.0.31) en ligne —
m4mn Mac mini M4 Pro 12 48 Go 460 Go 192.168.2.93 26.5.1 worker (ajouté 2026-09-21 ; Tailscale 100.95.88.71, S/N J322FLVRW6, wg1 réservé 10.67.0.32) en ligne —
m6ma Mac mini M6 12 24 Go 494 Go 192.168.2.105 27.0 worker libre (ajouté 2026-09-26 ; Tailscale 100.83.195.67, S/N FQ452T6L2W, wg1 10.67.0.35) en ligne —
m6mb Mac mini M6 12 24 Go 494 Go 192.168.2.106 27.0 worker libre (ajouté 2026-09-28 ; Tailscale 100.102.242.94, S/N QR7JC5WMYC, wg1 10.67.0.36) en ligne —
m5ma Mac mini M5 Pro 15 24 Go 494 Go 192.168.2.112 27.0 worker libre (ajouté 2026-09-28 ; Tailscale 100.117.72.79, S/N X6YL6N495W, wg1 10.67.0.37) en ligne —
m2m16 Mac mini M2 Pro 10 16 Go — 192.168.2.65 — worker hors ligne (éteint) —
M3BA24 MacBook Air M3 8 24 Go — 192.168.2.81 — worker hors ligne (éteint) —
M3BA16 MacBook Air M3 8 16 Go 460 Go 192.168.2.64 26.5.1 worker en ligne —
m2m8a Mac mini M2 8 8 Go — 192.168.2.66 — worker hors ligne (éteint) —
m2m8b Mac mini M2 8 8 Go 228 Go 192.168.2.68 26.5.1 worker en ligne —

Sous-total LAN : 29 nœuds, 401 cœurs, 1 068 Go. Autres équipements LAN : NAS UGREEN DXP4800 Plus (192.168.2.173, nas_clustr) et DH4300 Plus (192.168.2.175, nas2_clustr).


# 2. Macs dédiés loués — RETIRÉS du cluster le 2026-09-25

Douze Macs loués hors LAN avaient été ajoutés du 8 au 10 septembre 2026 (REMOTE_NODES + RESERVED dans mld, agentd, app macOS, pairs wg1 10.67.0.40–51 sur BHS64). Tous retirés le 2026-09-25 à la demande de l'utilisateur (les apps dessus n'étaient pas importantes ; seule llm-api sur M1M64 tournait — mld retire llm-api, routes www.llm-api.io / llm-api.io supprimées).

Alias Machine Fournisseur / lieu IP publique Utilisateur Nettoyage 2026-09-25
M1M64 Mac Studio M1 Max 10 c / 64 Go Macly, Istanbul 45.74.241.221 simon fait
m4mh, m1m16b (M1), m4mk Mac mini M4 / M1 / M4 10-8-10 c / 16 Go Macly, Istanbul 45.74.241.182 / .171 / .98 simon fait
m4me, m4mf, m4mi, m4mj Mac mini M4 10 c / 16 Go Macly, Uşak 45.74.245.36 / .37 / .39 / .38 simon fait
m2m16b Mac mini M2 Pro 10 c / 16 Go MacStadium, Atlanta 208.52.154.68 administrator fait
m1m16, m2m16c Mac mini M1 / M2 8 c / 16 Go MacStadium, Dublin 207.254.29.71 / .128 administrator fait
m4mg Mac mini M4 10 c / 16 Go rentamac, Limassol (NAT, gate1.rentamac.io:27335) — rentamac injoignable (passerelle SSH fermée) — rien nettoyé sur la machine

Nettoyage effectué sur chaque Mac joignable : pm2 kill + pm2 unstartup, LaunchDaemons pm2.<user>.plist et io.maclustr.wireguard-wg1.plist retirés, wg-quick down wg1 + /opt/homebrew/etc/wireguard effacé, ~/apps, ~/.pm2, ~/.maclustr-node supprimés, clés maclustr-cluster/maclustr-m1m32/maclustr-agentd retirées d'authorized_keys (plus aucun accès SSH depuis le laptop ; Homebrew et les comptes fournisseur laissés en place). Côté cluster : mld/config.py (NODES, REMOTE_NODES vide, RESERVED — commit f7bd29d), M1M32:~/dispatch/.sudo-<alias> effacés, agentd.py + ClusterManager.swift (REMOTE_NODES vide, agentd redéployé → 25 nœuds), BHS64 tunnelctl peer rm ×12 + ipmap purgée (sauvegarde ipmap.bak-20260925), alias Host gate1.rentamac.io retirés de M1M32 et M4M64a, blocs ~/.ssh/config du laptop supprimés (copie ~/.ssh/config.bak-20260925-loues). Les mots de passe sudo et identifiants DeskIn de ces machines ne sont plus consignés ici.


# 2b. Nœuds mobiles (iPhone / iPad) — depuis le 2026-09-28

Les iPhone/iPad qui ont rejoint le cluster via l'app MacLustr iOS ≥ 6.0 (« Ajouter cet appareil au cluster ») sont des nœuds de plein droit : alias (ex. iph17pm), épinglés ou non, métriques (CPU, mémoire, batterie, thermique, réseau) historisées 24 h, jobs ping / sys.info / http.fetch / js.run / compute.bench / net.probe. Ils tirent leur travail depuis le coordinateur maclustr-mobile 1.1.0 (M4M64a:9320, Tailscale, pas de SSH, actifs seulement app ouverte) ; agentd ≥ 3.1.0 les expose dans /api/cluster (kind: mobile), /api/summary.mobiles, les incidents et les proxys /api/mobile/*. Inventaire live : mlmobile nodes ou l'onglet Flotte mobile des apps. Appareils connus au 2026-09-28 : 3 × iPhone 17 Pro Max (un seul enrôlé, iphone, en attente de son alias via l'app 6.0).

# 3. Serveurs dédiés OVHcloud (Linux)

Alias Nom OVH Matériel IP OS Utilisateur Emplacement État
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, 2×960 Go NVMe Samsung en RAID 1 logiciel (md2 /boot, md3 / 878 Go), 3 Gbit/s public, 25 Gbit/s privé 51.161.112.61 (gw 100.64.0.1 DHCP), IPv6 2607:5300:22a:3d00::/56 Ubuntu Server 24.04.4 LTS, hostname bhs64, TZ America/Toronto ubuntu (sudo sans mot de passe) ; root joignable par clé Beauharnois BHS8 (Québec), baie BHS0805A03C, ca-east-bhs-a en ligne (installé 2026-09-10) — passerelle MacLustr Tunnel principale (hub WireGuard 10.67.0.1, Caddy, ufw, tunnelctl)
BHS64b (ovh3, RETIRÉ le 2026-10-02) ns5015175.ip-51-161-112.net (ADVANCE-2) jumeau de BHS64 : AMD EPYC 4345P 8 c/16 t, 64 Go DDR5 ECC, 2×960 Go NVMe en RAID 1 logiciel, 3 Gbit/s 51.161.112.66, IPv6 2607:5300:22a:4200::/56 Ubuntu Server 24.04.4 LTS, hostname bhs64b, TZ America/Toronto ubuntu (sudo sans mot de passe) ; root joignable par clé Beauharnois, ca-east-bhs-a en ligne (installé 2026-09-10 soir, même recette Safari) — rôles (2026-09-14) : worker de crawl DataCenterIndex (Docker dci-worker-1, dci0 10.68.0.2) ; InternetPressure.io y a tourné du 2026-09-12 au 2026-09-14 puis a déménagé sur BHS128b (pile en compose down, volumes ip_* 6,3 Go gardés en copie à froid, wg1 10.67.0.61 toujours raccordé) ; pas une passerelle tunnel
BHS128 (ovh4, RETIRÉ le 2026-10-02) 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, 2×960 Go NVMe en RAID 1 logiciel, 3 Gbit/s public, 25 Gbit/s privé 51.161.112.69 (gw 100.64.0.1 DHCP), IPv6 2607:5300:22a:4500::/56 Ubuntu Server 24.04 LTS, hostname bhs128, TZ America/Toronto ubuntu (sudo sans mot de passe) ; root joignable par clé Beauharnois BHS8, baie BHS0805A01C, ca-east-bhs-a en ligne (installé 2026-09-10 soir, recette Safari cluster-skill/ovh-manager/) — rôles (2026-09-13) : DataCenterIndex data (Docker, dci-*, edge :8300 sur wg1 10.67.0.60) + WebSensor (~/apps/websensor, PM2 natif websensor-engine/factory/api/web, :8260, Postgres 17 natif base websensor C.UTF-8 + Redis, blobs ~/websensor-data/blobs) + Market Atlas (~/apps/market-atlas, PM2 market-atlas-core/web, :8380/:8382, base market_atlas, données ~/market-atlas-data) migrés depuis M4M64b/M2U64 le 2026-09-13 soir (routes BHS64 www.websensor.io → 10.67.0.60:8260, www.market-atlas.co → 10.67.0.60:8380) + hfmarketdata (~/hfmarketdata, venv Python 3.14 uv, PM2 hfmarketdata-api uvicorn :8090, edgar-incremental, crons frd-refresh/contracts-backfill/edgar-reconcile ; lac FirstRate ~/firstratedata 359 Go Parquet + state/edgar copié depuis M3U96b le 2026-09-14 ; route www.hfmarketdata.io → 10.67.0.60:8090). Toutes les copies Mac de ces trois apps ont été effacées le 2026-09-14 (M4M64b, M2U64, M3U96b : code, données, bases, Redis, logs ; M1M32 : staging + manifestes, sauvegardés sur le laptop ~/Desktop/Cluster/secrets/mld-manifests-retired-20260914/). Node 22 (nodesource) + pnpm 11.1.2 + PM2 (systemd pm2-ubuntu, LimitNOFILE 1 048 576), configs ~/apps/pm2.<app>.config.cjs générées par ~/apps/.manifests/gen-pm2.py depuis les manifestes mld (secrets, 0600). Hors mld/agentd, pas une passerelle tunnel — ⚠️ incident 2026-09-25 : disque plein depuis le 17 sept. (journal Postgres 410 Go, bug bigint market-atlas-core), PM2 + Postgres KO, sites 502 ; nettoyé (429 Go libres), conf.d quiet + logrotate 2G, réserve ext4 1 %
BHS128b (ovh5, RETIRÉ le 2026-10-02) ns5035327.ip-51-161-112.net (ADVANCE-2, ID 503587) AMD EPYC 4344P 8 c/16 t, 128 Go DDR5, 2×960 Go NVMe Samsung PM9A3 en RAID 1 logiciel (md3 878 Go), 1 Gbit/s sortant / 25 Gbit/s entrant public, 25 Gbit/s privé 51.161.112.85 (gw 100.64.0.1), IPv6 2607:5300:22a:5500::/56 (sortante OK) Ubuntu Server 24.04 LTS, hostname bhs128b (installé sous bhs64c puis renommé après free -g), TZ America/Toronto ubuntu (sudo sans mot de passe) ; root joignable par clé ; clés maclustr-cluster + maclustr-m1m32 + maclustr-agentd ; ufw actif (22) Beauharnois BHS8, baie BHS0803A03C, ca-east-bhs-a en ligne (installé 2026-09-14 ~02:58 via la recette Safari cluster-skill/ovh-manager/, marqueur /root/maclustr-postinstall.done) — rôles (2026-09-14 matin, migrés le jour même) : cancerindex (~/apps/cancerindex, PM2 web :8250 / api :8251 / worker / backup cron 05:20, Postgres cancerindex pgvector 2,6 Go, ex-M4M64b), company-atlas (~/apps/company-atlas, venv uv 3.12, PM2 api :8361 / scheduler / web :8360, Postgres companyatlas 1 Go + ~/company-atlas-data 7 Go, ex-M2U64), satelliteindex (~/apps/satelliteindex, venv uv 3.12, PM2 api :8311 / scheduler / web :8310, Postgres satelliteindex, Redis db 4, ~/satelliteindex-data, ex-M2M32b), rareindex (retirée le 2026-09-26, disque plein : base 351 Go + images 299 Go effacées, code final sur spbgit 8fd0330, routes retirées → 647 Go libres), InternetPressure (Docker Compose projet ip, /opt/internetpressure, edge :8350 lié à wg1 10.67.0.62, volumes ip_* copiés de BHS64b, sauvegarde cron 04:10 UTC → BHS128:/srv/backups). Routes BHS64 : www.cancerindex.io → 10.67.0.62:8250, www.company-atlas.co → :8360, www.satelliteindex.io → :8310, www.rareindex.io → :8210, www.internetpressure.io → :8350. Node 22 + pnpm 11.1.2 + PM2 (systemd pm2-ubuntu, LimitNOFILE 1 048 576) + Postgres 17.11 PGDG + pgvector + Redis + Docker 29 + uv ; configs ~/apps/pm2.<app>.config.cjs régénérables par ~/apps/.manifests/gen-pm2.py (manifestes mld avec secrets, 0600) ; ufw wg1 ouvert depuis 10.67.0.1 sur 8210/8250/8310/8350/8360. Disque : incident 2026-09-25 — plein depuis le 19 sept. (rareindex images 299 Go + base 303 Go), PM2 orphelin + Postgres KO, sites 502 ; relancé, dumps /srv/migrate supprimés, réserve ext4 1 % → 49 Go libres seulement (95 %), rareindex doit déménager ou être borné. Copies d'origine conservées à froid (retirées de mld avec --keep-dir ; pile IP de BHS64b en compose down, volumes gardés). Pas une passerelle tunnel, hors mld/agentd
R9128 (ovh1, RETIRÉ le 2026-10-02) 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, 2×960 Go NVMe en RAID 1 logiciel (md2 /boot 1 Gio, md3 / 878 Go, swap 2×512 Mio), 1 Gbit/s public + privé 51.255.75.61 (gw 51.255.75.254), IPv6 2001:41d0:1004:273d::/64 Ubuntu Server 24.04.4 LTS, hostname r9128, TZ America/Toronto ubuntu (sudo sans mot de passe) ; root joignable par clé Gravelines GRA1, baie G118A10, eu-west-gra-a en ligne (installé 2026-09-08)

Retrait du 2026-10-02 (demande : ne garder qu'une seule instance OVH, la passerelle tunnel de Beauharnois). R9128, BHS64b, BHS128 et BHS128b ont été retirés du MacLustr :

  • Apps arrêtées et effacées (code, bases, données, Docker) : WebSensor, Market Atlas, hfmarketdata (lac FirstRate 359 Go Parquet — regénérable par frd_downloader), DataCenterIndex (data BHS128 + crawl BHS64b), cancerindex, company-atlas, satelliteindex, InternetPressure (+ sondes ip-probe R9128/BHS128). Sites publics correspondants retirés de Caddy (BHS64 passe de 40 à 30 routes) ; les DNS GoDaddy A → 51.161.112.61 sont restés en place (404 « MacLustr Tunnel »).

  • Code final sur spbgit (commit retire: production shut down 2026-10-02 dans chaque dépôt ; datacenterindex.git créé ce jour-là, il n'avait pas de remote). Les copies déployées étaient à jour par rapport à main (seuls requirements-prod-freeze.txt et les allowBuilds pnpm ont été récupérés).

  • Sauvegardes à froid : M3U96b:~/ovh-retired-20261002/{BHS128,BHS128b,BHS64b}/ (dumps pg_dump -Fc de market_atlas, websensor, cancerindex, companyatlas, satelliteindex, Postgres Docker DCI + IP, état hfmarketdata state/hfmd.db + meta + edgar, archives de sauvegardes DCI/IP/cancerindex, satelliteindex-data) ; manifestes mld, configs PM2, .env, compose, probe.yaml, Caddyfile R9128 sur le laptop ~/Desktop/Cluster/secrets/ovh-retired-20261002/ (0600). Non sauvegardés (volumineux, regénérables) : Parquet FirstRate 359 Go, company-atlas-data/objects 56 Go, blobs websensor 14 Go, raw market-atlas 27 Go, ClickHouse DCI/IP, satelliteindex/apps 132 Go.

  • Infra : pairs wg1 BHS64b/BHS128/BHS128b retirés du hub BHS64 ; interface wg0 (R9128) retirée de M1M32, M3U96a, M4M64b (LaunchDaemon io.maclustr.wireguard supprimé) ; mld 5eaeaf7 (passerelle R9128 retirée de config.py), agentd 3.1.2 (SERVERS = BHS64 seul, sonde egress R9128 retirée), mlt sans -g R9128 ; alias SSH R9128/ovh1, BHS64b/ovh3, BHS128/ovh4, BHS128b/ovh5 retirés du laptop et de M1M32 (sauvegardes ~/.ssh/config.bak-20261002-ovh).

  • Serveurs vidés (services désactivés, données effacées, OS de base conservé, accès ubuntu toujours possible par IP) — la résiliation reste à faire dans le manager OVH (Bare Metal Cloud → Serveurs dédiés → « Résilier ») : R9128 ID 1907852 (renouvellement 8 oct. 2026), BHS128 ID 528691, BHS128b ID 503587, BHS64b (ns5015175).

  • Clés autorisées (ubuntu et root) : maclustr-cluster, maclustr-m1m32, maclustr-agentd — testées depuis le laptop, M1M32 et M4M64a. Alias BHS64 aussi dans ~/.ssh/config de M1M32 (les alias des serveurs retirés ont été supprimés le 2026-10-02).

  • Recette d'installation OVH sauvegardée dans ~/Desktop/cluster-skill/ovh-manager/ (runjs.sh = osascript -l JavaScript → Safari.doJavaScript dans l'onglet courant ; install.js → os.js → next.js → fill-<alias>.js → valider.js → prog.js ; postinstall.sh = script post-install commun ; wait-<alias>.sh = attente fin d'install + SSH). Safari doit être connecté au manager (https://manager.ca.ovhcloud.com) et « Autoriser JavaScript des événements Apple » activé. Le contenu du serveur est dans l'iframe (même origine, contentDocument).

  • ⚠️ Clé maclustr-agentd sur les Macs : elle doit être dans ~/.ssh/authorized_keys de chaque nœud LAN, sinon l'agent (et les apps macOS/iOS) le montre « désactivé » (cas de M3U96a, m2m8a, m2m16, M3BA24 corrigé le 2026-09-10). mld prepare ne la pose pas.

  • Installé depuis https://manager.ca.ovhcloud.com (Bare Metal Cloud → Serveurs dédiés → bloc OS → « Installer mon serveur ») avec script post-installation (clés, apt : git, python3, htop, tmux, jq, rsync, build-essential, unattended-upgrades). Marqueur /root/maclustr-postinstall.done.

  • Renouvellement automatique : BHS64 le 10 octobre 2026 (sans engagement), monitoring OVH avec intervention proactive. R9128 (renouvellement 8 octobre 2026) est à résilier avant cette date.

  • BHS64 installé le 2026-09-10 par la même recette (manager OVH piloté en Safari do JavaScript : lien #/dedicated/server/<nom>, bouton « Installer mon serveur », Ubuntu 24.04, étape 4 hostname/sshKey/postInstallationScript, ~20 min) puis maclustr-tunnel/gateway-setup.sh BHS64 51.161.112.61 10.67.0. Latence depuis Saint-Augustin ≈ 10 ms (vs ≈ 85 ms pour R9128) : c'est la passerelle de mlt ; R9128 (ex-secours) a été retirée le 2026-10-02.

  • Hors mld / agentd (Linux : pas de Homebrew, PM2 launchd, ni sondes macOS) → piloter en SSH direct ; pare-feu ufw inactif (à activer si exposé).

  • Rôle depuis le 2026-09-09 soir : passerelle publique « MacLustr Tunnel » (WireGuard hub 10.66.0.1 udp 51820 + Caddy TLS auto + ufw, outil tunnelctl) qui remplace ngrok site par site — voir MACLUSTR-TUNNEL.md. Premier site : www.qc26.ca → M3U96a:8200. SPB AI (API LLM llama.cpp + passerelle, ai.spboucher.com) y a tourné dans la journée du 2026-09-09 puis a été retirée et effacée (~/llm supprimé, unités spb-* retirées) pour libérer le serveur ; source laptop ~/Desktop/Cluster/spb-ai. Restent : build-essential, cmake, ngrok (authtoken cluster dans ~/.config/ngrok/ngrok.yml).


# 4. Accès et outils

  • ssh <alias> depuis le laptop pour toutes les machines (utilisateur géré par ~/.ssh/config).
  • mld scan / mld nodes (état live des 26 Macs), mld status (apps), mld deploy <app> [--node X].
  • Vitrine publique : https://www.maclustr.io (app mld maclustr-www, M4M64a:8280 ; inventaire dans ~/Desktop/Cluster/maclustr-www/public/data.js — à mettre à jour avec ce fichier à chaque ajout/retrait de machine).
  • Monitoring : maclustr-agentd (M4M64a:9210) → app macOS MacLustr 3.0.3 (/Applications) et app iOS ; les 4 nœuds éteints y apparaissent « offline ».
  • LLM cluster : https://llm.maclustr.io/v1 (M3U96a:9000).
  • Pour ajouter un nœud loué : suivre la section « Nœud hors LAN » du README de maclustr-dispatch, puis mettre à jour les trois inventaires (mld, agentd, ClusterManager.swift) et ce fichier.