diff --git a/karapace/config.py b/karapace/config.py index 99cf698ce..2ddcbe604 100644 --- a/karapace/config.py +++ b/karapace/config.py @@ -24,6 +24,8 @@ "access_logs_debug": False, "access_log_class": None, "advertised_hostname": HOSTNAME, + "advertised_port": None, + "advertised_protocol": "http", "bootstrap_uri": "127.0.0.1:9092", "client_id": "sr-1", "compatibility": "BACKWARD", diff --git a/karapace/kafka_rest_apis/consumer_manager.py b/karapace/kafka_rest_apis/consumer_manager.py index e52aad785..ac707cb88 100644 --- a/karapace/kafka_rest_apis/consumer_manager.py +++ b/karapace/kafka_rest_apis/consumer_manager.py @@ -34,7 +34,15 @@ def new_name() -> str: class ConsumerManager: def __init__(self, config: dict) -> None: self.config = config - self.hostname = f"http://{self.config['advertised_hostname']}:{self.config['port']}" + if self.config["advertised_port"] is None: + self.hostname = ( + f"{self.config['advertised_protocol']}://{self.config['advertised_hostname']}:{self.config['port']}" + ) + else: + self.hostname = ( + f"{self.config['advertised_protocol']}://" + f"{self.config['advertised_hostname']}:{self.config['advertised_port']}" + ) self.deserializer = SchemaRegistryDeserializer(config=config) self.consumers = {} self.consumer_locks = defaultdict(Lock)