connect

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2018 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package connect is a generated protocol buffer package.

It is generated from these files:

consul_connect.proto

It has these top-level messages:

ConsulConnect

Package connect is a generated protocol buffer package.

It is generated from these files:

listener_config.proto

It has these top-level messages:

ListenerConfig
InboundListenerConfig
AuthConfig
OutboundListenerConfig

Index

Constants

View Source
const (
	PluginName = "connect.gloo.solo.io"
)

this is the key the plugin will search for in the listener config

Variables

This section is empty.

Functions

func EncodeListenerConfig

func EncodeListenerConfig(config *ListenerConfig) *types.Struct

func FindUpstreamForService

func FindUpstreamForService(upstreams []*v1.Upstream, serviceName string) (*v1.Upstream, error)

TODO (ilackarms): support tags, structured queries, etc. TODO (ilackarms): revert to private when we break the translator dependency

func SetListenerConfig

func SetListenerConfig(listener *v1.Listener, config *ListenerConfig)

Types

type AuthConfig

type AuthConfig struct {
	// The name of the service who owns this proxy
	// Target must be delivered by the filter as part of the authorize request payload
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// the hostname of the authorization REST service
	AuthorizeHostname string `protobuf:"bytes,2,opt,name=authorize_hostname,json=authorizeHostname,proto3" json:"authorize_hostname,omitempty"`
	// the port of the authorization REST service
	AuthorizePort uint32 `protobuf:"varint,3,opt,name=authorize_port,json=authorizePort,proto3" json:"authorize_port,omitempty"`
	// the request path for the authorization REST service
	// NOTE: currently ignored by the plugin and filter
	AuthorizePath string `protobuf:"bytes,4,opt,name=authorize_path,json=authorizePath,proto3" json:"authorize_path,omitempty"`
	// Connection Timeout tells the filter to set a timeout for unresponsive connections created to this upstream.
	// If not provided by the user, it will set to a default value
	RequestTimeout *time.Duration `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,stdduration" json:"request_timeout,omitempty"`
}

AuthConfig contains information necessary to communicate with the Authentication Server (Consul Agent)

func (*AuthConfig) Descriptor

func (*AuthConfig) Descriptor() ([]byte, []int)

func (*AuthConfig) Equal

func (this *AuthConfig) Equal(that interface{}) bool

func (*AuthConfig) GetAuthorizeHostname

func (m *AuthConfig) GetAuthorizeHostname() string

func (*AuthConfig) GetAuthorizePath

func (m *AuthConfig) GetAuthorizePath() string

func (*AuthConfig) GetAuthorizePort

func (m *AuthConfig) GetAuthorizePort() uint32

func (*AuthConfig) GetRequestTimeout

func (m *AuthConfig) GetRequestTimeout() *time.Duration

func (*AuthConfig) GetTarget

func (m *AuthConfig) GetTarget() string

func (*AuthConfig) ProtoMessage

func (*AuthConfig) ProtoMessage()

func (*AuthConfig) Reset

func (m *AuthConfig) Reset()

func (*AuthConfig) String

func (m *AuthConfig) String() string

type ConsulConnect

type ConsulConnect struct {
	// The name of the service who owns this proxy
	// Target must be delivered by the filter as part of the authorize request payload
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// the hostname of the authorization REST service
	AuthorizeHostname string `protobuf:"bytes,2,opt,name=authorize_hostname,json=authorizeHostname,proto3" json:"authorize_hostname,omitempty"`
	// the name of the Envoy Cluster representing the authorization REST service
	AuthorizeClusterName string `protobuf:"bytes,3,opt,name=authorize_cluster_name,json=authorizeClusterName,proto3" json:"authorize_cluster_name,omitempty"`
	// Connection Timeout tells the filter to set a timeout for unresponsive connections created to this upstream.
	// If not provided by the user, it will set to a default value
	RequestTimeout *time.Duration `protobuf:"bytes,4,opt,name=request_timeout,json=requestTimeout,stdduration" json:"request_timeout,omitempty"`
}

ConsulConnect contains the configuration necessary to perform client certificate-based authorization using a REST call to the Authorize endpoint of Consul Connect.

func (*ConsulConnect) Descriptor

func (*ConsulConnect) Descriptor() ([]byte, []int)

func (*ConsulConnect) GetAuthorizeClusterName

func (m *ConsulConnect) GetAuthorizeClusterName() string

func (*ConsulConnect) GetAuthorizeHostname

func (m *ConsulConnect) GetAuthorizeHostname() string

func (*ConsulConnect) GetRequestTimeout

func (m *ConsulConnect) GetRequestTimeout() *time.Duration

func (*ConsulConnect) GetTarget

func (m *ConsulConnect) GetTarget() string

func (*ConsulConnect) ProtoMessage

func (*ConsulConnect) ProtoMessage()

func (*ConsulConnect) Reset

func (m *ConsulConnect) Reset()

func (*ConsulConnect) String

func (m *ConsulConnect) String() string

type InboundListenerConfig

