Package: gloo.solo.io

This file contains the basic definition for the Upstream proto object.

Upstreams are a top-level resource in Gloo.

Upstreams contain data used for routing requests. They reflect real services, actively running e.g. inside kubernetes, hosted by a cloud provider, running at a static IP, etc.

The specific type of upstream is determined by the type of upstream_spec on the upstream object.

Some upstreams are auto-discovered by Gloo via service discovery backends like kubernetes and consul. These upstreams contain the information pulled from the service discovery backend, such as the service's listening ports and registry identifier.

Static IP addresses (or sets of them) can be defined with their own upstream type, the Static upstream. Static upstreams can be created using Gloo's yaml-based CRD interface in Kubernetes, as well as using the command-line glooctl.

Some upstreams reference credentials for an account with a public Cloud Provider such as AWS or Azure. Credentials are stored in Kubernetes secrets (with experimental support for Vault), and the Upstream object is required to provide a reference to the secret. Cloud Proivder upstreams must also be added manually, although their contents (e.g. available Lambda functions for an AWS region) can be discovered automatically by Gloo.

Types:
Source File: github.com/solo-io/solo-projects/projects/gloo/api/v1/upstream.proto

Upstream

Upstreams represent destination for routing HTTP requests. Upstreams can be compared to clusters in Envoy terminology. Each upstream in Gloo has a type. Supported types include static, kubernetes, aws, consul, and more. Each upstream type is handled by a corresponding Gloo plugin.

"upstream_spec": .gloo.solo.io.UpstreamSpec
"status": .core.solo.io.Status
"metadata": .core.solo.io.Metadata
"discovery_metadata": .gloo.solo.io.DiscoveryMetadata

Field Type Description Default
upstream_spec .gloo.solo.io.UpstreamSpec Type-specific configuration. Examples include static, kubernetes, and aws. The type-specific config for the upstream is called a spec.
status .core.solo.io.Status Status indicates the validation status of the resource. Status is read-only by clients, and set by gloo during validation
metadata .core.solo.io.Metadata Metadata contains the object metadata for this resource
discovery_metadata .gloo.solo.io.DiscoveryMetadata Upstreams and their configuration can be automatically by Gloo Discovery if this upstream is created or modified by Discovery, metadata about the operation will be placed here.

DiscoveryMetadata

created by discovery services


Field Type Description Default