Skip to content

Conversation

@molotkov-and
Copy link
Collaborator

@molotkov-and molotkov-and commented Nov 7, 2025

Changelog entry

This PR adds support for XDS (xDS) protocol configuration in YDB, enabling service mesh and dynamic configuration capabilities. The implementation allows XDS bootstrap configuration to be specified in the application config and automatically sets up the required gRPC environment variables.

Changelog category

  • New feature

Description for reviewers

  • Adds XDS bootstrap configuration support with protobuf message definitions for XDS servers, node identity, and credentials
  • Implements automatic initialization of GRPC_XDS_BOOTSTRAP_CONFIG environment variable from application configuration
  • Adds SSL target name override capability for gRPC client connections to support custom SSL validation

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

2025-11-07 12:32:10 UTC Pre-commit check linux-x86_64-release-asan for efff46b has started.
2025-11-07 12:32:27 UTC Artifacts will be uploaded here
2025-11-07 12:34:47 UTC ya make is running...
🟡 2025-11-07 15:16:31 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
18178 17653 0 241 257 27

🟢 2025-11-07 15:16:45 UTC Build successful.
🟡 2025-11-07 15:17:11 UTC ydbd size 3.8 GiB changed* by +263.8 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: b694880 merge: efff46b diff diff %
ydbd size 4 072 867 456 Bytes 4 073 137 584 Bytes +263.8 KiB +0.007%
ydbd stripped size 1 511 799 400 Bytes 1 511 905 960 Bytes +104.1 KiB +0.007%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

2025-11-07 12:32:11 UTC Pre-commit check linux-x86_64-relwithdebinfo for efff46b has started.
2025-11-07 12:32:29 UTC Artifacts will be uploaded here
2025-11-07 12:34:53 UTC ya make is running...
🟡 2025-11-07 14:53:11 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
41661 38838 0 7 2791 25

2025-11-07 14:53:33 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-11-07 15:03:13 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
52 (only retried tests) 38 0 0 0 14

🟢 2025-11-07 15:03:24 UTC Build successful.
🟡 2025-11-07 15:03:44 UTC ydbd size 2.3 GiB changed* by +155.8 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: b694880 merge: efff46b diff diff %
ydbd size 2 431 728 272 Bytes 2 431 887 848 Bytes +155.8 KiB +0.007%
ydbd stripped size 516 517 424 Bytes 516 553 680 Bytes +35.4 KiB +0.007%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

🟢 2025-11-18 10:40:46 UTC The validation of the Pull Request description is successful.

@github-actions
Copy link

github-actions bot commented Nov 12, 2025

2025-11-12 13:44:18 UTC Pre-commit check linux-x86_64-relwithdebinfo for 8ff7909 has started.
2025-11-12 13:44:34 UTC Artifacts will be uploaded here
2025-11-12 13:46:56 UTC ya make is running...
🟡 2025-11-12 16:07:29 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
41824 38980 0 4 2808 32

2025-11-12 16:07:44 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-11-12 16:20:36 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
87 (only retried tests) 65 0 0 1 21

🟢 2025-11-12 16:20:44 UTC Build successful.
🟡 2025-11-12 16:21:06 UTC ydbd size 2.3 GiB changed* by +186.2 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: d77c4f4 merge: 8ff7909 diff diff %
ydbd size 2 441 928 560 Bytes 2 442 119 208 Bytes +186.2 KiB +0.008%
ydbd stripped size 519 551 792 Bytes 519 595 568 Bytes +42.8 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 12, 2025

2025-11-12 13:44:18 UTC Pre-commit check linux-x86_64-release-asan for 8ff7909 has started.
2025-11-12 13:44:37 UTC Artifacts will be uploaded here
2025-11-12 13:46:57 UTC ya make is running...
🟡 2025-11-12 16:35:01 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
18322 17795 0 221 270 36

🟢 2025-11-12 16:35:11 UTC Build successful.
🟡 2025-11-12 16:35:37 UTC ydbd size 3.8 GiB changed* by +312.1 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: d77c4f4 merge: 8ff7909 diff diff %
ydbd size 4 088 705 640 Bytes 4 089 025 256 Bytes +312.1 KiB +0.008%
ydbd stripped size 1 518 412 232 Bytes 1 518 533 800 Bytes +118.7 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@molotkov-and molotkov-and requested a review from snaury November 12, 2025 13:45
Copy link
Collaborator

@azevaykin azevaykin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests are needed

@github-actions
Copy link

github-actions bot commented Nov 13, 2025

2025-11-13 16:44:00 UTC Pre-commit check linux-x86_64-release-asan for 59ceb5a has started.
2025-11-13 16:44:17 UTC Artifacts will be uploaded here
2025-11-13 16:46:34 UTC ya make is running...
🟡 2025-11-13 19:34:00 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
18341 17783 0 243 283 32