type InboundListenerConfig struct {
	// configuration for tls-based auth filter
	AuthConfig *AuthConfig `protobuf:"bytes,1,opt,name=auth_config,json=authConfig" json:"auth_config,omitempty"`
	// the address of the local upstream being proxied
	// the service being proxied must be reachable by Envoy
	LocalServiceAddress string `protobuf:"bytes,2,opt,name=local_service_address,json=localServiceAddress,proto3" json:"local_service_address,omitempty"`
	// the name of the local consul service being proxied
	LocalServiceName string `protobuf:"bytes,3,opt,name=local_service_name,json=localServiceName,proto3" json:"local_service_name,omitempty"`
}

configuration for the inbound listener this listener does authentication and connects clients to the local service

func (*InboundListenerConfig) Descriptor

func (*InboundListenerConfig) Descriptor() ([]byte, []int)

func (*InboundListenerConfig) Equal

func (this *InboundListenerConfig) Equal(that interface{}) bool

func (*InboundListenerConfig) GetAuthConfig

func (m *InboundListenerConfig) GetAuthConfig() *AuthConfig

func (*InboundListenerConfig) GetLocalServiceAddress

func (m *InboundListenerConfig) GetLocalServiceAddress() string

func (*InboundListenerConfig) GetLocalServiceName

func (m *InboundListenerConfig) GetLocalServiceName() string

func (*InboundListenerConfig) ProtoMessage

func (*InboundListenerConfig) ProtoMessage()

func (*InboundListenerConfig) Reset

func (m *InboundListenerConfig) Reset()

func (*InboundListenerConfig) String

func (m *InboundListenerConfig) String() string

type ListenerConfig

type ListenerConfig struct {
	// Types that are valid to be assigned to Config:
	//	*ListenerConfig_Inbound
	//	*ListenerConfig_Outbound
	Config isListenerConfig_Config `protobuf_oneof:"config"`
}

the listenerConfig must be either an InboundListener or an OutboundListener

func DecodeListenerConfig

func DecodeListenerConfig(config *types.Struct) (*ListenerConfig, error)

func (*ListenerConfig) Descriptor

func (*ListenerConfig) Descriptor() ([]byte, []int)

func (*ListenerConfig) Equal

func (this *ListenerConfig) Equal(that interface{}) bool

func (*ListenerConfig) GetConfig

func (m *ListenerConfig) GetConfig() isListenerConfig_Config

func (*ListenerConfig) GetInbound

func (m *ListenerConfig) GetInbound() *InboundListenerConfig

func (*ListenerConfig) GetOutbound

func (m *ListenerConfig) GetOutbound() *OutboundListenerConfig

func (*ListenerConfig) ProtoMessage

func (*ListenerConfig) ProtoMessage()

func (*ListenerConfig) Reset

func (m *ListenerConfig) Reset()

func (*ListenerConfig) String

func (m *ListenerConfig) String() string

func (*ListenerConfig) XXX_OneofFuncs

func (*ListenerConfig) 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 ListenerConfig_Inbound

type ListenerConfig_Inbound struct {
	Inbound *InboundListenerConfig `protobuf:"bytes,1,opt,name=inbound,oneof"`
}

func (*ListenerConfig_Inbound) Equal

func (this *ListenerConfig_Inbound) Equal(that interface{}) bool

type ListenerConfig_Outbound

type ListenerConfig_Outbound struct {
	Outbound *OutboundListenerConfig `protobuf:"bytes,2,opt,name=outbound,oneof"`
}

func (*ListenerConfig_Outbound) Equal

func (this *ListenerConfig_Outbound) Equal(that interface{}) bool

type OutboundListenerConfig

type OutboundListenerConfig struct {
	// The name of the consul service which is the destination for the listener
	DestinationConsulService string `` /* 135-byte string literal not displayed */
	// TODO (ilackarms): support destination type in Consul Connect API
	DestinationConsulType string `` /* 126-byte string literal not displayed */
}

The configuration for the outbound listeners which serve as "tcp routes"

func (*OutboundListenerConfig) Descriptor

func (*OutboundListenerConfig) Descriptor() ([]byte, []int)

func (*OutboundListenerConfig) Equal

func (this *OutboundListenerConfig) Equal(that interface{}) bool

func (*OutboundListenerConfig) GetDestinationConsulService

func (m *OutboundListenerConfig) GetDestinationConsulService() string

func (*OutboundListenerConfig) GetDestinationConsulType

func (m *OutboundListenerConfig) GetDestinationConsulType() string

func (*OutboundListenerConfig) ProtoMessage

func (*OutboundListenerConfig) ProtoMessage()

func (*OutboundListenerConfig) Reset

func (m *OutboundListenerConfig) Reset()

func (*OutboundListenerConfig) String

func (m *OutboundListenerConfig) String() string

type Plugin

type Plugin struct {
	// contains filtered or unexported fields
}

func (*Plugin) GeneratedClusters

func (p *Plugin) GeneratedClusters(_ *plugins.ClusterGeneratorPluginParams) ([]*envoyapi.Cluster, error)

func (*Plugin) GetDependencies

func (p *Plugin) GetDependencies(_ *v1.Config) *plugins.Dependencies

func (*Plugin) ListenerFilters

func (p *Plugin) ListenerFilters(params *plugins.ListenerFilterPluginParams, in *v1.Listener) ([]plugins.StagedListenerFilter, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL