SPB Git forge

spb/ka-guardian

Public
26commits 1branches 0releases
4.5 MBsize
maindefault branch
19 days agolast push
Python 57.1% Shell 13.8% CSS 12% JavaScript 10% HTML 7.2%
5.5 KB · 211 lines json
Raw Blame History
1{2  "comment": "KA Guardian — identité des agents, politique et correspondance service → app. L'EMPLACEMENT des apps (nœud, IP LAN, répertoire, port, process PM2) vient du registre mld (M1M32:~/dispatch/registry.json, copie ~/ka-guardian-spool/registry.json) : orchestrator/registry.py l'applique au démarrage et à chaque tick. Les champs node/dir/web_port/pm2 ci-dessous ne sont qu'un REPLI si le registre n'a jamais été reçu (valeurs du 2026-09-04) — ne pas les considérer comme vrais.",3  "apika_monitoring_url": "https://www.api-ka.com/api/v1/monitoring/connectors",4  "runner_port": 7791,5  "registry": {6    "source": "M1M32:~/dispatch/registry.json",7    "local_copy": "~/ka-guardian-spool/registry.json",8    "runners_probe": "~/ka-guardian-spool/runners.json",9    "sync_service": "com.ka.registry-sync (deploy/registry-sync.sh, tick 120 s) + push mld (abonné ka2)"10  },11  "agents": {12    "ka2": {13      "port": 8799,14      "domain": "www.ka2.bot",15      "accent": "#a9d1f7",16      "accent2": "#1e4fa3",17      "accent_soft": "#e3effc",18      "tagline": "Gardien immobilier & local",19      "model": "claude-fable-5",20      "services": [21        "louka",22        "immoka"23      ]24    },25    "ka4": {26      "port": 8899,27      "domain": "www.ka4.bot",28      "accent": "#ffc36b",29      "accent2": "#a35c00",30      "accent_soft": "#ffefd9",31      "tagline": "Gardien mobilité & quotidien",32      "model": "claude-fable-5",33      "services": [34        "autoka",35        "foodka",36        "sortika"37      ]38    },39    "ka6": {40      "port": 8999,41      "domain": "www.ka6.bot",42      "accent": "#cdb4f9",43      "accent2": "#5b21b6",44      "accent_soft": "#f0e8fc",45      "tagline": "Gardien flagship — gros volumes",46      "model": "claude-fable-5",47      "services": [48        "fabrika",49        "jobka",50        "vraiprix"51      ],52      "default_for_unknown_services": true53    }54  },55  "nodes": {56    "m3u96a": {57      "lan_ip": "192.168.2.87",58      "alias": "M3U96a"59    },60    "m3u96b": {61      "lan_ip": "192.168.2.82",62      "alias": "M3U96b"63    },64    "m2u64": {65      "lan_ip": "192.168.2.107",66      "alias": "M2U64"67    },68    "m4m64a": {69      "lan_ip": "192.168.2.83",70      "alias": "M4M64a"71    },72    "m4m64b": {73      "lan_ip": "192.168.2.78",74      "alias": "M4M64b"75    },76    "m4m36": {77      "lan_ip": "192.168.2.69",78      "alias": "M4M36"79    },80    "m2m32": {81      "lan_ip": "192.168.2.90",82      "alias": "M2M32"83    }84  },85  "services": {86    "louka": {87      "app": "Lou·Ka",88      "registry_app": "lou-ka",89      "node": "m4m64a",90      "dir": "~/apps/lou-ka",91      "pm2": [92        "lou-ka-web",93        "lou-ka-sync"94      ],95      "web_port": 8095,96      "site": "https://www.lou-ka.com"97    },98    "immoka": {99      "app": "Immo·Ka",100      "registry_app": "immo-ka",101      "node": "m4m64b",102      "dir": "~/apps/immo-ka",103      "pm2": [104        "immo-ka-web",105        "immo-ka-sync"106      ],107      "web_port": 8096,108      "site": "https://www.immo-ka.com"109    },110    "fabrika": {111      "app": "Fabri·Ka",112      "registry_app": "fabri-ka",113      "node": "m4m64a",114      "dir": "~/fabri-ka",115      "pm2": [116        "fabri-ka-web",117        "fabri-ka-sync"118      ],119      "web_port": 8097,120      "site": "https://www.fabri-ka.com"121    },122    "autoka": {123      "app": "Auto·Ka",124      "registry_app": "auto-ka",125      "node": "m4m64b",126      "dir": "~/auto-ka",127      "pm2": [128        "auto-ka-web",129        "auto-ka-sync"130      ],131      "web_port": 8095,132      "site": "https://www.auto-ka.com"133    },134    "foodka": {135      "app": "Food·Ka",136      "registry_app": "food-ka",137      "node": "m2u64",138      "dir": "~/apps/food-ka",139      "pm2": [140        "food-ka-web",141        "food-ka-sync"142      ],143      "web_port": 8097,144      "site": "https://www.food-ka.com"145    },146    "sortika": {147      "app": "Sorti·Ka",148      "registry_app": "sorti-ka",149      "node": "m3u96a",150      "dir": "~/apps/sorti-ka",151      "pm2": [152        "sorti-ka-web",153        "sorti-ka-sync"154      ],155      "web_port": 8120,156      "site": "https://www.sorti-ka.com"157    },158    "jobka": {159      "app": "Job·Ka",160      "registry_app": "job-ka",161      "node": "m3u96a",162      "dir": "~/apps/job-ka",163      "pm2": [164        "job-ka-web",165        "job-ka-sync"166      ],167      "web_port": 8096,168      "site": "https://www.job-ka.com"169    },170    "vraiprix": {171      "app": "Vrai·Prix",172      "registry_app": "vrai-prix",173      "node": "m3u96a",174      "dir": "~/apps/vrai-prix",175      "pm2": [176        "vrai-prix"177      ],178      "pm2_exclude": [179        "vrai-prix-ingest"180      ],181      "web_port": 8090,182      "site": "https://www.vrai-prix.com",183      "comment": "Pas de connecteurs sous supervision api-ka (vrai-prix-ingest tourne à la demande — exclu des restarts via pm2_exclude) : surveillance du SITE seulement. Les tunnels *-ngrok sont toujours exclus automatiquement."184    }185  },186  "policy": {187    "poll_interval_seconds": 300,188    "trigger_statuses": [189      "broken",190      "stale"191    ],192    "max_concurrent_missions": 1,193    "max_attempts_per_incident": 3,194    "attempt_cooldown_hours": 6,195    "watch_window_hours": 8,196    "mission_max_turns": 70,197    "mission_timeout_seconds": 3600,198    "effort_max_turns": 150,199    "effort_timeout_seconds": 7200,200    "abandoned_retry_hours": 168,201    "mass_incident_threshold": 20,202    "site_check_interval_seconds": 120,203    "site_check_fails": 2,204    "site_restart_throttle_seconds": 600,205    "site_restart_wait_seconds": 20,206    "site_watch_window_hours": 1,207    "site_cooldown_hours": 1,208    "site_abandoned_retry_hours": 24209  }210}211