🟢 2025-11-13 19:34:09 UTC Build successful.
🟡 2025-11-13 19:34:37 UTC ydbd size 3.9 GiB changed* by +312.2 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 8092aec merge: 59ceb5a diff diff %
ydbd size 4 135 581 704 Bytes 4 135 901 408 Bytes +312.2 KiB +0.008%
ydbd stripped size 1 522 656 168 Bytes 1 522 777 800 Bytes +118.8 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 13, 2025

2025-11-13 16:44:01 UTC Pre-commit check linux-x86_64-relwithdebinfo for 59ceb5a has started.
2025-11-13 16:44:19 UTC Artifacts will be uploaded here
2025-11-13 16:46:39 UTC ya make is running...
🟡 2025-11-13 19:02:18 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
41844 39015 0 2 2794 33

2025-11-13 19:02:31 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-11-13 19:12:01 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
65 (only retried tests) 48 0 1 0 16

2025-11-13 19:12:08 UTC ya make is running... (failed tests rerun, try 3)
🟢 2025-11-13 19:19:44 UTC Tests successful.

Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
34 (only retried tests) 18 0 0 0 16

🟢 2025-11-13 19:19:51 UTC Build successful.
🟡 2025-11-13 19:20:14 UTC ydbd size 2.3 GiB changed* by +182.2 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 8092aec merge: 59ceb5a diff diff %
ydbd size 2 479 406 400 Bytes 2 479 592 952 Bytes +182.2 KiB +0.008%
ydbd stripped size 521 023 728 Bytes 521 063 408 Bytes +38.8 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 17, 2025

2025-11-17 15:21:58 UTC Pre-commit check linux-x86_64-relwithdebinfo for 6c8b0cc has started.
2025-11-17 15:22:21 UTC Artifacts will be uploaded here
2025-11-17 15:24:27 UTC ya make is running...
2025-11-17 15:30:06 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Nov 17, 2025

2025-11-17 15:22:00 UTC Pre-commit check linux-x86_64-release-asan for 6c8b0cc has started.
2025-11-17 15:22:16 UTC Artifacts will be uploaded here
2025-11-17 15:24:21 UTC ya make is running...
2025-11-17 15:30:09 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Nov 17, 2025

2025-11-17 15:31:41 UTC Pre-commit check linux-x86_64-relwithdebinfo for fccf806 has started.
2025-11-17 15:31:48 UTC Artifacts will be uploaded here
2025-11-17 15:33:16 UTC ya make is running...
2025-11-17 15:36:01 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Nov 17, 2025

2025-11-17 15:32:48 UTC Pre-commit check linux-x86_64-release-asan for fccf806 has started.
2025-11-17 15:33:04 UTC Artifacts will be uploaded here
2025-11-17 15:35:09 UTC ya make is running...
2025-11-17 15:35:59 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Nov 17, 2025

2025-11-17 15:36:28 UTC Pre-commit check linux-x86_64-relwithdebinfo for a9aa2eb has started.
2025-11-17 15:36:36 UTC Artifacts will be uploaded here
2025-11-17 15:37:55 UTC ya make is running...
🟡 2025-11-17 17:51:42 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
41178 38306 0 2 2840 30

2025-11-17 17:51:55 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-11-17 18:53:23 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
63 (only retried tests) 47 0 0 0 16

🟢 2025-11-17 18:53:31 UTC Build successful.
🟡 2025-11-17 18:53:52 UTC ydbd size 2.3 GiB changed* by +182.4 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 57cd43a merge: a9aa2eb diff diff %
ydbd size 2 480 438 952 Bytes 2 480 625 744 Bytes +182.4 KiB +0.008%
ydbd stripped size 521 010 840 Bytes 521 050 648 Bytes +38.9 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 17, 2025

2025-11-17 15:37:03 UTC Pre-commit check linux-x86_64-release-asan for a9aa2eb has started.
2025-11-17 15:39:38 UTC Artifacts will be uploaded here
2025-11-17 15:41:29 UTC ya make is running...
🟡 2025-11-17 18:29:29 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
17446 16683 0 396 326 41

🟢 2025-11-17 18:29:38 UTC Build successful.
🟡 2025-11-17 18:30:06 UTC ydbd size 3.9 GiB changed* by +308.7 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 57cd43a merge: a9aa2eb diff diff %
ydbd size 4 137 476 200 Bytes 4 137 792 264 Bytes +308.7 KiB +0.008%
ydbd stripped size 1 523 093 488 Bytes 1 523 211 408 Bytes +115.2 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@azevaykin azevaykin requested a review from Copilot November 17, 2025 15:42
Copilot finished reviewing on behalf of azevaykin November 17, 2025 15:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for XDS (xDS) protocol configuration in YDB, enabling service mesh and dynamic configuration capabilities. The implementation allows XDS bootstrap configuration to be specified in the application config and automatically sets up the required gRPC environment variables.

