- GeoServer: workspace Digitribe + Data Store PostGIS dédié - PostGIS dédié: conteneur postgis-smartcity (PostGIS 3.4) - Couche sensors: 55 capteurs IoT importés depuis OpenRemote - MapStore: GeoServer WMS ajouté au CORS - ChirpStack: credentials réinitialisés (admin/admin1234) - BunkerM: DNS corrigé (underscores → hyphens) - Ditto: config MongoDB et auth devops - Documentation: session_resume + TODO.md
2.5 KiB
2.5 KiB
Session Resume — 2026-05-13 (final)
État de l'infrastructure
- 92+ conteneurs UP
- Services OK: OpenRemote, Grafana, InfluxDB, Orion-LD, Traefik, Simulator, BunkerM
- Services KO: Stellio (404), FROST (404), GeoServer (404), Ditto (404)
Tâches complétées
✅ BunkerM — FIXÉ
- Cause: DNS
bunkerm_bunkerm_1(underscores) non résolvable →bunkerm-bunkerm-1 - Fix: docker-compose.yml + simulator.py modifiés, image reconstruite
- Résultat:
→ emqx,bunkermdans les logs du simulateur
✅ ChirpStack — Partiellement résolu
- Cause: base PostgreSQL jamais initialisée (0 tables), mot de passe
***corrompait le DSN - Fix: mot de passe →
chirpstack, schéma SQL initialisé depuis migrations Diesel - 15 tables créées, admin user créé (admin/admin1234)
- Reste: login API à investiguer (gRPC-REST gateway)
Tâches en cours / bloquées
🔴 OpenRemote Agents MQTT — BLOQUÉ
- Problème: API REST
/api/smartcity/*retourne 403 "role not allowed" - Cause: OpenRemote a son propre système d'authorization (pas Keycloak). Les rôles Keycloak ne sont pas mappés aux permissions OpenRemote.
- Approches tentées (toutes échouées):
- Token client_credentials → 403
- Token password grant → 403
- Cookie de session Keycloak → 403
- Désactivation UMA → 403
- Mapper de rôles Keycloak → pas d'effet
- Basic auth → 403
- Headers X-Requested-With, Accept → 403
- Script prêt:
scripts/create_or_agents.py(60 agents MQTT) - Pistes restantes:
- Trouver comment OpenRemote mappe les rôles Keycloak → permissions internes
- Utiliser l'UI Manager via browser headless
- Modifier la config OpenRemote pour désactiver l'auth sur l'API
- Créer les agents via une autre méthode (JMX, config file, etc.)
Fichiers créés/modifiés
scripts/create_or_agents.py— script création 60 agents MQTTTODO.md— todo listsimulator.py— BUNKERM_HOST corrigédocker-compose.yml— BUNKERM_HOST corrigéconfiguration/chirpstack/chirpstack.toml— DSN corrigédocker-compose.chirpstack.yml— mot de passe corrigé
Leçons apprises
- ChirpStack 4.x n'initialise pas automatiquement le schéma PostgreSQL au premier démarrage
- Docker Compose masque les mots de passe contenant
@par*** - Les noms de conteneurs Docker Compose utilisent des underscores, mais la DNS resolution utilise des hyphens
- OpenRemote a son propre système d'authorization indépendant de Keycloak