Commit graph

4 commits

Author SHA1 Message Date
Ilya Kuramshin
4d20cb6958
[BE] ProtobufFilesSerde imports implementation & refactoring (#3357)
* 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>
2023-03-07 16:24:19 +04:00
Ilya Kuramshin
216b4acd3d
Serdes improvements and fixes (#2989)
Serdes improvements and fixes:
1. Built-in serdel's auto-configuration separated from explicit configuration (when properties set in serde configuration)
2. Serdes initialization logic extracted into SerdesInitializer.java
3. docker-compose example with serdes configuration added
4. Serialization.md document fixed
2022-11-30 18:43:48 +04:00
Jochen Schalanda
3277186fc0
Add support for multiple Protobuf files (#2874)
* Add support for multiple Protobuf files

* Ensure `protobufFiles` list is not empty

* Address review comments
2022-11-07 15:15:40 +04:00
Joseph DeChicchis
1796fd519b
Implement deserializing binary protobuf encoded message keys (#1729)
* 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>
2022-04-05 16:26:57 +04:00