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