67 lines
2.1 KiB
Protocol Buffer
67 lines
2.1 KiB
Protocol Buffer
// Copyright (c) HashiCorp, Inc.
|
|
|
|
syntax = "proto3";
|
|
|
|
package controller.servers.services.v1;
|
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
|
|
|
|
service UpstreamMessageService {
|
|
// sends an upstream message to the controller.
|
|
rpc UpstreamMessage(UpstreamMessageRequest) returns (UpstreamMessageResponse) {}
|
|
}
|
|
|
|
message UpstreamMessageRequest {
|
|
// the node credentials key id for the worker originated the request
|
|
string originating_worker_key_id = 10; // @gotags: `class:"public"
|
|
|
|
// the type of the encrypted_message which must have a
|
|
// RegisterUpstreamMessageHandler or codesUnimplemented will be returned
|
|
MsgType msg_type = 20;
|
|
|
|
// message will either be encrypted (ct) or plaintext (pt) based on its
|
|
// msg_type
|
|
oneof message {
|
|
// the encrypted upstream message. This message is encrypted with the
|
|
// originating worker's types.NodeCredentials.
|
|
bytes ct = 30; // @gotags: `class:"secret"
|
|
|
|
// the plaintext upstream message.
|
|
bytes pt = 40; // @gotags: `class:"public"
|
|
}
|
|
}
|
|
|
|
message UpstreamMessageResponse {
|
|
// the encryped response message. This message is encrypted with the
|
|
// originating worker's types.NodeCredentials.
|
|
// message will either be encrypted (ct) or plaintext (pt) based on its
|
|
// msg_type
|
|
oneof message {
|
|
// the encrypted upstream message. This message is encrypted with the
|
|
// originating worker's types.NodeCredentials.
|
|
bytes ct = 10; // @gotags: `class:"secret"
|
|
|
|
// the plaintext upstream message.
|
|
bytes pt = 20; // @gotags: `class:"public"
|
|
}
|
|
}
|
|
|
|
// defines the set of unknown message types
|
|
enum MsgType {
|
|
MSG_TYPE_UNSPECIFIED = 0;
|
|
MSG_TYPE_ECHO = 1; // currently this only used for testing.
|
|
MSG_TYPE_UNWRAP_KEYS = 2;
|
|
MSG_TYPE_VERIFY_SIGNATURE = 3;
|
|
MSG_TYPE_CLOSE_SESSION_RECORDING = 4;
|
|
MSG_TYPE_CLOSE_CONNECTION_RECORDING = 5;
|
|
MSG_TYPE_CREATE_CHANNEL_RECORDING = 6;
|
|
}
|
|
|
|
message EchoUpstreamMessageRequest {
|
|
string msg = 10; // @gotags: `class:"secret"
|
|
}
|
|
|
|
message EchoUpstreamMessageResponse {
|
|
string msg = 10; // @gotags: `class:"secret"
|
|
}
|