Skip to content

Commit 100bf97

Browse files
committed
Enabled api key elastic connections
1 parent 0d20796 commit 100bf97

File tree

4 files changed

+45
-44
lines changed

4 files changed

+45
-44
lines changed
Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,39 @@
1-
ELASTIC_PORT = 9200
2-
ELASTIC_INDEX = "bench"
3-
ELASTIC_USER = "elastic"
4-
ELASTIC_PASSWORD = "passwd"
1+
import os
2+
from elasticsearch import Elasticsearch
3+
4+
ELASTIC_PORT = int(os.getenv("ELASTIC_PORT", 9200))
5+
ELASTIC_INDEX = os.getenv("ELASTIC_INDEX", "bench")
6+
ELASTIC_USER = os.getenv("ELASTIC_USER", "elastic")
7+
ELASTIC_PASSWORD = os.getenv("ELASTIC_PASSWORD", "passwd")
8+
ELASTIC_API_KEY = os.getenv("ELASTIC_API_KEY", None)
9+
ELASTIC_TIMEOUT = int(os.getenv("ELASTIC_TIMEOUT", 90))
10+
11+
12+
def get_es_client(host, connection_params):
13+
client: Elasticsearch = None
14+
init_params = {
15+
**{
16+
"verify_certs": False,
17+
"request_timeout": ELASTIC_TIMEOUT,
18+
"retry_on_timeout": True,
19+
},
20+
**connection_params,
21+
}
22+
if host.startswith("http"):
23+
url = ""
24+
else:
25+
url = "http://"
26+
url += f"{host}:{ELASTIC_PORT}"
27+
if ELASTIC_API_KEY is None:
28+
client = Elasticsearch(
29+
url,
30+
basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
31+
**init_params,
32+
)
33+
else:
34+
client = Elasticsearch(
35+
url,
36+
api_key=ELASTIC_API_KEY,
37+
**init_params,
38+
)
39+
return client

engine/clients/elasticsearch/configure.py

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
from engine.base_client.distances import Distance
77
from engine.clients.elasticsearch.config import (
88
ELASTIC_INDEX,
9-
ELASTIC_PASSWORD,
10-
ELASTIC_PORT,
11-
ELASTIC_USER,
9+
get_es_client,
1210
)
1311

1412

@@ -25,19 +23,7 @@ class ElasticConfigurator(BaseConfigurator):
2523

2624
def __init__(self, host, collection_params: dict, connection_params: dict):
2725
super().__init__(host, collection_params, connection_params)
28-
init_params = {
29-
**{
30-
"verify_certs": False,
31-
"request_timeout": 90,
32-
"retry_on_timeout": True,
33-
},
34-
**connection_params,
35-
}
36-
self.client = Elasticsearch(
37-
f"http://{host}:{ELASTIC_PORT}",
38-
basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
39-
**init_params,
40-
)
26+
self.client = get_es_client(host, connection_params)
4127

4228
def clean(self):
4329
try:

engine/clients/elasticsearch/search.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
from engine.base_client.search import BaseSearcher
88
from engine.clients.elasticsearch.config import (
99
ELASTIC_INDEX,
10-
ELASTIC_PASSWORD,
11-
ELASTIC_PORT,
12-
ELASTIC_USER,
10+
get_es_client,
1311
)
1412
from engine.clients.elasticsearch.parser import ElasticConditionParser
1513

@@ -38,11 +36,7 @@ def init_client(cls, host, distance, connection_params: dict, search_params: dic
3836
},
3937
**connection_params,
4038
}
41-
cls.client: Elasticsearch = Elasticsearch(
42-
f"http://{host}:{ELASTIC_PORT}",
43-
basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
44-
**init_params,
45-
)
39+
cls.client = get_es_client(host, connection_params)
4640
cls.search_params = search_params
4741

4842
@classmethod

engine/clients/elasticsearch/upload.py

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
from engine.base_client.upload import BaseUploader
88
from engine.clients.elasticsearch.config import (
99
ELASTIC_INDEX,
10-
ELASTIC_PASSWORD,
11-
ELASTIC_PORT,
12-
ELASTIC_USER,
10+
get_es_client,
1311
)
1412

1513

@@ -28,19 +26,7 @@ def get_mp_start_method(cls):
2826

2927
@classmethod
3028
def init_client(cls, host, distance, connection_params, upload_params):
31-
init_params = {
32-
**{
33-
"verify_certs": False,
34-
"request_timeout": 90,
35-
"retry_on_timeout": True,
36-
},
37-
**connection_params,
38-
}
39-
cls.client = Elasticsearch(
40-
f"http://{host}:{ELASTIC_PORT}",
41-
basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
42-
**init_params,
43-
)
29+
cls.client = get_es_client(host, connection_params)
4430
cls.upload_params = upload_params
4531

4632
@classmethod

0 commit comments

Comments
 (0)