From 26630e472f78e914b7d2fd7dddfddde79f3bfd29 Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas@kluyver.me.uk>
Date: Wed, 24 Jan 2024 10:03:50 +0000
Subject: [PATCH] Webservice: Update Kafka config to use EuXFEL broker

---
 webservice/config/webservice.yaml | 13 ++++++++-----
 webservice/job_monitor.py         |  2 +-
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/webservice/config/webservice.yaml b/webservice/config/webservice.yaml
index ce6228b6e..c01d56424 100644
--- a/webservice/config/webservice.yaml
+++ b/webservice/config/webservice.yaml
@@ -23,11 +23,14 @@ metadata-client:
   base-api-url: "https://in.xfel.eu/metadata/api/"
 
 kafka:
-  brokers:
-    - it-kafka-broker01.desy.de
-    - it-kafka-broker02.desy.de
-    - it-kafka-broker03.desy.de
-  topic: xfel-test-offline-cal
+  producer-config:
+    bootstrap-servers:
+      - "exflwgs06.desy.de"
+    security_protocol: "SASL_PLAINTEXT"
+    sasl_mechanism: "PLAIN"
+    sasl_plain_username: "cal"
+    # sasl_plain_password:  # Configure per-user
+  topic: cal.offline-corrections
 
 correct:
   in-folder: /gpfs/exfel/exp/{instrument}/{cycle}/p{proposal}/raw
diff --git a/webservice/job_monitor.py b/webservice/job_monitor.py
index d30ed8230..7ac62c4e5 100644
--- a/webservice/job_monitor.py
+++ b/webservice/job_monitor.py
@@ -44,9 +44,9 @@ class NoOpProducer:
 def init_kafka_producer(config):
     try:
         return KafkaProducer(
-            bootstrap_servers=config['kafka']['brokers'],
             value_serializer=lambda d: json.dumps(d).encode('utf-8'),
             max_block_ms=2000,  # Don't get stuck trying to send Kafka messages
+            **config['kafka']['producer-config']
         )
     except KafkaError:
         log.warning("Problem initialising Kafka producer; "
-- 
GitLab