Skip to content

Commit 874a42d

Browse files
authored
Merge branch 'v3' into sync-topic-reader
2 parents 7f43ee0 + 79bcf7a commit 874a42d

File tree

11 files changed

+16
-110
lines changed

11 files changed

+16
-110
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* Use anonymous credentials by default instead of iam metadata (use ydb.driver.credentials_from_env_variables for creds by env var)
12
* Close grpc streams while closing readers/writers
23
* Add control plane operations for topic api: create, drop
34

examples/reservations-bot-demo/cloud_function/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def make_driver_config(endpoint, database, path):
77
return ydb.DriverConfig(
88
endpoint,
99
database,
10-
credentials=ydb.construct_credentials_from_environ(),
10+
credentials=ydb.credentials_from_env_variables(),
1111
root_certificates=ydb.load_ydb_root_certificate(),
1212
)
1313

examples/secondary_indexes_builtin/secondary_indexes_builtin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def callee(session):
245245

246246
def run(endpoint, database, path):
247247
driver_config = ydb.DriverConfig(
248-
endpoint, database, credentials=ydb.construct_credentials_from_environ()
248+
endpoint, database, credentials=ydb.credentials_from_env_variables()
249249
)
250250
with ydb.Driver(driver_config) as driver:
251251
try:

examples/time-series-serverless/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def create_driver(self) -> ydb.Driver:
1414
driver_config = ydb.DriverConfig(
1515
self.config.endpoint,
1616
self.config.database,
17-
credentials=ydb.construct_credentials_from_environ(),
17+
credentials=ydb.credentials_from_env_variables(),
1818
root_certificates=ydb.load_ydb_root_certificate(),
1919
)
2020

examples/ttl/ttl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ def _run(driver, database, path):
307307

308308
def run(endpoint, database, path):
309309
driver_config = ydb.DriverConfig(
310-
endpoint, database, credentials=ydb.construct_credentials_from_environ()
310+
endpoint, database, credentials=ydb.credentials_from_env_variables()
311311
)
312312
with ydb.Driver(driver_config) as driver:
313313
try:

examples/ttl_readtable/ttl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def _run(driver, session_pool, database, path):
288288

289289
def run(endpoint, database, path):
290290
driver_config = ydb.DriverConfig(
291-
endpoint, database, credentials=ydb.construct_credentials_from_environ()
291+
endpoint, database, credentials=ydb.credentials_from_env_variables()
292292
)
293293
with ydb.Driver(driver_config) as driver:
294294
try:

tests/aio/test_connection_pool.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ async def test_async_call(endpoint, database):
1111
driver_config = ydb.DriverConfig(
1212
endpoint,
1313
database,
14-
credentials=ydb.construct_credentials_from_environ(),
15-
root_certificates=ydb.load_ydb_root_certificate(),
1614
)
1715

1816
driver = Driver(driver_config=driver_config)
@@ -26,8 +24,6 @@ async def test_gzip_compression(endpoint, database):
2624
driver_config = ydb.DriverConfig(
2725
endpoint,
2826
database,
29-
credentials=ydb.construct_credentials_from_environ(),
30-
root_certificates=ydb.load_ydb_root_certificate(),
3127
compression=ydb.RPCCompression.Gzip,
3228
)
3329

@@ -53,8 +49,6 @@ async def test_session(endpoint, database):
5349
driver_config = ydb.DriverConfig(
5450
endpoint,
5551
database,
56-
credentials=ydb.construct_credentials_from_environ(),
57-
root_certificates=ydb.load_ydb_root_certificate(),
5852
)
5953

6054
driver = Driver(driver_config=driver_config)
@@ -98,8 +92,6 @@ async def test_raises_when_disconnect(endpoint, database, docker_project):
9892
driver_config = ydb.DriverConfig(
9993
endpoint,
10094
database,
101-
credentials=ydb.construct_credentials_from_environ(),
102-
root_certificates=ydb.load_ydb_root_certificate(),
10395
)
10496

10597
driver = Driver(driver_config=driver_config)
@@ -124,8 +116,6 @@ async def test_disconnect_by_call(endpoint, database, docker_project):
124116
driver_config = ydb.DriverConfig(
125117
endpoint,
126118
database,
127-
credentials=ydb.construct_credentials_from_environ(),
128-
root_certificates=ydb.load_ydb_root_certificate(),
129119
)
130120

131121
driver = Driver(driver_config=driver_config)

tests/conftest.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
import os
2-
from unittest import mock
32

43
import pytest
54
import ydb
65
import time
76
from ydb import issues
87

98

