* Feature: Support more complex Protobuf files
The changes in https://github.com/provectus/kafka-ui/pull/2874 added
initial support for using more than 1 Protobuf file in Kafka UI in
absence of a proper schema registry.
This change is building upon that functionality to support more complex
scenarios in which there are multiple Protobuf files being used and not
all of them are explicitly listed (for example imports).
It's using the already present Wire library from Square to do the heavy
lifting and create a comprehensive schema from all Protobuf files and
directories listed in the Kafka UI configuration.
* Refactor schema loading logic and reuse in tests
* Add support for reading Protobufs from ZIP archives
* Remove unused ProtobufFileSerde#toLocation(Path)
* wip
* wip
* wip
* wip
* wip
* wip
* wip
---------
Co-authored-by: Jochen Schalanda <jochen.schalanda@personio.de>
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
* Add protobufMessageNameForKeyByTopic option to config. Message keys are
deserialized using a protobuf schema if the config is set. Otherwise
message keys are treated as strings.
Closes#1699
* Add documentation around kafkaui's protobuf support
* Add protobufMessageNameForKey config option
* Update README with info about default types
* Imeplement support for protobufMessageNameForKeyByTopic
* fallback to FALLBACK_FORMATTER
* Add ability to publish message with protobuf key
* Change log levels to debug and add @Nullable annotations
* Attempt at fixing documentation workflow
Co-authored-by: Ilya Kuramshin <ilia-2k@rambler.ru>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Roman Zabaluev <github@haarolean.dev>