consul/proto-public/pbdataplane/dataplane.proto
R.B. Boyer 3e6f1c1fe1
remove v2 tenancy, catalog, and mesh (#21592)
* remove v2 tenancy, catalog, and mesh

- Inline the v2tenancy experiment to false

- Inline the resource-apis experiment to false

- Inline the hcp-v2-resource-apis experiment to false

- Remove ACL policy templates and rule language changes related to
  workload identities (a v2-only concept) (e.g. identity and
  identity_prefix)

- Update the gRPC endpoint used by consul-dataplane to no longer respond
  specially for v2

- Remove stray v2 references scattered throughout the DNS v1.5 newer
  implementation.

* changelog

* go mod tidy on consul containers

* lint fixes from ENT

---------

Co-authored-by: John Murret <john.murret@hashicorp.com>
2024-09-05 08:50:46 -06:00

122 lines
4.0 KiB
Protocol Buffer

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
// Package dataplane provides a service on Consul servers for the Consul Dataplane
syntax = "proto3";
package hashicorp.consul.dataplane;
import "annotations/ratelimit/ratelimit.proto";
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;
DATAPLANE_FEATURES_FIPS = 4;
}
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 [deprecated = true];
string proxy_id = 6;
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;
// ServiceKind API Gateway is an API Gateway for the Connect feature.
// This service will ingress connections in to the service mesh.
SERVICE_KIND_API_GATEWAY = 6;
}
message GetEnvoyBootstrapParamsResponse {
reserved 1;
// deprecated: use identity instead.
// service is used to identify the service (as the local cluster name and
// in metric tags). If the service is a connect proxy it will be the name of
// the proxy's destination service, for gateways it will be the gateway
// service's name.
string service = 2 [deprecated = true];
// identity is used to identify this proxy (as the local cluster name and
// in metric tags). For v1, this should be the service name.
// If the service is a connect proxy it will be the name of
// the proxy's destination service, for gateways it will be the gateway
// service's name.
string identity = 10;
string namespace = 3;
string partition = 4;
string datacenter = 5;
google.protobuf.Struct config = 6;
reserved 11; // formerly v2 bootstrap_config
reserved 7;
string node_name = 8;
repeated string access_logs = 9;
}
service DataplaneService {
rpc GetSupportedDataplaneFeatures(GetSupportedDataplaneFeaturesRequest) returns (GetSupportedDataplaneFeaturesResponse) {
option (hashicorp.consul.internal.ratelimit.spec) = {
operation_type: OPERATION_TYPE_READ,
operation_category: OPERATION_CATEGORY_DATAPLANE
};
}
rpc GetEnvoyBootstrapParams(GetEnvoyBootstrapParamsRequest) returns (GetEnvoyBootstrapParamsResponse) {
option (hashicorp.consul.internal.ratelimit.spec) = {
operation_type: OPERATION_TYPE_READ,
operation_category: OPERATION_CATEGORY_DATAPLANE
};
}
}