Documentation ¶
Overview ¶
Package v1 is a generated protocol buffer package.
It is generated from these files:
config.proto metadata.proto status.proto upstream.proto virtualhost.proto
It has these top-level messages:
Config Metadata Status Upstream ServiceInfo Function VirtualHost Route RequestMatcher EventMatcher WeightedDestination Destination FunctionDestination UpstreamDestination SSLConfig
Index ¶
- Variables
- type Config
- type ConfigObject
- type Destination
- func (*Destination) Descriptor() ([]byte, []int)
- func (this *Destination) Equal(that interface{}) bool
- func (m *Destination) GetDestinationType() isDestination_DestinationType
- func (m *Destination) GetFunction() *FunctionDestination
- func (m *Destination) GetUpstream() *UpstreamDestination
- func (*Destination) ProtoMessage()
- func (m *Destination) Reset()
- func (m *Destination) String() string
- func (*Destination) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type Destination_Function
- type Destination_Upstream
- type EventMatcher
- type Function
- type FunctionDestination
- func (*FunctionDestination) Descriptor() ([]byte, []int)
- func (this *FunctionDestination) Equal(that interface{}) bool
- func (m *FunctionDestination) GetFunctionName() string
- func (m *FunctionDestination) GetUpstreamName() string
- func (*FunctionDestination) ProtoMessage()
- func (m *FunctionDestination) Reset()
- func (m *FunctionDestination) String() string
- type FunctionSpec
- type Metadata
- func (*Metadata) Descriptor() ([]byte, []int)
- func (this *Metadata) Equal(that interface{}) bool
- func (m *Metadata) GetAnnotations() map[string]string
- func (m *Metadata) GetNamespace() string
- func (m *Metadata) GetResourceVersion() string
- func (*Metadata) ProtoMessage()
- func (m *Metadata) Reset()
- func (m *Metadata) String() string
- type RequestMatcher
- func (*RequestMatcher) Descriptor() ([]byte, []int)
- func (this *RequestMatcher) Equal(that interface{}) bool
- func (m *RequestMatcher) GetHeaders() map[string]string
- func (m *RequestMatcher) GetPath() isRequestMatcher_Path
- func (m *RequestMatcher) GetPathExact() string
- func (m *RequestMatcher) GetPathPrefix() string
- func (m *RequestMatcher) GetPathRegex() string
- func (m *RequestMatcher) GetQueryParams() map[string]string
- func (m *RequestMatcher) GetVerbs() []string
- func (*RequestMatcher) ProtoMessage()
- func (m *RequestMatcher) Reset()
- func (m *RequestMatcher) String() string
- func (*RequestMatcher) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type RequestMatcher_PathExact
- type RequestMatcher_PathPrefix
- type RequestMatcher_PathRegex
- type Route
- func (*Route) Descriptor() ([]byte, []int)
- func (this *Route) Equal(that interface{}) bool
- func (m *Route) GetEventMatcher() *EventMatcher
- func (m *Route) GetExtensions() *google_protobuf.Struct
- func (m *Route) GetMatcher() isRoute_Matcher
- func (m *Route) GetMultipleDestinations() []*WeightedDestination
- func (m *Route) GetPrefixRewrite() string
- func (m *Route) GetRequestMatcher() *RequestMatcher
- func (m *Route) GetSingleDestination() *Destination
- func (*Route) ProtoMessage()
- func (m *Route) Reset()
- func (m *Route) String() string
- func (*Route) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type Route_EventMatcher
- type Route_RequestMatcher
- type SSLConfig
- type ServiceInfo
- func (*ServiceInfo) Descriptor() ([]byte, []int)
- func (this *ServiceInfo) Equal(that interface{}) bool
- func (m *ServiceInfo) GetProperties() *google_protobuf.Struct
- func (m *ServiceInfo) GetType() string
- func (*ServiceInfo) ProtoMessage()
- func (m *ServiceInfo) Reset()
- func (m *ServiceInfo) String() string
- type Status
- type Status_State
- type Upstream
- func (*Upstream) Descriptor() ([]byte, []int)
- func (this *Upstream) Equal(that interface{}) bool
- func (m *Upstream) GetConnectionTimeout() time.Duration
- func (m *Upstream) GetFunctions() []*Function
- func (m *Upstream) GetMetadata() *Metadata
- func (m *Upstream) GetName() string
- func (m *Upstream) GetServiceInfo() *ServiceInfo
- func (m *Upstream) GetSpec() *google_protobuf.Struct
- func (m *Upstream) GetStatus() *Status
- func (m *Upstream) GetType() string
- func (*Upstream) ProtoMessage()
- func (m *Upstream) Reset()
- func (m *Upstream) String() string
- type UpstreamDestination
- type UpstreamSpec
- type VirtualHost
- func (*VirtualHost) Descriptor() ([]byte, []int)
- func (this *VirtualHost) Equal(that interface{}) bool
- func (m *VirtualHost) GetDomains() []string
- func (m *VirtualHost) GetMetadata() *Metadata
- func (m *VirtualHost) GetName() string
- func (m *VirtualHost) GetRoutes() []*Route
- func (m *VirtualHost) GetSslConfig() *SSLConfig
- func (m *VirtualHost) GetStatus() *Status
- func (*VirtualHost) ProtoMessage()
- func (m *VirtualHost) Reset()
- func (m *VirtualHost) String() string
- type WeightedDestination
Constants ¶
This section is empty.
Variables ¶
var Status_State_name = map[int32]string{
0: "Pending",
1: "Accepted",
2: "Rejected",
}
var Status_State_value = map[string]int32{
"Pending": 0,
"Accepted": 1,
"Rejected": 2,
}
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Upstreams []*Upstream `protobuf:"bytes,1,rep,name=upstreams" json:"upstreams,omitempty"` VirtualHosts []*VirtualHost `protobuf:"bytes,2,rep,name=virtual_hosts,json=virtualHosts" json:"virtual_hosts,omitempty"` }
* Config is a top-level config object. It is used internally by gloo as a container for the entire user config.
func (*Config) Descriptor ¶
func (*Config) GetUpstreams ¶
func (*Config) GetVirtualHosts ¶
func (m *Config) GetVirtualHosts() []*VirtualHost
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
type ConfigObject ¶
type Destination ¶
type Destination struct { // Types that are valid to be assigned to DestinationType: // *Destination_Function // *Destination_Upstream DestinationType isDestination_DestinationType `protobuf_oneof:"destination_type"` }
Destination is a destination that requests can be routed to.
func (*Destination) Descriptor ¶
func (*Destination) Descriptor() ([]byte, []int)
func (*Destination) Equal ¶
func (this *Destination) Equal(that interface{}) bool
func (*Destination) GetDestinationType ¶
func (m *Destination) GetDestinationType() isDestination_DestinationType
func (*Destination) GetFunction ¶
func (m *Destination) GetFunction() *FunctionDestination
func (*Destination) GetUpstream ¶
func (m *Destination) GetUpstream() *UpstreamDestination
func (*Destination) ProtoMessage ¶
func (*Destination) ProtoMessage()
func (*Destination) Reset ¶
func (m *Destination) Reset()
func (*Destination) String ¶
func (m *Destination) String() string
func (*Destination) XXX_OneofFuncs ¶
func (*Destination) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type Destination_Function ¶
type Destination_Function struct {
Function *FunctionDestination `protobuf:"bytes,1,opt,name=function,oneof"`
}
func (*Destination_Function) Equal ¶
func (this *Destination_Function) Equal(that interface{}) bool
type Destination_Upstream ¶
type Destination_Upstream struct {
Upstream *UpstreamDestination `protobuf:"bytes,2,opt,name=upstream,oneof"`
}
func (*Destination_Upstream) Equal ¶
func (this *Destination_Upstream) Equal(that interface{}) bool
type EventMatcher ¶
type EventMatcher struct { // Event Type indicates the event type or topic to match EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` }
Event matcher is a special kind of matcher for CloudEvents The CloudEvents API is described here: https://github.com/cloudevents/spec/blob/master/spec.md
func (*EventMatcher) Descriptor ¶
func (*EventMatcher) Descriptor() ([]byte, []int)
func (*EventMatcher) Equal ¶
func (this *EventMatcher) Equal(that interface{}) bool
func (*EventMatcher) GetEventType ¶
func (m *EventMatcher) GetEventType() string
func (*EventMatcher) ProtoMessage ¶
func (*EventMatcher) ProtoMessage()
func (*EventMatcher) Reset ¶
func (m *EventMatcher) Reset()
func (*EventMatcher) String ¶
func (m *EventMatcher) String() string
type Function ¶
type Function struct { // Name of the function. Functions are referenced by name from routes and therefore must be unique within an upstream Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Spec for the function. Like [upstream specs](TODO), the content of function specs is specified by the [upstream plugin](TODO) for the upstream's type. Spec *google_protobuf.Struct `protobuf:"bytes,4,opt,name=spec" json:"spec,omitempty"` }
func (*Function) Descriptor ¶
func (*Function) GetSpec ¶
func (m *Function) GetSpec() *google_protobuf.Struct
func (*Function) ProtoMessage ¶
func (*Function) ProtoMessage()
type FunctionDestination ¶
type FunctionDestination struct { // Upstream Name is the name of the upstream the function belongs to UpstreamName string `protobuf:"bytes,1,opt,name=upstream_name,json=upstreamName,proto3" json:"upstream_name,omitempty"` // Function Name is the name of the function as defined on the upstream FunctionName string `protobuf:"bytes,2,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` }
FunctionDestination will route a request to a specific function defined for an upstream
func (*FunctionDestination) Descriptor ¶
func (*FunctionDestination) Descriptor() ([]byte, []int)
func (*FunctionDestination) Equal ¶
func (this *FunctionDestination) Equal(that interface{}) bool
func (*FunctionDestination) GetFunctionName ¶
func (m *FunctionDestination) GetFunctionName() string
func (*FunctionDestination) GetUpstreamName ¶
func (m *FunctionDestination) GetUpstreamName() string
func (*FunctionDestination) ProtoMessage ¶
func (*FunctionDestination) ProtoMessage()
func (*FunctionDestination) Reset ¶
func (m *FunctionDestination) Reset()
func (*FunctionDestination) String ¶
func (m *FunctionDestination) String() string
type FunctionSpec ¶
type Metadata ¶
type Metadata struct { // ResourceVersion keeps track of the resource version of a config resource. This mechanism is used by [gloo-storage](https://github.com/solo-io/gloo-storage) to ensure safety with concurrent writes/updates to a resource in storage. ResourceVersion string `protobuf:"bytes,1,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty" testdiff:"ignore"` // Namespace is used for the namespacing of resources. Currently unused by gloo internally. Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // Annotations allow clients to tag resources for special use cases. gloo ignores annotations but preserved them on read/write from/to storage. Annotations map[string]string `` /* 156-byte string literal not displayed */ }
* Metadata contains general properties of config resources useful to clients and the gloo control plane for purposes of versioning, annotating, and namespacing resources.
func (*Metadata) Descriptor ¶
func (*Metadata) GetAnnotations ¶
func (*Metadata) GetNamespace ¶
func (*Metadata) GetResourceVersion ¶
func (*Metadata) ProtoMessage ¶
func (*Metadata) ProtoMessage()
type RequestMatcher ¶
type RequestMatcher struct { // Path specifies the :path header in HTTP2, or the request URL path in HTTP 1 // // Types that are valid to be assigned to Path: // *RequestMatcher_PathPrefix // *RequestMatcher_PathRegex // *RequestMatcher_PathExact Path isRequestMatcher_Path `protobuf_oneof:"path"` // Headers specify a list of request headers and their values the request must contain to match this route // If a value is not specified (empty string) for a header, all values will match so long as the header is present on the request Headers map[string]string `` /* 148-byte string literal not displayed */ // Query params work the same way as headers, but for query string parameters QueryParams map[string]string `` /* 175-byte string literal not displayed */ // HTTP Verb(s) to match on. If none specified, the matcher will match all verbs Verbs []string `protobuf:"bytes,6,rep,name=verbs" json:"verbs,omitempty"` }
Request Matcher is a route matcher for traditional http requests Request Matchers stand in juxtoposition to Event Matchers, which match "events" rather than HTTP Requests
func (*RequestMatcher) Descriptor ¶
func (*RequestMatcher) Descriptor() ([]byte, []int)
func (*RequestMatcher) Equal ¶
func (this *RequestMatcher) Equal(that interface{}) bool
func (*RequestMatcher) GetHeaders ¶
func (m *RequestMatcher) GetHeaders() map[string]string
func (*RequestMatcher) GetPath ¶
func (m *RequestMatcher) GetPath() isRequestMatcher_Path
func (*RequestMatcher) GetPathExact ¶
func (m *RequestMatcher) GetPathExact() string
func (*RequestMatcher) GetPathPrefix ¶
func (m *RequestMatcher) GetPathPrefix() string
func (*RequestMatcher) GetPathRegex ¶
func (m *RequestMatcher) GetPathRegex() string
func (*RequestMatcher) GetQueryParams ¶
func (m *RequestMatcher) GetQueryParams() map[string]string
func (*RequestMatcher) GetVerbs ¶
func (m *RequestMatcher) GetVerbs() []string
func (*RequestMatcher) ProtoMessage ¶
func (*RequestMatcher) ProtoMessage()
func (*RequestMatcher) Reset ¶
func (m *RequestMatcher) Reset()
func (*RequestMatcher) String ¶
func (m *RequestMatcher) String() string
func (*RequestMatcher) XXX_OneofFuncs ¶
func (*RequestMatcher) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type RequestMatcher_PathExact ¶
type RequestMatcher_PathExact struct {
PathExact string `protobuf:"bytes,3,opt,name=path_exact,json=pathExact,proto3,oneof"`
}
func (*RequestMatcher_PathExact) Equal ¶
func (this *RequestMatcher_PathExact) Equal(that interface{}) bool
type RequestMatcher_PathPrefix ¶
type RequestMatcher_PathPrefix struct {
PathPrefix string `protobuf:"bytes,1,opt,name=path_prefix,json=pathPrefix,proto3,oneof"`
}
func (*RequestMatcher_PathPrefix) Equal ¶
func (this *RequestMatcher_PathPrefix) Equal(that interface{}) bool
type RequestMatcher_PathRegex ¶
type RequestMatcher_PathRegex struct {
PathRegex string `protobuf:"bytes,2,opt,name=path_regex,json=pathRegex,proto3,oneof"`
}
func (*RequestMatcher_PathRegex) Equal ¶
func (this *RequestMatcher_PathRegex) Equal(that interface{}) bool
type Route ¶
type Route struct { // Matcher defines what properties of a request to match on. // Routes will route all requests they match. // If a request matches more than one route, the first route on the virtual host's route list will be selected. // // Types that are valid to be assigned to Matcher: // *Route_RequestMatcher // *Route_EventMatcher Matcher isRoute_Matcher `protobuf_oneof:"matcher"` // A route is only allowed to specify one of multiple_destinations or single_destination. Setting both will result in an error // Multiple Destinations is used when a user wants a route to balance requests between multiple destinations // Balancing is done by probability, where weights are specified for each destination MultipleDestinations []*WeightedDestination `protobuf:"bytes,3,rep,name=multiple_destinations,json=multipleDestinations" json:"multiple_destinations,omitempty"` // A single destination is specified when a route only routes to a single destination. SingleDestination *Destination `protobuf:"bytes,4,opt,name=single_destination,json=singleDestination" json:"single_destination,omitempty"` // PrefixRewrite can be specified to rewrite the matched path of the request path to a new prefix PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"` // Extensions provides a way to extend the behavior of a route. In addition to the core route extensions<!--(TODO)-->, // gloo provides the means for route plugins<!--(TODO)--> to be added to gloo which add new types of route extensions. // <!--See the route extensions section for a more detailed explanation--> Extensions *google_protobuf.Struct `protobuf:"bytes,6,opt,name=extensions" json:"extensions,omitempty"` }
* Routes declare the entrypoints on virtual hosts and the upstreams or functions they route requests to
func (*Route) Descriptor ¶
func (*Route) GetEventMatcher ¶
func (m *Route) GetEventMatcher() *EventMatcher
func (*Route) GetExtensions ¶
func (m *Route) GetExtensions() *google_protobuf.Struct
func (*Route) GetMatcher ¶
func (m *Route) GetMatcher() isRoute_Matcher
func (*Route) GetMultipleDestinations ¶
func (m *Route) GetMultipleDestinations() []*WeightedDestination
func (*Route) GetPrefixRewrite ¶
func (*Route) GetRequestMatcher ¶
func (m *Route) GetRequestMatcher() *RequestMatcher
func (*Route) GetSingleDestination ¶
func (m *Route) GetSingleDestination() *Destination
func (*Route) ProtoMessage ¶
func (*Route) ProtoMessage()
type Route_EventMatcher ¶
type Route_EventMatcher struct {
EventMatcher *EventMatcher `protobuf:"bytes,2,opt,name=event_matcher,json=eventMatcher,oneof"`
}
func (*Route_EventMatcher) Equal ¶
func (this *Route_EventMatcher) Equal(that interface{}) bool
type Route_RequestMatcher ¶
type Route_RequestMatcher struct {
RequestMatcher *RequestMatcher `protobuf:"bytes,1,opt,name=request_matcher,json=requestMatcher,oneof"`
}
func (*Route_RequestMatcher) Equal ¶
func (this *Route_RequestMatcher) Equal(that interface{}) bool
type SSLConfig ¶
type SSLConfig struct { // * SecretRef contains the secret ref<!--(TODO)--> to a gloo secret<!--(TODO)--> containing the following structure: // { // "ca_chain": <ca chain data...>, // "private key": <private key data...> // } SecretRef string `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3" json:"secret_ref,omitempty"` }
SSLConfig contains the options necessary to configure a virtualhost to use TLS
func (*SSLConfig) Descriptor ¶
func (*SSLConfig) GetSecretRef ¶
func (*SSLConfig) ProtoMessage ¶
func (*SSLConfig) ProtoMessage()
type ServiceInfo ¶
type ServiceInfo struct { // Type indicates the type of service running on the upstream. // Current options include `REST`, `gRPC`, and `NATS` Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // 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> Properties *google_protobuf.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"` }
func (*ServiceInfo) Descriptor ¶
func (*ServiceInfo) Descriptor() ([]byte, []int)
func (*ServiceInfo) Equal ¶
func (this *ServiceInfo) Equal(that interface{}) bool
func (*ServiceInfo) GetProperties ¶
func (m *ServiceInfo) GetProperties() *google_protobuf.Struct
func (*ServiceInfo) GetType ¶
func (m *ServiceInfo) GetType() string
func (*ServiceInfo) ProtoMessage ¶
func (*ServiceInfo) ProtoMessage()
func (*ServiceInfo) Reset ¶
func (m *ServiceInfo) Reset()
func (*ServiceInfo) String ¶
func (m *ServiceInfo) String() string
type Status ¶
type Status struct { // State is the enum indicating the state of the resource State Status_State `protobuf:"varint,1,opt,name=state,proto3,enum=v1.Status_State" json:"state,omitempty"` // Reason is a description of the error for Rejected resources. If the resource is pending or accepted, this field will be empty Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` }
* Status indicates whether a config resource (currently only [virtualhosts](../introduction/concepts.md) and [upstreams](../introduction/concepts.md)) has been (in)validated by gloo
func (*Status) Descriptor ¶
func (*Status) GetState ¶
func (m *Status) GetState() Status_State
func (*Status) ProtoMessage ¶
func (*Status) ProtoMessage()
type Status_State ¶
type Status_State int32
const ( // Pending status indicates the resource has not yet been validated Status_Pending Status_State = 0 // Accepted indicates the resource has been validated Status_Accepted Status_State = 1 // Rejected indicates an invalid configuration by the user // Rejected resources may be propagated to the xDS server depending on their severity Status_Rejected Status_State = 2 )
func (Status_State) EnumDescriptor ¶
func (Status_State) EnumDescriptor() ([]byte, []int)
func (Status_State) String ¶
func (x Status_State) String() string
type Upstream ¶
type Upstream struct { // 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. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Type indicates the type of the upstream. Examples include service<!--(TODO)-->, kubernetes<!--(TODO)-->, and [aws](../plugins/aws.md) // Types are defined by the plugin<!--(TODO)--> associated with them. Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // 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 ConnectionTimeout time.Duration `protobuf:"bytes,3,opt,name=connection_timeout,json=connectionTimeout,stdduration" json:"connection_timeout"` // 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> Spec *google_protobuf.Struct `protobuf:"bytes,4,opt,name=spec" json:"spec,omitempty"` // Certain upstream types support (and may require) [functions](../introduction/concepts.md#Functions). // Functions allow function-level routing to be done. For example, the [AWS lambda](../plugins/aws.md) upstream type // Permits routing to AWS lambda function]. // [routes](virtualhost.md#Route) on virtualhosts can specify function destinations to route to specific functions. Functions []*Function `protobuf:"bytes,5,rep,name=functions" json:"functions,omitempty"` // Status indicates the validation status of the upstream resource. Status is read-only by clients, and set by gloo during validation Status *Status `protobuf:"bytes,6,opt,name=status" json:"status,omitempty" testdiff:"ignore"` // Metadata contains the resource metadata for the upstream Metadata *Metadata `protobuf:"bytes,7,opt,name=metadata" json:"metadata,omitempty"` // 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 ServiceInfo *ServiceInfo `protobuf:"bytes,8,opt,name=service_info,json=serviceInfo" json:"service_info,omitempty"` }
* Upstream represents a destination for routing. Upstreams can be compared to [clusters](https://www.envoyproxy.io/docs/envoy/latest/api-v1/cluster_manager/cluster.html?highlight=cluster) 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](TODO) for a detailed description of available upstream types.-->
func (*Upstream) Descriptor ¶
func (*Upstream) GetConnectionTimeout ¶
func (*Upstream) GetFunctions ¶
func (*Upstream) GetMetadata ¶
func (*Upstream) GetServiceInfo ¶
func (m *Upstream) GetServiceInfo() *ServiceInfo
func (*Upstream) GetSpec ¶
func (m *Upstream) GetSpec() *google_protobuf.Struct
func (*Upstream) ProtoMessage ¶
func (*Upstream) ProtoMessage()
type UpstreamDestination ¶
type UpstreamDestination struct { // Name of the upstream Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` }
Upstream Destination routes a request to an upstream
func (*UpstreamDestination) Descriptor ¶
func (*UpstreamDestination) Descriptor() ([]byte, []int)
func (*UpstreamDestination) Equal ¶
func (this *UpstreamDestination) Equal(that interface{}) bool
func (*UpstreamDestination) GetName ¶
func (m *UpstreamDestination) GetName() string
func (*UpstreamDestination) ProtoMessage ¶
func (*UpstreamDestination) ProtoMessage()
func (*UpstreamDestination) Reset ¶
func (m *UpstreamDestination) Reset()
func (*UpstreamDestination) String ¶
func (m *UpstreamDestination) String() string
type UpstreamSpec ¶
type VirtualHost ¶
type VirtualHost struct { // Name of the virtual host. 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. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Domains represent the list of domains (host/authority header) that will match for all routes on this virtual host. // As in Envoy: wildcard hosts are supported in the form of “*.foo.com” or “*-bar.foo.com”. // If domains is empty, gloo will set the domain to "*", making that virtual host the "default" virtualhost. // The default virtualhost will be the fallback virtual host for all requests that do not match a domain on an existing virtual host. // Only one default virtual host can be defined (either with an empty domain list, or a domain list that includes "*") Domains []string `protobuf:"bytes,2,rep,name=domains" json:"domains,omitempty"` // Routes define the list of [routes](../) that live on this virtual host. Routes []*Route `protobuf:"bytes,3,rep,name=routes" json:"routes,omitempty"` // SSL Config is optional for the virtual host. If provided, the virtual host will listen on the envoy HTTPS listener port (default :8443) // If left empty, the virtual host will listen on the HTTP listener port (default :8080) SslConfig *SSLConfig `protobuf:"bytes,4,opt,name=ssl_config,json=sslConfig" json:"ssl_config,omitempty"` // Status indicates the validation status of the virtual host resource. Status is read-only by clients, and set by gloo during validation Status *Status `protobuf:"bytes,5,opt,name=status" json:"status,omitempty" testdiff:"ignore"` // Metadata contains the resource metadata for the virtual host Metadata *Metadata `protobuf:"bytes,6,opt,name=metadata" json:"metadata,omitempty"` }
* Virtual Hosts represent a collection of routes for a set of domains. Gloo's Virtual Hosts can be compared to [virtual hosts](https://www.envoyproxy.io/docs/envoy/latest/api-v1/route_config/vhost.html?highlight=virtual%20host) in Envoy terminology. A virtual host can be used to define "apps"; a collection of APIs that belong to a particular domain. The Virtual Host concept allows configuration of per-virtualhost SSL certificates
func (*VirtualHost) Descriptor ¶
func (*VirtualHost) Descriptor() ([]byte, []int)
func (*VirtualHost) Equal ¶
func (this *VirtualHost) Equal(that interface{}) bool
func (*VirtualHost) GetDomains ¶
func (m *VirtualHost) GetDomains() []string
func (*VirtualHost) GetMetadata ¶
func (m *VirtualHost) GetMetadata() *Metadata
func (*VirtualHost) GetName ¶
func (m *VirtualHost) GetName() string
func (*VirtualHost) GetRoutes ¶
func (m *VirtualHost) GetRoutes() []*Route
func (*VirtualHost) GetSslConfig ¶
func (m *VirtualHost) GetSslConfig() *SSLConfig
func (*VirtualHost) GetStatus ¶
func (m *VirtualHost) GetStatus() *Status
func (*VirtualHost) ProtoMessage ¶
func (*VirtualHost) ProtoMessage()
func (*VirtualHost) Reset ¶
func (m *VirtualHost) Reset()
func (*VirtualHost) String ¶
func (m *VirtualHost) String() string
type WeightedDestination ¶
type WeightedDestination struct { *Destination `protobuf:"bytes,1,opt,name=destination,embedded=destination" json:"destination,omitempty"` // Weight must be greater than zero // Routing to each destination will be balanced by the ratio of the destination's weight to the total weight on a route Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` }
WeightedDestination attaches a weight to a destination For use in routes with multiple destinations
func (*WeightedDestination) Descriptor ¶
func (*WeightedDestination) Descriptor() ([]byte, []int)
func (*WeightedDestination) Equal ¶
func (this *WeightedDestination) Equal(that interface{}) bool
func (*WeightedDestination) GetWeight ¶
func (m *WeightedDestination) GetWeight() uint32
func (*WeightedDestination) ProtoMessage ¶
func (*WeightedDestination) ProtoMessage()
func (*WeightedDestination) Reset ¶
func (m *WeightedDestination) Reset()
func (*WeightedDestination) String ¶
func (m *WeightedDestination) String() string