2023-11-07 17:24:54 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package hashicorp.consul.mesh.v2beta1;
|
|
|
|
|
2024-01-16 21:48:18 +00:00
|
|
|
import "pbcatalog/v2beta1/selector.proto";
|
2023-11-09 21:33:14 +00:00
|
|
|
import "pbresource/annotations.proto";
|
|
|
|
|
|
|
|
message MeshGateway {
|
|
|
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_PARTITION};
|
2023-11-27 19:49:54 +00:00
|
|
|
|
|
|
|
// GatewayClassName is the name of the GatewayClass used by the MeshGateway
|
|
|
|
string gateway_class_name = 1;
|
2024-01-04 18:42:32 +00:00
|
|
|
|
2024-01-09 20:13:32 +00:00
|
|
|
// +kubebuilder:validation:MinItems=1
|
2024-01-04 18:42:32 +00:00
|
|
|
repeated MeshGatewayListener listeners = 2;
|
2024-01-16 21:48:18 +00:00
|
|
|
|
|
|
|
// Selection of workloads to be configured as mesh gateways
|
|
|
|
hashicorp.consul.catalog.v2beta1.WorkloadSelector workloads = 3;
|
2024-01-04 18:42:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message MeshGatewayListener {
|
|
|
|
string name = 1;
|
2024-01-10 19:12:29 +00:00
|
|
|
// +kubebuilder:validation:Maximum=65535
|
|
|
|
// +kubebuilder:validation:Minimum=0
|
2024-01-04 18:42:32 +00:00
|
|
|
uint32 port = 2;
|
2024-01-11 19:12:32 +00:00
|
|
|
// +kubebuilder:validation:Enum=TCP
|
|
|
|
string protocol = 3;
|
2023-11-09 21:33:14 +00:00
|
|
|
}
|