a253d7e49b
These are used in various bits of the wire format (for gRPC) and internally with Go’s registry so we want to namespace things properly.
84 lines
2.6 KiB
Protocol Buffer
84 lines
2.6 KiB
Protocol Buffer
// Package dataplane provides a service on Consul servers for the Consul Dataplane
|
|
|
|
syntax = "proto3";
|
|
|
|
package hashicorp.consul.dataplane;
|
|
|
|
import "google/protobuf/struct.proto";
|
|
|
|
message GetSupportedDataplaneFeaturesRequest {}
|
|
|
|
enum DataplaneFeatures {
|
|
DATAPLANE_FEATURES_UNSPECIFIED = 0;
|
|
DATAPLANE_FEATURES_WATCH_SERVERS = 1;
|
|
DATAPLANE_FEATURES_EDGE_CERTIFICATE_MANAGEMENT = 2;
|
|
DATAPLANE_FEATURES_ENVOY_BOOTSTRAP_CONFIGURATION = 3;
|
|
}
|
|
|
|
message DataplaneFeatureSupport {
|
|
DataplaneFeatures feature_name = 1;
|
|
bool supported = 2;
|
|
}
|
|
|
|
message GetSupportedDataplaneFeaturesResponse {
|
|
repeated DataplaneFeatureSupport supported_dataplane_features = 1;
|
|
}
|
|
|
|
message GetEnvoyBootstrapParamsRequest {
|
|
oneof node_spec {
|
|
string node_id = 1;
|
|
string node_name = 2;
|
|
}
|
|
// The proxy service ID
|
|
string service_id = 3;
|
|
string partition = 4;
|
|
string namespace = 5;
|
|
}
|
|
|
|
enum ServiceKind {
|
|
// ServiceKind UNSPECIFIED is a sentinel value for when a request
|
|
// did not specify a service kind. This will be treated the same
|
|
// as if TYPICAL was explicitly used.
|
|
SERVICE_KIND_UNSPECIFIED = 0;
|
|
|
|
// ServiceKind Typical is a typical, classic Consul service. This is
|
|
// represented by the absence of a value. This was chosen for ease of
|
|
// backwards compatibility: existing services in the catalog would
|
|
// default to the typical service.
|
|
SERVICE_KIND_TYPICAL = 1;
|
|
|
|
// ServiceKind Connect Proxy is a proxy for the Connect feature. This
|
|
// service proxies another service within Consul and speaks the connect
|
|
// protocol.
|
|
SERVICE_KIND_CONNECT_PROXY = 2;
|
|
|
|
// ServiceKind Mesh Gateway is a Mesh Gateway for the Connect feature. This
|
|
// service will proxy connections based off the SNI header set by other
|
|
// connect proxies.
|
|
SERVICE_KIND_MESH_GATEWAY = 3;
|
|
|
|
// ServiceKind Terminating Gateway is a Terminating Gateway for the Connect
|
|
// feature. This service will proxy connections to services outside the mesh.
|
|
SERVICE_KIND_TERMINATING_GATEWAY = 4;
|
|
|
|
// ServiceKind Ingress Gateway is an Ingress Gateway for the Connect feature.
|
|
// This service will ingress connections into the service mesh.
|
|
SERVICE_KIND_INGRESS_GATEWAY = 5;
|
|
}
|
|
|
|
message GetEnvoyBootstrapParamsResponse {
|
|
ServiceKind service_kind = 1;
|
|
// The destination service name
|
|
string service = 2;
|
|
string namespace = 3;
|
|
string partition = 4;
|
|
string datacenter = 5;
|
|
google.protobuf.Struct config = 6;
|
|
}
|
|
|
|
service DataplaneService {
|
|
rpc GetSupportedDataplaneFeatures(GetSupportedDataplaneFeaturesRequest) returns (GetSupportedDataplaneFeaturesResponse) {}
|
|
|
|
rpc GetEnvoyBootstrapParams(GetEnvoyBootstrapParamsRequest) returns (GetEnvoyBootstrapParamsResponse) {}
|
|
}
|