From 04b8dfa67bda793b6a685a06a9bc0d1e4133fac5 Mon Sep 17 00:00:00 2001 From: Eric Date: Mon, 11 May 2026 14:21:24 -0400 Subject: [PATCH] fix: OpenRemote Traefik + GeoServer CORS + Keycloak route --- dynamic/16-mapstore.yml | 51 ++++++---------------------------- dynamic/ditto.yml | 42 ++++++++++++++++++++++++++++ dynamic/grafana-smart-city.yml | 16 +++++++++++ 3 files changed, 66 insertions(+), 43 deletions(-) create mode 100644 dynamic/ditto.yml create mode 100644 dynamic/grafana-smart-city.yml diff --git a/dynamic/16-mapstore.yml b/dynamic/16-mapstore.yml index fcab699..4200fd6 100644 --- a/dynamic/16-mapstore.yml +++ b/dynamic/16-mapstore.yml @@ -8,60 +8,25 @@ http: certResolver: letsencrypt priority: 100 middlewares: - - mapstore-home-redirect - service: mapstore-root-redirect + - mapstore-replace-path + service: mapstore-proxy-service - mapstore-static: - rule: "Host(`mapstore.digitribe.fr`) && (PathPrefix(`/mapstore/dist/`) || PathPrefix(`/mapstore/static/`) || PathPrefix(`/mapstore/translations/`) || PathPrefix(`/mapstore/jsp/`) || Path(`/mapstore/favicon.png`) || Path(`/mapstore/favicon.ico`))" - entryPoints: - - websecure - tls: - certResolver: letsencrypt - priority: 300 - service: mapstore-app-direct - - mapstore-app: + mapstore-all: rule: "Host(`mapstore.digitribe.fr`)" entryPoints: - websecure tls: certResolver: letsencrypt priority: 200 - service: mapstore - - mapstore-geoserver: - rule: "Host(`mapstore.digitribe.fr`) && PathPrefix(`/geoserver`)" - entryPoints: - - websecure - tls: - certResolver: letsencrypt - priority: 150 - service: mapstore-geoserver-backend + service: mapstore-proxy-service middlewares: - mapstore-home-redirect: - redirectRegex: - regex: "^https://mapstore.digitribe.fr/$" - replacement: "https://mapstore.digitribe.fr/mapstore/" - permanent: true + mapstore-replace-path: + replacePath: + path: "/mapstore/" services: - mapstore-root-redirect: + mapstore-proxy-service: loadBalancer: servers: - url: "http://mapstore-proxy:80" - - mapstore: - loadBalancer: - servers: - - url: "http://mapstore-proxy:80" - - mapstore-app-direct: - loadBalancer: - servers: - - url: "http://mapstore-app:8080" - - mapstore-geoserver-backend: - loadBalancer: - servers: - - url: "http://172.29.0.8:8080" diff --git a/dynamic/ditto.yml b/dynamic/ditto.yml new file mode 100644 index 0000000..1aa2c80 --- /dev/null +++ b/dynamic/ditto.yml @@ -0,0 +1,42 @@ +# Configuration Traefik pour Eclipse Ditto +http: + routers: + # Point d'entrée principal Ditto (Gateway) + ditto-gateway: + rule: "Host(`ditto.digitribe.fr`)" + entryPoints: + - websecure + service: ditto-gateway-service + tls: {} + + # API Policies + ditto-policies: + rule: "Host(`ditto.digitribe.fr`) && PathPrefix(`/policies`)" + entryPoints: + - websecure + service: ditto-policies-service + tls: {} + + # API Things + ditto-things: + rule: "Host(`ditto.digitribe.fr`) && PathPrefix(`/things`)" + entryPoints: + - websecure + service: ditto-things-service + tls: {} + + services: + ditto-gateway-service: + loadBalancer: + servers: + - url: "http://smart-city-ditto-gateway:8080" + + ditto-policies-service: + loadBalancer: + servers: + - url: "http://smart-city-ditto-policies:8080" + + ditto-things-service: + loadBalancer: + servers: + - url: "http://smart-city-ditto-things:8080" diff --git a/dynamic/grafana-smart-city.yml b/dynamic/grafana-smart-city.yml new file mode 100644 index 0000000..ac72519 --- /dev/null +++ b/dynamic/grafana-smart-city.yml @@ -0,0 +1,16 @@ +http: + routers: + grafana: + rule: "Host(`grafana.digitribe.fr`)" + entrypoints: + - web + - websecure + tls: + certresolver: letsencrypt + service: grafana-service + + services: + grafana-service: + loadbalancer: + servers: + - url: "http://smart-city-grafana:3000"