76 lines
1.5 KiB
Protocol Buffer
76 lines
1.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package keymanager.v1;
|
|
|
|
option go_package = "github.com/mrhid6/keymanager/server/internal/grpc/pb";
|
|
|
|
service KeyManager {
|
|
rpc Register(RegisterRequest) returns (RegisterResponse);
|
|
rpc SyncKeys(SyncRequest) returns (SyncResponse);
|
|
rpc UploadGeneratedKey(UploadKeyRequest) returns (UploadKeyResponse);
|
|
// Bidirectional stream: agent sends auth once, server pushes commands.
|
|
rpc CommandStream(stream AgentMessage) returns (stream ServerCommand);
|
|
}
|
|
|
|
message RegisterRequest {
|
|
string server_id = 1;
|
|
string pre_reg_token = 2;
|
|
string hostname = 3;
|
|
string ip_address = 4;
|
|
string os_info = 5;
|
|
}
|
|
|
|
message RegisterResponse {
|
|
string agent_token = 1;
|
|
}
|
|
|
|
message SyncRequest {
|
|
string server_id = 1;
|
|
string agent_token = 2;
|
|
}
|
|
|
|
message SyncResponse {
|
|
repeated string public_keys = 1;
|
|
}
|
|
|
|
message UploadKeyRequest {
|
|
string server_id = 1;
|
|
string agent_token = 2;
|
|
string public_key = 3;
|
|
string label = 4;
|
|
}
|
|
|
|
message UploadKeyResponse {
|
|
string key_id = 1;
|
|
}
|
|
|
|
// CommandStream messages
|
|
|
|
message AgentMessage {
|
|
string server_id = 1;
|
|
string agent_token = 2;
|
|
oneof payload {
|
|
AgentReady ready = 3;
|
|
CommandResult result = 4;
|
|
}
|
|
}
|
|
|
|
message AgentReady {}
|
|
|
|
message CommandResult {
|
|
string command_id = 1;
|
|
bool success = 2;
|
|
string message = 3;
|
|
}
|
|
|
|
message ServerCommand {
|
|
string command_id = 1;
|
|
oneof command {
|
|
GenerateKeyCmd generate_key = 2;
|
|
}
|
|
}
|
|
|
|
message GenerateKeyCmd {
|
|
string label = 1;
|
|
}
|