diff --git a/src/rubrix/server/commons/es_wrapper.py b/src/rubrix/server/commons/es_wrapper.py index e80144a06a..39903c3d7d 100644 --- a/src/rubrix/server/commons/es_wrapper.py +++ b/src/rubrix/server/commons/es_wrapper.py @@ -64,7 +64,10 @@ def get_instance(cls) -> "ElasticsearchWrapper": """ if cls._INSTANCE is None: - es_client = OpenSearch(hosts=settings.elasticsearch) + es_client = OpenSearch( + hosts=settings.elasticsearch, + verify_certs=settings.elasticsearch_ssl_verify, + ) cls._INSTANCE = cls(es_client) return cls._INSTANCE diff --git a/src/rubrix/server/commons/settings.py b/src/rubrix/server/commons/settings.py index 58c615f1ac..fb693bdd64 100644 --- a/src/rubrix/server/commons/settings.py +++ b/src/rubrix/server/commons/settings.py @@ -57,6 +57,7 @@ class ApiSettings(BaseSettings): __DATASETS_RECORDS_INDEX_NAME__ = ".rubrix.dataset.{}.records-v0" elasticsearch: str = "http://localhost:9200" + elasticsearch_ssl_verify: bool = True cors_origins: List[str] = ["*"] docs_enabled: bool = True @@ -101,6 +102,9 @@ def obfuscated_elasticsearch(self) -> str: class Config: # TODO: include a common prefix for all rubrix env vars. fields = { + "elasticsearch_ssl_verify": { + "env": "RUBRIX_ELASTICSEARCH_SSL_VERIFY", + }, "metadata_fields_limit": {"env": "RUBRIX_METADATA_FIELDS_LIMIT"}, "namespace": { "env": "RUBRIX_NAMESPACE",