From 9ecc237bdc797ac04670fcd39ac27fed7a93f604 Mon Sep 17 00:00:00 2001 From: Eric FELIXINE Date: Tue, 5 May 2026 17:10:30 -0400 Subject: [PATCH] fix: ENABLE_REDPANDA/STELLIO/INFLUX bugs + Redpanda content-type + topics --- redpanda/docker-compose.yml | 1 + simulator.py | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/redpanda/docker-compose.yml b/redpanda/docker-compose.yml index ef9dd7a7..d7440338 100644 --- a/redpanda/docker-compose.yml +++ b/redpanda/docker-compose.yml @@ -29,6 +29,7 @@ services: ports: - "19092:9092" - "19644:9644" + - "127.0.0.1:8082:8082" # REST Proxy for simulator volumes: - redpanda-data:/var/lib/redpanda/data networks: diff --git a/simulator.py b/simulator.py index 4ff62915..430b199a 100644 --- a/simulator.py +++ b/simulator.py @@ -61,7 +61,7 @@ BASE_LAT = float(os.environ.get("BASE_LAT", "14.6091")) BASE_LON = float(os.environ.get("BASE_LON", "-61.2155")) INTERVAL = int(os.environ.get("PUBLISH_INTERVAL_SEC", "1")) # 1s pour temps réel ENABLE_ORION = os.environ.get("ENABLE_ORION", "1") == "1" -ENABLE_STELLIO = os.environ.get("ENABLE_STELLIO", "1") == "1" +ENABLE_STELLIO = os.environ.get("ENABLE_STELLIO", "1").lower() in ("1", "true", "yes", "on") ENABLE_FROST = os.environ.get("ENABLE_FROST", "1") == "1" ENABLE_OPENREMOTE = os.environ.get("ENABLE_OPENREMOTE", "1") == "1" OR_ADMIN_USER = os.environ.get("OR_ADMIN_USER", "admin") @@ -77,7 +77,7 @@ PULSAR_PORT = int(os.environ.get("PULSAR_PORT", "8080")) PULSAR_BASE = f"http://{PULSAR_HOST}:{PULSAR_PORT}" # Redpanda / Kafka config (REST Proxy HTTP) -ENABLE_REDPANDA = os.environ.get("ENABLE_REDPANDA", "1") == "1" +ENABLE_REDPANDA = os.environ.get("ENABLE_REDPANDA", "1").lower() in ("1", "true", "yes", "on") REDPANDA_HOST = os.environ.get("REDPANDA_HOST", "smart-city-redpanda") REDPANDA_PORT = int(os.environ.get("REDPANDA_PORT", "8082")) REDPANDA_BASE = f"http://{REDPANDA_HOST}:{REDPANDA_PORT}" @@ -870,13 +870,13 @@ def publish_redpanda(sid: str, sensor: dict, payload: dict) -> bool: body = json.dumps(payload, ensure_ascii=False) b64 = base64.b64encode(body.encode()).decode() record = { - "records": [{"value": b64, "headers": {"sensor_id": sid, "source": "simulator"}}] + "records": [{"value": b64}] } url = f"{REDPANDA_BASE}/topics/{topic}" req = urllib.request.Request( url, data=json.dumps(record).encode(), - headers={"Content-Type": "application/vnd.api+json"}, + headers={"Content-Type": "application/vnd.kafka.json.v2+json"}, method="POST" ) with urllib.request.urlopen(req, timeout=8) as resp: