consul/proto-public/pbmesh/v2beta1/routing.proto

39 lines
1.7 KiB
Protocol Buffer

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
syntax = "proto3";
package hashicorp.consul.mesh.v2beta1;
// +kubebuilder:validation:Enum=MESH_GATEWAY_MODE_UNSPECIFIED;MESH_GATEWAY_MODE_NONE;MESH_GATEWAY_MODE_LOCAL;MESH_GATEWAY_MODE_REMOTE
// +kubebuilder:validation:Type=string
enum MeshGatewayMode {
// MESH_GATEWAY_MODE_UNSPECIFIED represents no specific mode and should be
// used to indicate that the decision on the mode will be made by other
// configuration or default settings.
MESH_GATEWAY_MODE_UNSPECIFIED = 0;
// MESH_GATEWAY_MODE_NONE is the mode to use when traffic should not be
// routed through any gateway but instead be routed directly to the
// destination.
MESH_GATEWAY_MODE_NONE = 1;
// MESH_GATEWAY_MODE_LOCAL is the mode to use when traffic should be routed
// to the local gateway. The local gateway will then ensure that the
// connection is proxied correctly to its final destination. This mode will
// most often be needed for workloads that are prevented from making outbound
// requests outside of their local network/environment. In this case a
// gateway will sit at the edge of sit at the edge of the network and will
// proxy outbound connections potentially to other gateways in remote
// environments.
MESH_GATEWAY_MODE_LOCAL = 2;
// MESH_GATEWAY_MODE_REMOTE is the mode to use when traffic should be routed
// to a remote mesh gateway. This mode will most often be used when workloads
// can make outbound requests destined for a remote network/environment but
// where the remote network/environment will not allow direct addressing. The
// mesh gateway in the remote environment will sit at the edge and proxy
// requests into that environment.
MESH_GATEWAY_MODE_REMOTE = 3;
}