// 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; }