Consul
TCP route configuration reference
This topic provides reference information for the gateway TCP routes configuration entry. Refer to Route Resource Configuration for information about configuring API gateways in Kubernetes environments.
Configuration model
The following list outlines field hierarchy, language-specific data types, and
requirements in an tcp-route
configuration entry. Click on a property name to
view additional details, including default values.
Kind
: string | must be"tcp-route"
Name
: string | no defaultNamespace
: string | no default EnterprisePartition
: string | no default EnterpriseMeta
: map | no defaultServices
: list | no defaultParents
: list | no defaultKind
: string | must be"api-gateway"
Name
: string | no defaultNamespace
: string | no default EnterprisePartition
: string | no default EnterpriseSectionName
: string | no default
Complete configuration
When every field is defined, a tcp-route
configuration entry has the following form:
Kind = "tcp-route"
Name = "<name of the route>"
Namespace = "<enterprise: namespace of the route>"
Partition = "<enterprise: partition of the route>"
Meta = {
"<any key>" = "<any value>"
}
Services = [
{
Name = "<name of service>"
Namespace = "<enterprise: namespace of the service>"
Partition = "<enterprise: partition of the service>"
}
]
Parents = [
{
Kind = "api-gateway"
Name = "<name of the api-gateway to bind to>"
Namespace = "<enterprise: namespace of the parent>"
Partition = "<enterprise: partition of the parent>"
SectionName = "<listener on the api-gateway to bind to>"
}
]
Specification
This section provides details about the fields you can configure in the
tcp-route
configuration entry.
Kind
Specifies the type of configuration entry to implement. This must be set to
"tcp-route"
.
Values
- Default: none
- This field is required.
- Data type: string value that must be set to
tcp-route
.
Name
Specifies a name for the configuration entry. The name is metadata that you can use to reference the configuration entry when performing Consul operations, such as applying a configuration entry to a specific cluster.
Values
- Default: Defaults to the name of the node after writing the entry to the Consul server.
- This field is required.
- Data type: string
Namespace
Enterprise
Specifies the Enterprise namespace to apply to the configuration entry.
Values
- Default:
"default"
in Enterprise - Data type: string
Partition
Enterprise
Specifies the Enterprise admin partition to apply to the configuration entry.
Values
- Default:
"default"
in Enterprise - Data type: string
Meta
Specifies an arbitrary set of key-value pairs to associate with the gateway.
Values
- Default: none
- Data type: map containing one or more keys and string values.
Services
Specifies a TCP-based service the API gateway routes incoming requests to. You can only specify one service.
Values
- Default: none
- The data type is a list of maps. Each member of the list contains the following fields:
Services.Name
Specifies the list of TCP-based services to route to. You can specify a maximum of one service.
Values
- Default: none
- Data type: string
Services.Namespace
Enterprise
Specifies the Enterprise namespace where the service is located.
Values
- Default:
"default"
in Enterprise - Data type: string
Services.Partition
Enterprise
Specifies the Enterprise admin partition where the service is located.
Values
- Default:
"default"
in Enterprise - Data type: string
Parents
Specifies the list of gateways that the route is bound to.
Values
- Default: none
- Data type: List of map. Each member of the list contains the following fields:
Kind
Name
Namespace
EnterprisePartition
EnterpriseSectionName
Parents.Kind
Specifies the type of resource to bind to. This field is required and must be
set to "api-gateway"
Values
- Default: none
- This field is required.
- Data type: string
Parents.Name
Specifies the name of the API gateway to bind to.
Values
- Default: none
- This field is required.
- Data type: string
Parents.Namespace
Enterprise
Specifies the Enterprise namespace where the parent is located.
Values
- Default:
"default"
in Enterprise - Data type: string
Parents.Partition
Enterprise
Specifies the Enterprise admin partition where the parent is located.
Values
- Default:
"default"
in Enterprise - Data type: string
Parents.SectionName
Specifies the name of the listener defined in the api-gateway
configuration that the route binds to. If the field is configured to an empty string, the route binds to all listeners on the parent gateway.
Values
- Default:
""
- Data type: string