# 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..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-` 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..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..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-.js` → `valider.js` → `prog.js` ; `postinstall.sh` = script post-install commun ; `wait-.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/`, 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 ` 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 [--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.