Top
Upstream represents a destination for routing. Upstreams can be compared to
clusters in Envoy terminology.
Upstreams can take a variety of types<!--(TODO)--> in gloo. Language extensions known as plugins<!--(TODO)--> allow the addition of new
types of upstreams. <!--See upstream types for a detailed description of available upstream types.-->
name: string
type: string
connection_timeout: {google.protobuf.Duration}
spec: {google.protobuf.Struct}
functions: [{Function}]
service_info: {ServiceInfo}
status: (read only)
metadata: {Metadata}
| Field |
Type |
Label |
Description |
| name |
string |
|
Name of the upstream. Names must be unique and follow the following syntax rules: One or more lowercase rfc1035/rfc1123 labels separated by '.' with a maximum length of 253 characters. |
| type |
string |
|
Type indicates the type of the upstream. Examples include static<!--(TODO)-->, kubernetes<!--(TODO)-->, and aws Types are defined by the plugin<!--(TODO)--> associated with them. |
| connection_timeout |
google.protobuf.Duration |
|
Connection Timeout tells gloo to set a timeout for unresponsive connections created to this upstream. If not provided by the user, it will set to a default value |
| spec |
google.protobuf.Struct |
|
Spec contains properties that are specific to the upstream type. The spec is always required, but the expected content is specified by the [upstream plugin] for the given upstream type. Most often the upstream spec will be a map<string, string> |
| functions |
Function |
repeated |
Certain upstream types support (and may require) functions. Functions allow function-level routing to be done. For example, the AWS lambda upstream type Permits routing to AWS lambda function]. routes on virtualservices can specify function destinations to route to specific functions. |
| service_info |
ServiceInfo |
|
Service Info contains information about the service running on the upstream Service Info is optional, but is used by certain plugins (such as the gRPC plugin) as well as discovery services to provide sophistocated routing features for well-known types of services |
| status |
Status |
|
Status indicates the validation status of the upstream resource. Status is read-only by clients, and set by gloo during validation |
| metadata |
Metadata |
|
Metadata contains the resource metadata for the upstream |
type: string
properties: {google.protobuf.Struct}
| Field |
Type |
Label |
Description |
| type |
string |
|
Type indicates the type of service running on the upstream. Current options include REST, gRPC, and NATS |
| properties |
google.protobuf.Struct |
|
Properties contains properties that describe the service. The spec may be required by the Upstream Plugin that handles the given Service Type Most often the service properties will be a map<string, string> |
name: string
spec: {google.protobuf.Struct}
| Field |
Type |
Label |
Description |
| name |
string |
|
Name of the function. Functions are referenced by name from routes and therefore must be unique within an upstream |
| spec |
google.protobuf.Struct |
|
Spec for the function. Like upstream specs, the content of function specs is specified by the upstream plugin for the upstream's type. |