feat: MapStore ↔ GeoServer integration + Pulsar Manager v0.2.0

- Connect GeoServer to smartcity-shared network (alias: geoserver)
- Connect mapstore-app to smartcity-shared network
- Add digitribe_wms/wmts/rest services in MapStore localConfig.json
- Deploy Pulsar Manager with PostgreSQL backend + custom supervisord.conf
- Fix Redpanda Traefik config (console instead of broker port)
- Create mapstore/ docker-compose with volume mounts for persistence
This commit is contained in:
Eric FELIXINE
2026-05-05 21:12:32 -04:00
parent 3f06298819
commit 75ee75f036
6 changed files with 1761 additions and 16 deletions

View File

@@ -0,0 +1,107 @@
# Session Resume - 2026-05-07
## Objectif
Reprise après crash + configuration MapStore ↔ GeoServer.
---
## Actions effectuées
### ThingsBoard — supprimé
- `docker-kafka-1` + `docker-tb-js-executor-1` supprimés (Eric : "ThingsBoard ne fait pas du projet")
### Redpanda Console — corrigé ✅
- `22-redpanda.yml` pointait vers `smart-city-redpanda:9644` (broker Kafka) → corrigé vers `smart-city-redpanda-console:8080`
- `https://redpanda.digitribe.fr`**200 OK** (cert auto-signé, normal)
### Pulsar Manager — déployé ✅
- Créé `pulsar/docker-compose.manager.yml` (PostgreSQL 15 + Pulsar Manager v0.2.0)
- Créé `pulsar/config/supervisord-manager.conf` (fix variables manquantes)
- Backend Spring Tomcat démarré sur port 7750 → **200 OK**
- Accessible via : https://pulsar.digitribe.fr
- API REST: `http://localhost:7750/pulsar-manager`
- **Route Traefik NON encore créée** → `https://pulsar.digitribe.fr` → 404 (nécessite fix 21-pulsar.yml)
### MapStore ↔ GeoServer — configuré ✅
**Problème résolu :** mapstore-app ne pouvait pas joindre GeoServer (réseaux Docker séparés).
**Solution appliquée :**
1. GeoServer (`geoserver_stack-geoserver-1`) → connecté au réseau `smartcity-shared` avec alias `geoserver`
2. mapstore-app → connecté au réseau `smartcity-shared`
3. mapstore-proxy → déjà sur `smartcity-shared`
**Services GeoServer ajoutés dans MapStore `localConfig.json` :**
- `digitribe_wms``http://geoserver:8080/geoserver/wms` (WMS)
- `digitribe_wmts``http://geoserver:8080/geoserver/gwc/service/wmts` (WMTS)
- `digitribe_rest``http://geoserver:8080/geoserver/rest` (REST API)
**Connectivité vérifiée :**
```
mapstore-app → http://geoserver:8080/geoserver/wms → ✅ GetCapabilities répondu
Couches disponibles: Spearfish, Tasmania, GeoServer Web Map Service, etc.
```
**Fichiers persistants créés :**
- `mapstore/docker-compose.yml` — compose complet avec volumes mounts
- `mapstore/configs/localConfig.json` — config avec GeoServer local (mounté en volume)
- `mapstore/config/nginx.conf` — config nginx du proxy MapStore
---
## Action restante
### Pulsar Manager — route Traefik manquante
```
# Supprimer l'ancienne config et remplacer par :
cat > /home/eric/traefik-config/dynamic/21-pulsar.yml << 'EOF'
http:
routers:
pulsar-manager:
rule: "Host(`pulsar.digitribe.fr`)"
entryPoints:
- websecure
tls: true
service: pulsar-manager-svc
services:
pulsar-manager-svc:
loadBalancer:
servers:
- url: "http://smart-city-pulsar-manager:7750"
EOF
docker restart traefik
# puis tester: curl -sk -o /dev/null -w "%{http_code}" https://pulsar.digitribe.fr/
```
---
## État des services
| Service | URL | Status |
|---------|-----|--------|
| **MapStore** | https://mapstore.digitribe.fr | ✅ 200 |
| **GeoServer** (via MapStore) | http://geoserver:8080/geoserver | ✅ WMS/WMTS/REST |
| **Redpanda Console** | https://redpanda.digitribe.fr | ✅ 200 |
| **Pulsar standalone** | localhost:6650 | ✅ |
| **Pulsar Manager** | https://pulsar.digitribe.fr | ⚠️ Route Traefik à corriger |
| **InfluxDB** | http://localhost:8086 | ✅ 204 |
| **FROST-Server** | http://localhost:8090 | ✅ 200 |
| **Stellio** | https://stellio.digitribe.fr | ✅ 200 |
| **Orion-LD** | localhost:2026 | ✅ |
---
## Docker networks (connectivité)
```
smartcity-shared (shared network)
├── mapstore-app ✅
├── mapstore-proxy ✅
├── mapstore-postgres ✅
├── geoserver_stack-geoserver-1 ✅ (alias: geoserver)
└── many other services...
traefik-public
├── mapstore-proxy ✅
├── geoserver_stack-geoserver-1 ✅
└── traefik ✅
```