mirror of
https://github.com/status-im/consul.git
synced 2025-01-09 13:26:07 +00:00
78938c163a
* update main apigw overview * moved the tech specs to main gw folder * merged tech specs into single topic * restructure nav part 1 * fix typo in nav json file * moved k8s install up one level * restructure nav part 2 * moved and created all listeners and routes content * moved errors ref and upgrades * fix error in upgrade-k8s link * moved conf refs to appropriate spots * updated conf overview * fixed some links and bad formatting * fixed link * added JWT on VMs usage page * added JWT conf to APIGW conf entry * added JWTs to HTTP route conf entry * added new gatwaypolicy k8s conf reference * added metadesc for gatewaypolicy conf ref * added http route auth filter k8s conf ref * added http route auth filter k8s conf ref to nav * updates to k8s route conf ref to include extensionRef * added JWTs usage page for k8s * fixed link in gwpolicy conf ref * added openshift installation info to installation pages * fixed bad link on tech specs * Apply suggestions from code review Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com> * fixed VerityClaims param * best guess at verifyclaims params * tweaks to gateway policy dconf ref * Docs/ce 475 retries timeouts for apigw (#19086) * added timeout and retry conf ref for k8s * added retry and TO filters to HTTP routes conf ref for VMs * Apply suggestions from code review Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com> * fix copy/paste error in http route conf entry --------- Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com> * update links across site and add redirects * Apply suggestions from code review Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Thomas Eckert <teckert@hashicorp.com> * Applied feedback from review * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com> * Update CRD configuration for responseHeaderModifiers * Update Config Entry for http-route * Add ResponseFilter example to service * Update website/redirects.js errant curly brace breaking the preview * fix links and bad MD * fixed md formatting issues * fix formatting errors * fix formatting errors * Update website/content/docs/connect/gateways/api-gateway/secure-traffic/verify-jwts-k8s.mdx * Apply suggestions from code review * fixed typo * Fix headers in http-route * Apply suggestions from code review Co-authored-by: John Maguire <john.maguire@hashicorp.com> Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com> --------- Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com> Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com> Co-authored-by: Thomas Eckert <teckert@hashicorp.com> Co-authored-by: John Maguire <john.maguire@hashicorp.com>
257 lines
7.0 KiB
Plaintext
257 lines
7.0 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: TCP Route Configuration Reference
|
|
description: Learn how to configure a TCP Route that is bound to an API gateway on VMs.
|
|
---
|
|
|
|
# TCP route configuration Reference
|
|
|
|
This topic provides reference information for the gateway TCP routes configuration
|
|
entry. Refer to [Route Resource Configuration](/consul/docs/connect/gateways/api-gateway/configuration/routes) 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`](#kind): string | must be `"tcp-route"`
|
|
- [`Name`](#name): string | no default
|
|
- [`Namespace`](#namespace): string | no default <EnterpriseAlert inline />
|
|
- [`Partition`](#partition): string | no default <EnterpriseAlert inline />
|
|
- [`Meta`](#meta): map | no default
|
|
- [`Services`](#services): list | no default
|
|
- [`Name`](#services-name): string | no default
|
|
- [`Namespace`](#services-namespace): string | no default <EnterpriseAlert inline />
|
|
- [`Partition`](#services-partition): string | no default <EnterpriseAlert inline />
|
|
- [`Parents`](#parents): list | no default
|
|
- [`Kind`](#parents-kind): string | must be `"api-gateway"`
|
|
- [`Name`](#parents-name): string | no default
|
|
- [`Namespace`](#parents-namespace): string | no default <EnterpriseAlert inline />
|
|
- [`Partition`](#parents-partition): string | no default <EnterpriseAlert inline />
|
|
- [`SectionName`](#parents-sectionname): string | no default
|
|
|
|
## Complete configuration
|
|
|
|
When every field is defined, a `tcp-route` configuration entry has the following form:
|
|
|
|
<CodeTabs>
|
|
|
|
```HCL
|
|
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>"
|
|
}
|
|
]
|
|
```
|
|
|
|
```JSON
|
|
{
|
|
"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>"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
</CodeTabs>
|
|
|
|
## 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` <EnterpriseAlert inline />
|
|
|
|
Specifies the Enterprise [namespace](/consul/docs/enterprise/namespaces) to apply to the configuration entry.
|
|
|
|
#### Values
|
|
|
|
- Default: `"default"` in Enterprise
|
|
- Data type: string
|
|
|
|
### `Partition` <EnterpriseAlert inline />
|
|
|
|
Specifies the Enterprise [admin partition](/consul/docs/enterprise/admin-partitions) 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:
|
|
- [`Name`](#services-name)
|
|
- [`Namespace`](#services-namespace) <EnterpriseAlert inline />
|
|
- [`Partition`](#services-partition) <EnterpriseAlert inline />
|
|
|
|
### `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` <EnterpriseAlert inline />
|
|
|
|
Specifies the Enterprise [namespace](/consul/docs/enterprise/namespaces) where the service is located.
|
|
|
|
#### Values
|
|
|
|
- Default: `"default"` in Enterprise
|
|
- Data type: string
|
|
|
|
### `Services.Partition` <EnterpriseAlert inline />
|
|
|
|
Specifies the Enterprise [admin partition](/consul/docs/enterprise/admin-partitions) 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`](#parents-kind)
|
|
- [`Name`](#parents-name)
|
|
- [`Namespace`](#parents-namespace) <EnterpriseAlert inline />
|
|
- [`Partition`](#parents-partition) <EnterpriseAlert inline />
|
|
- [`SectionName`](#parents-sectionname)
|
|
|
|
### `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` <EnterpriseAlert inline />
|
|
|
|
Specifies the Enterprise [namespace](/consul/docs/enterprise/namespaces) where the parent is located.
|
|
|
|
#### Values
|
|
|
|
- Default: `"default"` in Enterprise
|
|
- Data type: string
|
|
|
|
### `Parents.Partition` <EnterpriseAlert inline />
|
|
|
|
Specifies the Enterprise [admin partition](/consul/docs/enterprise/admin-partitions) 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](/consul/docs/connect/gateways/api-gateway/configuration/api-gateway) 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
|