From da420284d5f492fac03cf66100d099f6907bd706 Mon Sep 17 00:00:00 2001 From: Oren Leiman Date: Fri, 6 Mar 2026 12:24:46 -0800 Subject: [PATCH] admin: Regenerate protos for metastore service Seems like we missed it in 48a4b781b4aeae7826fb8ef317e9dc8cf92d38c4 Signed-off-by: Oren Leiman --- .../internal/cloud_topics/v1/metastore_pb2.py | 16 +++- .../cloud_topics/v1/metastore_pb2.pyi | 92 ++++++++++++++++++- .../cloud_topics/v1/metastore_pb2_connect.py | 34 +++++++ .../internal/datalake/v1/datalake_pb2.pyi | 3 + .../proto/redpanda/core/common/v1/tls_pb2.py | 10 +- 5 files changed, 148 insertions(+), 7 deletions(-) diff --git a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.py b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.py index 7097e0761c528..eb8456cbd2dda 100644 --- a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.py +++ b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.py @@ -9,7 +9,7 @@ from ........proto.redpanda.core.pbgen import options_pb2 as proto_dot_redpanda_dot_core_dot_pbgen_dot_options__pb2 from ........proto.redpanda.core.pbgen import rpc_pb2 as proto_dot_redpanda_dot_core_dot_pbgen_dot_rpc__pb2 from ........proto.redpanda.core.common.v1 import ntp_pb2 as proto_dot_redpanda_dot_core_dot_common_dot_v1_dot_ntp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nBproto/redpanda/core/admin/internal/cloud_topics/v1/metastore.proto\x12,redpanda.core.admin.internal.cloud_topics.v1\x1a\'proto/redpanda/core/pbgen/options.proto\x1a#proto/redpanda/core/pbgen/rpc.proto\x1a\'proto/redpanda/core/common/v1/ntp.proto"O\n\x11GetOffsetsRequest\x12:\n\tpartition\x18\x01 \x01(\x0b2\'.redpanda.core.common.v1.TopicPartition"\\\n\x12GetOffsetsResponse\x12F\n\x07offsets\x18\x02 \x01(\x0b25.redpanda.core.admin.internal.cloud_topics.v1.Offsets"4\n\x07Offsets\x12\x14\n\x0cstart_offset\x18\x01 \x01(\x03\x12\x13\n\x0bnext_offset\x18\x02 \x01(\x03"L\n\x0eGetSizeRequest\x12:\n\tpartition\x18\x01 \x01(\x0b2\'.redpanda.core.common.v1.TopicPartition"%\n\x0fGetSizeResponse\x12\x12\n\nsize_bytes\x18\x01 \x01(\x042\xbd\x02\n\x10MetastoreService\x12\x97\x01\n\nGetOffsets\x12?.redpanda.core.admin.internal.cloud_topics.v1.GetOffsetsRequest\x1a@.redpanda.core.admin.internal.cloud_topics.v1.GetOffsetsResponse"\x06\xea\x92\x19\x02\x10\x03\x12\x8e\x01\n\x07GetSize\x12<.redpanda.core.admin.internal.cloud_topics.v1.GetSizeRequest\x1a=.redpanda.core.admin.internal.cloud_topics.v1.GetSizeResponse"\x06\xea\x92\x19\x02\x10\x03B\x1b\xea\x92\x19\x17proto::admin::metastoreb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nBproto/redpanda/core/admin/internal/cloud_topics/v1/metastore.proto\x12,redpanda.core.admin.internal.cloud_topics.v1\x1a\'proto/redpanda/core/pbgen/options.proto\x1a#proto/redpanda/core/pbgen/rpc.proto\x1a\'proto/redpanda/core/common/v1/ntp.proto"O\n\x11GetOffsetsRequest\x12:\n\tpartition\x18\x01 \x01(\x0b2\'.redpanda.core.common.v1.TopicPartition"\\\n\x12GetOffsetsResponse\x12F\n\x07offsets\x18\x02 \x01(\x0b25.redpanda.core.admin.internal.cloud_topics.v1.Offsets"4\n\x07Offsets\x12\x14\n\x0cstart_offset\x18\x01 \x01(\x03\x12\x13\n\x0bnext_offset\x18\x02 \x01(\x03"L\n\x0eGetSizeRequest\x12:\n\tpartition\x18\x01 \x01(\x0b2\'.redpanda.core.common.v1.TopicPartition"%\n\x0fGetSizeResponse\x12\x12\n\nsize_bytes\x18\x01 \x01(\x04"6\n\x17GetDatabaseStatsRequest\x12\x1b\n\x13metastore_partition\x18\x01 \x01(\r"\xbd\x01\n\x18GetDatabaseStatsResponse\x12\x1d\n\x15active_memtable_bytes\x18\x01 \x01(\x04\x12 \n\x18immutable_memtable_bytes\x18\x02 \x01(\x04\x12\x18\n\x10total_size_bytes\x18\x03 \x01(\x04\x12F\n\x06levels\x18\x04 \x03(\x0b26.redpanda.core.admin.internal.cloud_topics.v1.LsmLevel"f\n\x08LsmLevel\x12\x14\n\x0clevel_number\x18\x01 \x01(\x05\x12D\n\x05files\x18\x02 \x03(\x0b25.redpanda.core.admin.internal.cloud_topics.v1.LsmFile"m\n\x07LsmFile\x12\r\n\x05epoch\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x19\n\x11smallest_key_info\x18\x04 \x01(\t\x12\x18\n\x10largest_key_info\x18\x05 \x01(\t2\xe9\x03\n\x10MetastoreService\x12\x97\x01\n\nGetOffsets\x12?.redpanda.core.admin.internal.cloud_topics.v1.GetOffsetsRequest\x1a@.redpanda.core.admin.internal.cloud_topics.v1.GetOffsetsResponse"\x06\xea\x92\x19\x02\x10\x03\x12\x8e\x01\n\x07GetSize\x12<.redpanda.core.admin.internal.cloud_topics.v1.GetSizeRequest\x1a=.redpanda.core.admin.internal.cloud_topics.v1.GetSizeResponse"\x06\xea\x92\x19\x02\x10\x03\x12\xa9\x01\n\x10GetDatabaseStats\x12E.redpanda.core.admin.internal.cloud_topics.v1.GetDatabaseStatsRequest\x1aF.redpanda.core.admin.internal.cloud_topics.v1.GetDatabaseStatsResponse"\x06\xea\x92\x19\x02\x10\x03B\x1b\xea\x92\x19\x17proto::admin::metastoreb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2', _globals) @@ -20,6 +20,8 @@ _globals['_METASTORESERVICE'].methods_by_name['GetOffsets']._serialized_options = b'\xea\x92\x19\x02\x10\x03' _globals['_METASTORESERVICE'].methods_by_name['GetSize']._loaded_options = None _globals['_METASTORESERVICE'].methods_by_name['GetSize']._serialized_options = b'\xea\x92\x19\x02\x10\x03' + _globals['_METASTORESERVICE'].methods_by_name['GetDatabaseStats']._loaded_options = None + _globals['_METASTORESERVICE'].methods_by_name['GetDatabaseStats']._serialized_options = b'\xea\x92\x19\x02\x10\x03' _globals['_GETOFFSETSREQUEST']._serialized_start = 235 _globals['_GETOFFSETSREQUEST']._serialized_end = 314 _globals['_GETOFFSETSRESPONSE']._serialized_start = 316 @@ -30,5 +32,13 @@ _globals['_GETSIZEREQUEST']._serialized_end = 540 _globals['_GETSIZERESPONSE']._serialized_start = 542 _globals['_GETSIZERESPONSE']._serialized_end = 579 - _globals['_METASTORESERVICE']._serialized_start = 582 - _globals['_METASTORESERVICE']._serialized_end = 899 \ No newline at end of file + _globals['_GETDATABASESTATSREQUEST']._serialized_start = 581 + _globals['_GETDATABASESTATSREQUEST']._serialized_end = 635 + _globals['_GETDATABASESTATSRESPONSE']._serialized_start = 638 + _globals['_GETDATABASESTATSRESPONSE']._serialized_end = 827 + _globals['_LSMLEVEL']._serialized_start = 829 + _globals['_LSMLEVEL']._serialized_end = 931 + _globals['_LSMFILE']._serialized_start = 933 + _globals['_LSMFILE']._serialized_end = 1042 + _globals['_METASTORESERVICE']._serialized_start = 1045 + _globals['_METASTORESERVICE']._serialized_end = 1534 \ No newline at end of file diff --git a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.pyi b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.pyi index b8258e6be7ff6..b1ed9ae9f4f6d 100644 --- a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.pyi +++ b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2.pyi @@ -16,7 +16,9 @@ See the License for the specific language governing permissions and limitations under the License. """ import builtins +import collections.abc import google.protobuf.descriptor +import google.protobuf.internal.containers import google.protobuf.message from ........ import proto import sys @@ -124,4 +126,92 @@ class GetSizeResponse(google.protobuf.message.Message): def ClearField(self, field_name: typing.Literal['size_bytes', b'size_bytes']) -> None: ... -Global___GetSizeResponse: typing_extensions.TypeAlias = GetSizeResponse \ No newline at end of file +Global___GetSizeResponse: typing_extensions.TypeAlias = GetSizeResponse + +@typing.final +class GetDatabaseStatsRequest(google.protobuf.message.Message): + """GetDatabaseStatsRequest is the request for looking up LSM storage statistics.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + METASTORE_PARTITION_FIELD_NUMBER: builtins.int + metastore_partition: builtins.int + 'The metastore partition to query. Defaults to partition 0 if not\n specified.\n ' + + def __init__(self, *, metastore_partition: builtins.int=...) -> None: + ... + + def ClearField(self, field_name: typing.Literal['metastore_partition', b'metastore_partition']) -> None: + ... +Global___GetDatabaseStatsRequest: typing_extensions.TypeAlias = GetDatabaseStatsRequest + +@typing.final +class GetDatabaseStatsResponse(google.protobuf.message.Message): + """GetDatabaseStatsResponse contains detailed LSM storage statistics.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ACTIVE_MEMTABLE_BYTES_FIELD_NUMBER: builtins.int + IMMUTABLE_MEMTABLE_BYTES_FIELD_NUMBER: builtins.int + TOTAL_SIZE_BYTES_FIELD_NUMBER: builtins.int + LEVELS_FIELD_NUMBER: builtins.int + active_memtable_bytes: builtins.int + 'Size of the active memtable (data not yet flushed).' + immutable_memtable_bytes: builtins.int + 'Size of the immutable memtable (data being flushed).' + total_size_bytes: builtins.int + 'Total size including memtables and all levels.' + + @property + def levels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___LsmLevel]: + """Per-level file information for the LSM tree.""" + + def __init__(self, *, active_memtable_bytes: builtins.int=..., immutable_memtable_bytes: builtins.int=..., total_size_bytes: builtins.int=..., levels: collections.abc.Iterable[Global___LsmLevel] | None=...) -> None: + ... + + def ClearField(self, field_name: typing.Literal['active_memtable_bytes', b'active_memtable_bytes', 'immutable_memtable_bytes', b'immutable_memtable_bytes', 'levels', b'levels', 'total_size_bytes', b'total_size_bytes']) -> None: + ... +Global___GetDatabaseStatsResponse: typing_extensions.TypeAlias = GetDatabaseStatsResponse + +@typing.final +class LsmLevel(google.protobuf.message.Message): + """Information about a single level in the LSM tree.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + LEVEL_NUMBER_FIELD_NUMBER: builtins.int + FILES_FIELD_NUMBER: builtins.int + level_number: builtins.int + 'The level number (0 for L0, 1 for L1, etc).' + + @property + def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___LsmFile]: + """Files in this level.""" + + def __init__(self, *, level_number: builtins.int=..., files: collections.abc.Iterable[Global___LsmFile] | None=...) -> None: + ... + + def ClearField(self, field_name: typing.Literal['files', b'files', 'level_number', b'level_number']) -> None: + ... +Global___LsmLevel: typing_extensions.TypeAlias = LsmLevel + +@typing.final +class LsmFile(google.protobuf.message.Message): + """Summary information about a single SST file.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + EPOCH_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + SIZE_BYTES_FIELD_NUMBER: builtins.int + SMALLEST_KEY_INFO_FIELD_NUMBER: builtins.int + LARGEST_KEY_INFO_FIELD_NUMBER: builtins.int + epoch: builtins.int + 'Database epoch when the file was created.' + id: builtins.int + 'File ID.' + size_bytes: builtins.int + 'File size in bytes.' + smallest_key_info: builtins.str + 'Smallest key in the file (human-readable string representation).' + largest_key_info: builtins.str + 'Largest key in the file (human-readable string representation).' + + def __init__(self, *, epoch: builtins.int=..., id: builtins.int=..., size_bytes: builtins.int=..., smallest_key_info: builtins.str=..., largest_key_info: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing.Literal['epoch', b'epoch', 'id', b'id', 'largest_key_info', b'largest_key_info', 'size_bytes', b'size_bytes', 'smallest_key_info', b'smallest_key_info']) -> None: + ... +Global___LsmFile: typing_extensions.TypeAlias = LsmFile \ No newline at end of file diff --git a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2_connect.py b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2_connect.py index 0e3aaa75b7465..38dc70f9ee022 100644 --- a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2_connect.py +++ b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/cloud_topics/v1/metastore_pb2_connect.py @@ -64,6 +64,21 @@ def get_size(self, req: proto.redpanda.core.admin.internal.cloud_topics.v1.metas raise ConnectProtocolError('missing response message') return msg + def call_get_database_stats(self, req: proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsRequest, extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None) -> UnaryOutput[proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse]: + """Low-level method to call GetDatabaseStats, granting access to errors and metadata""" + url = self.base_url + '/redpanda.core.admin.internal.cloud_topics.v1.MetastoreService/GetDatabaseStats' + return self._connect_client.call_unary(url, req, proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse, extra_headers, timeout_seconds) + + def get_database_stats(self, req: proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsRequest, extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None) -> proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse: + response = self.call_get_database_stats(req, extra_headers, timeout_seconds) + err = response.error() + if err is not None: + raise err + msg = response.message() + if msg is None: + raise ConnectProtocolError('missing response message') + return msg + class AsyncMetastoreServiceClient: def __init__(self, base_url: str, http_client: aiohttp.ClientSession, protocol: ConnectProtocol=ConnectProtocol.CONNECT_PROTOBUF): @@ -100,6 +115,21 @@ async def get_size(self, req: proto.redpanda.core.admin.internal.cloud_topics.v1 raise ConnectProtocolError('missing response message') return msg + async def call_get_database_stats(self, req: proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsRequest, extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None) -> UnaryOutput[proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse]: + """Low-level method to call GetDatabaseStats, granting access to errors and metadata""" + url = self.base_url + '/redpanda.core.admin.internal.cloud_topics.v1.MetastoreService/GetDatabaseStats' + return await self._connect_client.call_unary(url, req, proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse, extra_headers, timeout_seconds) + + async def get_database_stats(self, req: proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsRequest, extra_headers: HeaderInput | None=None, timeout_seconds: float | None=None) -> proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse: + response = await self.call_get_database_stats(req, extra_headers, timeout_seconds) + err = response.error() + if err is not None: + raise err + msg = response.message() + if msg is None: + raise ConnectProtocolError('missing response message') + return msg + @typing.runtime_checkable class MetastoreServiceProtocol(typing.Protocol): @@ -108,10 +138,14 @@ def get_offsets(self, req: ClientRequest[proto.redpanda.core.admin.internal.clou def get_size(self, req: ClientRequest[proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetSizeRequest]) -> ServerResponse[proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetSizeResponse]: ... + + def get_database_stats(self, req: ClientRequest[proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsRequest]) -> ServerResponse[proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsResponse]: + ... METASTORE_SERVICE_PATH_PREFIX = '/redpanda.core.admin.internal.cloud_topics.v1.MetastoreService' def wsgi_metastore_service(implementation: MetastoreServiceProtocol) -> WSGIApplication: app = ConnectWSGI() app.register_unary_rpc('/redpanda.core.admin.internal.cloud_topics.v1.MetastoreService/GetOffsets', implementation.get_offsets, proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetOffsetsRequest) app.register_unary_rpc('/redpanda.core.admin.internal.cloud_topics.v1.MetastoreService/GetSize', implementation.get_size, proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetSizeRequest) + app.register_unary_rpc('/redpanda.core.admin.internal.cloud_topics.v1.MetastoreService/GetDatabaseStats', implementation.get_database_stats, proto.redpanda.core.admin.internal.cloud_topics.v1.metastore_pb2.GetDatabaseStatsRequest) return app \ No newline at end of file diff --git a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/datalake/v1/datalake_pb2.pyi b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/datalake/v1/datalake_pb2.pyi index 7c1d7990d64b6..eb8e4c14f5c89 100644 --- a/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/datalake/v1/datalake_pb2.pyi +++ b/tests/rptest/clients/admin/proto/redpanda/core/admin/internal/datalake/v1/datalake_pb2.pyi @@ -349,6 +349,9 @@ Global___DescribeCatalogRequest: typing_extensions.TypeAlias = DescribeCatalogRe @typing.final class DescribeCatalogResponse(google.protobuf.message.Message): + """Currently empty. In the future, may include additional catalog + information such as configuration details or capabilities. + """ DESCRIPTOR: google.protobuf.descriptor.Descriptor def __init__(self) -> None: diff --git a/tests/rptest/clients/admin/proto/redpanda/core/common/v1/tls_pb2.py b/tests/rptest/clients/admin/proto/redpanda/core/common/v1/tls_pb2.py index b4b3841c68d4b..58c58fe2bf32d 100644 --- a/tests/rptest/clients/admin/proto/redpanda/core/common/v1/tls_pb2.py +++ b/tests/rptest/clients/admin/proto/redpanda/core/common/v1/tls_pb2.py @@ -8,20 +8,24 @@ _sym_db = _symbol_database.Default() from ......proto.redpanda.core.pbgen import options_pb2 as proto_dot_redpanda_dot_core_dot_pbgen_dot_options__pb2 from ......google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'proto/redpanda/core/common/v1/tls.proto\x12\x17redpanda.core.common.v1\x1a\'proto/redpanda/core/pbgen/options.proto\x1a\x1fgoogle/api/field_behavior.proto"\xdb\x01\n\x0bTLSSettings\x12\x0f\n\x07enabled\x18\x03 \x01(\x08\x12E\n\x11tls_file_settings\x18\x01 \x01(\x0b2(.redpanda.core.common.v1.TLSFileSettingsH\x00\x12C\n\x10tls_pem_settings\x18\x02 \x01(\x0b2\'.redpanda.core.common.v1.TLSPEMSettingsH\x00\x12\x1f\n\x17do_not_set_sni_hostname\x18\x04 \x01(\x08B\x0e\n\x0ctls_settings"G\n\x0fTLSFileSettings\x12\x0f\n\x07ca_path\x18\x01 \x01(\t\x12\x10\n\x08key_path\x18\x02 \x01(\t\x12\x11\n\tcert_path\x18\x03 \x01(\t"]\n\x0eTLSPEMSettings\x12\n\n\x02ca\x18\x01 \x01(\t\x12\x13\n\x03key\x18\x02 \x01(\tB\x06\x80\x01\x01\xe0A\x04\x12\x1c\n\x0fkey_fingerprint\x18\x03 \x01(\tB\x03\xe0A\x03\x12\x0c\n\x04cert\x18\x04 \x01(\tB\x11\xea\x92\x19\rproto::commonb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'proto/redpanda/core/common/v1/tls.proto\x12\x17redpanda.core.common.v1\x1a\'proto/redpanda/core/pbgen/options.proto\x1a\x1fgoogle/api/field_behavior.proto"\xdb\x01\n\x0bTLSSettings\x12\x0f\n\x07enabled\x18\x03 \x01(\x08\x12E\n\x11tls_file_settings\x18\x01 \x01(\x0b2(.redpanda.core.common.v1.TLSFileSettingsH\x00\x12C\n\x10tls_pem_settings\x18\x02 \x01(\x0b2\'.redpanda.core.common.v1.TLSPEMSettingsH\x00\x12\x1f\n\x17do_not_set_sni_hostname\x18\x04 \x01(\x08B\x0e\n\x0ctls_settings"G\n\x0fTLSFileSettings\x12\x0f\n\x07ca_path\x18\x01 \x01(\t\x12\x10\n\x08key_path\x18\x02 \x01(\t\x12\x11\n\tcert_path\x18\x03 \x01(\t"m\n\x0eTLSPEMSettings\x12\x10\n\x02ca\x18\x01 \x01(\tB\x04\xe8\x92\x19\x01\x12\x17\n\x03key\x18\x02 \x01(\tB\n\x80\x01\x01\xe0A\x04\xe8\x92\x19\x01\x12\x1c\n\x0fkey_fingerprint\x18\x03 \x01(\tB\x03\xe0A\x03\x12\x12\n\x04cert\x18\x04 \x01(\tB\x04\xe8\x92\x19\x01B\x11\xea\x92\x19\rproto::commonb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.redpanda.core.common.v1.tls_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\xea\x92\x19\rproto::common' + _globals['_TLSPEMSETTINGS'].fields_by_name['ca']._loaded_options = None + _globals['_TLSPEMSETTINGS'].fields_by_name['ca']._serialized_options = b'\xe8\x92\x19\x01' _globals['_TLSPEMSETTINGS'].fields_by_name['key']._loaded_options = None - _globals['_TLSPEMSETTINGS'].fields_by_name['key']._serialized_options = b'\x80\x01\x01\xe0A\x04' + _globals['_TLSPEMSETTINGS'].fields_by_name['key']._serialized_options = b'\x80\x01\x01\xe0A\x04\xe8\x92\x19\x01' _globals['_TLSPEMSETTINGS'].fields_by_name['key_fingerprint']._loaded_options = None _globals['_TLSPEMSETTINGS'].fields_by_name['key_fingerprint']._serialized_options = b'\xe0A\x03' + _globals['_TLSPEMSETTINGS'].fields_by_name['cert']._loaded_options = None + _globals['_TLSPEMSETTINGS'].fields_by_name['cert']._serialized_options = b'\xe8\x92\x19\x01' _globals['_TLSSETTINGS']._serialized_start = 143 _globals['_TLSSETTINGS']._serialized_end = 362 _globals['_TLSFILESETTINGS']._serialized_start = 364 _globals['_TLSFILESETTINGS']._serialized_end = 435 _globals['_TLSPEMSETTINGS']._serialized_start = 437 - _globals['_TLSPEMSETTINGS']._serialized_end = 530 \ No newline at end of file + _globals['_TLSPEMSETTINGS']._serialized_end = 546 \ No newline at end of file