mirror of https://github.com/hashicorp/consul
55 lines
1.7 KiB
Protocol Buffer
55 lines
1.7 KiB
Protocol Buffer
|
// Copyright (c) HashiCorp, Inc.
|
|||
|
// SPDX-License-Identifier: MPL-2.0
|
|||
|
|
|||
|
syntax = "proto3";
|
|||
|
|
|||
|
package hashicorp.consul.mesh.v2beta1;
|
|||
|
|
|||
|
import "pbmesh/v2beta1/pbproxystate/transport_socket.proto";
|
|||
|
import "pbresource/annotations.proto";
|
|||
|
import "pbresource/resource.proto";
|
|||
|
|
|||
|
message APIGateway {
|
|||
|
option (hashicorp.consul.resource.spec) = {scope: SCOPE_NAMESPACE};
|
|||
|
|
|||
|
// GatewayClassName is the name of the GatewayClass used by the APIGateway
|
|||
|
string gateway_class_name = 1;
|
|||
|
|
|||
|
// +kubebuilder:validation:MinItems=1
|
|||
|
repeated APIGatewayListener listeners = 2;
|
|||
|
}
|
|||
|
|
|||
|
message APIGatewayListener {
|
|||
|
// Name is the name of the listener in a given gateway. This must be
|
|||
|
// unique within a gateway.
|
|||
|
string name = 1;
|
|||
|
|
|||
|
// +kubebuilder:validation:Maximum=65535
|
|||
|
// +kubebuilder:validation:Minimum=0
|
|||
|
uint32 port = 2;
|
|||
|
|
|||
|
// Protocol is the protocol that a listener should use, it must
|
|||
|
// either be "http" or "tcp"
|
|||
|
// +kubebuilder:validation≈ftg6:Enum=tcp,http
|
|||
|
string protocol = 3;
|
|||
|
|
|||
|
// Hostname is the host name that a listener should be bound to, if
|
|||
|
// unspecified, the listener accepts requests for all hostnames.
|
|||
|
string hostname = 4;
|
|||
|
|
|||
|
// TLS is the TLS settings for the listener.
|
|||
|
APIGatewayTLSConfiguration tls = 5;
|
|||
|
//TODO NET-7311 @Gateway-Management
|
|||
|
}
|
|||
|
|
|||
|
// APIGatewayTLSConfiguration specifies the configuration of a listener’s
|
|||
|
// TLS settings.
|
|||
|
message APIGatewayTLSConfiguration {
|
|||
|
// Certificates is a set of references to certificates
|
|||
|
// that a gateway listener uses for TLS termination.
|
|||
|
repeated hashicorp.consul.resource.Reference certificates = 1;
|
|||
|
|
|||
|
// TLSParameters contains optional configuration for running TLS termination.
|
|||
|
optional pbproxystate.TLSParameters tls_parameters = 2;
|
|||
|
}
|