fix: ENABLE_REDPANDA/STELLIO/INFLUX bugs + Redpanda content-type + topics
This commit is contained in:
@@ -29,6 +29,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "19092:9092"
|
- "19092:9092"
|
||||||
- "19644:9644"
|
- "19644:9644"
|
||||||
|
- "127.0.0.1:8082:8082" # REST Proxy for simulator
|
||||||
volumes:
|
volumes:
|
||||||
- redpanda-data:/var/lib/redpanda/data
|
- redpanda-data:/var/lib/redpanda/data
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ BASE_LAT = float(os.environ.get("BASE_LAT", "14.6091"))
|
|||||||
BASE_LON = float(os.environ.get("BASE_LON", "-61.2155"))
|
BASE_LON = float(os.environ.get("BASE_LON", "-61.2155"))
|
||||||
INTERVAL = int(os.environ.get("PUBLISH_INTERVAL_SEC", "1")) # 1s pour temps réel
|
INTERVAL = int(os.environ.get("PUBLISH_INTERVAL_SEC", "1")) # 1s pour temps réel
|
||||||
ENABLE_ORION = os.environ.get("ENABLE_ORION", "1") == "1"
|
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_FROST = os.environ.get("ENABLE_FROST", "1") == "1"
|
||||||
ENABLE_OPENREMOTE = os.environ.get("ENABLE_OPENREMOTE", "1") == "1"
|
ENABLE_OPENREMOTE = os.environ.get("ENABLE_OPENREMOTE", "1") == "1"
|
||||||
OR_ADMIN_USER = os.environ.get("OR_ADMIN_USER", "admin")
|
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}"
|
PULSAR_BASE = f"http://{PULSAR_HOST}:{PULSAR_PORT}"
|
||||||
|
|
||||||
# Redpanda / Kafka config (REST Proxy HTTP)
|
# 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_HOST = os.environ.get("REDPANDA_HOST", "smart-city-redpanda")
|
||||||
REDPANDA_PORT = int(os.environ.get("REDPANDA_PORT", "8082"))
|
REDPANDA_PORT = int(os.environ.get("REDPANDA_PORT", "8082"))
|
||||||
REDPANDA_BASE = f"http://{REDPANDA_HOST}:{REDPANDA_PORT}"
|
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)
|
body = json.dumps(payload, ensure_ascii=False)
|
||||||
b64 = base64.b64encode(body.encode()).decode()
|
b64 = base64.b64encode(body.encode()).decode()
|
||||||
record = {
|
record = {
|
||||||
"records": [{"value": b64, "headers": {"sensor_id": sid, "source": "simulator"}}]
|
"records": [{"value": b64}]
|
||||||
}
|
}
|
||||||
url = f"{REDPANDA_BASE}/topics/{topic}"
|
url = f"{REDPANDA_BASE}/topics/{topic}"
|
||||||
req = urllib.request.Request(
|
req = urllib.request.Request(
|
||||||
url,
|
url,
|
||||||
data=json.dumps(record).encode(),
|
data=json.dumps(record).encode(),
|
||||||
headers={"Content-Type": "application/vnd.api+json"},
|
headers={"Content-Type": "application/vnd.kafka.json.v2+json"},
|
||||||
method="POST"
|
method="POST"
|
||||||
)
|
)
|
||||||
with urllib.request.urlopen(req, timeout=8) as resp:
|
with urllib.request.urlopen(req, timeout=8) as resp:
|
||||||
|
|||||||
Reference in New Issue
Block a user