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%

topologie : retrait de creaka, restoka, houseka, rentka (apps archivées le 2026-09-04)

Simon-Pierre Boucher committed 19 days ago (Sep 5, 2026) parent c1d103d

1 changed file +163 −38

modified topology.json +163 −38
@@ -10,60 +10,185 @@
10 10 },
11 11 "agents": {
12 12 "ka2": {
13 − "port": 8799, "domain": "www.ka2.bot", "accent": "#a9d1f7", "accent2": "#1e4fa3", "accent_soft": "#e3effc",
14 − "tagline": "Gardien immobilier & local", "model": "claude-fable-5",
15 − "services": ["louka", "immoka", "restoka", "houseka", "rentka"]
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 + ]
16 24 },
17 25 "ka4": {
18 − "port": 8899, "domain": "www.ka4.bot", "accent": "#ffc36b", "accent2": "#a35c00", "accent_soft": "#ffefd9",
19 − "tagline": "Gardien mobilité & quotidien", "model": "claude-fable-5",
20 − "services": ["autoka", "foodka", "sortika"]
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 + ]
21 38 },
22 39 "ka6": {
23 − "port": 8999, "domain": "www.ka6.bot", "accent": "#cdb4f9", "accent2": "#5b21b6", "accent_soft": "#f0e8fc",
24 − "tagline": "Gardien flagship — gros volumes", "model": "claude-fable-5",
25 − "services": ["fabrika", "jobka", "creaka", "vraiprix"],
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 + ],
26 52 "default_for_unknown_services": true
27 53 }
28 54 },
29 55 "nodes": {
30 − "m3u96a": { "lan_ip": "192.168.2.87", "alias": "M3U96a" },
31 − "m3u96b": { "lan_ip": "192.168.2.82", "alias": "M3U96b" },
32 − "m2u64": { "lan_ip": "192.168.2.107", "alias": "M2U64" },
33 − "m4m64a": { "lan_ip": "192.168.2.83", "alias": "M4M64a" },
34 − "m4m64b": { "lan_ip": "192.168.2.78", "alias": "M4M64b" },
35 − "m4m36": { "lan_ip": "192.168.2.69", "alias": "M4M36" },
36 − "m2m32": { "lan_ip": "192.168.2.90", "alias": "M2M32" }
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 + }
37 84 },
38 85 "services": {
39 − "louka": { "app": "Lou·Ka", "registry_app": "lou-ka", "node": "m4m64a", "dir": "~/apps/lou-ka", "pm2": ["lou-ka-web", "lou-ka-sync"], "web_port": 8095, "site": "https://www.lou-ka.com" },
40 − "restoka": { "app": "Resto·Ka", "registry_app": "resto-ka", "node": "m4m64a", "dir": "~/apps/resto-ka", "pm2": ["resto-ka", "resto-ka-sync"], "web_port": 8115, "site": "https://www.resto-ka.com" },
41 − "creaka": { "app": "Créa·Ka", "registry_app": "crea-ka", "node": "m3u96a", "dir": "~/apps/crea-ka", "pm2": ["crea-ka-web", "crea-ka-sync"], "web_port": 8160, "site": "https://www.crea-ka.com" },
42 − "immoka": { "app": "Immo·Ka", "registry_app": "immo-ka", "node": "m4m64b", "dir": "~/apps/immo-ka", "pm2": ["immo-ka-web", "immo-ka-sync"], "web_port": 8096, "site": "https://www.immo-ka.com" },
43 − "fabrika": { "app": "Fabri·Ka", "registry_app": "fabri-ka", "node": "m4m64a", "dir": "~/fabri-ka", "pm2": ["fabri-ka-web", "fabri-ka-sync"], "web_port": 8097, "site": "https://www.fabri-ka.com" },
44 − "autoka": { "app": "Auto·Ka", "registry_app": "auto-ka", "node": "m4m64b", "dir": "~/auto-ka", "pm2": ["auto-ka-web", "auto-ka-sync"], "web_port": 8095, "site": "https://www.auto-ka.com" },
45 − "foodka": { "app": "Food·Ka", "registry_app": "food-ka", "node": "m2u64", "dir": "~/apps/food-ka", "pm2": ["food-ka-web", "food-ka-sync"], "web_port": 8097, "site": "https://www.food-ka.com" },
46 − "sortika": { "app": "Sorti·Ka", "registry_app": "sorti-ka", "node": "m3u96a", "dir": "~/apps/sorti-ka", "pm2": ["sorti-ka-web", "sorti-ka-sync"], "web_port": 8120, "site": "https://www.sorti-ka.com" },
47 − "jobka": { "app": "Job·Ka", "registry_app": "job-ka", "node": "m3u96a", "dir": "~/apps/job-ka", "pm2": ["job-ka-web", "job-ka-sync"], "web_port": 8096, "site": "https://www.job-ka.com" },
48 − "vraiprix": {
49 − "app": "Vrai·Prix", "registry_app": "vrai-prix", "node": "m3u96a", "dir": "~/apps/vrai-prix",
50 − "pm2": ["vrai-prix"], "pm2_exclude": ["vrai-prix-ingest"], "web_port": 8090, "site": "https://www.vrai-prix.com",
51 − "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."
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"
52 133 },
53 − "houseka": {
54 − "app": "House·Ka", "registry_app": "house-ka", "node": "m3u96a", "dir": "~/apps/house-ka",
55 − "pm2": ["house-ka-web", "house-ka-sync"], "web_port": 8098, "site": "https://www.house-ka.com",
56 − "comment": "Fork achat de Immo-Ka (Canada hors Quebec). Connecteurs rapportes a api-ka depuis 2026-08-28 (28 sources, cadence 4 h)."
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"
57 145 },
58 − "rentka": {
59 − "app": "Rent·Ka", "registry_app": "rent-ka", "node": "m4m64b", "dir": "~/apps/rent-ka",
60 − "pm2": ["rent-ka-web", "rent-ka-sync"], "web_port": 8125, "site": "https://www.rent-ka.com",
61 − "comment": "Fork anglophone de Lou-Ka (Canada hors Quebec). Connecteurs rapportes a api-ka depuis 2026-08-28 (~680 sources)."
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."
62 184 }
63 185 },
64 186 "policy": {
65 187 "poll_interval_seconds": 300,
66 − "trigger_statuses": ["broken", "stale"],
188 + "trigger_statuses": [
189 + "broken",
190 + "stale"
191 + ],
67 192 "max_concurrent_missions": 1,
68 193 "max_attempts_per_incident": 3,
69 194 "attempt_cooldown_hours": 6,
70 195