10-
@pytest.fixture(autouse=True, scope="session")
11-
def mock_settings_env_vars():
12-
with mock.patch.dict(os.environ, {"YDB_ANONYMOUS_CREDENTIALS": "1"}):
13-
yield
14-
15-
169
@pytest.fixture(scope="module")
1710
def docker_compose_file(pytestconfig):
1811
return os.path.join(str(pytestconfig.rootdir), "docker-compose.yml")
@@ -87,8 +80,6 @@ async def driver(endpoint, database, event_loop):
8780
driver_config = ydb.DriverConfig(
8881
endpoint,
8982
database,
90-
credentials=ydb.construct_credentials_from_environ(),
91-
root_certificates=ydb.load_ydb_root_certificate(),
9283
)
9384

9485
driver = ydb.aio.Driver(driver_config=driver_config)
@@ -104,8 +95,6 @@ async def driver_sync(endpoint, database, event_loop):
10495
driver_config = ydb.DriverConfig(
10596
endpoint,
10697
database,
107-
credentials=ydb.construct_credentials_from_environ(),
108-
root_certificates=ydb.load_ydb_root_certificate(),
10998
)
11099

111100
driver = ydb.Driver(driver_config=driver_config)

ydb/aio/driver.py

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,7 @@
1-
import os
2-
31
from . import pool, scheme, table
42
import ydb
53
from .. import _utilities
6-
from ydb.driver import get_config
7-
8-
9-
def default_credentials(credentials=None):
10-
if credentials is not None:
11-
return credentials
12-
13-
service_account_key_file = os.getenv("YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS")
14-
if service_account_key_file is not None:
15-
from .iam import ServiceAccountCredentials
16-
17-
return ServiceAccountCredentials.from_file(service_account_key_file)
18-
19-
anonymous_credetials = os.getenv("YDB_ANONYMOUS_CREDENTIALS", "0") == "1"
20-
if anonymous_credetials:
21-
return ydb.credentials.AnonymousCredentials()
22-
23-
metadata_credentials = os.getenv("YDB_METADATA_CREDENTIALS", "0") == "1"
24-
if metadata_credentials:
25-
from .iam import MetadataUrlCredentials
26-
27-
return MetadataUrlCredentials()
28-
29-
access_token = os.getenv("YDB_ACCESS_TOKEN_CREDENTIALS")
30-
if access_token is not None:
31-
return ydb.credentials.AccessTokenCredentials(access_token)
32-
33-
# (legacy instantiation)
34-
creds = ydb.auth_helpers.construct_credentials_from_environ()
35-
if creds is not None:
36-
return creds
37-
38-
from .iam import MetadataUrlCredentials
39-
40-
return MetadataUrlCredentials()
4+
from ydb.driver import get_config, default_credentials
415

426

437
class DriverConfig(ydb.DriverConfig):

ydb/auth_helpers.py

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
# -*- coding: utf-8 -*-
22
import os
33

4-
from . import credentials, tracing
5-
import warnings
6-
74

85
def read_bytes(f):
96
with open(f, "rb") as fr:
@@ -15,43 +12,3 @@ def load_ydb_root_certificate():
1512
if path is not None and os.path.exists(path):
1613
return read_bytes(path)
1714
return None
18-
19-
20-
def construct_credentials_from_environ(tracer=None):
21-
tracer = tracer if tracer is not None else tracing.Tracer(None)
22-
warnings.warn(
23-
"using construct_credentials_from_environ method for credentials instantiation is deprecated and will be "
24-
"removed in the future major releases. Please instantialize credentials by default or provide correct credentials "
25-
"instance to the Driver."
26-
)
27-
28-
# dynamically import required authentication libraries
29-
if (
30-
os.getenv("USE_METADATA_CREDENTIALS") is not None
31-
and int(os.getenv("USE_METADATA_CREDENTIALS")) == 1
32-
):
33-
import ydb.iam
34-
35-
tracing.trace(tracer, {"credentials.metadata": True})
36-
return ydb.iam.MetadataUrlCredentials()
37-
38-
if os.getenv("YDB_TOKEN") is not None:
39-
tracing.trace(tracer, {"credentials.access_token": True})
40-
return credentials.AuthTokenCredentials(os.getenv("YDB_TOKEN"))
41-
42-
if os.getenv("SA_KEY_FILE") is not None:
43-
44-
import ydb.iam
45-
46-
tracing.trace(tracer, {"credentials.sa_key_file": True})
47-
root_certificates_file = os.getenv("SSL_ROOT_CERTIFICATES_FILE", None)
48-
iam_channel_credentials = {}
49-
if root_certificates_file is not None:
50-
iam_channel_credentials = {
51-
"root_certificates": read_bytes(root_certificates_file)
52-
}
53-
return ydb.iam.ServiceAccountCredentials.from_file(
54-
os.getenv("SA_KEY_FILE"),
55-
iam_channel_credentials=iam_channel_credentials,
56-
iam_endpoint=os.getenv("IAM_ENDPOINT", "iam.api.cloud.yandex.net:443"),
57-
)

0 commit comments

Comments
 (0)