- 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
54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
# 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,bunkerm` dans 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**:
|
|
1. Trouver comment OpenRemote mappe les rôles Keycloak → permissions internes
|
|
2. Utiliser l'UI Manager via browser headless
|
|
3. Modifier la config OpenRemote pour désactiver l'auth sur l'API
|
|
4. 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 MQTT
|
|
- `TODO.md` — todo list
|
|
- `simulator.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
|