Key Changes:

  • Adds XDS bootstrap configuration support with protobuf message definitions for XDS servers, node identity, and credentials
  • Implements automatic initialization of GRPC_XDS_BOOTSTRAP_CONFIG environment variable from application configuration
  • Adds SSL target name override capability for gRPC client connections to support custom SSL validation

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
ydb/library/grpc/actor_client/grpc_service_settings.h Adds SslTargetNameOverride field to gRPC client settings
ydb/library/grpc/actor_client/grpc_service_client.h Applies SSL target name override to gRPC channel configuration
ydb/core/security/ticket_parser_impl.h Configures SSL target name override for access service, user account service, and service account service clients
ydb/core/protos/config.proto Defines XDS bootstrap configuration protobuf messages including servers, credentials, and node metadata
ydb/core/protos/auth.proto Adds SSL target name override fields for authentication services
ydb/core/driver_lib/run/ut/ya.make Adds new unit test file for XDS bootstrap initialization
ydb/core/driver_lib/run/run_ut.cpp Implements comprehensive tests for XDS bootstrap configuration initialization
ydb/core/driver_lib/run/run.h Declares InitializeXdsBootstrapConfig method
ydb/core/driver_lib/run/run.cpp Implements XDS bootstrap config builder that converts protobuf to JSON and sets environment variable
ydb/core/config/init/init_ut.cpp Adds tests for automatic XDS node ID and data center zone configuration; refactors test helper functions
ydb/core/config/init/init_impl.h Implements logic to auto-populate XDS node ID from hostname and zone from data center configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@github-actions
Copy link

github-actions bot commented Nov 18, 2025

2025-11-18 10:19:10 UTC Pre-commit check linux-x86_64-relwithdebinfo for 70b9241 has started.
2025-11-18 10:20:29 UTC Artifacts will be uploaded here
2025-11-18 10:22:31 UTC ya make is running...
2025-11-18 10:33:18 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Nov 18, 2025

2025-11-18 10:20:31 UTC Pre-commit check linux-x86_64-release-asan for 70b9241 has started.
2025-11-18 10:20:47 UTC Artifacts will be uploaded here
2025-11-18 10:22:57 UTC ya make is running...
2025-11-18 10:33:19 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Nov 18, 2025

2025-11-18 10:33:47 UTC Pre-commit check linux-x86_64-release-asan for 263509a has started.
2025-11-18 10:34:04 UTC Artifacts will be uploaded here
2025-11-18 10:35:23 UTC ya make is running...
🟡 2025-11-18 12:38:45 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
15032 14825 0 96 97 14

🟢 2025-11-18 12:38:53 UTC Build successful.
🟡 2025-11-18 12:39:17 UTC ydbd size 3.8 GiB changed* by +318.5 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 75d7c47 merge: 263509a diff diff %
ydbd size 4 093 767 056 Bytes 4 094 093 200 Bytes +318.5 KiB +0.008%
ydbd stripped size 1 519 868 144 Bytes 1 519 994 896 Bytes +123.8 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@github-actions
Copy link

github-actions bot commented Nov 18, 2025

2025-11-18 10:34:41 UTC Pre-commit check linux-x86_64-relwithdebinfo for 263509a has started.
2025-11-18 10:34:49 UTC Artifacts will be uploaded here
2025-11-18 10:36:56 UTC ya make is running...
🟡 2025-11-18 12:51:48 UTC Some tests failed, follow the links below. Going to retry failed tests...

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
41187 38316 0 4 2839 28

2025-11-18 12:52:03 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-11-18 13:56:20 UTC Tests successful.

Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
66 (only retried tests) 46 0 0 0 20

🟢 2025-11-18 13:56:28 UTC Build successful.
🟡 2025-11-18 13:56:51 UTC ydbd size 2.3 GiB changed* by +187.5 KiB, which is >= 100.0 KiB vs main: Warning

ydbd size dash main: 75d7c47 merge: 263509a diff diff %
ydbd size 2 445 194 600 Bytes 2 445 386 624 Bytes +187.5 KiB +0.008%
ydbd stripped size 519 907 928 Bytes 519 952 024 Bytes +43.1 KiB +0.008%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@molotkov-and molotkov-and merged commit b1f3bcd into ydb-platform:main Nov 20, 2025
12 checks passed
@molotkov-and molotkov-and deleted the xds-v2 branch November 20, 2025 12:39
molotkov-and added a commit to molotkov-and/ydb that referenced this pull request Nov 27, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
molotkov-and added a commit to molotkov-and/ydb that referenced this pull request Nov 27, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Еще одна попытка посмотреть на поддержку XDS

4 participants