From 9bad573c05e8c92071a081422b15209c709aec90 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 25 Jun 2024 15:28:18 -0700 Subject: [PATCH] [xDS] start splitting up `grpc_xds_client` BUILD target (#37032) This moves some low-hanging fruit out of the `grpc_xds_client` BUILD target: - `xds_certificate_provider` - `xds_certificate_provider_store` - `xds_credentials` - `xds_file_watcher_certificate_provider_factory` Subsequent PRs will do more refactoring. Closes #37032 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37032 from markdroth:xds_build_target_refactoring eac85eb7bc2c7cf42a76060e6fdf4052ceddd95c PiperOrigin-RevId: 646627448 --- src/core/BUILD | 143 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 136 insertions(+), 7 deletions(-) diff --git a/src/core/BUILD b/src/core/BUILD index efebfbca3cb..fee90bea564 100644 --- a/src/core/BUILD +++ b/src/core/BUILD @@ -5076,14 +5076,139 @@ grpc_cc_library( ) grpc_cc_library( - name = "grpc_xds_client", + name = "xds_certificate_provider", + srcs = [ + "xds/grpc/xds_certificate_provider.cc", + ], + hdrs = [ + "xds/grpc/xds_certificate_provider.h", + ], + external_deps = [ + "absl/base:core_headers", + "absl/functional:bind_front", + "absl/log:check", + "absl/log:log", + "absl/strings", + "absl/types:optional", + ], + language = "c++", + tags = ["nofixdeps"], + deps = [ + "channel_args", + "error", + "grpc_matchers", + "grpc_tls_credentials", + "unique_type_name", + "useful", + "//:gpr", + "//:grpc_base", + "//:ref_counted_ptr", + "//:tsi_ssl_credentials", + ], +) + +grpc_cc_library( + name = "xds_certificate_provider_store", srcs = [ - "lib/security/credentials/xds/xds_credentials.cc", "xds/grpc/certificate_provider_store.cc", + ], + hdrs = [ + "xds/grpc/certificate_provider_store.h", + ], + external_deps = [ + "absl/base:core_headers", + "absl/log:log", + "absl/strings", + ], + language = "c++", + tags = ["nofixdeps"], + deps = [ + "certificate_provider_factory", + "certificate_provider_registry", + "grpc_tls_credentials", + "json", + "json_args", + "json_object_loader", + "unique_type_name", + "useful", + "validation_errors", + "//:config", + "//:gpr", + "//:grpc_base", + "//:orphanable", + "//:ref_counted_ptr", + ], +) + +grpc_cc_library( + name = "xds_credentials", + srcs = [ + "lib/security/credentials/xds/xds_credentials.cc", + ], + hdrs = [ + "lib/security/credentials/xds/xds_credentials.h", + ], + external_deps = [ + "absl/status", + "absl/log:check", + "absl/log:log", + "absl/types:optional", + ], + language = "c++", + tags = ["nofixdeps"], + deps = [ + "channel_args", + "grpc_lb_xds_channel_args", + "grpc_matchers", + "grpc_tls_credentials", + "unique_type_name", + "useful", + "xds_certificate_provider", + "//:channel_arg_names", + "//:gpr", + "//:grpc_base", + "//:grpc_core_credentials_header", + "//:grpc_credentials_util", + "//:grpc_security_base", + "//:ref_counted_ptr", + ], +) + +grpc_cc_library( + name = "xds_file_watcher_certificate_provider_factory", + srcs = [ "xds/grpc/file_watcher_certificate_provider_factory.cc", + ], + hdrs = [ + "xds/grpc/file_watcher_certificate_provider_factory.h", + ], + external_deps = [ + "absl/log:log", + "absl/strings", + "absl/strings:str_format", + ], + language = "c++", + tags = ["nofixdeps"], + deps = [ + "certificate_provider_factory", + "grpc_tls_credentials", + "json", + "json_args", + "json_object_loader", + "time", + "validation_errors", + "//:config", + "//:gpr", + "//:grpc_base", + "//:ref_counted_ptr", + ], +) + +grpc_cc_library( + name = "grpc_xds_client", + srcs = [ "xds/grpc/xds_audit_logger_registry.cc", "xds/grpc/xds_bootstrap_grpc.cc", - "xds/grpc/xds_certificate_provider.cc", "xds/grpc/xds_client_grpc.cc", "xds/grpc/xds_cluster.cc", "xds/grpc/xds_cluster_specifier_plugin.cc", @@ -5101,12 +5226,8 @@ grpc_cc_library( "xds/grpc/xds_transport_grpc.cc", ], hdrs = [ - "lib/security/credentials/xds/xds_credentials.h", - "xds/grpc/certificate_provider_store.h", - "xds/grpc/file_watcher_certificate_provider_factory.h", "xds/grpc/xds_audit_logger_registry.h", "xds/grpc/xds_bootstrap_grpc.h", - "xds/grpc/xds_certificate_provider.h", "xds/grpc/xds_client_grpc.h", "xds/grpc/xds_cluster.h", "xds/grpc/xds_cluster_specifier_plugin.h", @@ -5251,6 +5372,10 @@ grpc_cc_library( "upb_utils", "useful", "validation_errors", + "xds_certificate_provider", + "xds_certificate_provider_store", + "xds_credentials", + "xds_file_watcher_certificate_provider_factory", "xds_type_upb", "xds_type_upbdefs", "//:channel", @@ -5339,6 +5464,9 @@ grpc_cc_library( "resolved_address", "slice_refcount", "unique_type_name", + "xds_certificate_provider", + "xds_certificate_provider_store", + "xds_credentials", "//:api_trace", "//:config", "//:debug_location", @@ -5483,6 +5611,7 @@ grpc_cc_library( "resolved_address", "subchannel_interface", "validation_errors", + "xds_credentials", "xds_dependency_manager", "//:call_tracer", "//:config",