syntax = "proto3"; package summa.proto; // Manage ingestion data from Kafka service ConsumerApi { // Create a new consumer rpc create_consumer (CreateConsumerRequest) returns (CreateConsumerResponse) {} // Get a single consumer rpc get_consumer (GetConsumerRequest) returns (GetConsumerResponse) {} // Get a list of all consumers rpc get_consumers (GetConsumersRequest) returns (GetConsumersResponse) {} // Remove a consumer rpc delete_consumer (DeleteConsumerRequest) returns (DeleteConsumerResponse) {} } // Request describe how new Consumer should be created message CreateConsumerRequest { // Kafka boostrap servers repeated string bootstrap_servers = 1; // Kafka group ID string group_id = 2; // Summa `index_name` which will ingest data from Kafka topics string index_name = 3; // Consumer name, used for further referencing consumer in API and configs string consumer_name = 4; // List of topics to consume repeated string topics = 5; } message CreateConsumerResponse { Consumer consumer = 1; } message DeleteConsumerRequest { string consumer_name = 1; } message DeleteConsumerResponse { string consumer_name = 2; } message GetConsumerRequest { string index_name = 1; string consumer_name = 2; } message GetConsumerResponse { Consumer consumer = 1; } message GetConsumersRequest {} message GetConsumersResponse { repeated Consumer consumers = 1; } // Consumer description message Consumer { // Consumer name string consumer_name = 1; // Summa `index_name` string index_name = 2; }