v1

package
v0.0.0-...-5a6645a Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2019 License: Apache-2.0 Imports: 65 Imported by: 0

Documentation

Index

Constants

View Source
const UpstreamListErrorTag = "list did not find upstream"

This should be added to solo-kit (an issue has been opened)

Variables

View Source
var (
	ArtifactCrd = crd.NewCrd(
		"artifacts",
		ArtifactGVK.Group,
		ArtifactGVK.Version,
		ArtifactGVK.Kind,
		"art",
		false,
		&Artifact{})
)
View Source
var (
	ArtifactGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Artifact",
	}
)
View Source
var (
	EndpointCrd = crd.NewCrd(
		"endpoints",
		EndpointGVK.Group,
		EndpointGVK.Version,
		EndpointGVK.Kind,
		"ep",
		false,
		&Endpoint{})
)
View Source
var (
	EndpointGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Endpoint",
	}
)
View Source
var (
	ProxyCrd = crd.NewCrd(
		"proxies",
		ProxyGVK.Group,
		ProxyGVK.Version,
		ProxyGVK.Kind,
		"px",
		false,
		&Proxy{})
)
View Source
var (
	ProxyGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Proxy",
	}
)
View Source
var RedirectAction_RedirectResponseCode_name = map[int32]string{
	0: "MOVED_PERMANENTLY",
	1: "FOUND",
	2: "SEE_OTHER",
	3: "TEMPORARY_REDIRECT",
	4: "PERMANENT_REDIRECT",
}
View Source
var RedirectAction_RedirectResponseCode_value = map[string]int32{
	"MOVED_PERMANENTLY":  0,
	"FOUND":              1,
	"SEE_OTHER":          2,
	"TEMPORARY_REDIRECT": 3,
	"PERMANENT_REDIRECT": 4,
}
View Source
var (
	SecretCrd = crd.NewCrd(
		"secrets",
		SecretGVK.Group,
		SecretGVK.Version,
		SecretGVK.Kind,
		"sec",
		false,
		&Secret{})
)
View Source
var (
	SecretGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Secret",
	}
)
View Source
var (
	SettingsCrd = crd.NewCrd(
		"settings",
		SettingsGVK.Group,
		SettingsGVK.Version,
		SettingsGVK.Kind,
		"st",
		false,
		&Settings{})
)
View Source
var (
	SettingsGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Settings",
	}
)
View Source
var Settings_DiscoveryOptions_FdsMode_name = map[int32]string{
	0: "BLACKLIST",
	1: "WHITELIST",
	2: "DISABLED",
}
View Source
var Settings_DiscoveryOptions_FdsMode_value = map[string]int32{
	"BLACKLIST": 0,
	"WHITELIST": 1,
	"DISABLED":  2,
}
View Source
var SslParameters_ProtocolVersion_name = map[int32]string{
	0: "TLS_AUTO",
	1: "TLSv1_0",
	2: "TLSv1_1",
	3: "TLSv1_2",
	4: "TLSv1_3",
}
View Source
var SslParameters_ProtocolVersion_value = map[string]int32{
	"TLS_AUTO": 0,
	"TLSv1_0":  1,
	"TLSv1_1":  2,
	"TLSv1_2":  3,
	"TLSv1_3":  4,
}
View Source
var (
	UpstreamCrd = crd.NewCrd(
		"upstreams",
		UpstreamGVK.Group,
		UpstreamGVK.Version,
		UpstreamGVK.Kind,
		"us",
		false,
		&Upstream{})
)
View Source
var (
	UpstreamGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Upstream",
	}
)
View Source
var (
	UpstreamGroupCrd = crd.NewCrd(
		"upstreamgroups",
		UpstreamGroupGVK.Group,
		UpstreamGroupGVK.Version,
		UpstreamGroupGVK.Kind,
		"ug",
		false,
		&UpstreamGroup{})
)
View Source
var (
	UpstreamGroupGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "UpstreamGroup",
	}
)

Functions

func NewApiEventLoop

func NewApiEventLoop(emitter ApiSnapshotEmitter, syncer ApiSyncer) eventloop.EventLoop

func NewApiSimpleEventLoop

func NewApiSimpleEventLoop(emitter ApiSimpleEmitter, syncers ...ApiSyncer) eventloop.SimpleEventLoop

func NewDiscoveryEventLoop

func NewDiscoveryEventLoop(emitter DiscoverySnapshotEmitter, syncer DiscoverySyncer) eventloop.EventLoop

func NewDiscoverySimpleEventLoop

func NewDiscoverySimpleEventLoop(emitter DiscoverySimpleEmitter, syncers ...DiscoverySyncer) eventloop.SimpleEventLoop

func NewEdsEventLoop

func NewEdsEventLoop(emitter EdsSnapshotEmitter, syncer EdsSyncer) eventloop.EventLoop

func NewEdsSimpleEventLoop

func NewEdsSimpleEventLoop(emitter EdsSimpleEmitter, syncers ...EdsSyncer) eventloop.SimpleEventLoop

func NewSetupEventLoop

func NewSetupEventLoop(emitter SetupSnapshotEmitter, syncer SetupSyncer) eventloop.EventLoop

func NewSetupSimpleEventLoop

func NewSetupSimpleEventLoop(emitter SetupSimpleEmitter, syncers ...SetupSyncer) eventloop.SimpleEventLoop

Types

type ApiEmitter

type ApiEmitter interface {
	ApiSnapshotEmitter
	Register() error
	Artifact() ArtifactClient
	Endpoint() EndpointClient
	Proxy() ProxyClient
	UpstreamGroup() UpstreamGroupClient
	Secret() SecretClient
	Upstream() UpstreamClient
	AuthConfig() enterprise_gloo_solo_io.AuthConfigClient
}

func NewApiEmitter

func NewApiEmitter(artifactClient ArtifactClient, endpointClient EndpointClient, proxyClient ProxyClient, upstreamGroupClient UpstreamGroupClient, secretClient SecretClient, upstreamClient UpstreamClient, authConfigClient enterprise_gloo_solo_io.AuthConfigClient) ApiEmitter

func NewApiEmitterWithEmit

func NewApiEmitterWithEmit(artifactClient ArtifactClient, endpointClient EndpointClient, proxyClient ProxyClient, upstreamGroupClient UpstreamGroupClient, secretClient SecretClient, upstreamClient UpstreamClient, authConfigClient enterprise_gloo_solo_io.AuthConfigClient, emit <-chan struct{}) ApiEmitter

type ApiSimpleEmitter

type ApiSimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *ApiSnapshot, <-chan error, error)
}

func NewApiSimpleEmitter

func NewApiSimpleEmitter(aggregatedWatch clients.ResourceWatch) ApiSimpleEmitter

func NewApiSimpleEmitterWithEmit

func NewApiSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) ApiSimpleEmitter

type ApiSnapshot

type ApiSnapshot struct {
	Artifacts      ArtifactList
	Endpoints      EndpointList
	Proxies        ProxyList
	UpstreamGroups UpstreamGroupList
	Secrets        SecretList
	Upstreams      UpstreamList
	AuthConfigs    enterprise_gloo_solo_io.AuthConfigList
}

func (ApiSnapshot) Clone

func (s ApiSnapshot) Clone() ApiSnapshot

func (ApiSnapshot) Hash

func (s ApiSnapshot) Hash() uint64

func (ApiSnapshot) HashFields

func (s ApiSnapshot) HashFields() []zap.Field

func (ApiSnapshot) Stringer

func (s ApiSnapshot) Stringer() ApiSnapshotStringer

type ApiSnapshotEmitter

type ApiSnapshotEmitter interface {
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *ApiSnapshot, <-chan error, error)
}

type ApiSnapshotStringer

type ApiSnapshotStringer struct {
	Version        uint64
	Artifacts      []string
	Endpoints      []string
	Proxies        []string
	UpstreamGroups []string
	Secrets        []string
	Upstreams      []string
	AuthConfigs    []string
}

func (ApiSnapshotStringer) String

func (ss ApiSnapshotStringer) String() string

type ApiSyncDecider deprecated

type ApiSyncDecider interface {
	ApiSyncer
	ShouldSync(old, new *ApiSnapshot) bool
}

Deprecated: use ApiSyncDeciderWithContext

type ApiSyncDeciderWithContext

type ApiSyncDeciderWithContext interface {
	ApiSyncer
	ShouldSync(ctx context.Context, old, new *ApiSnapshot) bool
}

type ApiSyncer

type ApiSyncer interface {
	Sync(context.Context, *ApiSnapshot) error
}

type ApiSyncers

type ApiSyncers []ApiSyncer

func (ApiSyncers) Sync

func (s ApiSyncers) Sync(ctx context.Context, snapshot *ApiSnapshot) error

type Artifact

type Artifact struct {
	// Raw data data being stored
	Data map[string]string `` /* 149-byte string literal not displayed */
	// Metadata contains the object metadata for this resource
	Metadata             core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

@solo-kit:resource.short_name=art @solo-kit:resource.plural_name=artifacts

Gloo Artifacts are used by Gloo to store small bits of binary or file data.

Certain plugins such as the gRPC plugin read and write artifacts to one of Gloo's configured storage layer.

Artifacts can be backed by files on disk, Kubernetes ConfigMaps, and Consul Key/Value pairs.

Supported artifact backends can be selected in Gloo's boostrap options.

func NewArtifact

func NewArtifact(namespace, name string) *Artifact

func (*Artifact) DeepCopyInto

func (o *Artifact) DeepCopyInto(out *Artifact)

func (*Artifact) DeepCopyObject

func (o *Artifact) DeepCopyObject() runtime.Object

func (*Artifact) Descriptor

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

func (*Artifact) Equal

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

func (*Artifact) GetData

func (m *Artifact) GetData() map[string]string

func (*Artifact) GetMetadata

func (m *Artifact) GetMetadata() core.Metadata

func (*Artifact) GetObjectKind

func (o *Artifact) GetObjectKind() schema.ObjectKind

func (*Artifact) GroupVersionKind

func (r *Artifact) GroupVersionKind() schema.GroupVersionKind

func (*Artifact) Hash

func (r *Artifact) Hash() uint64

func (*Artifact) ProtoMessage

func (*Artifact) ProtoMessage()

func (*Artifact) Reset

func (m *Artifact) Reset()

func (*Artifact) SetMetadata

func (r *Artifact) SetMetadata(meta core.Metadata)

func (*Artifact) String

func (m *Artifact) String() string

func (*Artifact) XXX_DiscardUnknown

func (m *Artifact) XXX_DiscardUnknown()

func (*Artifact) XXX_Marshal

func (m *Artifact) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Artifact) XXX_Merge

func (m *Artifact) XXX_Merge(src proto.Message)

func (*Artifact) XXX_Size

func (m *Artifact) XXX_Size() int

func (*Artifact) XXX_Unmarshal

func (m *Artifact) XXX_Unmarshal(b []byte) error

type ArtifactClient

type ArtifactClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Artifact, error)
	Write(resource *Artifact, opts clients.WriteOpts) (*Artifact, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (ArtifactList, error)
	ArtifactWatcher
}

func NewArtifactClient

func NewArtifactClient(rcFactory factory.ResourceClientFactory) (ArtifactClient, error)

func NewArtifactClientWithBase

func NewArtifactClientWithBase(rc clients.ResourceClient) ArtifactClient

func NewArtifactClientWithToken

func NewArtifactClientWithToken(rcFactory factory.ResourceClientFactory, token string) (ArtifactClient, error)

type ArtifactList

type ArtifactList []*Artifact

func (ArtifactList) AsInterfaces

func (list ArtifactList) AsInterfaces() []interface{}

func (ArtifactList) AsResources

func (list ArtifactList) AsResources() resources.ResourceList

func (ArtifactList) Clone

func (list ArtifactList) Clone() ArtifactList

func (ArtifactList) Each

func (list ArtifactList) Each(f func(element *Artifact))

func (ArtifactList) EachResource

func (list ArtifactList) EachResource(f func(element resources.Resource))

func (ArtifactList) Find

func (list ArtifactList) Find(namespace, name string) (*Artifact, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (ArtifactList) Names

func (list ArtifactList) Names() []string

func (ArtifactList) NamespacesDotNames

func (list ArtifactList) NamespacesDotNames() []string

func (ArtifactList) Sort

func (list ArtifactList) Sort() ArtifactList

type ArtifactReconciler

type ArtifactReconciler interface {
	Reconcile(namespace string, desiredResources ArtifactList, transition TransitionArtifactFunc, opts clients.ListOpts) error
}

func NewArtifactReconciler

func NewArtifactReconciler(client ArtifactClient) ArtifactReconciler

type ArtifactWatcher

type ArtifactWatcher interface {
	// watch namespace-scoped Artifacts
	Watch(namespace string, opts clients.WatchOpts) (<-chan ArtifactList, <-chan error, error)
}

type AwsSecret

type AwsSecret struct {
	// provided by `glooctl create secret aws`
	AccessKey string `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	// provided by `glooctl create secret aws`
	SecretKey            string   `protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

There are two ways of providing AWS secrets:

- Method 1: `glooctl create secret aws`

```

glooctl create secret aws --name aws-secret-from-glooctl \
    --namespace default \
    --access-key $ACC \
    --secret-key $SEC

```

will produce a Kubernetes resource similar to this (note the `aws` field and `resource_kind` annotation):

``` apiVersion: v1 data:

aws: base64EncodedStringForMachineConsumption

kind: Secret metadata:

annotations:
  resource_kind: '*v1.Secret'
creationTimestamp: "2019-08-23T15:10:20Z"
name: aws-secret-from-glooctl
namespace: default
resourceVersion: "592637"
selfLink: /api/v1/namespaces/default/secrets/secret-e2e
uid: 1f8c147f-c5b8-11e9-bbf3-42010a8001bc

type: Opaque ```

- Method 2: `kubectl apply -f resource-file.yaml`

```yaml # a sample aws secret resource-file.yaml apiVersion: v1 data:

aws_access_key_id: some-id
aws_secret_access_key: some-secret

kind: Secret metadata:

name: aws-secret-abcd
namespace: default

```

func (*AwsSecret) Descriptor

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

func (*AwsSecret) Equal

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

func (*AwsSecret) GetAccessKey

func (m *AwsSecret) GetAccessKey() string

func (*AwsSecret) GetSecretKey

func (m *AwsSecret) GetSecretKey() string

func (*AwsSecret) ProtoMessage

func (*AwsSecret) ProtoMessage()

func (*AwsSecret) Reset

func (m *AwsSecret) Reset()

func (*AwsSecret) String

func (m *AwsSecret) String() string

func (*AwsSecret) XXX_DiscardUnknown

func (m *AwsSecret) XXX_DiscardUnknown()

func (*AwsSecret) XXX_Marshal

func (m *AwsSecret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AwsSecret) XXX_Merge

func (m *AwsSecret) XXX_Merge(src proto.Message)

func (*AwsSecret) XXX_Size

func (m *AwsSecret) XXX_Size() int

func (*AwsSecret) XXX_Unmarshal

func (m *AwsSecret) XXX_Unmarshal(b []byte) error

type AzureSecret

type AzureSecret struct {
	// provided by `glooctl create secret azure`
	ApiKeys              map[string]string `` /* 170-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*AzureSecret) Descriptor

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

func (*AzureSecret) Equal

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

func (*AzureSecret) GetApiKeys

func (m *AzureSecret) GetApiKeys() map[string]string

func (*AzureSecret) ProtoMessage

func (*AzureSecret) ProtoMessage()

func (*AzureSecret) Reset

func (m *AzureSecret) Reset()

func (*AzureSecret) String

func (m *AzureSecret) String() string

func (*AzureSecret) XXX_DiscardUnknown

func (m *AzureSecret) XXX_DiscardUnknown()

func (*AzureSecret) XXX_Marshal

func (m *AzureSecret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AzureSecret) XXX_Merge

func (m *AzureSecret) XXX_Merge(src proto.Message)

func (*AzureSecret) XXX_Size

func (m *AzureSecret) XXX_Size() int

func (*AzureSecret) XXX_Unmarshal

func (m *AzureSecret) XXX_Unmarshal(b []byte) error

type CallCredentials

type CallCredentials struct {
	// Call credentials are coming from a file,
	FileCredentialSource *CallCredentials_FileCredentialSource `protobuf:"bytes,1,opt,name=file_credential_source,json=fileCredentialSource,proto3" json:"file_credential_source,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
	XXX_unrecognized     []byte                                `json:"-"`
	XXX_sizecache        int32                                 `json:"-"`
}

func (*CallCredentials) Descriptor

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

func (*CallCredentials) Equal

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

func (*CallCredentials) GetFileCredentialSource

func (m *CallCredentials) GetFileCredentialSource() *CallCredentials_FileCredentialSource

func (*CallCredentials) ProtoMessage

func (*CallCredentials) ProtoMessage()

func (*CallCredentials) Reset

func (m *CallCredentials) Reset()

func (*CallCredentials) String

func (m *CallCredentials) String() string

func (*CallCredentials) XXX_DiscardUnknown

func (m *CallCredentials) XXX_DiscardUnknown()

func (*CallCredentials) XXX_Marshal

func (m *CallCredentials) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CallCredentials) XXX_Merge

func (m *CallCredentials) XXX_Merge(src proto.Message)

func (*CallCredentials) XXX_Size

func (m *CallCredentials) XXX_Size() int

func (*CallCredentials) XXX_Unmarshal

func (m *CallCredentials) XXX_Unmarshal(b []byte) error

type CallCredentials_FileCredentialSource

type CallCredentials_FileCredentialSource struct {
	// File containing auth token.
	TokenFileName string `protobuf:"bytes,1,opt,name=token_file_name,json=tokenFileName,proto3" json:"token_file_name,omitempty"`
	// Header to carry the token.
	Header               string   `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*CallCredentials_FileCredentialSource) Descriptor

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

func (*CallCredentials_FileCredentialSource) Equal

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

func (*CallCredentials_FileCredentialSource) GetHeader

func (*CallCredentials_FileCredentialSource) GetTokenFileName

func (m *CallCredentials_FileCredentialSource) GetTokenFileName() string

func (*CallCredentials_FileCredentialSource) ProtoMessage

func (*CallCredentials_FileCredentialSource) ProtoMessage()

func (*CallCredentials_FileCredentialSource) Reset

func (*CallCredentials_FileCredentialSource) String

func (*CallCredentials_FileCredentialSource) XXX_DiscardUnknown

func (m *CallCredentials_FileCredentialSource) XXX_DiscardUnknown()

func (*CallCredentials_FileCredentialSource) XXX_Marshal

func (m *CallCredentials_FileCredentialSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CallCredentials_FileCredentialSource) XXX_Merge

func (*CallCredentials_FileCredentialSource) XXX_Size

func (*CallCredentials_FileCredentialSource) XXX_Unmarshal

func (m *CallCredentials_FileCredentialSource) XXX_Unmarshal(b []byte) error

type CircuitBreakerConfig

type CircuitBreakerConfig struct {
	MaxConnections       *types.UInt32Value `protobuf:"bytes,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
	MaxPendingRequests   *types.UInt32Value `protobuf:"bytes,2,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"`
	MaxRequests          *types.UInt32Value `protobuf:"bytes,3,opt,name=max_requests,json=maxRequests,proto3" json:"max_requests,omitempty"`
	MaxRetries           *types.UInt32Value `protobuf:"bytes,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

SslConfig contains the options necessary to configure a virtual host or listener to use TLS See the [envoy docs](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) for the meaning of these values.

func (*CircuitBreakerConfig) Descriptor

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

func (*CircuitBreakerConfig) Equal

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

func (*CircuitBreakerConfig) GetMaxConnections

func (m *CircuitBreakerConfig) GetMaxConnections() *types.UInt32Value

func (*CircuitBreakerConfig) GetMaxPendingRequests

func (m *CircuitBreakerConfig) GetMaxPendingRequests() *types.UInt32Value

func (*CircuitBreakerConfig) GetMaxRequests

func (m *CircuitBreakerConfig) GetMaxRequests() *types.UInt32Value

func (*CircuitBreakerConfig) GetMaxRetries

func (m *CircuitBreakerConfig) GetMaxRetries() *types.UInt32Value

func (*CircuitBreakerConfig) ProtoMessage

func (*CircuitBreakerConfig) ProtoMessage()

func (*CircuitBreakerConfig) Reset

func (m *CircuitBreakerConfig) Reset()

func (*CircuitBreakerConfig) String

func (m *CircuitBreakerConfig) String() string

func (*CircuitBreakerConfig) XXX_DiscardUnknown

func (m *CircuitBreakerConfig) XXX_DiscardUnknown()

func (*CircuitBreakerConfig) XXX_Marshal

func (m *CircuitBreakerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CircuitBreakerConfig) XXX_Merge

func (m *CircuitBreakerConfig) XXX_Merge(src proto.Message)

func (*CircuitBreakerConfig) XXX_Size

func (m *CircuitBreakerConfig) XXX_Size() int

func (*CircuitBreakerConfig) XXX_Unmarshal

func (m *CircuitBreakerConfig) XXX_Unmarshal(b []byte) error

type ConnectionConfig

type ConnectionConfig struct {
	// Maximum requests for a single upstream connection (unspecified or zero = no limit)
	MaxRequestsPerConnection uint32 `` /* 138-byte string literal not displayed */
	// The timeout for new network connections to hosts in the cluster
	ConnectTimeout *time.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3,stdduration" json:"connect_timeout,omitempty"`
	// Configure OS-level tcp keepalive checks
	TcpKeepalive         *ConnectionConfig_TcpKeepAlive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

Fine tune the settings for connections to an upstream

func (*ConnectionConfig) Descriptor

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

func (*ConnectionConfig) Equal

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

func (*ConnectionConfig) GetConnectTimeout

func (m *ConnectionConfig) GetConnectTimeout() *time.Duration

func (*ConnectionConfig) GetMaxRequestsPerConnection

func (m *ConnectionConfig) GetMaxRequestsPerConnection() uint32

func (*ConnectionConfig) GetTcpKeepalive

func (m *ConnectionConfig) GetTcpKeepalive() *ConnectionConfig_TcpKeepAlive

func (*ConnectionConfig) ProtoMessage

func (*ConnectionConfig) ProtoMessage()

func (*ConnectionConfig) Reset

func (m *ConnectionConfig) Reset()

func (*ConnectionConfig) String

func (m *ConnectionConfig) String() string

func (*ConnectionConfig) XXX_DiscardUnknown

func (m *ConnectionConfig) XXX_DiscardUnknown()

func (*ConnectionConfig) XXX_Marshal

func (m *ConnectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionConfig) XXX_Merge

func (m *ConnectionConfig) XXX_Merge(src proto.Message)

func (*ConnectionConfig) XXX_Size

func (m *ConnectionConfig) XXX_Size() int

func (*ConnectionConfig) XXX_Unmarshal

func (m *ConnectionConfig) XXX_Unmarshal(b []byte) error

type ConnectionConfig_TcpKeepAlive

type ConnectionConfig_TcpKeepAlive struct {
	// Maximum number of keepalive probes to send without response before deciding the connection is dead.
	KeepaliveProbes uint32 `protobuf:"varint,1,opt,name=keepalive_probes,json=keepaliveProbes,proto3" json:"keepalive_probes,omitempty"`
	// The number of seconds a connection needs to be idle before keep-alive probes start being sent. This is rounded up to the second.
	KeepaliveTime *time.Duration `protobuf:"bytes,2,opt,name=keepalive_time,json=keepaliveTime,proto3,stdduration" json:"keepalive_time,omitempty"`
	// The number of seconds between keep-alive probes. This is rounded up to the second.
	KeepaliveInterval    *time.Duration `protobuf:"bytes,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3,stdduration" json:"keepalive_interval,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives. see more info here: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/core/address.proto#envoy-api-msg-core-tcpkeepalive

func (*ConnectionConfig_TcpKeepAlive) Descriptor

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

func (*ConnectionConfig_TcpKeepAlive) Equal

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

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveInterval

func (m *ConnectionConfig_TcpKeepAlive) GetKeepaliveInterval() *time.Duration

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes

func (m *ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes() uint32

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveTime

func (m *ConnectionConfig_TcpKeepAlive) GetKeepaliveTime() *time.Duration

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage()

func (*ConnectionConfig_TcpKeepAlive) Reset

func (m *ConnectionConfig_TcpKeepAlive) Reset()

func (*ConnectionConfig_TcpKeepAlive) String

func (*ConnectionConfig_TcpKeepAlive) XXX_DiscardUnknown

func (m *ConnectionConfig_TcpKeepAlive) XXX_DiscardUnknown()

func (*ConnectionConfig_TcpKeepAlive) XXX_Marshal

func (m *ConnectionConfig_TcpKeepAlive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionConfig_TcpKeepAlive) XXX_Merge

func (m *ConnectionConfig_TcpKeepAlive) XXX_Merge(src proto.Message)

func (*ConnectionConfig_TcpKeepAlive) XXX_Size

func (m *ConnectionConfig_TcpKeepAlive) XXX_Size() int

func (*ConnectionConfig_TcpKeepAlive) XXX_Unmarshal

func (m *ConnectionConfig_TcpKeepAlive) XXX_Unmarshal(b []byte) error

type ConsulServiceDestination

type ConsulServiceDestination struct {
	// The name of the target service. This field is required.
	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// If provided, load balance traffic only between services matching all the given tags.
	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
	// If provided, load balance traffic only between services running in the given
	// [data centers](https://www.consul.io/docs/internals/architecture.html).
	DataCenters          []string `protobuf:"bytes,3,rep,name=data_centers,json=dataCenters,proto3" json:"data_centers,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Identifies a [Consul](https://www.consul.io/) [service](https://www.consul.io/docs/agent/services.html) to route traffic to. Multiple Consul services with the same name can present distinct sets of tags, listen of different ports, and live in multiple data centers (see an example [here](https://www.consul.io/docs/agent/services.html#multiple-service-definitions)). You can target the desired subset of services via the fields in this configuration. Gloo will detect the correspondent IP addresses and ports and load balance traffic between them.

func (*ConsulServiceDestination) Descriptor

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

func (*ConsulServiceDestination) Equal

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

func (*ConsulServiceDestination) GetDataCenters

func (m *ConsulServiceDestination) GetDataCenters() []string

func (*ConsulServiceDestination) GetServiceName

func (m *ConsulServiceDestination) GetServiceName() string

func (*ConsulServiceDestination) GetTags

func (m *ConsulServiceDestination) GetTags() []string

func (*ConsulServiceDestination) ProtoMessage

func (*ConsulServiceDestination) ProtoMessage()

func (*ConsulServiceDestination) Reset

func (m *ConsulServiceDestination) Reset()

func (*ConsulServiceDestination) String

func (m *ConsulServiceDestination) String() string

func (*ConsulServiceDestination) XXX_DiscardUnknown

func (m *ConsulServiceDestination) XXX_DiscardUnknown()

func (*ConsulServiceDestination) XXX_Marshal

func (m *ConsulServiceDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsulServiceDestination) XXX_Merge

func (m *ConsulServiceDestination) XXX_Merge(src proto.Message)

func (*ConsulServiceDestination) XXX_Size

func (m *ConsulServiceDestination) XXX_Size() int

func (*ConsulServiceDestination) XXX_Unmarshal

func (m *ConsulServiceDestination) XXX_Unmarshal(b []byte) error

type CorsPolicy deprecated

type CorsPolicy struct {
	// Specifies the origins that will be allowed to make CORS requests.
	//
	// An origin is allowed if either allow_origin or allow_origin_regex match.
	AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"`
	// Specifies regex patterns that match origins that will be allowed to make
	// CORS requests.
	//
	// An origin is allowed if either allow_origin or allow_origin_regex match.
	AllowOriginRegex []string `protobuf:"bytes,2,rep,name=allow_origin_regex,json=allowOriginRegex,proto3" json:"allow_origin_regex,omitempty"`
	// Specifies the content for the *access-control-allow-methods* header.
	AllowMethods []string `protobuf:"bytes,3,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"`
	// Specifies the content for the *access-control-allow-headers* header.
	AllowHeaders []string `protobuf:"bytes,4,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"`
	// Specifies the content for the *access-control-expose-headers* header.
	ExposeHeaders []string `protobuf:"bytes,5,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
	// Specifies the content for the *access-control-max-age* header.
	MaxAge string `protobuf:"bytes,6,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
	// Specifies whether the resource allows credentials.
	AllowCredentials     bool     `protobuf:"varint,7,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

CorsPolicy defines Cross-Origin Resource Sharing for a virtual service. DEPRECATED set cors policy through the Virtual Host Plugin

Deprecated: Do not use.

func (*CorsPolicy) Descriptor

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

func (*CorsPolicy) Equal

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

func (*CorsPolicy) GetAllowCredentials

func (m *CorsPolicy) GetAllowCredentials() bool

func (*CorsPolicy) GetAllowHeaders

func (m *CorsPolicy) GetAllowHeaders() []string

func (*CorsPolicy) GetAllowMethods

func (m *CorsPolicy) GetAllowMethods() []string

func (*CorsPolicy) GetAllowOrigin

func (m *CorsPolicy) GetAllowOrigin() []string

func (*CorsPolicy) GetAllowOriginRegex

func (m *CorsPolicy) GetAllowOriginRegex() []string

func (*CorsPolicy) GetExposeHeaders

func (m *CorsPolicy) GetExposeHeaders() []string

func (*CorsPolicy) GetMaxAge

func (m *CorsPolicy) GetMaxAge() string

func (*CorsPolicy) ProtoMessage

func (*CorsPolicy) ProtoMessage()

func (*CorsPolicy) Reset

func (m *CorsPolicy) Reset()

func (*CorsPolicy) String

func (m *CorsPolicy) String() string

func (*CorsPolicy) XXX_DiscardUnknown

func (m *CorsPolicy) XXX_DiscardUnknown()

func (*CorsPolicy) XXX_Marshal

func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CorsPolicy) XXX_Merge

func (m *CorsPolicy) XXX_Merge(src proto.Message)

func (*CorsPolicy) XXX_Size

func (m *CorsPolicy) XXX_Size() int

func (*CorsPolicy) XXX_Unmarshal

func (m *CorsPolicy) XXX_Unmarshal(b []byte) error

type Destination

type Destination struct {
	//  The type of the destination
	//
	// Types that are valid to be assigned to DestinationType:
	//	*Destination_Upstream
	//	*Destination_Kube
	//	*Destination_Consul
	DestinationType isDestination_DestinationType `protobuf_oneof:"destination_type"`
	// Some upstreams utilize plugins which require or permit additional configuration on routes targeting them.
	// gRPC upstreams, for example, allow specifying REST-style parameters for JSON-to-gRPC transcoding in the
	// destination config. If the destination config is required for the upstream and not provided by the user,
	// Gloo will invalidate the destination and its parent resources.
	DestinationSpec *DestinationSpec `protobuf:"bytes,2,opt,name=destination_spec,json=destinationSpec,proto3" json:"destination_spec,omitempty"`
	// If specified, traffic will only be routed to a subset of the upstream. If upstream doesn't
	// contain the specified subset, we will fallback to normal upstream routing.
	Subset               *Subset  `protobuf:"bytes,3,opt,name=subset,proto3" json:"subset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Destinations define routable destinations for proxied requests.

func (*Destination) Descriptor

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

func (*Destination) Equal

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

func (*Destination) GetConsul

func (m *Destination) GetConsul() *ConsulServiceDestination

func (*Destination) GetDestinationSpec

func (m *Destination) GetDestinationSpec() *DestinationSpec

func (*Destination) GetDestinationType

func (m *Destination) GetDestinationType() isDestination_DestinationType

func (*Destination) GetKube

func (*Destination) GetSubset

func (m *Destination) GetSubset() *Subset

func (*Destination) GetUpstream

func (m *Destination) GetUpstream() *core.ResourceRef

func (*Destination) ProtoMessage

func (*Destination) ProtoMessage()

func (*Destination) Reset

func (m *Destination) Reset()

func (*Destination) String

func (m *Destination) String() string

func (*Destination) XXX_DiscardUnknown

func (m *Destination) XXX_DiscardUnknown()

func (*Destination) XXX_Marshal

func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Destination) XXX_Merge

func (m *Destination) XXX_Merge(src proto.Message)

func (*Destination) XXX_OneofWrappers

func (*Destination) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Destination) XXX_Size

func (m *Destination) XXX_Size() int

func (*Destination) XXX_Unmarshal

func (m *Destination) XXX_Unmarshal(b []byte) error

type DestinationSpec

type DestinationSpec struct {
	// Note to developers: new DestinationSpecs must be added to this oneof field
	// to be usable by Gloo.
	//
	// Types that are valid to be assigned to DestinationType:
	//	*DestinationSpec_Aws
	//	*DestinationSpec_Azure
	//	*DestinationSpec_Rest
	//	*DestinationSpec_Grpc
	DestinationType      isDestinationSpec_DestinationType `protobuf_oneof:"destination_type"`
	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
	XXX_unrecognized     []byte                            `json:"-"`
	XXX_sizecache        int32                             `json:"-"`
}

Configuration for Destinations that are tied to the UpstreamSpec or ServiceSpec on that destination

func (*DestinationSpec) Descriptor

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

func (*DestinationSpec) Equal

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

func (*DestinationSpec) GetAws

func (m *DestinationSpec) GetAws() *aws.DestinationSpec

func (*DestinationSpec) GetAzure

func (m *DestinationSpec) GetAzure() *azure.DestinationSpec

func (*DestinationSpec) GetDestinationType

func (m *DestinationSpec) GetDestinationType() isDestinationSpec_DestinationType

func (*DestinationSpec) GetGrpc

func (m *DestinationSpec) GetGrpc() *grpc.DestinationSpec

func (*DestinationSpec) GetRest

func (m *DestinationSpec) GetRest() *rest.DestinationSpec

func (*DestinationSpec) ProtoMessage

func (*DestinationSpec) ProtoMessage()

func (*DestinationSpec) Reset

func (m *DestinationSpec) Reset()

func (*DestinationSpec) String

func (m *DestinationSpec) String() string

func (*DestinationSpec) XXX_DiscardUnknown

func (m *DestinationSpec) XXX_DiscardUnknown()

func (*DestinationSpec) XXX_Marshal

func (m *DestinationSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DestinationSpec) XXX_Merge

func (m *DestinationSpec) XXX_Merge(src proto.Message)

func (*DestinationSpec) XXX_OneofWrappers

func (*DestinationSpec) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*DestinationSpec) XXX_Size

func (m *DestinationSpec) XXX_Size() int

func (*DestinationSpec) XXX_Unmarshal

func (m *DestinationSpec) XXX_Unmarshal(b []byte) error

type DestinationSpec_Aws

type DestinationSpec_Aws struct {
	Aws *aws.DestinationSpec `protobuf:"bytes,1,opt,name=aws,proto3,oneof" json:"aws,omitempty"`
}

func (*DestinationSpec_Aws) Equal

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

type DestinationSpec_Azure

type DestinationSpec_Azure struct {
	Azure *azure.DestinationSpec `protobuf:"bytes,2,opt,name=azure,proto3,oneof" json:"azure,omitempty"`
}

func (*DestinationSpec_Azure) Equal

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

type DestinationSpec_Grpc

type DestinationSpec_Grpc struct {
	Grpc *grpc.DestinationSpec `protobuf:"bytes,4,opt,name=grpc,proto3,oneof" json:"grpc,omitempty"`
}

func (*DestinationSpec_Grpc) Equal

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

type DestinationSpec_Rest

type DestinationSpec_Rest struct {
	Rest *rest.DestinationSpec `protobuf:"bytes,3,opt,name=rest,proto3,oneof" json:"rest,omitempty"`
}

func (*DestinationSpec_Rest) Equal

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

type Destination_Consul

type Destination_Consul struct {
	Consul *ConsulServiceDestination `protobuf:"bytes,12,opt,name=consul,proto3,oneof" json:"consul,omitempty"`
}

func (*Destination_Consul) Equal

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

type Destination_Kube

type Destination_Kube struct {
	Kube *KubernetesServiceDestination `protobuf:"bytes,11,opt,name=kube,proto3,oneof" json:"kube,omitempty"`
}

func (*Destination_Kube) Equal

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

type Destination_Upstream

type Destination_Upstream struct {
	Upstream *core.ResourceRef `protobuf:"bytes,10,opt,name=upstream,proto3,oneof" json:"upstream,omitempty"`
}

func (*Destination_Upstream) Equal

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

type DirectResponseAction

type DirectResponseAction struct {
	// Specifies the HTTP response status to be returned.
	Status uint32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// Specifies the content of the response body. If this setting is omitted,
	// no body is included in the generated response.
	//
	//   Note: Headers can be specified using the Header Modification plugin in the enclosing
	//   Route, Virtual Host, or Listener.
	Body                 string   `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

DirectResponseAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto

func (*DirectResponseAction) Descriptor

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

func (*DirectResponseAction) Equal

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

func (*DirectResponseAction) GetBody

func (m *DirectResponseAction) GetBody() string

func (*DirectResponseAction) GetStatus

func (m *DirectResponseAction) GetStatus() uint32

func (*DirectResponseAction) ProtoMessage

func (*DirectResponseAction) ProtoMessage()

func (*DirectResponseAction) Reset

func (m *DirectResponseAction) Reset()

func (*DirectResponseAction) String

func (m *DirectResponseAction) String() string

func (*DirectResponseAction) XXX_DiscardUnknown

func (m *DirectResponseAction) XXX_DiscardUnknown()

func (*DirectResponseAction) XXX_Marshal

func (m *DirectResponseAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DirectResponseAction) XXX_Merge

func (m *DirectResponseAction) XXX_Merge(src proto.Message)

func (*DirectResponseAction) XXX_Size

func (m *DirectResponseAction) XXX_Size() int

func (*DirectResponseAction) XXX_Unmarshal

func (m *DirectResponseAction) XXX_Unmarshal(b []byte) error

type DiscoveryMetadata

type DiscoveryMetadata struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

created by discovery services

func (*DiscoveryMetadata) Descriptor

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

func (*DiscoveryMetadata) Equal

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

func (*DiscoveryMetadata) ProtoMessage

func (*DiscoveryMetadata) ProtoMessage()

func (*DiscoveryMetadata) Reset

func (m *DiscoveryMetadata) Reset()

func (*DiscoveryMetadata) String

func (m *DiscoveryMetadata) String() string

func (*DiscoveryMetadata) XXX_DiscardUnknown

func (m *DiscoveryMetadata) XXX_DiscardUnknown()

func (*DiscoveryMetadata) XXX_Marshal

func (m *DiscoveryMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DiscoveryMetadata) XXX_Merge

func (m *DiscoveryMetadata) XXX_Merge(src proto.Message)

func (*DiscoveryMetadata) XXX_Size

func (m *DiscoveryMetadata) XXX_Size() int

func (*DiscoveryMetadata) XXX_Unmarshal

func (m *DiscoveryMetadata) XXX_Unmarshal(b []byte) error

type DiscoverySimpleEmitter

type DiscoverySimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *DiscoverySnapshot, <-chan error, error)
}

func NewDiscoverySimpleEmitter

func NewDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) DiscoverySimpleEmitter

func NewDiscoverySimpleEmitterWithEmit

func NewDiscoverySimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) DiscoverySimpleEmitter

type DiscoverySnapshot

type DiscoverySnapshot struct {
	Upstreams      UpstreamList
	Kubenamespaces github_com_solo_io_solo_kit_pkg_api_v1_resources_common_kubernetes.KubeNamespaceList
	Secrets        SecretList
}

func (DiscoverySnapshot) Clone

func (DiscoverySnapshot) Hash

func (s DiscoverySnapshot) Hash() uint64

func (DiscoverySnapshot) HashFields

func (s DiscoverySnapshot) HashFields() []zap.Field

func (DiscoverySnapshot) Stringer

type DiscoverySnapshotEmitter

type DiscoverySnapshotEmitter interface {
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *DiscoverySnapshot, <-chan error, error)
}

type DiscoverySnapshotStringer

type DiscoverySnapshotStringer struct {
	Version        uint64
	Upstreams      []string
	Kubenamespaces []string
	Secrets        []string
}

func (DiscoverySnapshotStringer) String

func (ss DiscoverySnapshotStringer) String() string

type DiscoverySyncDecider deprecated

type DiscoverySyncDecider interface {
	DiscoverySyncer
	ShouldSync(old, new *DiscoverySnapshot) bool
}

Deprecated: use DiscoverySyncDeciderWithContext

type DiscoverySyncDeciderWithContext

type DiscoverySyncDeciderWithContext interface {
	DiscoverySyncer
	ShouldSync(ctx context.Context, old, new *DiscoverySnapshot) bool
}

type DiscoverySyncer

type DiscoverySyncer interface {
	Sync(context.Context, *DiscoverySnapshot) error
}

type DiscoverySyncers

type DiscoverySyncers []DiscoverySyncer

func (DiscoverySyncers) Sync

func (s DiscoverySyncers) Sync(ctx context.Context, snapshot *DiscoverySnapshot) error

type EdsEmitter

type EdsEmitter interface {
	EdsSnapshotEmitter
	Register() error
	Upstream() UpstreamClient
}

func NewEdsEmitter

func NewEdsEmitter(upstreamClient UpstreamClient) EdsEmitter

func NewEdsEmitterWithEmit

func NewEdsEmitterWithEmit(upstreamClient UpstreamClient, emit <-chan struct{}) EdsEmitter

type EdsSimpleEmitter

type EdsSimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *EdsSnapshot, <-chan error, error)
}

func NewEdsSimpleEmitter

func NewEdsSimpleEmitter(aggregatedWatch clients.ResourceWatch) EdsSimpleEmitter

func NewEdsSimpleEmitterWithEmit

func NewEdsSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) EdsSimpleEmitter

type EdsSnapshot

type EdsSnapshot struct {
	Upstreams UpstreamList
}

func (EdsSnapshot) Clone

func (s EdsSnapshot) Clone() EdsSnapshot

func (EdsSnapshot) Hash

func (s EdsSnapshot) Hash() uint64

func (EdsSnapshot) HashFields

func (s EdsSnapshot) HashFields() []zap.Field

func (EdsSnapshot) Stringer

func (s EdsSnapshot) Stringer() EdsSnapshotStringer

type EdsSnapshotEmitter

type EdsSnapshotEmitter interface {
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *EdsSnapshot, <-chan error, error)
}

type EdsSnapshotStringer

type EdsSnapshotStringer struct {
	Version   uint64
	Upstreams []string
}

func (EdsSnapshotStringer) String

func (ss EdsSnapshotStringer) String() string

type EdsSyncDecider deprecated

type EdsSyncDecider interface {
	EdsSyncer
	ShouldSync(old, new *EdsSnapshot) bool
}

Deprecated: use EdsSyncDeciderWithContext

type EdsSyncDeciderWithContext

type EdsSyncDeciderWithContext interface {
	EdsSyncer
	ShouldSync(ctx context.Context, old, new *EdsSnapshot) bool
}

type EdsSyncer

type EdsSyncer interface {
	Sync(context.Context, *EdsSnapshot) error
}

type EdsSyncers

type EdsSyncers []EdsSyncer

func (EdsSyncers) Sync

func (s EdsSyncers) Sync(ctx context.Context, snapshot *EdsSnapshot) error

type Endpoint

type Endpoint struct {
	// List of the upstreams the endpoint belongs to
	Upstreams []*core.ResourceRef `protobuf:"bytes,1,rep,name=upstreams,proto3" json:"upstreams,omitempty"`
	// Address of the endpoint (ip or hostname)
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// listening port for the endpoint
	Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata             core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Endpoints represent dynamically discovered address/ports where an upstream service is listening

func NewEndpoint

func NewEndpoint(namespace, name string) *Endpoint

func (*Endpoint) DeepCopyInto

func (o *Endpoint) DeepCopyInto(out *Endpoint)

func (*Endpoint) DeepCopyObject

func (o *Endpoint) DeepCopyObject() runtime.Object

func (*Endpoint) Descriptor

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

func (*Endpoint) Equal

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

func (*Endpoint) GetAddress

func (m *Endpoint) GetAddress() string

func (*Endpoint) GetMetadata

func (m *Endpoint) GetMetadata() core.Metadata

func (*Endpoint) GetObjectKind

func (o *Endpoint) GetObjectKind() schema.ObjectKind

func (*Endpoint) GetPort

func (m *Endpoint) GetPort() uint32

func (*Endpoint) GetUpstreams

func (m *Endpoint) GetUpstreams() []*core.ResourceRef

func (*Endpoint) GroupVersionKind

func (r *Endpoint) GroupVersionKind() schema.GroupVersionKind

func (*Endpoint) Hash

func (r *Endpoint) Hash() uint64

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) Reset

func (m *Endpoint) Reset()

func (*Endpoint) SetMetadata

func (r *Endpoint) SetMetadata(meta core.Metadata)

func (*Endpoint) String

func (m *Endpoint) String() string

func (*Endpoint) XXX_DiscardUnknown

func (m *Endpoint) XXX_DiscardUnknown()

func (*Endpoint) XXX_Marshal

func (m *Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Endpoint) XXX_Merge

func (m *Endpoint) XXX_Merge(src proto.Message)

func (*Endpoint) XXX_Size

func (m *Endpoint) XXX_Size() int

func (*Endpoint) XXX_Unmarshal

func (m *Endpoint) XXX_Unmarshal(b []byte) error

type EndpointClient

type EndpointClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Endpoint, error)
	Write(resource *Endpoint, opts clients.WriteOpts) (*Endpoint, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (EndpointList, error)
	EndpointWatcher
}

func NewEndpointClient

func NewEndpointClient(rcFactory factory.ResourceClientFactory) (EndpointClient, error)

func NewEndpointClientWithBase

func NewEndpointClientWithBase(rc clients.ResourceClient) EndpointClient

func NewEndpointClientWithToken

func NewEndpointClientWithToken(rcFactory factory.ResourceClientFactory, token string) (EndpointClient, error)

type EndpointList

type EndpointList []*Endpoint

func (EndpointList) AsInterfaces

func (list EndpointList) AsInterfaces() []interface{}

func (EndpointList) AsResources

func (list EndpointList) AsResources() resources.ResourceList

func (EndpointList) Clone

func (list EndpointList) Clone() EndpointList

func (EndpointList) Each

func (list EndpointList) Each(f func(element *Endpoint))

func (EndpointList) EachResource

func (list EndpointList) EachResource(f func(element resources.Resource))

func (EndpointList) Find

func (list EndpointList) Find(namespace, name string) (*Endpoint, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (EndpointList) Names

func (list EndpointList) Names() []string

func (EndpointList) NamespacesDotNames

func (list EndpointList) NamespacesDotNames() []string

func (EndpointList) Sort

func (list EndpointList) Sort() EndpointList

type EndpointReconciler

type EndpointReconciler interface {
	Reconcile(namespace string, desiredResources EndpointList, transition TransitionEndpointFunc, opts clients.ListOpts) error
}

func NewEndpointReconciler

func NewEndpointReconciler(client EndpointClient) EndpointReconciler

type EndpointWatcher

type EndpointWatcher interface {
	// watch namespace-scoped Endpoints
	Watch(namespace string, opts clients.WatchOpts) (<-chan EndpointList, <-chan error, error)
}

type Extension

type Extension struct {
	Config               *types.Struct `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*Extension) Descriptor

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

func (*Extension) Equal

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

func (*Extension) GetConfig

func (m *Extension) GetConfig() *types.Struct

func (*Extension) ProtoMessage

func (*Extension) ProtoMessage()

func (*Extension) Reset

func (m *Extension) Reset()

func (*Extension) String

func (m *Extension) String() string

func (*Extension) XXX_DiscardUnknown

func (m *Extension) XXX_DiscardUnknown()

func (*Extension) XXX_Marshal

func (m *Extension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Extension) XXX_Merge

func (m *Extension) XXX_Merge(src proto.Message)

func (*Extension) XXX_Size

func (m *Extension) XXX_Size() int

func (*Extension) XXX_Unmarshal

func (m *Extension) XXX_Unmarshal(b []byte) error

type Extensions

type Extensions struct {
	Configs              map[string]*types.Struct `` /* 155-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (*Extensions) Descriptor

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

func (*Extensions) Equal

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

func (*Extensions) GetConfigs

func (m *Extensions) GetConfigs() map[string]*types.Struct

func (*Extensions) ProtoMessage

func (*Extensions) ProtoMessage()

func (*Extensions) Reset

func (m *Extensions) Reset()

func (*Extensions) String

func (m *Extensions) String() string

func (*Extensions) XXX_DiscardUnknown

func (m *Extensions) XXX_DiscardUnknown()

func (*Extensions) XXX_Marshal

func (m *Extensions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Extensions) XXX_Merge

func (m *Extensions) XXX_Merge(src proto.Message)

func (*Extensions) XXX_Size

func (m *Extensions) XXX_Size() int

func (*Extensions) XXX_Unmarshal

func (m *Extensions) XXX_Unmarshal(b []byte) error

type GatewayOptions

type GatewayOptions struct {
	// Address of the `gloo` config validation server. Defaults to `gloo:9988`
	ValidationServerAddr string `protobuf:"bytes,1,opt,name=validation_server_addr,json=validationServerAddr,proto3" json:"validation_server_addr,omitempty"`
	// Disable auto generation of default gateways from gateway pod
	DisableAutoGenGateways bool `` /* 132-byte string literal not displayed */
	// if provided, the Gateway will perform[Dynamic Admission Control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/)
	// of Gateways, Virtual Services, and Route Tables when running in Kubernetes.
	Validation           *GatewayOptions_ValidationOptions `protobuf:"bytes,3,opt,name=validation,proto3" json:"validation,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
	XXX_unrecognized     []byte                            `json:"-"`
	XXX_sizecache        int32                             `json:"-"`
}

Settings specific to the Gateway controller

func (*GatewayOptions) Descriptor

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

func (*GatewayOptions) Equal

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

func (*GatewayOptions) GetDisableAutoGenGateways

func (m *GatewayOptions) GetDisableAutoGenGateways() bool

func (*GatewayOptions) GetValidation

func (*GatewayOptions) GetValidationServerAddr

func (m *GatewayOptions) GetValidationServerAddr() string

func (*GatewayOptions) ProtoMessage

func (*GatewayOptions) ProtoMessage()

func (*GatewayOptions) Reset

func (m *GatewayOptions) Reset()

func (*GatewayOptions) String

func (m *GatewayOptions) String() string

func (*GatewayOptions) XXX_DiscardUnknown

func (m *GatewayOptions) XXX_DiscardUnknown()

func (*GatewayOptions) XXX_Marshal

func (m *GatewayOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GatewayOptions) XXX_Merge

func (m *GatewayOptions) XXX_Merge(src proto.Message)

func (*GatewayOptions) XXX_Size

func (m *GatewayOptions) XXX_Size() int

func (*GatewayOptions) XXX_Unmarshal

func (m *GatewayOptions) XXX_Unmarshal(b []byte) error

type GatewayOptions_ValidationOptions

type GatewayOptions_ValidationOptions struct {
	// Address of the `gloo` proxy validation grpc server. Defaults to `gloo:9988`
	// This field is required in order to enable fine-grained admission control
	ProxyValidationServerAddr string `` /* 140-byte string literal not displayed */
	// Path to TLS Certificate for Kubernetes Validating webhook. Defaults to `/etc/gateway/validation-certs/tls.crt`
	ValidationWebhookTlsCert string `` /* 137-byte string literal not displayed */
	// Path to TLS Private Key for Kubernetes Validating webhook. Defaults to `/etc/gateway/validation-certs/tls.key`
	ValidationWebhookTlsKey string `` /* 134-byte string literal not displayed */
	// When Gateway cannot communicate with Gloo (e.g. Gloo is offline)
	// resources will be rejected by default.
	// Enable the `ignoreGlooValidationFailure` to prevent the Validation server from rejecting
	// resources due to network errors
	IgnoreGlooValidationFailure bool `` /* 147-byte string literal not displayed */
	// Always accept resources even if validation produced an error
	// Validation will still log the error and increment the validation.gateway.solo.io/resources_rejected stat
	// Currently defaults to true - must be set to `false` to prevent writing invalid resources to storage
	AlwaysAccept         *types.BoolValue `protobuf:"bytes,6,opt,name=always_accept,json=alwaysAccept,proto3" json:"always_accept,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

options for configuring admission control / validation

func (*GatewayOptions_ValidationOptions) Descriptor

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

func (*GatewayOptions_ValidationOptions) Equal

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

func (*GatewayOptions_ValidationOptions) GetAlwaysAccept

func (m *GatewayOptions_ValidationOptions) GetAlwaysAccept() *types.BoolValue

func (*GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure

func (m *GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure() bool

func (*GatewayOptions_ValidationOptions) GetProxyValidationServerAddr

func (m *GatewayOptions_ValidationOptions) GetProxyValidationServerAddr() string

func (*GatewayOptions_ValidationOptions) GetValidationWebhookTlsCert

func (m *GatewayOptions_ValidationOptions) GetValidationWebhookTlsCert() string

func (*GatewayOptions_ValidationOptions) GetValidationWebhookTlsKey

func (m *GatewayOptions_ValidationOptions) GetValidationWebhookTlsKey() string

func (*GatewayOptions_ValidationOptions) ProtoMessage

func (*GatewayOptions_ValidationOptions) ProtoMessage()

func (*GatewayOptions_ValidationOptions) Reset

func (*GatewayOptions_ValidationOptions) String

func (*GatewayOptions_ValidationOptions) XXX_DiscardUnknown

func (m *GatewayOptions_ValidationOptions) XXX_DiscardUnknown()

func (*GatewayOptions_ValidationOptions) XXX_Marshal

func (m *GatewayOptions_ValidationOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GatewayOptions_ValidationOptions) XXX_Merge

func (*GatewayOptions_ValidationOptions) XXX_Size

func (m *GatewayOptions_ValidationOptions) XXX_Size() int

func (*GatewayOptions_ValidationOptions) XXX_Unmarshal

func (m *GatewayOptions_ValidationOptions) XXX_Unmarshal(b []byte) error

type GlooOptions

type GlooOptions struct {
	// Where the `gloo` xDS server should bind (should not need configuration by user). Defaults to `0.0.0.0:9977`
	XdsBindAddr string `protobuf:"bytes,1,opt,name=xds_bind_addr,json=xdsBindAddr,proto3" json:"xds_bind_addr,omitempty"`
	// Where the `gloo` validation server should bind. Defaults to `0.0.0.0:9988`
	ValidationBindAddr string `protobuf:"bytes,2,opt,name=validation_bind_addr,json=validationBindAddr,proto3" json:"validation_bind_addr,omitempty"`
	// Default circuit breaker configuration to use for upstream requests,
	// when not provided by specific upstream.
	CircuitBreakers *CircuitBreakerConfig `protobuf:"bytes,3,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"`
	// Timeout to get initial snapshot of resources. If not set, Gloo will not wait for initial
	// snapshot - if set and and gloo could not fetch it's initial snapshot before the timeout
	// reached, gloo will panic.
	EndpointsWarmingTimeout *types.Duration         `` /* 132-byte string literal not displayed */
	AwsOptions              *GlooOptions_AWSOptions `protobuf:"bytes,5,opt,name=aws_options,json=awsOptions,proto3" json:"aws_options,omitempty"`
	// set these options to fine-tune the way Gloo handles invalid user configuration
	InvalidConfigPolicy *GlooOptions_InvalidConfigPolicy `protobuf:"bytes,6,opt,name=invalid_config_policy,json=invalidConfigPolicy,proto3" json:"invalid_config_policy,omitempty"`
	// Gloo allows you to directly reference a Kubernetes service as a routing destination. To enable this feature,
	// Gloo scans the cluster for Kubernetes services and creates a special type of in-memory Upstream to represent them.
	// If the cluster contains a lot of services and you do not restrict the namespaces Gloo is watching, this can result
	// in significant overhead. If you do not plan on using this feature, you can use this flag to turn it off.
	DisableKubernetesDestinations bool     `` /* 151-byte string literal not displayed */
	XXX_NoUnkeyedLiteral          struct{} `json:"-"`
	XXX_unrecognized              []byte   `json:"-"`
	XXX_sizecache                 int32    `json:"-"`
}

Settings specific to the gloo (Envoy xDS server) controller

func (*GlooOptions) Descriptor

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

func (*GlooOptions) Equal

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

func (*GlooOptions) GetAwsOptions

func (m *GlooOptions) GetAwsOptions() *GlooOptions_AWSOptions

func (*GlooOptions) GetCircuitBreakers

func (m *GlooOptions) GetCircuitBreakers() *CircuitBreakerConfig

func (*GlooOptions) GetDisableKubernetesDestinations

func (m *GlooOptions) GetDisableKubernetesDestinations() bool

func (*GlooOptions) GetEndpointsWarmingTimeout

func (m *GlooOptions) GetEndpointsWarmingTimeout() *types.Duration

func (*GlooOptions) GetInvalidConfigPolicy

func (m *GlooOptions) GetInvalidConfigPolicy() *GlooOptions_InvalidConfigPolicy

func (*GlooOptions) GetValidationBindAddr

func (m *GlooOptions) GetValidationBindAddr() string

func (*GlooOptions) GetXdsBindAddr

func (m *GlooOptions) GetXdsBindAddr() string

func (*GlooOptions) ProtoMessage

func (*GlooOptions) ProtoMessage()

func (*GlooOptions) Reset

func (m *GlooOptions) Reset()

func (*GlooOptions) String

func (m *GlooOptions) String() string

func (*GlooOptions) XXX_DiscardUnknown

func (m *GlooOptions) XXX_DiscardUnknown()

func (*GlooOptions) XXX_Marshal

func (m *GlooOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GlooOptions) XXX_Merge

func (m *GlooOptions) XXX_Merge(src proto.Message)

func (*GlooOptions) XXX_Size

func (m *GlooOptions) XXX_Size() int

func (*GlooOptions) XXX_Unmarshal

func (m *GlooOptions) XXX_Unmarshal(b []byte) error

type GlooOptions_AWSOptions

type GlooOptions_AWSOptions struct {
	// Enable credential discovery via IAM; when this is set, there's no need provide a secret
	// on the upstream when running on AWS environment.
	//
	// Note: This should **ONLY** be enabled when running in an AWS environment, as the AWS
	// code blocks the envoy main thread. This should be negligible when running inside AWS.
	EnableCredentialsDiscovey bool     `` /* 139-byte string literal not displayed */
	XXX_NoUnkeyedLiteral      struct{} `json:"-"`
	XXX_unrecognized          []byte   `json:"-"`
	XXX_sizecache             int32    `json:"-"`
}

func (*GlooOptions_AWSOptions) Descriptor

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

func (*GlooOptions_AWSOptions) Equal

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

func (*GlooOptions_AWSOptions) GetEnableCredentialsDiscovey

func (m *GlooOptions_AWSOptions) GetEnableCredentialsDiscovey() bool

func (*GlooOptions_AWSOptions) ProtoMessage

func (*GlooOptions_AWSOptions) ProtoMessage()

func (*GlooOptions_AWSOptions) Reset

func (m *GlooOptions_AWSOptions) Reset()

func (*GlooOptions_AWSOptions) String

func (m *GlooOptions_AWSOptions) String() string

func (*GlooOptions_AWSOptions) XXX_DiscardUnknown

func (m *GlooOptions_AWSOptions) XXX_DiscardUnknown()

func (*GlooOptions_AWSOptions) XXX_Marshal

func (m *GlooOptions_AWSOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GlooOptions_AWSOptions) XXX_Merge

func (m *GlooOptions_AWSOptions) XXX_Merge(src proto.Message)

func (*GlooOptions_AWSOptions) XXX_Size

func (m *GlooOptions_AWSOptions) XXX_Size() int

func (*GlooOptions_AWSOptions) XXX_Unmarshal

func (m *GlooOptions_AWSOptions) XXX_Unmarshal(b []byte) error

type GlooOptions_InvalidConfigPolicy

type GlooOptions_InvalidConfigPolicy struct {
	// if set to `true`, Gloo removes any routes from the provided configuration
	// which point to a missing destination. Routes that are removed in this way
	// will instead return a configurable direct response to clients. When routes are replaced,
	// Gloo will configure Envoy with a special listener which serves direct responses.
	//
	// Note: enabling this option allows Gloo to accept partially valid proxy configurations
	ReplaceInvalidRoutes bool `protobuf:"varint,1,opt,name=replace_invalid_routes,json=replaceInvalidRoutes,proto3" json:"replace_invalid_routes,omitempty"`
	// replaced routes reply to clients with this response code
	// default is 404
	InvalidRouteResponseCode uint32 `` /* 138-byte string literal not displayed */
	// replaced routes reply to clients with this response body
	// default is 'Gloo Gateway has invalid configuration. Administrators should run `glooctl check` to find and fix config errors.'
	InvalidRouteResponseBody string   `` /* 137-byte string literal not displayed */
	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
	XXX_unrecognized         []byte   `json:"-"`
	XXX_sizecache            int32    `json:"-"`
}

Policy for how Gloo should handle invalid config

func (*GlooOptions_InvalidConfigPolicy) Descriptor

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

func (*GlooOptions_InvalidConfigPolicy) Equal

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

func (*GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseBody

func (m *GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseBody() string

func (*GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseCode

func (m *GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseCode() uint32

func (*GlooOptions_InvalidConfigPolicy) GetReplaceInvalidRoutes

func (m *GlooOptions_InvalidConfigPolicy) GetReplaceInvalidRoutes() bool

func (*GlooOptions_InvalidConfigPolicy) ProtoMessage

func (*GlooOptions_InvalidConfigPolicy) ProtoMessage()

func (*GlooOptions_InvalidConfigPolicy) Reset

func (*GlooOptions_InvalidConfigPolicy) String

func (*GlooOptions_InvalidConfigPolicy) XXX_DiscardUnknown

func (m *GlooOptions_InvalidConfigPolicy) XXX_DiscardUnknown()

func (*GlooOptions_InvalidConfigPolicy) XXX_Marshal

func (m *GlooOptions_InvalidConfigPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GlooOptions_InvalidConfigPolicy) XXX_Merge

func (m *GlooOptions_InvalidConfigPolicy) XXX_Merge(src proto.Message)

func (*GlooOptions_InvalidConfigPolicy) XXX_Size

func (m *GlooOptions_InvalidConfigPolicy) XXX_Size() int

func (*GlooOptions_InvalidConfigPolicy) XXX_Unmarshal

func (m *GlooOptions_InvalidConfigPolicy) XXX_Unmarshal(b []byte) error

type HeaderMatcher

type HeaderMatcher struct {
	// Specifies the name of the header in the request.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Specifies the value of the header. If the value is absent a request that
	// has the name header will match, regardless of the header’s value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// Specifies whether the header value should be treated as regex or not.
	Regex bool `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"`
	// If set to true, the result of the match will be inverted. Defaults to false.
	//
	// Examples:
	// * name=foo, invert_match=true: matches if no header named `foo` is present
	// * name=foo, value=bar, invert_match=true: matches if no header named `foo` with value `bar` is present
	// * name=foo, value=“\d{3}“, regex=true, invert_match=true: matches if no header named `foo` with a value consisting of three integers is present
	InvertMatch          bool     `protobuf:"varint,4,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Internally, Gloo always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead.

func (*HeaderMatcher) Descriptor

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

func (*HeaderMatcher) Equal

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

func (*HeaderMatcher) GetInvertMatch

func (m *HeaderMatcher) GetInvertMatch() bool

func (*HeaderMatcher) GetName

func (m *HeaderMatcher) GetName() string

func (*HeaderMatcher) GetRegex

func (m *HeaderMatcher) GetRegex() bool

func (*HeaderMatcher) GetValue

func (m *HeaderMatcher) GetValue() string

func (*HeaderMatcher) ProtoMessage

func (*HeaderMatcher) ProtoMessage()

func (*HeaderMatcher) Reset

func (m *HeaderMatcher) Reset()

func (*HeaderMatcher) String

func (m *HeaderMatcher) String() string

func (*HeaderMatcher) XXX_DiscardUnknown

func (m *HeaderMatcher) XXX_DiscardUnknown()

func (*HeaderMatcher) XXX_Marshal

func (m *HeaderMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HeaderMatcher) XXX_Merge

func (m *HeaderMatcher) XXX_Merge(src proto.Message)

func (*HeaderMatcher) XXX_Size

func (m *HeaderMatcher) XXX_Size() int

func (*HeaderMatcher) XXX_Unmarshal

func (m *HeaderMatcher) XXX_Unmarshal(b []byte) error

type HealthCheckConfig

type HealthCheckConfig struct {
	Timeout  *time.Duration `protobuf:"bytes,1,opt,name=timeout,proto3,stdduration" json:"timeout,omitempty"`
	Interval *time.Duration `protobuf:"bytes,2,opt,name=interval,proto3,stdduration" json:"interval,omitempty"`
	// The number of unhealthy health checks required before a host is marked
	// unhealthy. Note that for *http* health checking if a host responds with 503
	// this threshold is ignored and the host is considered unhealthy immediately.
	UnhealthyThreshold *types.UInt32Value `protobuf:"bytes,4,opt,name=unhealthy_threshold,json=unhealthyThreshold,proto3" json:"unhealthy_threshold,omitempty"`
	// The number of healthy health checks required before a host is marked
	// healthy. Note that during startup, only a single successful health check is
	// required to mark a host healthy.
	HealthyThreshold *types.UInt32Value `protobuf:"bytes,5,opt,name=healthy_threshold,json=healthyThreshold,proto3" json:"healthy_threshold,omitempty"`
	// Types that are valid to be assigned to HealthChecker:
	//	*HealthCheckConfig_HttpHealthCheck_
	//	*HealthCheckConfig_GrpcHealthCheck_
	HealthChecker        isHealthCheckConfig_HealthChecker `protobuf_oneof:"health_checker"`
	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
	XXX_unrecognized     []byte                            `json:"-"`
	XXX_sizecache        int32                             `json:"-"`
}

Envoy cluster health check configuration

See [envoy docs](https://www.envoyproxy.io/docs/envoy/v1.11.0/intro/arch_overview/upstream/health_checking#arch-overview-health-checking) for more information on how health checks work in envoy Or examine the [config definition](https://www.envoyproxy.io/docs/envoy/v1.11.0/api-v2/api/v2/core/health_check.proto#envoy-api-msg-core-healthcheck).

func (*HealthCheckConfig) Descriptor

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

func (*HealthCheckConfig) Equal

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

func (*HealthCheckConfig) GetGrpcHealthCheck

func (m *HealthCheckConfig) GetGrpcHealthCheck() *HealthCheckConfig_GrpcHealthCheck

func (*HealthCheckConfig) GetHealthChecker

func (m *HealthCheckConfig) GetHealthChecker() isHealthCheckConfig_HealthChecker

func (*HealthCheckConfig) GetHealthyThreshold

func (m *HealthCheckConfig) GetHealthyThreshold() *types.UInt32Value

func (*HealthCheckConfig) GetHttpHealthCheck

func (m *HealthCheckConfig) GetHttpHealthCheck() *HealthCheckConfig_HttpHealthCheck

func (*HealthCheckConfig) GetInterval

func (m *HealthCheckConfig) GetInterval() *time.Duration

func (*HealthCheckConfig) GetTimeout

func (m *HealthCheckConfig) GetTimeout() *time.Duration

func (*HealthCheckConfig) GetUnhealthyThreshold

func (m *HealthCheckConfig) GetUnhealthyThreshold() *types.UInt32Value

func (*HealthCheckConfig) ProtoMessage

func (*HealthCheckConfig) ProtoMessage()

func (*HealthCheckConfig) Reset

func (m *HealthCheckConfig) Reset()

func (*HealthCheckConfig) String

func (m *HealthCheckConfig) String() string

func (*HealthCheckConfig) XXX_DiscardUnknown

func (m *HealthCheckConfig) XXX_DiscardUnknown()

func (*HealthCheckConfig) XXX_Marshal

func (m *HealthCheckConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HealthCheckConfig) XXX_Merge

func (m *HealthCheckConfig) XXX_Merge(src proto.Message)

func (*HealthCheckConfig) XXX_OneofWrappers

func (*HealthCheckConfig) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*HealthCheckConfig) XXX_Size

func (m *HealthCheckConfig) XXX_Size() int

func (*HealthCheckConfig) XXX_Unmarshal

func (m *HealthCheckConfig) XXX_Unmarshal(b []byte) error

type HealthCheckConfig_GrpcHealthCheck

type HealthCheckConfig_GrpcHealthCheck struct {
	// An optional service name parameter which will be sent to gRPC service in
	// `grpc.health.v1.HealthCheckRequest
	// <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20>`_.
	// message. See `gRPC health-checking overview
	// <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_ for more information.
	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// The value of the :authority header in the gRPC health check request. If
	// left empty (default value), the name of the cluster this health check is associated
	// with will be used.
	Authority            string   `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

`grpc.health.v1.Health <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto>`_-based healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_ for details.

func (*HealthCheckConfig_GrpcHealthCheck) Descriptor

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

func (*HealthCheckConfig_GrpcHealthCheck) Equal

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

func (*HealthCheckConfig_GrpcHealthCheck) GetAuthority

func (m *HealthCheckConfig_GrpcHealthCheck) GetAuthority() string

func (*HealthCheckConfig_GrpcHealthCheck) GetServiceName

func (m *HealthCheckConfig_GrpcHealthCheck) GetServiceName() string

func (*HealthCheckConfig_GrpcHealthCheck) ProtoMessage

func (*HealthCheckConfig_GrpcHealthCheck) ProtoMessage()

func (*HealthCheckConfig_GrpcHealthCheck) Reset

func (*HealthCheckConfig_GrpcHealthCheck) String

func (*HealthCheckConfig_GrpcHealthCheck) XXX_DiscardUnknown

func (m *HealthCheckConfig_GrpcHealthCheck) XXX_DiscardUnknown()

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Marshal

func (m *HealthCheckConfig_GrpcHealthCheck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Merge

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Size

func (m *HealthCheckConfig_GrpcHealthCheck) XXX_Size() int

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Unmarshal

func (m *HealthCheckConfig_GrpcHealthCheck) XXX_Unmarshal(b []byte) error

type HealthCheckConfig_GrpcHealthCheck_

type HealthCheckConfig_GrpcHealthCheck_ struct {
	GrpcHealthCheck *HealthCheckConfig_GrpcHealthCheck `protobuf:"bytes,11,opt,name=grpc_health_check,json=grpcHealthCheck,proto3,oneof"`
}

func (*HealthCheckConfig_GrpcHealthCheck_) Equal

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

type HealthCheckConfig_HttpHealthCheck

type HealthCheckConfig_HttpHealthCheck struct {
	// The value of the host header in the HTTP health check request. If
	// left empty (default value), the name of the cluster this health check is associated
	// with will be used.
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// Specifies the HTTP path that will be requested during health checking. For example
	// */healthcheck*.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// An optional service name parameter which is used to validate the identity of
	// the health checked cluster. See the :ref:`architecture overview
	// <arch_overview_health_checking_identity>` for more information.
	ServiceName string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// If set, health checks will be made using http/2.
	UseHttp2             bool     `protobuf:"varint,7,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*HealthCheckConfig_HttpHealthCheck) Descriptor

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

func (*HealthCheckConfig_HttpHealthCheck) Equal

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

func (*HealthCheckConfig_HttpHealthCheck) GetHost

func (*HealthCheckConfig_HttpHealthCheck) GetPath

func (*HealthCheckConfig_HttpHealthCheck) GetServiceName

func (m *HealthCheckConfig_HttpHealthCheck) GetServiceName() string

func (*HealthCheckConfig_HttpHealthCheck) GetUseHttp2

func (m *HealthCheckConfig_HttpHealthCheck) GetUseHttp2() bool

func (*HealthCheckConfig_HttpHealthCheck) ProtoMessage

func (*HealthCheckConfig_HttpHealthCheck) ProtoMessage()

func (*HealthCheckConfig_HttpHealthCheck) Reset

func (*HealthCheckConfig_HttpHealthCheck) String

func (*HealthCheckConfig_HttpHealthCheck) XXX_DiscardUnknown

func (m *HealthCheckConfig_HttpHealthCheck) XXX_DiscardUnknown()

func (*HealthCheckConfig_HttpHealthCheck) XXX_Marshal

func (m *HealthCheckConfig_HttpHealthCheck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HealthCheckConfig_HttpHealthCheck) XXX_Merge

func (*HealthCheckConfig_HttpHealthCheck) XXX_Size

func (m *HealthCheckConfig_HttpHealthCheck) XXX_Size() int

func (*HealthCheckConfig_HttpHealthCheck) XXX_Unmarshal

func (m *HealthCheckConfig_HttpHealthCheck) XXX_Unmarshal(b []byte) error

type HealthCheckConfig_HttpHealthCheck_

type HealthCheckConfig_HttpHealthCheck_ struct {
	HttpHealthCheck *HealthCheckConfig_HttpHealthCheck `protobuf:"bytes,8,opt,name=http_health_check,json=httpHealthCheck,proto3,oneof"`
}

func (*HealthCheckConfig_HttpHealthCheck_) Equal

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

type HttpListener

type HttpListener struct {
	// the set of virtual hosts that will be accessible by clients connecting to this listener.
	// at least one virtual host must be specified for this listener to be active (else connections will be refused)
	// the set of domains for each virtual host must be unique, or the config will be considered invalid
	VirtualHosts []*VirtualHost `protobuf:"bytes,1,rep,name=virtual_hosts,json=virtualHosts,proto3" json:"virtual_hosts,omitempty"`
	// Listener Plugins contains top-level plugin configuration to be applied to a listener
	// Listener config is applied to traffic for the given listener.
	// Some configuration here can be overridden in
	// Virtual Host Plugin configuration or Route Plugin configuration
	ListenerPlugins *HttpListenerPlugins `protobuf:"bytes,2,opt,name=listener_plugins,json=listenerPlugins,proto3" json:"listener_plugins,omitempty"`
	// prefix for addressing envoy stats for the http connection manager
	StatPrefix           string   `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Use this listener to configure proxy behavior for any HTTP-level features including defining routes (via virtual services). HttpListeners also contain plugin configuration that applies globally across all virtual hosts on the listener. Some plugins can be configured to work both on the listener and virtual host level (such as the rate limit plugin)

func (*HttpListener) Descriptor

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

func (*HttpListener) Equal

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

func (*HttpListener) GetListenerPlugins

func (m *HttpListener) GetListenerPlugins() *HttpListenerPlugins

func (*HttpListener) GetStatPrefix

func (m *HttpListener) GetStatPrefix() string

func (*HttpListener) GetVirtualHosts

func (m *HttpListener) GetVirtualHosts() []*VirtualHost

func (*HttpListener) ProtoMessage

func (*HttpListener) ProtoMessage()

func (*HttpListener) Reset

func (m *HttpListener) Reset()

func (*HttpListener) String

func (m *HttpListener) String() string

func (*HttpListener) XXX_DiscardUnknown

func (m *HttpListener) XXX_DiscardUnknown()

func (*HttpListener) XXX_Marshal

func (m *HttpListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpListener) XXX_Merge

func (m *HttpListener) XXX_Merge(src proto.Message)

func (*HttpListener) XXX_Size

func (m *HttpListener) XXX_Size() int

func (*HttpListener) XXX_Unmarshal

func (m *HttpListener) XXX_Unmarshal(b []byte) error

type HttpListenerPlugins

type HttpListenerPlugins struct {
	GrpcWeb                       *grpc_web.GrpcWeb                  `protobuf:"bytes,1,opt,name=grpc_web,json=grpcWeb,proto3" json:"grpc_web,omitempty"`
	HttpConnectionManagerSettings *hcm.HttpConnectionManagerSettings `` /* 152-byte string literal not displayed */
	// enable [Envoy health checks](https://www.envoyproxy.io/docs/envoy/v1.7.0/api-v2/config/filter/http/health_check/v2/health_check.proto) on this listener
	HealthCheck *healthcheck.HealthCheck `protobuf:"bytes,4,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"`
	// Deprecated: Opaque config for Gloo plugins
	Extensions *Extensions `protobuf:"bytes,3,opt,name=extensions,proto3" json:"extensions,omitempty"` // Deprecated: Do not use.
	// Enterprise-only: Config for Web Application Firewall (WAF), supporting
	// the popular ModSecurity 3.0 ruleset
	Waf                  *waf.Settings `protobuf:"bytes,5,opt,name=waf,proto3" json:"waf,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Plugin-specific configuration that lives on http listeners

func (*HttpListenerPlugins) Descriptor

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

func (*HttpListenerPlugins) Equal

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

func (*HttpListenerPlugins) GetExtensions deprecated

func (m *HttpListenerPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*HttpListenerPlugins) GetGrpcWeb

func (m *HttpListenerPlugins) GetGrpcWeb() *grpc_web.GrpcWeb

func (*HttpListenerPlugins) GetHealthCheck

func (m *HttpListenerPlugins) GetHealthCheck() *healthcheck.HealthCheck

func (*HttpListenerPlugins) GetHttpConnectionManagerSettings

func (m *HttpListenerPlugins) GetHttpConnectionManagerSettings() *hcm.HttpConnectionManagerSettings

func (*HttpListenerPlugins) GetWaf

func (m *HttpListenerPlugins) GetWaf() *waf.Settings

func (*HttpListenerPlugins) ProtoMessage

func (*HttpListenerPlugins) ProtoMessage()

func (*HttpListenerPlugins) Reset

func (m *HttpListenerPlugins) Reset()

func (*HttpListenerPlugins) String

func (m *HttpListenerPlugins) String() string

func (*HttpListenerPlugins) XXX_DiscardUnknown

func (m *HttpListenerPlugins) XXX_DiscardUnknown()

func (*HttpListenerPlugins) XXX_Marshal

func (m *HttpListenerPlugins) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpListenerPlugins) XXX_Merge

func (m *HttpListenerPlugins) XXX_Merge(src proto.Message)

func (*HttpListenerPlugins) XXX_Size

func (m *HttpListenerPlugins) XXX_Size() int

func (*HttpListenerPlugins) XXX_Unmarshal

func (m *HttpListenerPlugins) XXX_Unmarshal(b []byte) error

type KubernetesServiceDestination

type KubernetesServiceDestination struct {
	// The target service
	Ref core.ResourceRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref"`
	// The port attribute of the service
	Port                 uint32   `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Identifies a port on a kubernetes service to route traffic to.

func (*KubernetesServiceDestination) Descriptor

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

func (*KubernetesServiceDestination) Equal

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

func (*KubernetesServiceDestination) GetPort

func (m *KubernetesServiceDestination) GetPort() uint32

func (*KubernetesServiceDestination) GetRef

func (*KubernetesServiceDestination) ProtoMessage

func (*KubernetesServiceDestination) ProtoMessage()

func (*KubernetesServiceDestination) Reset

func (m *KubernetesServiceDestination) Reset()

func (*KubernetesServiceDestination) String

func (*KubernetesServiceDestination) XXX_DiscardUnknown

func (m *KubernetesServiceDestination) XXX_DiscardUnknown()

func (*KubernetesServiceDestination) XXX_Marshal

func (m *KubernetesServiceDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KubernetesServiceDestination) XXX_Merge

func (m *KubernetesServiceDestination) XXX_Merge(src proto.Message)

func (*KubernetesServiceDestination) XXX_Size

func (m *KubernetesServiceDestination) XXX_Size() int

func (*KubernetesServiceDestination) XXX_Unmarshal

func (m *KubernetesServiceDestination) XXX_Unmarshal(b []byte) error

type Listener

type Listener struct {
	// the name of the listener. names must be unique for each listener within a proxy
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// the bind address for the listener.
	// both ipv4 and ipv6 formats are supported
	BindAddress string `protobuf:"bytes,2,opt,name=bind_address,json=bindAddress,proto3" json:"bind_address,omitempty"`
	// the port to bind on
	// ports numbers must be unique for listeners within a proxy
	BindPort uint32 `protobuf:"varint,3,opt,name=bind_port,json=bindPort,proto3" json:"bind_port,omitempty"`
	// Listeners can listen for HTTP, TCP (unsupported), and UDP (unsupported) connections
	//
	// Types that are valid to be assigned to ListenerType:
	//	*Listener_HttpListener
	//	*Listener_TcpListener
	ListenerType isListener_ListenerType `protobuf_oneof:"ListenerType"`
	// SSL Config is optional for the listener. If provided, the listener will serve TLS for connections on this port.
	// Multiple SslConfigs are supported for the purpose of SNI. Be aware that the SNI domain provided in the SSL Config
	SslConfigurations []*SslConfig `protobuf:"bytes,6,rep,name=ssl_configurations,json=sslConfigurations,proto3" json:"ssl_configurations,omitempty"`
	// Enable ProxyProtocol support for this listener
	UseProxyProto *types.BoolValue `protobuf:"bytes,7,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"`
	// top level plugins
	Plugins *ListenerPlugins `protobuf:"bytes,8,opt,name=plugins,proto3" json:"plugins,omitempty"`
	// Metadata for the individual listener
	// This data is opaque to Gloo, used
	// by controllers to track ownership of listeners within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata             *types.Struct `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Listeners define the address:port where the proxy will listen for incoming connections A Listener accepts connections (currently only HTTP is supported) and apply user-defined behavior for those connections, e.g. performing SSL termination, HTTP retries, and rate limiting.

func (*Listener) Descriptor

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

func (*Listener) Equal

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

func (*Listener) GetBindAddress

func (m *Listener) GetBindAddress() string

func (*Listener) GetBindPort

func (m *Listener) GetBindPort() uint32

func (*Listener) GetHttpListener

func (m *Listener) GetHttpListener() *HttpListener

func (*Listener) GetListenerType

func (m *Listener) GetListenerType() isListener_ListenerType

func (*Listener) GetMetadata

func (m *Listener) GetMetadata() *types.Struct

func (*Listener) GetName

func (m *Listener) GetName() string

func (*Listener) GetPlugins

func (m *Listener) GetPlugins() *ListenerPlugins

func (*Listener) GetSslConfigurations

func (m *Listener) GetSslConfigurations() []*SslConfig

func (*Listener) GetTcpListener

func (m *Listener) GetTcpListener() *TcpListener

func (*Listener) GetUseProxyProto

func (m *Listener) GetUseProxyProto() *types.BoolValue

func (*Listener) ProtoMessage

func (*Listener) ProtoMessage()

func (*Listener) Reset

func (m *Listener) Reset()

func (*Listener) String

func (m *Listener) String() string

func (*Listener) XXX_DiscardUnknown

func (m *Listener) XXX_DiscardUnknown()

func (*Listener) XXX_Marshal

func (m *Listener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Listener) XXX_Merge

func (m *Listener) XXX_Merge(src proto.Message)

func (*Listener) XXX_OneofWrappers

func (*Listener) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Listener) XXX_Size

func (m *Listener) XXX_Size() int

func (*Listener) XXX_Unmarshal

func (m *Listener) XXX_Unmarshal(b []byte) error

type ListenerPlugins

type ListenerPlugins struct {
	AccessLoggingService *als.AccessLoggingService `protobuf:"bytes,1,opt,name=access_logging_service,json=accessLoggingService,proto3" json:"access_logging_service,omitempty"`
	// Deprecated: Opaque config for Gloo plugins
	Extensions           *Extensions `protobuf:"bytes,2,opt,name=extensions,proto3" json:"extensions,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Plugin-specific configuration that lives on gateways Each ListenerPlugin object contains configuration for a specific plugin Note to developers: new Listener Plugins must be added to this struct to be usable by Gloo.

func (*ListenerPlugins) Descriptor

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

func (*ListenerPlugins) Equal

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

func (*ListenerPlugins) GetAccessLoggingService

func (m *ListenerPlugins) GetAccessLoggingService() *als.AccessLoggingService

func (*ListenerPlugins) GetExtensions deprecated

func (m *ListenerPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*ListenerPlugins) ProtoMessage

func (*ListenerPlugins) ProtoMessage()

func (*ListenerPlugins) Reset

func (m *ListenerPlugins) Reset()

func (*ListenerPlugins) String

func (m *ListenerPlugins) String() string

func (*ListenerPlugins) XXX_DiscardUnknown

func (m *ListenerPlugins) XXX_DiscardUnknown()

func (*ListenerPlugins) XXX_Marshal

func (m *ListenerPlugins) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ListenerPlugins) XXX_Merge

func (m *ListenerPlugins) XXX_Merge(src proto.Message)

func (*ListenerPlugins) XXX_Size

func (m *ListenerPlugins) XXX_Size() int

func (*ListenerPlugins) XXX_Unmarshal

func (m *ListenerPlugins) XXX_Unmarshal(b []byte) error

type Listener_HttpListener

type Listener_HttpListener struct {
	HttpListener *HttpListener `protobuf:"bytes,4,opt,name=http_listener,json=httpListener,proto3,oneof" json:"http_listener,omitempty"`
}

func (*Listener_HttpListener) Equal

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

type Listener_TcpListener

type Listener_TcpListener struct {
	TcpListener *TcpListener `protobuf:"bytes,5,opt,name=tcp_listener,json=tcpListener,proto3,oneof" json:"tcp_listener,omitempty"`
}

func (*Listener_TcpListener) Equal

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

type LoadBalancerConfig

type LoadBalancerConfig struct {
	// Configures envoy's panic threshold Percent between 0-100. Once the number of non health hosts
	// reaches this percentage, envoy disregards health information.
	// see more info [here](https://www.envoyproxy.io/docs/envoy/v1.10.0/intro/arch_overview/load_balancing/panic_threshold#arch-overview-load-balancing-panic-threshold).
	HealthyPanicThreshold *types.DoubleValue `` /* 126-byte string literal not displayed */
	// This allows batch updates of endpoints health/weight/metadata that happen during a time window.
	// this help lower cpu usage when endpoint change rate is high. defaults to 1 second.
	// Set to 0 to disable and have changes applied immediately.
	UpdateMergeWindow *time.Duration `` /* 126-byte string literal not displayed */
	// Types that are valid to be assigned to Type:
	//	*LoadBalancerConfig_RoundRobin_
	//	*LoadBalancerConfig_LeastRequest_
	//	*LoadBalancerConfig_Random_
	//	*LoadBalancerConfig_RingHash_
	//	*LoadBalancerConfig_Maglev_
	Type                 isLoadBalancerConfig_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

LoadBalancerConfig is the settings for the load balancer used to send request to the Upstream endpoints.

func (*LoadBalancerConfig) Descriptor

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

func (*LoadBalancerConfig) Equal

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

func (*LoadBalancerConfig) GetHealthyPanicThreshold

func (m *LoadBalancerConfig) GetHealthyPanicThreshold() *types.DoubleValue

func (*LoadBalancerConfig) GetLeastRequest

func (*LoadBalancerConfig) GetMaglev

func (*LoadBalancerConfig) GetRandom

func (*LoadBalancerConfig) GetRingHash

func (*LoadBalancerConfig) GetRoundRobin

func (*LoadBalancerConfig) GetType

func (m *LoadBalancerConfig) GetType() isLoadBalancerConfig_Type

func (*LoadBalancerConfig) GetUpdateMergeWindow

func (m *LoadBalancerConfig) GetUpdateMergeWindow() *time.Duration

func (*LoadBalancerConfig) ProtoMessage

func (*LoadBalancerConfig) ProtoMessage()

func (*LoadBalancerConfig) Reset

func (m *LoadBalancerConfig) Reset()

func (*LoadBalancerConfig) String

func (m *LoadBalancerConfig) String() string

func (*LoadBalancerConfig) XXX_DiscardUnknown

func (m *LoadBalancerConfig) XXX_DiscardUnknown()

func (*LoadBalancerConfig) XXX_Marshal

func (m *LoadBalancerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig) XXX_Merge

func (m *LoadBalancerConfig) XXX_Merge(src proto.Message)

func (*LoadBalancerConfig) XXX_OneofWrappers

func (*LoadBalancerConfig) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*LoadBalancerConfig) XXX_Size

func (m *LoadBalancerConfig) XXX_Size() int

func (*LoadBalancerConfig) XXX_Unmarshal

func (m *LoadBalancerConfig) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_LeastRequest

type LoadBalancerConfig_LeastRequest struct {
	// How many choices to take into account. defaults to 2.
	ChoiceCount          uint32   `protobuf:"varint,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*LoadBalancerConfig_LeastRequest) Descriptor

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

func (*LoadBalancerConfig_LeastRequest) Equal

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

func (*LoadBalancerConfig_LeastRequest) GetChoiceCount

func (m *LoadBalancerConfig_LeastRequest) GetChoiceCount() uint32

func (*LoadBalancerConfig_LeastRequest) ProtoMessage

func (*LoadBalancerConfig_LeastRequest) ProtoMessage()

func (*LoadBalancerConfig_LeastRequest) Reset

func (*LoadBalancerConfig_LeastRequest) String

func (*LoadBalancerConfig_LeastRequest) XXX_DiscardUnknown

func (m *LoadBalancerConfig_LeastRequest) XXX_DiscardUnknown()

func (*LoadBalancerConfig_LeastRequest) XXX_Marshal

func (m *LoadBalancerConfig_LeastRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig_LeastRequest) XXX_Merge

func (m *LoadBalancerConfig_LeastRequest) XXX_Merge(src proto.Message)

func (*LoadBalancerConfig_LeastRequest) XXX_Size

func (m *LoadBalancerConfig_LeastRequest) XXX_Size() int

func (*LoadBalancerConfig_LeastRequest) XXX_Unmarshal

func (m *LoadBalancerConfig_LeastRequest) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_LeastRequest_

type LoadBalancerConfig_LeastRequest_ struct {
	LeastRequest *LoadBalancerConfig_LeastRequest `protobuf:"bytes,4,opt,name=least_request,json=leastRequest,proto3,oneof" json:"least_request,omitempty"`
}

func (*LoadBalancerConfig_LeastRequest_) Equal

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

type LoadBalancerConfig_Maglev

type LoadBalancerConfig_Maglev struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*LoadBalancerConfig_Maglev) Descriptor

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

func (*LoadBalancerConfig_Maglev) Equal

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

func (*LoadBalancerConfig_Maglev) ProtoMessage

func (*LoadBalancerConfig_Maglev) ProtoMessage()

func (*LoadBalancerConfig_Maglev) Reset

func (m *LoadBalancerConfig_Maglev) Reset()

func (*LoadBalancerConfig_Maglev) String

func (m *LoadBalancerConfig_Maglev) String() string

func (*LoadBalancerConfig_Maglev) XXX_DiscardUnknown

func (m *LoadBalancerConfig_Maglev) XXX_DiscardUnknown()

func (*LoadBalancerConfig_Maglev) XXX_Marshal

func (m *LoadBalancerConfig_Maglev) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig_Maglev) XXX_Merge

func (m *LoadBalancerConfig_Maglev) XXX_Merge(src proto.Message)

func (*LoadBalancerConfig_Maglev) XXX_Size

func (m *LoadBalancerConfig_Maglev) XXX_Size() int

func (*LoadBalancerConfig_Maglev) XXX_Unmarshal

func (m *LoadBalancerConfig_Maglev) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_Maglev_

type LoadBalancerConfig_Maglev_ struct {
	Maglev *LoadBalancerConfig_Maglev `protobuf:"bytes,7,opt,name=maglev,proto3,oneof" json:"maglev,omitempty"`
}

func (*LoadBalancerConfig_Maglev_) Equal

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

type LoadBalancerConfig_Random

type LoadBalancerConfig_Random struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*LoadBalancerConfig_Random) Descriptor

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

func (*LoadBalancerConfig_Random) Equal

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

func (*LoadBalancerConfig_Random) ProtoMessage

func (*LoadBalancerConfig_Random) ProtoMessage()

func (*LoadBalancerConfig_Random) Reset

func (m *LoadBalancerConfig_Random) Reset()

func (*LoadBalancerConfig_Random) String

func (m *LoadBalancerConfig_Random) String() string

func (*LoadBalancerConfig_Random) XXX_DiscardUnknown

func (m *LoadBalancerConfig_Random) XXX_DiscardUnknown()

func (*LoadBalancerConfig_Random) XXX_Marshal

func (m *LoadBalancerConfig_Random) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig_Random) XXX_Merge

func (m *LoadBalancerConfig_Random) XXX_Merge(src proto.Message)

func (*LoadBalancerConfig_Random) XXX_Size

func (m *LoadBalancerConfig_Random) XXX_Size() int

func (*LoadBalancerConfig_Random) XXX_Unmarshal

func (m *LoadBalancerConfig_Random) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_Random_

type LoadBalancerConfig_Random_ struct {
	Random *LoadBalancerConfig_Random `protobuf:"bytes,5,opt,name=random,proto3,oneof" json:"random,omitempty"`
}

func (*LoadBalancerConfig_Random_) Equal

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

type LoadBalancerConfig_RingHash

type LoadBalancerConfig_RingHash struct {
	// Optional, customizes the parameters used in the hashing algorithm
	RingHashConfig       *LoadBalancerConfig_RingHashConfig `protobuf:"bytes,1,opt,name=ring_hash_config,json=ringHashConfig,proto3" json:"ring_hash_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
	XXX_unrecognized     []byte                             `json:"-"`
	XXX_sizecache        int32                              `json:"-"`
}

func (*LoadBalancerConfig_RingHash) Descriptor

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

func (*LoadBalancerConfig_RingHash) Equal

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

func (*LoadBalancerConfig_RingHash) GetRingHashConfig

func (*LoadBalancerConfig_RingHash) ProtoMessage

func (*LoadBalancerConfig_RingHash) ProtoMessage()

func (*LoadBalancerConfig_RingHash) Reset

func (m *LoadBalancerConfig_RingHash) Reset()

func (*LoadBalancerConfig_RingHash) String

func (m *LoadBalancerConfig_RingHash) String() string

func (*LoadBalancerConfig_RingHash) XXX_DiscardUnknown

func (m *LoadBalancerConfig_RingHash) XXX_DiscardUnknown()

func (*LoadBalancerConfig_RingHash) XXX_Marshal

func (m *LoadBalancerConfig_RingHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig_RingHash) XXX_Merge

func (m *LoadBalancerConfig_RingHash) XXX_Merge(src proto.Message)

func (*LoadBalancerConfig_RingHash) XXX_Size

func (m *LoadBalancerConfig_RingHash) XXX_Size() int

func (*LoadBalancerConfig_RingHash) XXX_Unmarshal

func (m *LoadBalancerConfig_RingHash) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_RingHashConfig

type LoadBalancerConfig_RingHashConfig struct {
	// Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each provided host)
	// the better the request distribution will reflect the desired weights. Defaults to 1024 entries, and limited
	// to 8M entries.
	MinimumRingSize uint64 `protobuf:"varint,1,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
	// Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered to further
	// constrain resource use.
	MaximumRingSize      uint64   `protobuf:"varint,2,opt,name=maximum_ring_size,json=maximumRingSize,proto3" json:"maximum_ring_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Customizes the parameters used in the hashing algorithm to refine performance or resource usage.

func (*LoadBalancerConfig_RingHashConfig) Descriptor

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

func (*LoadBalancerConfig_RingHashConfig) Equal

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

func (*LoadBalancerConfig_RingHashConfig) GetMaximumRingSize

func (m *LoadBalancerConfig_RingHashConfig) GetMaximumRingSize() uint64

func (*LoadBalancerConfig_RingHashConfig) GetMinimumRingSize

func (m *LoadBalancerConfig_RingHashConfig) GetMinimumRingSize() uint64

func (*LoadBalancerConfig_RingHashConfig) ProtoMessage

func (*LoadBalancerConfig_RingHashConfig) ProtoMessage()

func (*LoadBalancerConfig_RingHashConfig) Reset

func (*LoadBalancerConfig_RingHashConfig) String

func (*LoadBalancerConfig_RingHashConfig) XXX_DiscardUnknown

func (m *LoadBalancerConfig_RingHashConfig) XXX_DiscardUnknown()

func (*LoadBalancerConfig_RingHashConfig) XXX_Marshal

func (m *LoadBalancerConfig_RingHashConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig_RingHashConfig) XXX_Merge

func (*LoadBalancerConfig_RingHashConfig) XXX_Size

func (m *LoadBalancerConfig_RingHashConfig) XXX_Size() int

func (*LoadBalancerConfig_RingHashConfig) XXX_Unmarshal

func (m *LoadBalancerConfig_RingHashConfig) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_RingHash_

type LoadBalancerConfig_RingHash_ struct {
	RingHash *LoadBalancerConfig_RingHash `protobuf:"bytes,6,opt,name=ring_hash,json=ringHash,proto3,oneof" json:"ring_hash,omitempty"`
}

func (*LoadBalancerConfig_RingHash_) Equal

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

type LoadBalancerConfig_RoundRobin

type LoadBalancerConfig_RoundRobin struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*LoadBalancerConfig_RoundRobin) Descriptor

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

func (*LoadBalancerConfig_RoundRobin) Equal

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

func (*LoadBalancerConfig_RoundRobin) ProtoMessage

func (*LoadBalancerConfig_RoundRobin) ProtoMessage()

func (*LoadBalancerConfig_RoundRobin) Reset

func (m *LoadBalancerConfig_RoundRobin) Reset()

func (*LoadBalancerConfig_RoundRobin) String

func (*LoadBalancerConfig_RoundRobin) XXX_DiscardUnknown

func (m *LoadBalancerConfig_RoundRobin) XXX_DiscardUnknown()

func (*LoadBalancerConfig_RoundRobin) XXX_Marshal

func (m *LoadBalancerConfig_RoundRobin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalancerConfig_RoundRobin) XXX_Merge

func (m *LoadBalancerConfig_RoundRobin) XXX_Merge(src proto.Message)

func (*LoadBalancerConfig_RoundRobin) XXX_Size

func (m *LoadBalancerConfig_RoundRobin) XXX_Size() int

func (*LoadBalancerConfig_RoundRobin) XXX_Unmarshal

func (m *LoadBalancerConfig_RoundRobin) XXX_Unmarshal(b []byte) error

type LoadBalancerConfig_RoundRobin_

type LoadBalancerConfig_RoundRobin_ struct {
	RoundRobin *LoadBalancerConfig_RoundRobin `protobuf:"bytes,3,opt,name=round_robin,json=roundRobin,proto3,oneof" json:"round_robin,omitempty"`
}

func (*LoadBalancerConfig_RoundRobin_) Equal

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

type Matcher

type Matcher struct {
	// Types that are valid to be assigned to PathSpecifier:
	//	*Matcher_Prefix
	//	*Matcher_Exact
	//	*Matcher_Regex
	PathSpecifier isMatcher_PathSpecifier `protobuf_oneof:"path_specifier"`
	// Specifies a set of headers that the route should match on. The router will
	// check the request’s headers against all the specified headers in the route
	// config. A match will happen if all the headers in the route are present in
	// the request with the same values (or based on presence if the value field
	// is not in the config).
	Headers []*HeaderMatcher `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty"`
	// Specifies a set of URL query parameters on which the route should
	// match. The router will check the query string from the *path* header
	// against all the specified query parameters. If the number of specified
	// query parameters is nonzero, they all must match the *path* header's
	// query string for a match to occur.
	QueryParameters []*QueryParameterMatcher `protobuf:"bytes,7,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"`
	// HTTP Method/Verb(s) to match on. If none specified, the matcher will ignore the HTTP Method
	Methods              []string `protobuf:"bytes,8,rep,name=methods,proto3" json:"methods,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Parameters for matching routes to requests received by a Gloo-managed proxy

func (*Matcher) Descriptor

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

func (*Matcher) Equal

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

func (*Matcher) GetExact

func (m *Matcher) GetExact() string

func (*Matcher) GetHeaders

func (m *Matcher) GetHeaders() []*HeaderMatcher

func (*Matcher) GetMethods

func (m *Matcher) GetMethods() []string

func (*Matcher) GetPathSpecifier

func (m *Matcher) GetPathSpecifier() isMatcher_PathSpecifier

func (*Matcher) GetPrefix

func (m *Matcher) GetPrefix() string

func (*Matcher) GetQueryParameters

func (m *Matcher) GetQueryParameters() []*QueryParameterMatcher

func (*Matcher) GetRegex

func (m *Matcher) GetRegex() string

func (*Matcher) ProtoMessage

func (*Matcher) ProtoMessage()

func (*Matcher) Reset

func (m *Matcher) Reset()

func (*Matcher) String

func (m *Matcher) String() string

func (*Matcher) XXX_DiscardUnknown

func (m *Matcher) XXX_DiscardUnknown()

func (*Matcher) XXX_Marshal

func (m *Matcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Matcher) XXX_Merge

func (m *Matcher) XXX_Merge(src proto.Message)

func (*Matcher) XXX_OneofWrappers

func (*Matcher) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Matcher) XXX_Size

func (m *Matcher) XXX_Size() int

func (*Matcher) XXX_Unmarshal

func (m *Matcher) XXX_Unmarshal(b []byte) error

type Matcher_Exact

type Matcher_Exact struct {
	Exact string `protobuf:"bytes,2,opt,name=exact,proto3,oneof" json:"exact,omitempty"`
}

func (*Matcher_Exact) Equal

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

type Matcher_Prefix

type Matcher_Prefix struct {
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"`
}

func (*Matcher_Prefix) Equal

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

type Matcher_Regex

type Matcher_Regex struct {
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof" json:"regex,omitempty"`
}

func (*Matcher_Regex) Equal

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

type MultiDestination

type MultiDestination struct {
	// This list must contain at least one destination or the listener housing this route will be invalid,
	// causing Gloo to error the parent proxy resource.
	Destinations         []*WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

MultiDestination is a container for a set of weighted destinations. Gloo will load balance traffic for a single route across multiple destinations according to their specified weights.

func (*MultiDestination) Descriptor

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

func (*MultiDestination) Equal

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

func (*MultiDestination) GetDestinations

func (m *MultiDestination) GetDestinations() []*WeightedDestination

func (*MultiDestination) ProtoMessage

func (*MultiDestination) ProtoMessage()

func (*MultiDestination) Reset

func (m *MultiDestination) Reset()

func (*MultiDestination) String

func (m *MultiDestination) String() string

func (*MultiDestination) XXX_DiscardUnknown

func (m *MultiDestination) XXX_DiscardUnknown()

func (*MultiDestination) XXX_Marshal

func (m *MultiDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MultiDestination) XXX_Merge

func (m *MultiDestination) XXX_Merge(src proto.Message)

func (*MultiDestination) XXX_Size

func (m *MultiDestination) XXX_Size() int

func (*MultiDestination) XXX_Unmarshal

func (m *MultiDestination) XXX_Unmarshal(b []byte) error

type OutlierDetection

type OutlierDetection struct {
	// The number of consecutive 5xx responses or local origin errors that are mapped
	// to 5xx error codes before a consecutive 5xx ejection
	// occurs. Defaults to 5.
	Consecutive_5Xx *types.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx,proto3" json:"consecutive_5xx,omitempty"`
	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as hosts being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *types.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
	// The base time that a host is ejected for. The real time is equal to the
	// base time multiplied by the number of times the host has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *types.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// The maximum % of an upstream cluster that can be ejected due to outlier
	// detection. Defaults to 10% but will eject at least one host regardless of the value.
	MaxEjectionPercent *types.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutive_5Xx *types.UInt32Value `` /* 132-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *types.UInt32Value `protobuf:"bytes,6,opt,name=enforcing_success_rate,json=enforcingSuccessRate,proto3" json:"enforcing_success_rate,omitempty"`
	// The number of hosts in a cluster that must have enough request volume to
	// detect success rate outliers. If the number of hosts is less than this
	// setting, outlier detection via success rate statistics is not performed
	// for any host in the cluster. Defaults to 5.
	SuccessRateMinimumHosts *types.UInt32Value `` /* 134-byte string literal not displayed */
	// The minimum number of total requests that must be collected in one
	// interval (as defined by the interval duration above) to include this host
	// in success rate based outlier detection. If the volume is lower than this
	// setting, outlier detection via success rate statistics is not performed
	// for that host. Defaults to 100.
	SuccessRateRequestVolume *types.UInt32Value `` /* 137-byte string literal not displayed */
	// This factor is used to determine the ejection threshold for success rate
	// outlier ejection. The ejection threshold is the difference between the
	// mean success rate, and the product of this factor and the standard
	// deviation of the mean success rate: mean - (stdev *
	// success_rate_stdev_factor). This factor is divided by a thousand to get a
	// double. That is, if the desired factor is 1.9, the runtime value should
	// be 1900. Defaults to 1900.
	SuccessRateStdevFactor *types.UInt32Value `` /* 131-byte string literal not displayed */
	// The number of consecutive gateway failures (502, 503, 504 status codes)
	// before a consecutive gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *types.UInt32Value `` /* 139-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *types.UInt32Value `` /* 168-byte string literal not displayed */
	// Determines whether to distinguish local origin failures from external errors. If set to true
	// the following configuration parameters are taken into account:
	// :ref:`consecutive_local_origin_failure<envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure>`,
	// :ref:`enforcing_consecutive_local_origin_failure<envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure>`
	// and
	// :ref:`enforcing_local_origin_success_rate<envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate>`.
	// Defaults to false.
	SplitExternalLocalOriginErrors bool `` /* 159-byte string literal not displayed */
	// The number of consecutive locally originated failures before ejection
	// occurs. Defaults to 5. Parameter takes effect only when
	// :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
	// is set to true.
	ConsecutiveLocalOriginFailure *types.UInt32Value `` /* 153-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive locally originated failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 100.
	// Parameter takes effect only when
	// :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
	// is set to true.
	EnforcingConsecutiveLocalOriginFailure *types.UInt32Value `` /* 182-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through success rate statistics for locally originated errors.
	// This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
	// Parameter takes effect only when
	// :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
	// is set to true.
	EnforcingLocalOriginSuccessRate *types.UInt32Value `` /* 161-byte string literal not displayed */
	XXX_NoUnkeyedLiteral            struct{}           `json:"-"`
	XXX_unrecognized                []byte             `json:"-"`
	XXX_sizecache                   int32              `json:"-"`
}

Envoy cluster health check configuration

See [envoy docs](https://www.envoyproxy.io/docs/envoy/v1.11.0/intro/arch_overview/upstream/outlier#arch-overview-outlier-detection) for more information on how health checks work in envoy Or examine the [config definition](https://github.com/envoyproxy/envoy/blob/v1.11.0/api/envoy/api/v2/cluster/outlier_detection.proto#L22).

func (*OutlierDetection) Descriptor

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

func (*OutlierDetection) Equal

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

func (*OutlierDetection) GetBaseEjectionTime

func (m *OutlierDetection) GetBaseEjectionTime() *types.Duration

func (*OutlierDetection) GetConsecutiveGatewayFailure

func (m *OutlierDetection) GetConsecutiveGatewayFailure() *types.UInt32Value

func (*OutlierDetection) GetConsecutiveLocalOriginFailure

func (m *OutlierDetection) GetConsecutiveLocalOriginFailure() *types.UInt32Value

func (*OutlierDetection) GetConsecutive_5Xx

func (m *OutlierDetection) GetConsecutive_5Xx() *types.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutiveGatewayFailure

func (m *OutlierDetection) GetEnforcingConsecutiveGatewayFailure() *types.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure

func (m *OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure() *types.UInt32Value

func (*OutlierDetection) GetEnforcingConsecutive_5Xx

func (m *OutlierDetection) GetEnforcingConsecutive_5Xx() *types.UInt32Value

func (*OutlierDetection) GetEnforcingLocalOriginSuccessRate

func (m *OutlierDetection) GetEnforcingLocalOriginSuccessRate() *types.UInt32Value

func (*OutlierDetection) GetEnforcingSuccessRate

func (m *OutlierDetection) GetEnforcingSuccessRate() *types.UInt32Value

func (*OutlierDetection) GetInterval

func (m *OutlierDetection) GetInterval() *types.Duration

func (*OutlierDetection) GetMaxEjectionPercent

func (m *OutlierDetection) GetMaxEjectionPercent() *types.UInt32Value

func (*OutlierDetection) GetSplitExternalLocalOriginErrors

func (m *OutlierDetection) GetSplitExternalLocalOriginErrors() bool

func (*OutlierDetection) GetSuccessRateMinimumHosts

func (m *OutlierDetection) GetSuccessRateMinimumHosts() *types.UInt32Value

func (*OutlierDetection) GetSuccessRateRequestVolume

func (m *OutlierDetection) GetSuccessRateRequestVolume() *types.UInt32Value

func (*OutlierDetection) GetSuccessRateStdevFactor

func (m *OutlierDetection) GetSuccessRateStdevFactor() *types.UInt32Value

func (*OutlierDetection) ProtoMessage

func (*OutlierDetection) ProtoMessage()

func (*OutlierDetection) Reset

func (m *OutlierDetection) Reset()

func (*OutlierDetection) String

func (m *OutlierDetection) String() string

func (*OutlierDetection) XXX_DiscardUnknown

func (m *OutlierDetection) XXX_DiscardUnknown()

func (*OutlierDetection) XXX_Marshal

func (m *OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*OutlierDetection) XXX_Merge

func (m *OutlierDetection) XXX_Merge(src proto.Message)

func (*OutlierDetection) XXX_Size

func (m *OutlierDetection) XXX_Size() int

func (*OutlierDetection) XXX_Unmarshal

func (m *OutlierDetection) XXX_Unmarshal(b []byte) error

type Proxy

type Proxy struct {
	// Define here each listener the proxy should create.
	// Listeners define the a set of behaviors for a single bind address/port where the proxy will listen
	// If no listeners are specified, the instances configured with the proxy resource will not accept connections.
	Listeners []*Listener `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status core.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata             core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

A Proxy is a container for the entire set of configuration that will to be applied to one or more Proxy instances. Proxies can be understood as a set of listeners, represents a different bind address/port where the proxy will listen for connections. Each listener has its own set of configuration.

If any of the sub-resources within a listener is declared invalid (e.g. due to invalid user configuration), the proxy will be marked invalid by Gloo.

Proxy instances that register with Gloo are assigned the proxy configuration corresponding with a proxy-specific identifier. In the case of Envoy, proxy instances are identified by their Node ID. Node IDs must match a existing Proxy Node ID can be specified in Envoy with the `--service-node` flag, or in the Envoy instance's bootstrap config.

func NewProxy

func NewProxy(namespace, name string) *Proxy

func (*Proxy) DeepCopyInto

func (o *Proxy) DeepCopyInto(out *Proxy)

func (*Proxy) DeepCopyObject

func (o *Proxy) DeepCopyObject() runtime.Object

func (*Proxy) Descriptor

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

func (*Proxy) Equal

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

func (*Proxy) GetListeners

func (m *Proxy) GetListeners() []*Listener

func (*Proxy) GetMetadata

func (m *Proxy) GetMetadata() core.Metadata

func (*Proxy) GetObjectKind

func (o *Proxy) GetObjectKind() schema.ObjectKind

func (*Proxy) GetStatus

func (m *Proxy) GetStatus() core.Status

func (*Proxy) GroupVersionKind

func (r *Proxy) GroupVersionKind() schema.GroupVersionKind

func (*Proxy) Hash

func (r *Proxy) Hash() uint64

func (*Proxy) ProtoMessage

func (*Proxy) ProtoMessage()

func (*Proxy) Reset

func (m *Proxy) Reset()

func (*Proxy) SetMetadata

func (r *Proxy) SetMetadata(meta core.Metadata)

func (*Proxy) SetStatus

func (r *Proxy) SetStatus(status core.Status)

func (*Proxy) String

func (m *Proxy) String() string

func (*Proxy) XXX_DiscardUnknown

func (m *Proxy) XXX_DiscardUnknown()

func (*Proxy) XXX_Marshal

func (m *Proxy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Proxy) XXX_Merge

func (m *Proxy) XXX_Merge(src proto.Message)

func (*Proxy) XXX_Size

func (m *Proxy) XXX_Size() int

func (*Proxy) XXX_Unmarshal

func (m *Proxy) XXX_Unmarshal(b []byte) error

type ProxyClient

type ProxyClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Proxy, error)
	Write(resource *Proxy, opts clients.WriteOpts) (*Proxy, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (ProxyList, error)
	ProxyWatcher
}

func NewProxyClient

func NewProxyClient(rcFactory factory.ResourceClientFactory) (ProxyClient, error)

func NewProxyClientWithBase

func NewProxyClientWithBase(rc clients.ResourceClient) ProxyClient

func NewProxyClientWithToken

func NewProxyClientWithToken(rcFactory factory.ResourceClientFactory, token string) (ProxyClient, error)

type ProxyList

type ProxyList []*Proxy

func (ProxyList) AsInputResources

func (list ProxyList) AsInputResources() resources.InputResourceList

func (ProxyList) AsInterfaces

func (list ProxyList) AsInterfaces() []interface{}

func (ProxyList) AsResources

func (list ProxyList) AsResources() resources.ResourceList

func (ProxyList) Clone

func (list ProxyList) Clone() ProxyList

func (ProxyList) Each

func (list ProxyList) Each(f func(element *Proxy))

func (ProxyList) EachResource

func (list ProxyList) EachResource(f func(element resources.Resource))

func (ProxyList) Find

func (list ProxyList) Find(namespace, name string) (*Proxy, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (ProxyList) Names

func (list ProxyList) Names() []string

func (ProxyList) NamespacesDotNames

func (list ProxyList) NamespacesDotNames() []string

func (ProxyList) Sort

func (list ProxyList) Sort() ProxyList

type ProxyReconciler

type ProxyReconciler interface {
	Reconcile(namespace string, desiredResources ProxyList, transition TransitionProxyFunc, opts clients.ListOpts) error
}

func NewProxyReconciler

func NewProxyReconciler(client ProxyClient) ProxyReconciler

type ProxyWatcher

type ProxyWatcher interface {
	// watch namespace-scoped Proxies
	Watch(namespace string, opts clients.WatchOpts) (<-chan ProxyList, <-chan error, error)
}

type QueryParameterMatcher

type QueryParameterMatcher struct {
	// Specifies the name of a key that must be present in the requested
	// *path*'s query string.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Specifies the value of the key. If the value is absent, a request
	// that contains the key in its query string will match, whether the
	// key appears with a value (e.g., "?debug=true") or not (e.g., "?debug")
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// Specifies whether the query parameter value is a regular expression.
	// Defaults to false. The entire query parameter value (i.e., the part to
	// the right of the equals sign in "key=value") must match the regex.
	// E.g., the regex "\d+$" will match "123" but not "a123" or "123a".
	Regex                bool     `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Query parameter matching treats the query string of a request's :path header as an ampersand-separated list of keys and/or key=value elements.

func (*QueryParameterMatcher) Descriptor

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

func (*QueryParameterMatcher) Equal

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

func (*QueryParameterMatcher) GetName

func (m *QueryParameterMatcher) GetName() string

func (*QueryParameterMatcher) GetRegex

func (m *QueryParameterMatcher) GetRegex() bool

func (*QueryParameterMatcher) GetValue

func (m *QueryParameterMatcher) GetValue() string

func (*QueryParameterMatcher) ProtoMessage

func (*QueryParameterMatcher) ProtoMessage()

func (*QueryParameterMatcher) Reset

func (m *QueryParameterMatcher) Reset()

func (*QueryParameterMatcher) String

func (m *QueryParameterMatcher) String() string

func (*QueryParameterMatcher) XXX_DiscardUnknown

func (m *QueryParameterMatcher) XXX_DiscardUnknown()

func (*QueryParameterMatcher) XXX_Marshal

func (m *QueryParameterMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryParameterMatcher) XXX_Merge

func (m *QueryParameterMatcher) XXX_Merge(src proto.Message)

func (*QueryParameterMatcher) XXX_Size

func (m *QueryParameterMatcher) XXX_Size() int

func (*QueryParameterMatcher) XXX_Unmarshal

func (m *QueryParameterMatcher) XXX_Unmarshal(b []byte) error

type RedirectAction

type RedirectAction struct {
	// The host portion of the URL will be swapped with this value.
	HostRedirect string `protobuf:"bytes,1,opt,name=host_redirect,json=hostRedirect,proto3" json:"host_redirect,omitempty"`
	// Types that are valid to be assigned to PathRewriteSpecifier:
	//	*RedirectAction_PathRedirect
	//	*RedirectAction_PrefixRewrite
	PathRewriteSpecifier isRedirectAction_PathRewriteSpecifier `protobuf_oneof:"path_rewrite_specifier"`
	// The HTTP status code to use in the redirect response. The default response
	// code is MOVED_PERMANENTLY (301).
	ResponseCode RedirectAction_RedirectResponseCode `` /* 152-byte string literal not displayed */
	// The scheme portion of the URL will be swapped with "https".
	HttpsRedirect bool `protobuf:"varint,4,opt,name=https_redirect,json=httpsRedirect,proto3" json:"https_redirect,omitempty"`
	// Indicates that during redirection, the query portion of the URL will
	// be removed. Default value is false.
	StripQuery           bool     `protobuf:"varint,6,opt,name=strip_query,json=stripQuery,proto3" json:"strip_query,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Notice: RedirectAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto

func (*RedirectAction) Descriptor

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

func (*RedirectAction) Equal

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

func (*RedirectAction) GetHostRedirect

func (m *RedirectAction) GetHostRedirect() string

func (*RedirectAction) GetHttpsRedirect

func (m *RedirectAction) GetHttpsRedirect() bool

func (*RedirectAction) GetPathRedirect

func (m *RedirectAction) GetPathRedirect() string

func (*RedirectAction) GetPathRewriteSpecifier

func (m *RedirectAction) GetPathRewriteSpecifier() isRedirectAction_PathRewriteSpecifier

func (*RedirectAction) GetPrefixRewrite

func (m *RedirectAction) GetPrefixRewrite() string

func (*RedirectAction) GetResponseCode

func (*RedirectAction) GetStripQuery

func (m *RedirectAction) GetStripQuery() bool

func (*RedirectAction) ProtoMessage

func (*RedirectAction) ProtoMessage()

func (*RedirectAction) Reset

func (m *RedirectAction) Reset()

func (*RedirectAction) String

func (m *RedirectAction) String() string

func (*RedirectAction) XXX_DiscardUnknown

func (m *RedirectAction) XXX_DiscardUnknown()

func (*RedirectAction) XXX_Marshal

func (m *RedirectAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RedirectAction) XXX_Merge

func (m *RedirectAction) XXX_Merge(src proto.Message)

func (*RedirectAction) XXX_OneofWrappers

func (*RedirectAction) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*RedirectAction) XXX_Size

func (m *RedirectAction) XXX_Size() int

func (*RedirectAction) XXX_Unmarshal

func (m *RedirectAction) XXX_Unmarshal(b []byte) error

type RedirectAction_PathRedirect

type RedirectAction_PathRedirect struct {
	PathRedirect string `protobuf:"bytes,2,opt,name=path_redirect,json=pathRedirect,proto3,oneof" json:"path_redirect,omitempty"`
}

func (*RedirectAction_PathRedirect) Equal

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

type RedirectAction_PrefixRewrite

type RedirectAction_PrefixRewrite struct {
	PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3,oneof" json:"prefix_rewrite,omitempty"`
}

func (*RedirectAction_PrefixRewrite) Equal

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

type RedirectAction_RedirectResponseCode

type RedirectAction_RedirectResponseCode int32
const (
	// Moved Permanently HTTP Status Code - 301.
	RedirectAction_MOVED_PERMANENTLY RedirectAction_RedirectResponseCode = 0
	// Found HTTP Status Code - 302.
	RedirectAction_FOUND RedirectAction_RedirectResponseCode = 1
	// See Other HTTP Status Code - 303.
	RedirectAction_SEE_OTHER RedirectAction_RedirectResponseCode = 2
	// Temporary Redirect HTTP Status Code - 307.
	RedirectAction_TEMPORARY_REDIRECT RedirectAction_RedirectResponseCode = 3
	// Permanent Redirect HTTP Status Code - 308.
	RedirectAction_PERMANENT_REDIRECT RedirectAction_RedirectResponseCode = 4
)

func (RedirectAction_RedirectResponseCode) EnumDescriptor

func (RedirectAction_RedirectResponseCode) EnumDescriptor() ([]byte, []int)

func (RedirectAction_RedirectResponseCode) String

type Route

type Route struct {
	// Matchers contain parameters for matching requests (i.e., based on HTTP path, headers, etc.)
	// If empty, the route will match all requests (i.e, a single "/" path prefix matcher)
	Matchers []*Matcher `protobuf:"bytes,1,rep,name=matchers,proto3" json:"matchers,omitempty"`
	// The Route Action Defines what action the proxy should take when a request matches the route.
	//
	// Types that are valid to be assigned to Action:
	//	*Route_RouteAction
	//	*Route_RedirectAction
	//	*Route_DirectResponseAction
	Action isRoute_Action `protobuf_oneof:"action"`
	// Route Plugins extend the behavior of routes.
	// Route plugins include configuration such as retries,rate limiting, and request/response transformation.
	RoutePlugins *RoutePlugins `protobuf:"bytes,5,opt,name=route_plugins,json=routePlugins,proto3" json:"route_plugins,omitempty"`
	// Metadata for the individual route
	// This data is opaque to Gloo, used
	// by controllers to track ownership of routes within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata             *types.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

* Routes declare the entry points on virtual hosts and the action to take for matched requests.

func (*Route) Descriptor

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

func (*Route) Equal

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

func (*Route) GetAction

func (m *Route) GetAction() isRoute_Action

func (*Route) GetDirectResponseAction

func (m *Route) GetDirectResponseAction() *DirectResponseAction

func (*Route) GetMatchers

func (m *Route) GetMatchers() []*Matcher

func (*Route) GetMetadata

func (m *Route) GetMetadata() *types.Struct

func (*Route) GetRedirectAction

func (m *Route) GetRedirectAction() *RedirectAction

func (*Route) GetRouteAction

func (m *Route) GetRouteAction() *RouteAction

func (*Route) GetRoutePlugins

func (m *Route) GetRoutePlugins() *RoutePlugins

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) Reset

func (m *Route) Reset()

func (*Route) String

func (m *Route) String() string

func (*Route) XXX_DiscardUnknown

func (m *Route) XXX_DiscardUnknown()

func (*Route) XXX_Marshal

func (m *Route) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Route) XXX_Merge

func (m *Route) XXX_Merge(src proto.Message)

func (*Route) XXX_OneofWrappers

func (*Route) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Route) XXX_Size

func (m *Route) XXX_Size() int

func (*Route) XXX_Unmarshal

func (m *Route) XXX_Unmarshal(b []byte) error

type RouteAction

type RouteAction struct {
	// Defines the destination upstream for routing
	// Some destinations require additional configuration for the route (e.g. AWS upstreams require a function name
	// to be specified).
	//
	// Types that are valid to be assigned to Destination:
	//	*RouteAction_Single
	//	*RouteAction_Multi
	//	*RouteAction_UpstreamGroup
	Destination          isRouteAction_Destination `protobuf_oneof:"destination"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

RouteActions are used to route matched requests to upstreams.

func (*RouteAction) Descriptor

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

func (*RouteAction) Equal

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

func (*RouteAction) GetDestination

func (m *RouteAction) GetDestination() isRouteAction_Destination

func (*RouteAction) GetMulti

func (m *RouteAction) GetMulti() *MultiDestination

func (*RouteAction) GetSingle

func (m *RouteAction) GetSingle() *Destination

func (*RouteAction) GetUpstreamGroup

func (m *RouteAction) GetUpstreamGroup() *core.ResourceRef

func (*RouteAction) ProtoMessage

func (*RouteAction) ProtoMessage()

func (*RouteAction) Reset

func (m *RouteAction) Reset()

func (*RouteAction) String

func (m *RouteAction) String() string

func (*RouteAction) XXX_DiscardUnknown

func (m *RouteAction) XXX_DiscardUnknown()

func (*RouteAction) XXX_Marshal

func (m *RouteAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RouteAction) XXX_Merge

func (m *RouteAction) XXX_Merge(src proto.Message)

func (*RouteAction) XXX_OneofWrappers

func (*RouteAction) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*RouteAction) XXX_Size

func (m *RouteAction) XXX_Size() int

func (*RouteAction) XXX_Unmarshal

func (m *RouteAction) XXX_Unmarshal(b []byte) error

type RouteAction_Multi

type RouteAction_Multi struct {
	Multi *MultiDestination `protobuf:"bytes,2,opt,name=multi,proto3,oneof" json:"multi,omitempty"`
}

func (*RouteAction_Multi) Equal

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

type RouteAction_Single

type RouteAction_Single struct {
	Single *Destination `protobuf:"bytes,1,opt,name=single,proto3,oneof" json:"single,omitempty"`
}

func (*RouteAction_Single) Equal

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

type RouteAction_UpstreamGroup

type RouteAction_UpstreamGroup struct {
	UpstreamGroup *core.ResourceRef `protobuf:"bytes,3,opt,name=upstream_group,json=upstreamGroup,proto3,oneof" json:"upstream_group,omitempty"`
}

func (*RouteAction_UpstreamGroup) Equal

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

type RoutePlugins

type RoutePlugins struct {
	// Transformations to apply
	Transformations *transformation.RouteTransformations `protobuf:"bytes,1,opt,name=transformations,proto3" json:"transformations,omitempty"`
	Faults          *faultinjection.RouteFaults          `protobuf:"bytes,2,opt,name=faults,proto3" json:"faults,omitempty"`
	// For requests matched on this route, rewrite the HTTP request path to the provided value before forwarding upstream
	PrefixRewrite *types.StringValue   `protobuf:"bytes,3,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"`
	Timeout       *time.Duration       `protobuf:"bytes,4,opt,name=timeout,proto3,stdduration" json:"timeout,omitempty"`
	Retries       *retries.RetryPolicy `protobuf:"bytes,5,opt,name=retries,proto3" json:"retries,omitempty"`
	// Deprecated: Opaque config for Gloo plugins
	Extensions *Extensions `protobuf:"bytes,6,opt,name=extensions,proto3" json:"extensions,omitempty"` // Deprecated: Do not use.
	// Defines route-specific tracing configuration.
	// See here for additional information on Envoy's tracing capabilities: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing.html
	// See here for additional information about configuring tracing with Gloo: https://gloo.solo.io/observability/tracing/
	Tracing *tracing.RouteTracingSettings `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"`
	// Specifies traffic shadowing configuration for the route.
	// See here for additional information on Envoy's shadowing capabilities: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#envoy-api-msg-route-routeaction-requestmirrorpolicy
	Shadowing *shadowing.RouteShadowing `protobuf:"bytes,8,opt,name=shadowing,proto3" json:"shadowing,omitempty"`
	// Append/Remove headers on Requests or Responses on this Route
	HeaderManipulation *headers.HeaderManipulation `protobuf:"bytes,9,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	// For requests matched on this route, rewrite the Host header before forwarding upstream
	//
	// Types that are valid to be assigned to HostRewriteType:
	//	*RoutePlugins_HostRewrite
	//	*RoutePlugins_AutoHostRewrite
	HostRewriteType isRoutePlugins_HostRewriteType `protobuf_oneof:"host_rewrite_type"`
	// Defines a CORS policy for the route
	// If a CORS policy is also defined on the route's virtual host, the policies are merged.
	Cors *cors.CorsPolicy `protobuf:"bytes,11,opt,name=cors,proto3" json:"cors,omitempty"`
	// For routes served by a hashing load balancer, this defines the input to the hash key
	// Gloo configures Envoy with the first available RouteActionHashConfig among the following ordered list of providers:
	// - route, upstream, virtual service
	LbHash *lbhash.RouteActionHashConfig `protobuf:"bytes,12,opt,name=lb_hash,json=lbHash,proto3" json:"lb_hash,omitempty"`
	// Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API
	RatelimitBasic *ratelimit.IngressRateLimit `protobuf:"bytes,13,opt,name=ratelimit_basic,json=ratelimitBasic,proto3" json:"ratelimit_basic,omitempty"`
	// Enterprise-only: Partial config for GlooE rate-limiting based on Envoy's rate-limit service;
	// supports Envoy's rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration)
	// Configure rate-limit *actions* here, which define how request characteristics get translated into
	// descriptors used by the rate-limit service for rate-limiting. Configure rate-limit *descriptors* and
	// their associated limits on the Gloo settings
	Ratelimit *ratelimit.RateLimitRouteExtension `protobuf:"bytes,14,opt,name=ratelimit,proto3" json:"ratelimit,omitempty"`
	// Enterprise-only: Config for Web Application Firewall (WAF), supporting
	// the popular ModSecurity 3.0 ruleset
	Waf *waf.Settings `protobuf:"bytes,15,opt,name=waf,proto3" json:"waf,omitempty"`
	// Enterprise-only: Config for reading and verifying JWTs. Copy verifiable information from JWTs into other
	// headers to make routing decisions or combine with RBAC for fine-grained access control.
	Jwt *jwt.RouteExtension `protobuf:"bytes,16,opt,name=jwt,proto3" json:"jwt,omitempty"`
	// Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims)
	Rbac *rbac.ExtensionSettings `protobuf:"bytes,17,opt,name=rbac,proto3" json:"rbac,omitempty"`
	// Enterprise-only: Authentication configuration
	Extauth              *v1.ExtAuthExtension `protobuf:"bytes,18,opt,name=extauth,proto3" json:"extauth,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

Plugin-specific configuration that lives on routes Each RoutePlugin object contains configuration for a specific plugin Note to developers: new Route Plugins must be added to this struct to be usable by Gloo.

func (*RoutePlugins) Descriptor

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

func (*RoutePlugins) Equal

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

func (*RoutePlugins) GetAutoHostRewrite

func (m *RoutePlugins) GetAutoHostRewrite() *types.BoolValue

func (*RoutePlugins) GetCors

func (m *RoutePlugins) GetCors() *cors.CorsPolicy

func (*RoutePlugins) GetExtauth

func (m *RoutePlugins) GetExtauth() *v1.ExtAuthExtension

func (*RoutePlugins) GetExtensions deprecated

func (m *RoutePlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*RoutePlugins) GetFaults

func (m *RoutePlugins) GetFaults() *faultinjection.RouteFaults

func (*RoutePlugins) GetHeaderManipulation

func (m *RoutePlugins) GetHeaderManipulation() *headers.HeaderManipulation

func (*RoutePlugins) GetHostRewrite

func (m *RoutePlugins) GetHostRewrite() string

func (*RoutePlugins) GetHostRewriteType

func (m *RoutePlugins) GetHostRewriteType() isRoutePlugins_HostRewriteType

func (*RoutePlugins) GetJwt

func (m *RoutePlugins) GetJwt() *jwt.RouteExtension

func (*RoutePlugins) GetLbHash

func (m *RoutePlugins) GetLbHash() *lbhash.RouteActionHashConfig

func (*RoutePlugins) GetPrefixRewrite

func (m *RoutePlugins) GetPrefixRewrite() *types.StringValue

func (*RoutePlugins) GetRatelimit

func (m *RoutePlugins) GetRatelimit() *ratelimit.RateLimitRouteExtension

func (*RoutePlugins) GetRatelimitBasic

func (m *RoutePlugins) GetRatelimitBasic() *ratelimit.IngressRateLimit

func (*RoutePlugins) GetRbac

func (m *RoutePlugins) GetRbac() *rbac.ExtensionSettings

func (*RoutePlugins) GetRetries

func (m *RoutePlugins) GetRetries() *retries.RetryPolicy

func (*RoutePlugins) GetShadowing

func (m *RoutePlugins) GetShadowing() *shadowing.RouteShadowing

func (*RoutePlugins) GetTimeout

func (m *RoutePlugins) GetTimeout() *time.Duration

func (*RoutePlugins) GetTracing

func (m *RoutePlugins) GetTracing() *tracing.RouteTracingSettings

func (*RoutePlugins) GetTransformations

func (m *RoutePlugins) GetTransformations() *transformation.RouteTransformations

func (*RoutePlugins) GetWaf

func (m *RoutePlugins) GetWaf() *waf.Settings

func (*RoutePlugins) ProtoMessage

func (*RoutePlugins) ProtoMessage()

func (*RoutePlugins) Reset

func (m *RoutePlugins) Reset()

func (*RoutePlugins) String

func (m *RoutePlugins) String() string

func (*RoutePlugins) XXX_DiscardUnknown

func (m *RoutePlugins) XXX_DiscardUnknown()

func (*RoutePlugins) XXX_Marshal

func (m *RoutePlugins) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RoutePlugins) XXX_Merge

func (m *RoutePlugins) XXX_Merge(src proto.Message)

func (*RoutePlugins) XXX_OneofWrappers

func (*RoutePlugins) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*RoutePlugins) XXX_Size

func (m *RoutePlugins) XXX_Size() int

func (*RoutePlugins) XXX_Unmarshal

func (m *RoutePlugins) XXX_Unmarshal(b []byte) error

type RoutePlugins_AutoHostRewrite

type RoutePlugins_AutoHostRewrite struct {
	AutoHostRewrite *types.BoolValue `protobuf:"bytes,19,opt,name=auto_host_rewrite,json=autoHostRewrite,proto3,oneof" json:"auto_host_rewrite,omitempty"`
}

func (*RoutePlugins_AutoHostRewrite) Equal

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

type RoutePlugins_HostRewrite

type RoutePlugins_HostRewrite struct {
	HostRewrite string `protobuf:"bytes,10,opt,name=host_rewrite,json=hostRewrite,proto3,oneof" json:"host_rewrite,omitempty"`
}

func (*RoutePlugins_HostRewrite) Equal

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

type Route_DirectResponseAction

type Route_DirectResponseAction struct {
	DirectResponseAction *DirectResponseAction `` /* 129-byte string literal not displayed */
}

func (*Route_DirectResponseAction) Equal

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

type Route_RedirectAction

type Route_RedirectAction struct {
	RedirectAction *RedirectAction `protobuf:"bytes,3,opt,name=redirect_action,json=redirectAction,proto3,oneof" json:"redirect_action,omitempty"`
}

func (*Route_RedirectAction) Equal

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

type Route_RouteAction

type Route_RouteAction struct {
	RouteAction *RouteAction `protobuf:"bytes,2,opt,name=route_action,json=routeAction,proto3,oneof" json:"route_action,omitempty"`
}

func (*Route_RouteAction) Equal

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

type SDSConfig

type SDSConfig struct {
	// Target uri for the sds channel. currently only a unix domain socket is supported.
	TargetUri string `protobuf:"bytes,1,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"`
	// Call credentials.
	CallCredentials *CallCredentials `protobuf:"bytes,2,opt,name=call_credentials,json=callCredentials,proto3" json:"call_credentials,omitempty"`
	// The name of the secret containing the certificate
	CertificatesSecretName string `` /* 129-byte string literal not displayed */
	// The name of secret containing the validation context (i.e. root ca)
	ValidationContextName string   `` /* 126-byte string literal not displayed */
	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
	XXX_unrecognized      []byte   `json:"-"`
	XXX_sizecache         int32    `json:"-"`
}

func (*SDSConfig) Descriptor

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

func (*SDSConfig) Equal

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

func (*SDSConfig) GetCallCredentials

func (m *SDSConfig) GetCallCredentials() *CallCredentials

func (*SDSConfig) GetCertificatesSecretName

func (m *SDSConfig) GetCertificatesSecretName() string

func (*SDSConfig) GetTargetUri

func (m *SDSConfig) GetTargetUri() string

func (*SDSConfig) GetValidationContextName

func (m *SDSConfig) GetValidationContextName() string

func (*SDSConfig) ProtoMessage

func (*SDSConfig) ProtoMessage()

func (*SDSConfig) Reset

func (m *SDSConfig) Reset()

func (*SDSConfig) String

func (m *SDSConfig) String() string

func (*SDSConfig) XXX_DiscardUnknown

func (m *SDSConfig) XXX_DiscardUnknown()

func (*SDSConfig) XXX_Marshal

func (m *SDSConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SDSConfig) XXX_Merge

func (m *SDSConfig) XXX_Merge(src proto.Message)

func (*SDSConfig) XXX_Size

func (m *SDSConfig) XXX_Size() int

func (*SDSConfig) XXX_Unmarshal

func (m *SDSConfig) XXX_Unmarshal(b []byte) error

type SSLFiles

type SSLFiles struct {
	TlsCert string `protobuf:"bytes,1,opt,name=tls_cert,json=tlsCert,proto3" json:"tls_cert,omitempty"`
	TlsKey  string `protobuf:"bytes,2,opt,name=tls_key,json=tlsKey,proto3" json:"tls_key,omitempty"`
	// for client cert validation. optional
	RootCa               string   `protobuf:"bytes,3,opt,name=root_ca,json=rootCa,proto3" json:"root_ca,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

SSLFiles reference paths to certificates which can be read by the proxy off of its local filesystem

func (*SSLFiles) Descriptor

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

func (*SSLFiles) Equal

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

func (*SSLFiles) GetRootCa

func (m *SSLFiles) GetRootCa() string

func (*SSLFiles) GetTlsCert

func (m *SSLFiles) GetTlsCert() string

func (*SSLFiles) GetTlsKey

func (m *SSLFiles) GetTlsKey() string

func (*SSLFiles) ProtoMessage

func (*SSLFiles) ProtoMessage()

func (*SSLFiles) Reset

func (m *SSLFiles) Reset()

func (*SSLFiles) String

func (m *SSLFiles) String() string

func (*SSLFiles) XXX_DiscardUnknown

func (m *SSLFiles) XXX_DiscardUnknown()

func (*SSLFiles) XXX_Marshal

func (m *SSLFiles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SSLFiles) XXX_Merge

func (m *SSLFiles) XXX_Merge(src proto.Message)

func (*SSLFiles) XXX_Size

func (m *SSLFiles) XXX_Size() int

func (*SSLFiles) XXX_Unmarshal

func (m *SSLFiles) XXX_Unmarshal(b []byte) error

type Secret

type Secret struct {
	// Types that are valid to be assigned to Kind:
	//	*Secret_Aws
	//	*Secret_Azure
	//	*Secret_Tls
	//	*Secret_Extension
	Kind isSecret_Kind `protobuf_oneof:"kind"`
	// Metadata contains the object metadata for this resource
	Metadata             core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Certain plugins such as the AWS Lambda Plugin require the use of secrets for authentication, configuration of SSL Certificates, and other data that should not be stored in plaintext configuration.

Gloo runs an independent (goroutine) controller to monitor secrets. Secrets are stored in their own secret storage layer. Gloo can monitor secrets stored in the following secret storage services:

- Kubernetes Secrets - Hashicorp Vault - Plaintext files (recommended only for testing) - Secrets must adhere to a structure, specified by the plugin that requires them.

Gloo's secret backend can be configured in Gloo's bootstrap options

func NewSecret

func NewSecret(namespace, name string) *Secret

func (*Secret) DeepCopyInto

func (o *Secret) DeepCopyInto(out *Secret)

func (*Secret) DeepCopyObject

func (o *Secret) DeepCopyObject() runtime.Object

func (*Secret) Descriptor

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

func (*Secret) Equal

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

func (*Secret) GetAws

func (m *Secret) GetAws() *AwsSecret

func (*Secret) GetAzure

func (m *Secret) GetAzure() *AzureSecret

func (*Secret) GetExtension

func (m *Secret) GetExtension() *Extension

func (*Secret) GetKind

func (m *Secret) GetKind() isSecret_Kind

func (*Secret) GetMetadata

func (m *Secret) GetMetadata() core.Metadata

func (*Secret) GetObjectKind

func (o *Secret) GetObjectKind() schema.ObjectKind

func (*Secret) GetTls

func (m *Secret) GetTls() *TlsSecret

func (*Secret) GroupVersionKind

func (r *Secret) GroupVersionKind() schema.GroupVersionKind

func (*Secret) Hash

func (r *Secret) Hash() uint64

func (*Secret) ProtoMessage

func (*Secret) ProtoMessage()

func (*Secret) Reset

func (m *Secret) Reset()

func (*Secret) SetMetadata

func (r *Secret) SetMetadata(meta core.Metadata)

func (*Secret) String

func (m *Secret) String() string

func (*Secret) XXX_DiscardUnknown

func (m *Secret) XXX_DiscardUnknown()

func (*Secret) XXX_Marshal

func (m *Secret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Secret) XXX_Merge

func (m *Secret) XXX_Merge(src proto.Message)

func (*Secret) XXX_OneofWrappers

func (*Secret) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Secret) XXX_Size

func (m *Secret) XXX_Size() int

func (*Secret) XXX_Unmarshal

func (m *Secret) XXX_Unmarshal(b []byte) error

type SecretClient

type SecretClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Secret, error)
	Write(resource *Secret, opts clients.WriteOpts) (*Secret, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (SecretList, error)
	SecretWatcher
}

func NewSecretClient

func NewSecretClient(rcFactory factory.ResourceClientFactory) (SecretClient, error)

func NewSecretClientWithBase

func NewSecretClientWithBase(rc clients.ResourceClient) SecretClient

func NewSecretClientWithToken

func NewSecretClientWithToken(rcFactory factory.ResourceClientFactory, token string) (SecretClient, error)

type SecretList

type SecretList []*Secret

func (SecretList) AsInterfaces

func (list SecretList) AsInterfaces() []interface{}

func (SecretList) AsResources

func (list SecretList) AsResources() resources.ResourceList

func (SecretList) Clone

func (list SecretList) Clone() SecretList

func (SecretList) Each

func (list SecretList) Each(f func(element *Secret))

func (SecretList) EachResource

func (list SecretList) EachResource(f func(element resources.Resource))

func (SecretList) Find

func (list SecretList) Find(namespace, name string) (*Secret, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (SecretList) Names

func (list SecretList) Names() []string

func (SecretList) NamespacesDotNames

func (list SecretList) NamespacesDotNames() []string

func (SecretList) Sort

func (list SecretList) Sort() SecretList

type SecretReconciler

type SecretReconciler interface {
	Reconcile(namespace string, desiredResources SecretList, transition TransitionSecretFunc, opts clients.ListOpts) error
}

func NewSecretReconciler

func NewSecretReconciler(client SecretClient) SecretReconciler

type SecretWatcher

type SecretWatcher interface {
	// watch namespace-scoped Secrets
	Watch(namespace string, opts clients.WatchOpts) (<-chan SecretList, <-chan error, error)
}

type Secret_Aws

type Secret_Aws struct {
	Aws *AwsSecret `protobuf:"bytes,1,opt,name=aws,proto3,oneof" json:"aws,omitempty"`
}

func (*Secret_Aws) Equal

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

type Secret_Azure

type Secret_Azure struct {
	Azure *AzureSecret `protobuf:"bytes,2,opt,name=azure,proto3,oneof" json:"azure,omitempty"`
}

func (*Secret_Azure) Equal

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

type Secret_Extension

type Secret_Extension struct {
	Extension *Extension `protobuf:"bytes,4,opt,name=extension,proto3,oneof" json:"extension,omitempty"`
}

func (*Secret_Extension) Equal

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

type Secret_Tls

type Secret_Tls struct {
	Tls *TlsSecret `protobuf:"bytes,3,opt,name=tls,proto3,oneof" json:"tls,omitempty"`
}

func (*Secret_Tls) Equal

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

type ServiceSpecGetter

type ServiceSpecGetter interface {
	GetServiceSpec() *plugins.ServiceSpec
}

type ServiceSpecMutator

type ServiceSpecMutator interface {
	ServiceSpecGetter
	ServiceSpecSetter
}

type ServiceSpecSetter

type ServiceSpecSetter interface {
	SetServiceSpec(*plugins.ServiceSpec)
}

type Settings

type Settings struct {
	// This is the namespace to which Gloo controllers will write their own resources, e.g. discovered Upstreams or default Gateways.
	// If empty, this will default to "gloo-system".
	DiscoveryNamespace string `protobuf:"bytes,1,opt,name=discovery_namespace,json=discoveryNamespace,proto3" json:"discovery_namespace,omitempty"`
	// Use this setting to restrict the namespaces that Gloo controllers take into consideration when watching for resources.In a
	// usual production scenario, RBAC policies will limit the namespaces that Gloo has access to. If `watch_namespaces`
	// contains namespaces outside of this whitelist, Gloo will fail to start.
	//
	// If not set, this defaults to all available namespaces. Please note that, the `discovery_namespace` will always
	// be included in this list.
	WatchNamespaces []string `protobuf:"bytes,2,rep,name=watch_namespaces,json=watchNamespaces,proto3" json:"watch_namespaces,omitempty"`
	// This setting determines where Gloo controllers will store its resources
	//
	// Types that are valid to be assigned to ConfigSource:
	//	*Settings_KubernetesConfigSource
	//	*Settings_DirectoryConfigSource
	//	*Settings_ConsulKvSource
	ConfigSource isSettings_ConfigSource `protobuf_oneof:"config_source"`
	// Determines where Gloo will read/write secrets from/to.
	//
	// Types that are valid to be assigned to SecretSource:
	//	*Settings_KubernetesSecretSource
	//	*Settings_VaultSecretSource
	//	*Settings_DirectorySecretSource
	SecretSource isSettings_SecretSource `protobuf_oneof:"secret_source"`
	// Where to read artifacts from.
	//
	// Types that are valid to be assigned to ArtifactSource:
	//	*Settings_KubernetesArtifactSource
	//	*Settings_DirectoryArtifactSource
	//	*Settings_ConsulKvArtifactSource
	ArtifactSource isSettings_ArtifactSource `protobuf_oneof:"artifact_source"`
	// Where the Gloo xDS server should bind (should not need configuration by user)
	// Deprecated: use gloo.xdsBindAddr
	BindAddr string `protobuf:"bytes,11,opt,name=bind_addr,json=bindAddr,proto3" json:"bind_addr,omitempty"` // Deprecated: Do not use.
	// How frequently to resync watches, etc
	RefreshRate *types.Duration `protobuf:"bytes,12,opt,name=refresh_rate,json=refreshRate,proto3" json:"refresh_rate,omitempty"`
	// Enable serving debug data on port 9090
	DevMode bool `protobuf:"varint,13,opt,name=dev_mode,json=devMode,proto3" json:"dev_mode,omitempty"`
	// Enable automatic linkerd upstream header addition for easier routing to linkerd services
	Linkerd bool `protobuf:"varint,17,opt,name=linkerd,proto3" json:"linkerd,omitempty"`
	// Default circuit breakers when not set in a specific upstream.
	// Deprecated: use gloo.circuitBreakers
	CircuitBreakers *CircuitBreakerConfig `protobuf:"bytes,3,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"` // Deprecated: Do not use.
	// Configuration options for the Clusteringress Controller (for Knative).
	Knative *Settings_KnativeOptions `protobuf:"bytes,18,opt,name=knative,proto3" json:"knative,omitempty"`
	// Options for configuring Gloo's Discovery service
	Discovery *Settings_DiscoveryOptions `protobuf:"bytes,19,opt,name=discovery,proto3" json:"discovery,omitempty"`
	// Options for configuring `gloo`, the core Gloo controller,
	// which serves dynamic configuration to Envoy
	Gloo *GlooOptions `protobuf:"bytes,24,opt,name=gloo,proto3" json:"gloo,omitempty"`
	// Options for configuring `gateway`, the Gateway Gloo controller,
	// which enables the VirtualService/Gateway API in Gloo
	Gateway *GatewayOptions `protobuf:"bytes,25,opt,name=gateway,proto3" json:"gateway,omitempty"`
	// Options to configure Gloo's integration with [HashiCorp Consul](https://www.consul.io/).
	Consul *Settings_ConsulConfiguration `protobuf:"bytes,20,opt,name=consul,proto3" json:"consul,omitempty"`
	// Options to configure Gloo's integration with [Kubernetes](https://www.kubernetes.io/).
	Kubernetes *Settings_KubernetesConfiguration `protobuf:"bytes,22,opt,name=kubernetes,proto3" json:"kubernetes,omitempty"`
	// Deprecated: Opaque settings config for Gloo extensions
	Extensions *Extensions `protobuf:"bytes,16,opt,name=extensions,proto3" json:"extensions,omitempty"` // Deprecated: Do not use.
	// Enterprise-only: Partial config for GlooE's rate-limiting service, based on Envoy's rate-limit service;
	// supports Envoy's rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration)
	// Configure rate-limit *descriptors* here, which define the limits for requests based on their descriptors.
	// Configure rate-limits (composed of *actions*, which define how request characteristics get translated into
	// descriptors) on the VirtualHost or its routes
	Ratelimit *ratelimit.ServiceSettings `protobuf:"bytes,26,opt,name=ratelimit,proto3" json:"ratelimit,omitempty"`
	// Enterprise-only: Settings for the rate limiting server itself
	RatelimitServer *ratelimit.Settings `protobuf:"bytes,27,opt,name=ratelimit_server,json=ratelimitServer,proto3" json:"ratelimit_server,omitempty"`
	// Enterprise-only: Settings for RBAC across all Gloo resources (VirtualServices, Routes, etc.)
	Rbac *rbac.Settings `protobuf:"bytes,28,opt,name=rbac,proto3" json:"rbac,omitempty"`
	// Enterprise-only: External auth related settings
	Extauth *v1.Settings `protobuf:"bytes,29,opt,name=extauth,proto3" json:"extauth,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,14,opt,name=metadata,proto3" json:"metadata"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status               core.Status `protobuf:"bytes,15,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Represents global settings for all the Gloo components.

func NewSettings

func NewSettings(namespace, name string) *Settings

func (*Settings) DeepCopyInto

func (o *Settings) DeepCopyInto(out *Settings)

func (*Settings) DeepCopyObject

func (o *Settings) DeepCopyObject() runtime.Object

func (*Settings) Descriptor

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

func (*Settings) Equal

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

func (*Settings) GetArtifactSource

func (m *Settings) GetArtifactSource() isSettings_ArtifactSource

func (*Settings) GetBindAddr deprecated

func (m *Settings) GetBindAddr() string

Deprecated: Do not use.

func (*Settings) GetCircuitBreakers deprecated

func (m *Settings) GetCircuitBreakers() *CircuitBreakerConfig

Deprecated: Do not use.

func (*Settings) GetConfigSource

func (m *Settings) GetConfigSource() isSettings_ConfigSource

func (*Settings) GetConsul

func (m *Settings) GetConsul() *Settings_ConsulConfiguration

func (*Settings) GetConsulKvArtifactSource

func (m *Settings) GetConsulKvArtifactSource() *Settings_ConsulKv

func (*Settings) GetConsulKvSource

func (m *Settings) GetConsulKvSource() *Settings_ConsulKv

func (*Settings) GetDevMode

func (m *Settings) GetDevMode() bool

func (*Settings) GetDirectoryArtifactSource

func (m *Settings) GetDirectoryArtifactSource() *Settings_Directory

func (*Settings) GetDirectoryConfigSource

func (m *Settings) GetDirectoryConfigSource() *Settings_Directory

func (*Settings) GetDirectorySecretSource

func (m *Settings) GetDirectorySecretSource() *Settings_Directory

func (*Settings) GetDiscovery

func (m *Settings) GetDiscovery() *Settings_DiscoveryOptions

func (*Settings) GetDiscoveryNamespace

func (m *Settings) GetDiscoveryNamespace() string

func (*Settings) GetExtauth

func (m *Settings) GetExtauth() *v1.Settings

func (*Settings) GetExtensions deprecated

func (m *Settings) GetExtensions() *Extensions

Deprecated: Do not use.

func (*Settings) GetGateway

func (m *Settings) GetGateway() *GatewayOptions

func (*Settings) GetGloo

func (m *Settings) GetGloo() *GlooOptions

func (*Settings) GetKnative

func (m *Settings) GetKnative() *Settings_KnativeOptions

func (*Settings) GetKubernetes

func (m *Settings) GetKubernetes() *Settings_KubernetesConfiguration

func (*Settings) GetKubernetesArtifactSource

func (m *Settings) GetKubernetesArtifactSource() *Settings_KubernetesConfigmaps

func (*Settings) GetKubernetesConfigSource

func (m *Settings) GetKubernetesConfigSource() *Settings_KubernetesCrds

func (*Settings) GetKubernetesSecretSource

func (m *Settings) GetKubernetesSecretSource() *Settings_KubernetesSecrets

func (*Settings) GetLinkerd

func (m *Settings) GetLinkerd() bool

func (*Settings) GetMetadata

func (m *Settings) GetMetadata() core.Metadata

func (*Settings) GetObjectKind

func (o *Settings) GetObjectKind() schema.ObjectKind

func (*Settings) GetRatelimit

func (m *Settings) GetRatelimit() *ratelimit.ServiceSettings

func (*Settings) GetRatelimitServer

func (m *Settings) GetRatelimitServer() *ratelimit.Settings

func (*Settings) GetRbac

func (m *Settings) GetRbac() *rbac.Settings

func (*Settings) GetRefreshRate

func (m *Settings) GetRefreshRate() *types.Duration

func (*Settings) GetSecretSource

func (m *Settings) GetSecretSource() isSettings_SecretSource

func (*Settings) GetStatus

func (m *Settings) GetStatus() core.Status

func (*Settings) GetVaultSecretSource

func (m *Settings) GetVaultSecretSource() *Settings_VaultSecrets

func (*Settings) GetWatchNamespaces

func (m *Settings) GetWatchNamespaces() []string

func (*Settings) GroupVersionKind

func (r *Settings) GroupVersionKind() schema.GroupVersionKind

func (*Settings) Hash

func (r *Settings) Hash() uint64

func (*Settings) ProtoMessage

func (*Settings) ProtoMessage()

func (*Settings) Reset

func (m *Settings) Reset()

func (*Settings) SetMetadata

func (r *Settings) SetMetadata(meta core.Metadata)

func (*Settings) SetStatus

func (r *Settings) SetStatus(status core.Status)

func (*Settings) String

func (m *Settings) String() string

func (*Settings) XXX_DiscardUnknown

func (m *Settings) XXX_DiscardUnknown()

func (*Settings) XXX_Marshal

func (m *Settings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings) XXX_Merge

func (m *Settings) XXX_Merge(src proto.Message)

func (*Settings) XXX_OneofWrappers

func (*Settings) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Settings) XXX_Size

func (m *Settings) XXX_Size() int

func (*Settings) XXX_Unmarshal

func (m *Settings) XXX_Unmarshal(b []byte) error

type SettingsClient

type SettingsClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Settings, error)
	Write(resource *Settings, opts clients.WriteOpts) (*Settings, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (SettingsList, error)
	SettingsWatcher
}

func NewSettingsClient

func NewSettingsClient(rcFactory factory.ResourceClientFactory) (SettingsClient, error)

func NewSettingsClientWithBase

func NewSettingsClientWithBase(rc clients.ResourceClient) SettingsClient

func NewSettingsClientWithToken

func NewSettingsClientWithToken(rcFactory factory.ResourceClientFactory, token string) (SettingsClient, error)

type SettingsList

type SettingsList []*Settings

func (SettingsList) AsInputResources

func (list SettingsList) AsInputResources() resources.InputResourceList

func (SettingsList) AsInterfaces

func (list SettingsList) AsInterfaces() []interface{}

func (SettingsList) AsResources

func (list SettingsList) AsResources() resources.ResourceList

func (SettingsList) Clone

func (list SettingsList) Clone() SettingsList

func (SettingsList) Each

func (list SettingsList) Each(f func(element *Settings))

func (SettingsList) EachResource

func (list SettingsList) EachResource(f func(element resources.Resource))

func (SettingsList) Find

func (list SettingsList) Find(namespace, name string) (*Settings, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (SettingsList) Names

func (list SettingsList) Names() []string

func (SettingsList) NamespacesDotNames

func (list SettingsList) NamespacesDotNames() []string

func (SettingsList) Sort

func (list SettingsList) Sort() SettingsList

type SettingsReconciler

type SettingsReconciler interface {
	Reconcile(namespace string, desiredResources SettingsList, transition TransitionSettingsFunc, opts clients.ListOpts) error
}

func NewSettingsReconciler

func NewSettingsReconciler(client SettingsClient) SettingsReconciler

type SettingsWatcher

type SettingsWatcher interface {
	// watch namespace-scoped Settings
	Watch(namespace string, opts clients.WatchOpts) (<-chan SettingsList, <-chan error, error)
}

type Settings_ConsulConfiguration

type Settings_ConsulConfiguration struct {
	// The address of the Consul server.
	// Defaults to the value of the standard CONSUL_HTTP_ADDR env if set, otherwise to 127.0.0.1:8500.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// Datacenter to use. If not provided, the default agent datacenter is used.
	Datacenter string `protobuf:"bytes,2,opt,name=datacenter,proto3" json:"datacenter,omitempty"`
	// Username to use for HTTP Basic Authentication
	Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	// Password to use for HTTP Basic Authentication
	Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
	// Token is used to provide a per-request ACL token
	// which overrides the agent's default token.
	Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
	// caFile is the optional path to the CA certificate used for Consul
	// communication, defaults to the system bundle if not specified.
	CaFile string `protobuf:"bytes,6,opt,name=ca_file,json=caFile,proto3" json:"ca_file,omitempty"`
	// caPath is the optional path to a directory of CA certificates to use for
	// Consul communication, defaults to the system bundle if not specified.
	CaPath string `protobuf:"bytes,7,opt,name=ca_path,json=caPath,proto3" json:"ca_path,omitempty"`
	// CertFile is the optional path to the certificate for Consul
	// communication. If this is set then you need to also set KeyFile.
	CertFile string `protobuf:"bytes,8,opt,name=cert_file,json=certFile,proto3" json:"cert_file,omitempty"`
	// KeyFile is the optional path to the private key for Consul communication.
	// If this is set then you need to also set CertFile.
	KeyFile string `protobuf:"bytes,9,opt,name=key_file,json=keyFile,proto3" json:"key_file,omitempty"`
	// InsecureSkipVerify if set to true will disable TLS host verification.
	InsecureSkipVerify *types.BoolValue `protobuf:"bytes,10,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
	// WaitTime limits how long a watches for Consul resources will block.
	// If not provided, the agent default values will be used.
	WaitTime *types.Duration `protobuf:"bytes,11,opt,name=wait_time,json=waitTime,proto3" json:"wait_time,omitempty"`
	// Enable Service Discovery via Consul with this field
	// set to empty struct `{}` to enable with defaults
	ServiceDiscovery     *Settings_ConsulConfiguration_ServiceDiscoveryOptions `protobuf:"bytes,12,opt,name=service_discovery,json=serviceDiscovery,proto3" json:"service_discovery,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                              `json:"-"`
	XXX_unrecognized     []byte                                                `json:"-"`
	XXX_sizecache        int32                                                 `json:"-"`
}

Provides overrides for the default configuration parameters used to connect to Consul.

Note: It is also possible to configure the Consul client Gloo uses via the environment variables described [here](https://www.consul.io/docs/commands/index.html#environment-variables). These need to be set on the Gloo container.

func (*Settings_ConsulConfiguration) Descriptor

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

func (*Settings_ConsulConfiguration) Equal

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

func (*Settings_ConsulConfiguration) GetAddress

func (m *Settings_ConsulConfiguration) GetAddress() string

func (*Settings_ConsulConfiguration) GetCaFile

func (m *Settings_ConsulConfiguration) GetCaFile() string

func (*Settings_ConsulConfiguration) GetCaPath

func (m *Settings_ConsulConfiguration) GetCaPath() string

func (*Settings_ConsulConfiguration) GetCertFile

func (m *Settings_ConsulConfiguration) GetCertFile() string

func (*Settings_ConsulConfiguration) GetDatacenter

func (m *Settings_ConsulConfiguration) GetDatacenter() string

func (*Settings_ConsulConfiguration) GetInsecureSkipVerify

func (m *Settings_ConsulConfiguration) GetInsecureSkipVerify() *types.BoolValue

func (*Settings_ConsulConfiguration) GetKeyFile

func (m *Settings_ConsulConfiguration) GetKeyFile() string

func (*Settings_ConsulConfiguration) GetPassword

func (m *Settings_ConsulConfiguration) GetPassword() string

func (*Settings_ConsulConfiguration) GetServiceDiscovery

func (*Settings_ConsulConfiguration) GetToken

func (m *Settings_ConsulConfiguration) GetToken() string

func (*Settings_ConsulConfiguration) GetUsername

func (m *Settings_ConsulConfiguration) GetUsername() string

func (*Settings_ConsulConfiguration) GetWaitTime

func (m *Settings_ConsulConfiguration) GetWaitTime() *types.Duration

func (*Settings_ConsulConfiguration) ProtoMessage

func (*Settings_ConsulConfiguration) ProtoMessage()

func (*Settings_ConsulConfiguration) Reset

func (m *Settings_ConsulConfiguration) Reset()

func (*Settings_ConsulConfiguration) String

func (*Settings_ConsulConfiguration) XXX_DiscardUnknown

func (m *Settings_ConsulConfiguration) XXX_DiscardUnknown()

func (*Settings_ConsulConfiguration) XXX_Marshal

func (m *Settings_ConsulConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_ConsulConfiguration) XXX_Merge

func (m *Settings_ConsulConfiguration) XXX_Merge(src proto.Message)

func (*Settings_ConsulConfiguration) XXX_Size

func (m *Settings_ConsulConfiguration) XXX_Size() int

func (*Settings_ConsulConfiguration) XXX_Unmarshal

func (m *Settings_ConsulConfiguration) XXX_Unmarshal(b []byte) error

type Settings_ConsulConfiguration_ServiceDiscoveryOptions

type Settings_ConsulConfiguration_ServiceDiscoveryOptions struct {
	// Use this parameter to restrict the data centers that will be considered when discovering and routing to
	// services. If not provided, Gloo will use all available data centers.
	DataCenters          []string `protobuf:"bytes,1,rep,name=data_centers,json=dataCenters,proto3" json:"data_centers,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

service discovery options for Consul

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Descriptor

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Equal

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

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) GetDataCenters

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) ProtoMessage

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Reset

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) String

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_DiscardUnknown

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Marshal

func (m *Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Merge

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Size

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Unmarshal

type Settings_ConsulKv

type Settings_ConsulKv struct {
	// all keys stored in Consul will begin with this prefix
	// this can be used to run multiple instances of Gloo against the same Consul cluster
	// defaults to `gloo`
	RootKey              string   `protobuf:"bytes,1,opt,name=root_key,json=rootKey,proto3" json:"root_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Use [HashiCorp Consul Key-Value](https://www.consul.io/api/kv.html) as storage for config data. Configuration options for connecting to Consul can be configured in the Settings' root `consul` field

func (*Settings_ConsulKv) Descriptor

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

func (*Settings_ConsulKv) Equal

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

func (*Settings_ConsulKv) GetRootKey

func (m *Settings_ConsulKv) GetRootKey() string

func (*Settings_ConsulKv) ProtoMessage

func (*Settings_ConsulKv) ProtoMessage()

func (*Settings_ConsulKv) Reset

func (m *Settings_ConsulKv) Reset()

func (*Settings_ConsulKv) String

func (m *Settings_ConsulKv) String() string

func (*Settings_ConsulKv) XXX_DiscardUnknown

func (m *Settings_ConsulKv) XXX_DiscardUnknown()

func (*Settings_ConsulKv) XXX_Marshal

func (m *Settings_ConsulKv) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_ConsulKv) XXX_Merge

func (m *Settings_ConsulKv) XXX_Merge(src proto.Message)

func (*Settings_ConsulKv) XXX_Size

func (m *Settings_ConsulKv) XXX_Size() int

func (*Settings_ConsulKv) XXX_Unmarshal

func (m *Settings_ConsulKv) XXX_Unmarshal(b []byte) error

type Settings_ConsulKvArtifactSource

type Settings_ConsulKvArtifactSource struct {
	ConsulKvArtifactSource *Settings_ConsulKv `` /* 138-byte string literal not displayed */
}

func (*Settings_ConsulKvArtifactSource) Equal

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

type Settings_ConsulKvSource

type Settings_ConsulKvSource struct {
	ConsulKvSource *Settings_ConsulKv `protobuf:"bytes,21,opt,name=consul_kv_source,json=consulKvSource,proto3,oneof" json:"consul_kv_source,omitempty"`
}

func (*Settings_ConsulKvSource) Equal

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

type Settings_Directory

type Settings_Directory struct {
	Directory            string   `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

As an alternative to Kubernetes CRDs, Gloo is able to store resources in a local file system. This option determines the root of the directory tree used to this end.

func (*Settings_Directory) Descriptor

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

func (*Settings_Directory) Equal

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

func (*Settings_Directory) GetDirectory

func (m *Settings_Directory) GetDirectory() string

func (*Settings_Directory) ProtoMessage

func (*Settings_Directory) ProtoMessage()

func (*Settings_Directory) Reset

func (m *Settings_Directory) Reset()

func (*Settings_Directory) String

func (m *Settings_Directory) String() string

func (*Settings_Directory) XXX_DiscardUnknown

func (m *Settings_Directory) XXX_DiscardUnknown()

func (*Settings_Directory) XXX_Marshal

func (m *Settings_Directory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_Directory) XXX_Merge

func (m *Settings_Directory) XXX_Merge(src proto.Message)

func (*Settings_Directory) XXX_Size

func (m *Settings_Directory) XXX_Size() int

func (*Settings_Directory) XXX_Unmarshal

func (m *Settings_Directory) XXX_Unmarshal(b []byte) error

type Settings_DirectoryArtifactSource

type Settings_DirectoryArtifactSource struct {
	DirectoryArtifactSource *Settings_Directory `` /* 139-byte string literal not displayed */
}

func (*Settings_DirectoryArtifactSource) Equal

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

type Settings_DirectoryConfigSource

type Settings_DirectoryConfigSource struct {
	DirectoryConfigSource *Settings_Directory `` /* 132-byte string literal not displayed */
}

func (*Settings_DirectoryConfigSource) Equal

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

type Settings_DirectorySecretSource

type Settings_DirectorySecretSource struct {
	DirectorySecretSource *Settings_Directory `` /* 132-byte string literal not displayed */
}

func (*Settings_DirectorySecretSource) Equal

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

type Settings_DiscoveryOptions

type Settings_DiscoveryOptions struct {
	FdsMode              Settings_DiscoveryOptions_FdsMode `` /* 135-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
	XXX_unrecognized     []byte                            `json:"-"`
	XXX_sizecache        int32                             `json:"-"`
}

func (*Settings_DiscoveryOptions) Descriptor

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

func (*Settings_DiscoveryOptions) Equal

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

func (*Settings_DiscoveryOptions) GetFdsMode

func (*Settings_DiscoveryOptions) ProtoMessage

func (*Settings_DiscoveryOptions) ProtoMessage()

func (*Settings_DiscoveryOptions) Reset

func (m *Settings_DiscoveryOptions) Reset()

func (*Settings_DiscoveryOptions) String

func (m *Settings_DiscoveryOptions) String() string

func (*Settings_DiscoveryOptions) XXX_DiscardUnknown

func (m *Settings_DiscoveryOptions) XXX_DiscardUnknown()

func (*Settings_DiscoveryOptions) XXX_Marshal

func (m *Settings_DiscoveryOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_DiscoveryOptions) XXX_Merge

func (m *Settings_DiscoveryOptions) XXX_Merge(src proto.Message)

func (*Settings_DiscoveryOptions) XXX_Size

func (m *Settings_DiscoveryOptions) XXX_Size() int

func (*Settings_DiscoveryOptions) XXX_Unmarshal

func (m *Settings_DiscoveryOptions) XXX_Unmarshal(b []byte) error

type Settings_DiscoveryOptions_FdsMode

type Settings_DiscoveryOptions_FdsMode int32

Possible modes for running the function discovery service (FDS). FDS polls services in-cluster for Swagger and gRPC endpoints. This behavior can be controlled with the use of annotations. FdsMode specifies what policy FDS will use when determining which services to poll.

const (
	// In BLACKLIST mode (default), FDS will poll all services in cluster except those services labeled with
	// `discovery.solo.io/function_discovery=disabled`. This label can also be used on namespaces to apply to
	// all services within a namespace **which are not explicitly whitelisted**.
	// Note that `kube-system` and `kube-public` namespaces must be explicitly whitelisted even in blacklist mode.
	Settings_DiscoveryOptions_BLACKLIST Settings_DiscoveryOptions_FdsMode = 0
	// In WHITELIST mode, FDS will poll only services in cluster labeled with
	// `discovery.solo.io/function_discovery=enabled`. This label can also be used on namespaces to apply to all
	// services **which are not explicitly blacklisted** within a namespace.
	Settings_DiscoveryOptions_WHITELIST Settings_DiscoveryOptions_FdsMode = 1
	// In DISABLED mode, FDS will not run.
	Settings_DiscoveryOptions_DISABLED Settings_DiscoveryOptions_FdsMode = 2
)

func (Settings_DiscoveryOptions_FdsMode) EnumDescriptor

func (Settings_DiscoveryOptions_FdsMode) EnumDescriptor() ([]byte, []int)

func (Settings_DiscoveryOptions_FdsMode) String

type Settings_KnativeOptions

type Settings_KnativeOptions struct {
	// Address of the clusteringress proxy.
	// If empty, it will default to clusteringress-proxy.$POD_NAMESPACE.svc.cluster.local.
	// Use if running Knative Version 0.7.X or less
	ClusterIngressProxyAddress string `` /* 143-byte string literal not displayed */
	// Address of the externally-facing knative proxy.
	// If empty, it will default to knative-external-proxy.$POD_NAMESPACE.svc.cluster.local.
	// Use if running Knative Version 0.8.X or higher
	KnativeExternalProxyAddress string `` /* 146-byte string literal not displayed */
	// Address of the internally-facing knative proxy.
	// If empty, it will default to knative-internal-proxy.$POD_NAMESPACE.svc.cluster.local.
	// Use if running Knative Version 0.8.X or higher
	KnativeInternalProxyAddress string   `` /* 146-byte string literal not displayed */
	XXX_NoUnkeyedLiteral        struct{} `json:"-"`
	XXX_unrecognized            []byte   `json:"-"`
	XXX_sizecache               int32    `json:"-"`
}

func (*Settings_KnativeOptions) Descriptor

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

func (*Settings_KnativeOptions) Equal

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

func (*Settings_KnativeOptions) GetClusterIngressProxyAddress

func (m *Settings_KnativeOptions) GetClusterIngressProxyAddress() string

func (*Settings_KnativeOptions) GetKnativeExternalProxyAddress

func (m *Settings_KnativeOptions) GetKnativeExternalProxyAddress() string

func (*Settings_KnativeOptions) GetKnativeInternalProxyAddress

func (m *Settings_KnativeOptions) GetKnativeInternalProxyAddress() string

func (*Settings_KnativeOptions) ProtoMessage

func (*Settings_KnativeOptions) ProtoMessage()

func (*Settings_KnativeOptions) Reset

func (m *Settings_KnativeOptions) Reset()

func (*Settings_KnativeOptions) String

func (m *Settings_KnativeOptions) String() string

func (*Settings_KnativeOptions) XXX_DiscardUnknown

func (m *Settings_KnativeOptions) XXX_DiscardUnknown()

func (*Settings_KnativeOptions) XXX_Marshal

func (m *Settings_KnativeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_KnativeOptions) XXX_Merge

func (m *Settings_KnativeOptions) XXX_Merge(src proto.Message)

func (*Settings_KnativeOptions) XXX_Size

func (m *Settings_KnativeOptions) XXX_Size() int

func (*Settings_KnativeOptions) XXX_Unmarshal

func (m *Settings_KnativeOptions) XXX_Unmarshal(b []byte) error

type Settings_KubernetesArtifactSource

type Settings_KubernetesArtifactSource struct {
	KubernetesArtifactSource *Settings_KubernetesConfigmaps `` /* 141-byte string literal not displayed */
}

func (*Settings_KubernetesArtifactSource) Equal

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

type Settings_KubernetesConfigSource

type Settings_KubernetesConfigSource struct {
	KubernetesConfigSource *Settings_KubernetesCrds `` /* 135-byte string literal not displayed */
}

func (*Settings_KubernetesConfigSource) Equal

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

type Settings_KubernetesConfigmaps

type Settings_KubernetesConfigmaps struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Use Kubernetes ConfigMaps as storage.

func (*Settings_KubernetesConfigmaps) Descriptor

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

func (*Settings_KubernetesConfigmaps) Equal

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

func (*Settings_KubernetesConfigmaps) ProtoMessage

func (*Settings_KubernetesConfigmaps) ProtoMessage()

func (*Settings_KubernetesConfigmaps) Reset

func (m *Settings_KubernetesConfigmaps) Reset()

func (*Settings_KubernetesConfigmaps) String

func (*Settings_KubernetesConfigmaps) XXX_DiscardUnknown

func (m *Settings_KubernetesConfigmaps) XXX_DiscardUnknown()

func (*Settings_KubernetesConfigmaps) XXX_Marshal

func (m *Settings_KubernetesConfigmaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_KubernetesConfigmaps) XXX_Merge

func (m *Settings_KubernetesConfigmaps) XXX_Merge(src proto.Message)

func (*Settings_KubernetesConfigmaps) XXX_Size

func (m *Settings_KubernetesConfigmaps) XXX_Size() int

func (*Settings_KubernetesConfigmaps) XXX_Unmarshal

func (m *Settings_KubernetesConfigmaps) XXX_Unmarshal(b []byte) error

type Settings_KubernetesConfiguration

type Settings_KubernetesConfiguration struct {
	// Rate limits for the kubernetes clients
	RateLimits           *Settings_KubernetesConfiguration_RateLimits `protobuf:"bytes,1,opt,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
	XXX_unrecognized     []byte                                       `json:"-"`
	XXX_sizecache        int32                                        `json:"-"`
}

Provides overrides for the default configuration parameters used to interact with Kubernetes.

func (*Settings_KubernetesConfiguration) Descriptor

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

func (*Settings_KubernetesConfiguration) Equal

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

func (*Settings_KubernetesConfiguration) GetRateLimits

func (*Settings_KubernetesConfiguration) ProtoMessage

func (*Settings_KubernetesConfiguration) ProtoMessage()

func (*Settings_KubernetesConfiguration) Reset

func (*Settings_KubernetesConfiguration) String

func (*Settings_KubernetesConfiguration) XXX_DiscardUnknown

func (m *Settings_KubernetesConfiguration) XXX_DiscardUnknown()

func (*Settings_KubernetesConfiguration) XXX_Marshal

func (m *Settings_KubernetesConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_KubernetesConfiguration) XXX_Merge

func (*Settings_KubernetesConfiguration) XXX_Size

func (m *Settings_KubernetesConfiguration) XXX_Size() int

func (*Settings_KubernetesConfiguration) XXX_Unmarshal

func (m *Settings_KubernetesConfiguration) XXX_Unmarshal(b []byte) error

type Settings_KubernetesConfiguration_RateLimits

type Settings_KubernetesConfiguration_RateLimits struct {
	// The maximum queries-per-second Gloo can make to the Kubernetes API Server.
	QPS float32 `protobuf:"fixed32,1,opt,name=QPS,proto3" json:"QPS,omitempty"`
	// Maximum burst for throttle. When a steady state of QPS requests per second,
	// this is an additional number of allowed, to allow for short bursts.
	Burst                uint32   `protobuf:"varint,2,opt,name=burst,proto3" json:"burst,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Settings_KubernetesConfiguration_RateLimits) Descriptor

func (*Settings_KubernetesConfiguration_RateLimits) Equal

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

func (*Settings_KubernetesConfiguration_RateLimits) GetBurst

func (*Settings_KubernetesConfiguration_RateLimits) GetQPS

func (*Settings_KubernetesConfiguration_RateLimits) ProtoMessage

func (*Settings_KubernetesConfiguration_RateLimits) Reset

func (*Settings_KubernetesConfiguration_RateLimits) String

func (*Settings_KubernetesConfiguration_RateLimits) XXX_DiscardUnknown

func (m *Settings_KubernetesConfiguration_RateLimits) XXX_DiscardUnknown()

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Marshal

func (m *Settings_KubernetesConfiguration_RateLimits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Merge

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Size

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Unmarshal

type Settings_KubernetesCrds

type Settings_KubernetesCrds struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Use Kubernetes CRDs as storage.

func (*Settings_KubernetesCrds) Descriptor

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

func (*Settings_KubernetesCrds) Equal

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

func (*Settings_KubernetesCrds) ProtoMessage

func (*Settings_KubernetesCrds) ProtoMessage()

func (*Settings_KubernetesCrds) Reset

func (m *Settings_KubernetesCrds) Reset()

func (*Settings_KubernetesCrds) String

func (m *Settings_KubernetesCrds) String() string

func (*Settings_KubernetesCrds) XXX_DiscardUnknown

func (m *Settings_KubernetesCrds) XXX_DiscardUnknown()

func (*Settings_KubernetesCrds) XXX_Marshal

func (m *Settings_KubernetesCrds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_KubernetesCrds) XXX_Merge

func (m *Settings_KubernetesCrds) XXX_Merge(src proto.Message)

func (*Settings_KubernetesCrds) XXX_Size

func (m *Settings_KubernetesCrds) XXX_Size() int

func (*Settings_KubernetesCrds) XXX_Unmarshal

func (m *Settings_KubernetesCrds) XXX_Unmarshal(b []byte) error

type Settings_KubernetesSecretSource

type Settings_KubernetesSecretSource struct {
	KubernetesSecretSource *Settings_KubernetesSecrets `` /* 135-byte string literal not displayed */
}

func (*Settings_KubernetesSecretSource) Equal

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

type Settings_KubernetesSecrets

type Settings_KubernetesSecrets struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Use Kubernetes as storage for secret data.

func (*Settings_KubernetesSecrets) Descriptor

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

func (*Settings_KubernetesSecrets) Equal

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

func (*Settings_KubernetesSecrets) ProtoMessage

func (*Settings_KubernetesSecrets) ProtoMessage()

func (*Settings_KubernetesSecrets) Reset

func (m *Settings_KubernetesSecrets) Reset()

func (*Settings_KubernetesSecrets) String

func (m *Settings_KubernetesSecrets) String() string

func (*Settings_KubernetesSecrets) XXX_DiscardUnknown

func (m *Settings_KubernetesSecrets) XXX_DiscardUnknown()

func (*Settings_KubernetesSecrets) XXX_Marshal

func (m *Settings_KubernetesSecrets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_KubernetesSecrets) XXX_Merge

func (m *Settings_KubernetesSecrets) XXX_Merge(src proto.Message)

func (*Settings_KubernetesSecrets) XXX_Size

func (m *Settings_KubernetesSecrets) XXX_Size() int

func (*Settings_KubernetesSecrets) XXX_Unmarshal

func (m *Settings_KubernetesSecrets) XXX_Unmarshal(b []byte) error

type Settings_VaultSecretSource

type Settings_VaultSecretSource struct {
	VaultSecretSource *Settings_VaultSecrets `protobuf:"bytes,7,opt,name=vault_secret_source,json=vaultSecretSource,proto3,oneof" json:"vault_secret_source,omitempty"`
}

func (*Settings_VaultSecretSource) Equal

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

type Settings_VaultSecrets

type Settings_VaultSecrets struct {
	// the Token used to authenticate to Vault
	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	// address is the address of the Vault server. This should be a complete
	// URL such as http://solo.io
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// caCert is the path to a PEM-encoded CA cert file to use to verify the
	// Vault server SSL certificate.
	CaCert string `protobuf:"bytes,3,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"`
	// caPath is the path to a directory of PEM-encoded CA cert files to verify
	// the Vault server SSL certificate.
	CaPath string `protobuf:"bytes,4,opt,name=ca_path,json=caPath,proto3" json:"ca_path,omitempty"`
	// clientCert is the path to the certificate for Vault communication
	ClientCert string `protobuf:"bytes,5,opt,name=client_cert,json=clientCert,proto3" json:"client_cert,omitempty"`
	// clientKey is the path to the private key for Vault communication
	ClientKey string `protobuf:"bytes,6,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"`
	// tlsServerName, if set, is used to set the SNI host when connecting via
	// TLS.
	TlsServerName string `protobuf:"bytes,7,opt,name=tls_server_name,json=tlsServerName,proto3" json:"tls_server_name,omitempty"`
	// Insecure enables or disables SSL verification
	Insecure *types.BoolValue `protobuf:"bytes,8,opt,name=insecure,proto3" json:"insecure,omitempty"`
	// all keys stored in Vault will begin with this Vault
	// this can be used to run multiple instances of Gloo against the same Consul cluster
	// defaults to `gloo`
	RootKey              string   `protobuf:"bytes,9,opt,name=root_key,json=rootKey,proto3" json:"root_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Use [HashiCorp Vault](https://www.vaultproject.io/) as storage for secret data.

func (*Settings_VaultSecrets) Descriptor

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

func (*Settings_VaultSecrets) Equal

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

func (*Settings_VaultSecrets) GetAddress

func (m *Settings_VaultSecrets) GetAddress() string

func (*Settings_VaultSecrets) GetCaCert

func (m *Settings_VaultSecrets) GetCaCert() string

func (*Settings_VaultSecrets) GetCaPath

func (m *Settings_VaultSecrets) GetCaPath() string

func (*Settings_VaultSecrets) GetClientCert

func (m *Settings_VaultSecrets) GetClientCert() string

func (*Settings_VaultSecrets) GetClientKey

func (m *Settings_VaultSecrets) GetClientKey() string

func (*Settings_VaultSecrets) GetInsecure

func (m *Settings_VaultSecrets) GetInsecure() *types.BoolValue

func (*Settings_VaultSecrets) GetRootKey

func (m *Settings_VaultSecrets) GetRootKey() string

func (*Settings_VaultSecrets) GetTlsServerName

func (m *Settings_VaultSecrets) GetTlsServerName() string

func (*Settings_VaultSecrets) GetToken

func (m *Settings_VaultSecrets) GetToken() string

func (*Settings_VaultSecrets) ProtoMessage

func (*Settings_VaultSecrets) ProtoMessage()

func (*Settings_VaultSecrets) Reset

func (m *Settings_VaultSecrets) Reset()

func (*Settings_VaultSecrets) String

func (m *Settings_VaultSecrets) String() string

func (*Settings_VaultSecrets) XXX_DiscardUnknown

func (m *Settings_VaultSecrets) XXX_DiscardUnknown()

func (*Settings_VaultSecrets) XXX_Marshal

func (m *Settings_VaultSecrets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Settings_VaultSecrets) XXX_Merge

func (m *Settings_VaultSecrets) XXX_Merge(src proto.Message)

func (*Settings_VaultSecrets) XXX_Size

func (m *Settings_VaultSecrets) XXX_Size() int

func (*Settings_VaultSecrets) XXX_Unmarshal

func (m *Settings_VaultSecrets) XXX_Unmarshal(b []byte) error

type SetupEmitter

type SetupEmitter interface {
	SetupSnapshotEmitter
	Register() error
	Settings() SettingsClient
}

func NewSetupEmitter

func NewSetupEmitter(settingsClient SettingsClient) SetupEmitter

func NewSetupEmitterWithEmit

func NewSetupEmitterWithEmit(settingsClient SettingsClient, emit <-chan struct{}) SetupEmitter

type SetupSimpleEmitter

type SetupSimpleEmitter interface {
	Snapshots(ctx context.Context) (<-chan *SetupSnapshot, <-chan error, error)
}

func NewSetupSimpleEmitter

func NewSetupSimpleEmitter(aggregatedWatch clients.ResourceWatch) SetupSimpleEmitter

func NewSetupSimpleEmitterWithEmit

func NewSetupSimpleEmitterWithEmit(aggregatedWatch clients.ResourceWatch, emit <-chan struct{}) SetupSimpleEmitter

type SetupSnapshot

type SetupSnapshot struct {
	Settings SettingsList
}

func (SetupSnapshot) Clone

func (s SetupSnapshot) Clone() SetupSnapshot

func (SetupSnapshot) Hash

func (s SetupSnapshot) Hash() uint64

func (SetupSnapshot) HashFields

func (s SetupSnapshot) HashFields() []zap.Field

func (SetupSnapshot) Stringer

func (s SetupSnapshot) Stringer() SetupSnapshotStringer

type SetupSnapshotEmitter

type SetupSnapshotEmitter interface {
	Snapshots(watchNamespaces []string, opts clients.WatchOpts) (<-chan *SetupSnapshot, <-chan error, error)
}

type SetupSnapshotStringer

type SetupSnapshotStringer struct {
	Version  uint64
	Settings []string
}

func (SetupSnapshotStringer) String

func (ss SetupSnapshotStringer) String() string

type SetupSyncDecider deprecated

type SetupSyncDecider interface {
	SetupSyncer
	ShouldSync(old, new *SetupSnapshot) bool
}

Deprecated: use SetupSyncDeciderWithContext

type SetupSyncDeciderWithContext

type SetupSyncDeciderWithContext interface {
	SetupSyncer
	ShouldSync(ctx context.Context, old, new *SetupSnapshot) bool
}

type SetupSyncer

type SetupSyncer interface {
	Sync(context.Context, *SetupSnapshot) error
}

type SetupSyncers

type SetupSyncers []SetupSyncer

func (SetupSyncers) Sync

func (s SetupSyncers) Sync(ctx context.Context, snapshot *SetupSnapshot) error

type SslConfig

type SslConfig struct {
	// Types that are valid to be assigned to SslSecrets:
	//	*SslConfig_SecretRef
	//	*SslConfig_SslFiles
	//	*SslConfig_Sds
	SslSecrets isSslConfig_SslSecrets `protobuf_oneof:"ssl_secrets"`
	// optional. the SNI domains that should be considered for TLS connections
	SniDomains []string `protobuf:"bytes,3,rep,name=sni_domains,json=sniDomains,proto3" json:"sni_domains,omitempty"`
	// Verify that the Subject Alternative Name in the peer certificate is one of the specified values.
	// note that a root_ca must be provided if this option is used.
	VerifySubjectAltName []string       `protobuf:"bytes,5,rep,name=verify_subject_alt_name,json=verifySubjectAltName,proto3" json:"verify_subject_alt_name,omitempty"`
	Parameters           *SslParameters `protobuf:"bytes,6,opt,name=parameters,proto3" json:"parameters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

SslConfig contains the options necessary to configure a virtual host or listener to use TLS

func (*SslConfig) Descriptor

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

func (*SslConfig) Equal

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

func (*SslConfig) GetParameters

func (m *SslConfig) GetParameters() *SslParameters

func (*SslConfig) GetSds

func (m *SslConfig) GetSds() *SDSConfig

func (*SslConfig) GetSecretRef

func (m *SslConfig) GetSecretRef() *core.ResourceRef

func (*SslConfig) GetSniDomains

func (m *SslConfig) GetSniDomains() []string

func (*SslConfig) GetSslFiles

func (m *SslConfig) GetSslFiles() *SSLFiles

func (*SslConfig) GetSslSecrets

func (m *SslConfig) GetSslSecrets() isSslConfig_SslSecrets

func (*SslConfig) GetVerifySubjectAltName

func (m *SslConfig) GetVerifySubjectAltName() []string

func (*SslConfig) ProtoMessage

func (*SslConfig) ProtoMessage()

func (*SslConfig) Reset

func (m *SslConfig) Reset()

func (*SslConfig) String

func (m *SslConfig) String() string

func (*SslConfig) XXX_DiscardUnknown

func (m *SslConfig) XXX_DiscardUnknown()

func (*SslConfig) XXX_Marshal

func (m *SslConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SslConfig) XXX_Merge

func (m *SslConfig) XXX_Merge(src proto.Message)

func (*SslConfig) XXX_OneofWrappers

func (*SslConfig) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*SslConfig) XXX_Size

func (m *SslConfig) XXX_Size() int

func (*SslConfig) XXX_Unmarshal

func (m *SslConfig) XXX_Unmarshal(b []byte) error

type SslConfig_Sds

type SslConfig_Sds struct {
	Sds *SDSConfig `protobuf:"bytes,4,opt,name=sds,proto3,oneof" json:"sds,omitempty"`
}

func (*SslConfig_Sds) Equal

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

type SslConfig_SecretRef

type SslConfig_SecretRef struct {
	SecretRef *core.ResourceRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3,oneof" json:"secret_ref,omitempty"`
}

func (*SslConfig_SecretRef) Equal

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

type SslConfig_SslFiles

type SslConfig_SslFiles struct {
	SslFiles *SSLFiles `protobuf:"bytes,2,opt,name=ssl_files,json=sslFiles,proto3,oneof" json:"ssl_files,omitempty"`
}

func (*SslConfig_SslFiles) Equal

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

type SslParameters

type SslParameters struct {
	MinimumProtocolVersion SslParameters_ProtocolVersion `` /* 178-byte string literal not displayed */
	MaximumProtocolVersion SslParameters_ProtocolVersion `` /* 178-byte string literal not displayed */
	CipherSuites           []string                      `protobuf:"bytes,3,rep,name=cipher_suites,json=cipherSuites,proto3" json:"cipher_suites,omitempty"`
	EcdhCurves             []string                      `protobuf:"bytes,4,rep,name=ecdh_curves,json=ecdhCurves,proto3" json:"ecdh_curves,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                      `json:"-"`
	XXX_unrecognized       []byte                        `json:"-"`
	XXX_sizecache          int32                         `json:"-"`
}

General TLS parameters. See the [envoy docs](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/auth/cert.proto#envoy-api-enum-auth-tlsparameters-tlsprotocol) for more information on the meaning of these values.

func (*SslParameters) Descriptor

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

func (*SslParameters) Equal

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

func (*SslParameters) GetCipherSuites

func (m *SslParameters) GetCipherSuites() []string

func (*SslParameters) GetEcdhCurves

func (m *SslParameters) GetEcdhCurves() []string

func (*SslParameters) GetMaximumProtocolVersion

func (m *SslParameters) GetMaximumProtocolVersion() SslParameters_ProtocolVersion

func (*SslParameters) GetMinimumProtocolVersion

func (m *SslParameters) GetMinimumProtocolVersion() SslParameters_ProtocolVersion

func (*SslParameters) ProtoMessage

func (*SslParameters) ProtoMessage()

func (*SslParameters) Reset

func (m *SslParameters) Reset()

func (*SslParameters) String

func (m *SslParameters) String() string

func (*SslParameters) XXX_DiscardUnknown

func (m *SslParameters) XXX_DiscardUnknown()

func (*SslParameters) XXX_Marshal

func (m *SslParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SslParameters) XXX_Merge

func (m *SslParameters) XXX_Merge(src proto.Message)

func (*SslParameters) XXX_Size

func (m *SslParameters) XXX_Size() int

func (*SslParameters) XXX_Unmarshal

func (m *SslParameters) XXX_Unmarshal(b []byte) error

type SslParameters_ProtocolVersion

type SslParameters_ProtocolVersion int32
const (
	// Envoy will choose the optimal TLS version.
	SslParameters_TLS_AUTO SslParameters_ProtocolVersion = 0
	// TLS 1.0
	SslParameters_TLSv1_0 SslParameters_ProtocolVersion = 1
	// TLS 1.1
	SslParameters_TLSv1_1 SslParameters_ProtocolVersion = 2
	// TLS 1.2
	SslParameters_TLSv1_2 SslParameters_ProtocolVersion = 3
	// TLS 1.3
	SslParameters_TLSv1_3 SslParameters_ProtocolVersion = 4
)

func (SslParameters_ProtocolVersion) EnumDescriptor

func (SslParameters_ProtocolVersion) EnumDescriptor() ([]byte, []int)

func (SslParameters_ProtocolVersion) String

type Subset

type Subset struct {
	Values               map[string]string `` /* 153-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*Subset) Descriptor

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

func (*Subset) Equal

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

func (*Subset) GetValues

func (m *Subset) GetValues() map[string]string

func (*Subset) ProtoMessage

func (*Subset) ProtoMessage()

func (*Subset) Reset

func (m *Subset) Reset()

func (*Subset) String

func (m *Subset) String() string

func (*Subset) XXX_DiscardUnknown

func (m *Subset) XXX_DiscardUnknown()

func (*Subset) XXX_Marshal

func (m *Subset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Subset) XXX_Merge

func (m *Subset) XXX_Merge(src proto.Message)

func (*Subset) XXX_Size

func (m *Subset) XXX_Size() int

func (*Subset) XXX_Unmarshal

func (m *Subset) XXX_Unmarshal(b []byte) error

type SubsetSpecGetter

type SubsetSpecGetter interface {
	GetSubsetSpec() *plugins.SubsetSpec
}

type SubsetSpecMutator

type SubsetSpecMutator interface {
	SubsetSpecGetter
	SubsetSpecSetter
}

type SubsetSpecSetter

type SubsetSpecSetter interface {
	SetSubsetSpec(*plugins.SubsetSpec)
}

type TcpHost

type TcpHost struct {
	// the logical name of the tcp host. names must be unique for each tcp host within a listener
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Name of the destinations the gateway can route to.
	// Note: the destination spec and subsets are not supported in this context and will be ignored.
	Destination *RouteAction `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	// If provided, the Gateway will serve TLS/SSL traffic for this set of routes
	SslConfig            *SslConfig `protobuf:"bytes,3,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (*TcpHost) Descriptor

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

func (*TcpHost) Equal

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

func (*TcpHost) GetDestination

func (m *TcpHost) GetDestination() *RouteAction

func (*TcpHost) GetName

func (m *TcpHost) GetName() string

func (*TcpHost) GetSslConfig

func (m *TcpHost) GetSslConfig() *SslConfig

func (*TcpHost) ProtoMessage

func (*TcpHost) ProtoMessage()

func (*TcpHost) Reset

func (m *TcpHost) Reset()

func (*TcpHost) String

func (m *TcpHost) String() string

func (*TcpHost) XXX_DiscardUnknown

func (m *TcpHost) XXX_DiscardUnknown()

func (*TcpHost) XXX_Marshal

func (m *TcpHost) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TcpHost) XXX_Merge

func (m *TcpHost) XXX_Merge(src proto.Message)

func (*TcpHost) XXX_Size

func (m *TcpHost) XXX_Size() int

func (*TcpHost) XXX_Unmarshal

func (m *TcpHost) XXX_Unmarshal(b []byte) error

type TcpListener

type TcpListener struct {
	// List of filter chains to match on for this listener
	TcpHosts []*TcpHost `protobuf:"bytes,1,rep,name=tcp_hosts,json=tcpHosts,proto3" json:"tcp_hosts,omitempty"`
	// Plugins contains top-level plugin configuration to be applied to a listener
	// Listener config is applied to traffic for the given listener.
	// Some configuration here can be overridden in
	// Virtual Host Plugin configuration or Route Plugin configuration
	Plugins *TcpListenerPlugins `protobuf:"bytes,8,opt,name=plugins,proto3" json:"plugins,omitempty"`
	// prefix for addressing envoy stats for the tcp proxy
	StatPrefix           string   `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TcpListener) Descriptor

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

func (*TcpListener) Equal

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

func (*TcpListener) GetPlugins

func (m *TcpListener) GetPlugins() *TcpListenerPlugins

func (*TcpListener) GetStatPrefix

func (m *TcpListener) GetStatPrefix() string

func (*TcpListener) GetTcpHosts

func (m *TcpListener) GetTcpHosts() []*TcpHost

func (*TcpListener) ProtoMessage

func (*TcpListener) ProtoMessage()

func (*TcpListener) Reset

func (m *TcpListener) Reset()

func (*TcpListener) String

func (m *TcpListener) String() string

func (*TcpListener) XXX_DiscardUnknown

func (m *TcpListener) XXX_DiscardUnknown()

func (*TcpListener) XXX_Marshal

func (m *TcpListener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TcpListener) XXX_Merge

func (m *TcpListener) XXX_Merge(src proto.Message)

func (*TcpListener) XXX_Size

func (m *TcpListener) XXX_Size() int

func (*TcpListener) XXX_Unmarshal

func (m *TcpListener) XXX_Unmarshal(b []byte) error

type TcpListenerPlugins

type TcpListenerPlugins struct {
	TcpProxySettings     *tcp.TcpProxySettings `protobuf:"bytes,3,opt,name=tcp_proxy_settings,json=tcpProxySettings,proto3" json:"tcp_proxy_settings,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

Plugin-specific configuration that lives on tcp listeners

func (*TcpListenerPlugins) Descriptor

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

func (*TcpListenerPlugins) Equal

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

func (*TcpListenerPlugins) GetTcpProxySettings

func (m *TcpListenerPlugins) GetTcpProxySettings() *tcp.TcpProxySettings

func (*TcpListenerPlugins) ProtoMessage

func (*TcpListenerPlugins) ProtoMessage()

func (*TcpListenerPlugins) Reset

func (m *TcpListenerPlugins) Reset()

func (*TcpListenerPlugins) String

func (m *TcpListenerPlugins) String() string

func (*TcpListenerPlugins) XXX_DiscardUnknown

func (m *TcpListenerPlugins) XXX_DiscardUnknown()

func (*TcpListenerPlugins) XXX_Marshal

func (m *TcpListenerPlugins) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TcpListenerPlugins) XXX_Merge

func (m *TcpListenerPlugins) XXX_Merge(src proto.Message)

func (*TcpListenerPlugins) XXX_Size

func (m *TcpListenerPlugins) XXX_Size() int

func (*TcpListenerPlugins) XXX_Unmarshal

func (m *TcpListenerPlugins) XXX_Unmarshal(b []byte) error

type TlsSecret

type TlsSecret struct {
	// provided by `glooctl create secret tls`
	CertChain string `protobuf:"bytes,1,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"`
	// provided by `glooctl create secret tls`
	PrivateKey string `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	// provided by `glooctl create secret tls`
	RootCa               string   `protobuf:"bytes,3,opt,name=root_ca,json=rootCa,proto3" json:"root_ca,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TlsSecret) Descriptor

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

func (*TlsSecret) Equal

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

func (*TlsSecret) GetCertChain

func (m *TlsSecret) GetCertChain() string

func (*TlsSecret) GetPrivateKey

func (m *TlsSecret) GetPrivateKey() string

func (*TlsSecret) GetRootCa

func (m *TlsSecret) GetRootCa() string

func (*TlsSecret) ProtoMessage

func (*TlsSecret) ProtoMessage()

func (*TlsSecret) Reset

func (m *TlsSecret) Reset()

func (*TlsSecret) String

func (m *TlsSecret) String() string

func (*TlsSecret) XXX_DiscardUnknown

func (m *TlsSecret) XXX_DiscardUnknown()

func (*TlsSecret) XXX_Marshal

func (m *TlsSecret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TlsSecret) XXX_Merge

func (m *TlsSecret) XXX_Merge(src proto.Message)

func (*TlsSecret) XXX_Size

func (m *TlsSecret) XXX_Size() int

func (*TlsSecret) XXX_Unmarshal

func (m *TlsSecret) XXX_Unmarshal(b []byte) error

type TransitionArtifactFunc

type TransitionArtifactFunc func(original, desired *Artifact) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionEndpointFunc

type TransitionEndpointFunc func(original, desired *Endpoint) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionProxyFunc

type TransitionProxyFunc func(original, desired *Proxy) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionSecretFunc

type TransitionSecretFunc func(original, desired *Secret) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionSettingsFunc

type TransitionSettingsFunc func(original, desired *Settings) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionUpstreamFunc

type TransitionUpstreamFunc func(original, desired *Upstream) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type TransitionUpstreamGroupFunc

type TransitionUpstreamGroupFunc func(original, desired *UpstreamGroup) (bool, error)

Option to copy anything from the original to the desired before writing. Return value of false means don't update

type Upstream

type Upstream struct {
	// Type-specific configuration. Examples include static, kubernetes, and aws.
	// The type-specific config for the upstream is called a spec.
	UpstreamSpec *UpstreamSpec `protobuf:"bytes,2,opt,name=upstream_spec,json=upstreamSpec,proto3" json:"upstream_spec,omitempty"`
	// Status indicates the validation status of the resource. Status is read-only by clients, and set by gloo during validation
	Status core.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"`
	// 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    *DiscoveryMetadata `protobuf:"bytes,8,opt,name=discovery_metadata,json=discoveryMetadata,proto3" json:"discovery_metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

Upstreams represent destination for routing HTTP requests. Upstreams can be compared to [clusters](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cds.proto) 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.

func NewUpstream

func NewUpstream(namespace, name string) *Upstream

func (*Upstream) DeepCopyInto

func (o *Upstream) DeepCopyInto(out *Upstream)

func (*Upstream) DeepCopyObject

func (o *Upstream) DeepCopyObject() runtime.Object

func (*Upstream) Descriptor

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

func (*Upstream) Equal

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

func (*Upstream) GetDiscoveryMetadata

func (m *Upstream) GetDiscoveryMetadata() *DiscoveryMetadata

func (*Upstream) GetMetadata

func (m *Upstream) GetMetadata() core.Metadata

func (*Upstream) GetObjectKind

func (o *Upstream) GetObjectKind() schema.ObjectKind

func (*Upstream) GetStatus

func (m *Upstream) GetStatus() core.Status

func (*Upstream) GetUpstreamSpec

func (m *Upstream) GetUpstreamSpec() *UpstreamSpec

func (*Upstream) GroupVersionKind

func (r *Upstream) GroupVersionKind() schema.GroupVersionKind

func (*Upstream) Hash

func (r *Upstream) Hash() uint64

func (*Upstream) ProtoMessage

func (*Upstream) ProtoMessage()

func (*Upstream) Reset

func (m *Upstream) Reset()

func (*Upstream) SetMetadata

func (r *Upstream) SetMetadata(meta core.Metadata)

func (*Upstream) SetStatus

func (r *Upstream) SetStatus(status core.Status)

func (*Upstream) String

func (m *Upstream) String() string

func (*Upstream) XXX_DiscardUnknown

func (m *Upstream) XXX_DiscardUnknown()

func (*Upstream) XXX_Marshal

func (m *Upstream) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Upstream) XXX_Merge

func (m *Upstream) XXX_Merge(src proto.Message)

func (*Upstream) XXX_Size

func (m *Upstream) XXX_Size() int

func (*Upstream) XXX_Unmarshal

func (m *Upstream) XXX_Unmarshal(b []byte) error

type UpstreamClient

type UpstreamClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*Upstream, error)
	Write(resource *Upstream, opts clients.WriteOpts) (*Upstream, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (UpstreamList, error)
	UpstreamWatcher
}

func NewUpstreamClient

func NewUpstreamClient(rcFactory factory.ResourceClientFactory) (UpstreamClient, error)

func NewUpstreamClientWithBase

func NewUpstreamClientWithBase(rc clients.ResourceClient) UpstreamClient

func NewUpstreamClientWithToken

func NewUpstreamClientWithToken(rcFactory factory.ResourceClientFactory, token string) (UpstreamClient, error)

type UpstreamGroup

type UpstreamGroup struct {
	// The destinations that are part of this upstream group.
	Destinations []*WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status core.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata             core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func NewUpstreamGroup

func NewUpstreamGroup(namespace, name string) *UpstreamGroup

func (*UpstreamGroup) DeepCopyInto

func (o *UpstreamGroup) DeepCopyInto(out *UpstreamGroup)

func (*UpstreamGroup) DeepCopyObject

func (o *UpstreamGroup) DeepCopyObject() runtime.Object

func (*UpstreamGroup) Descriptor

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

func (*UpstreamGroup) Equal

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

func (*UpstreamGroup) GetDestinations

func (m *UpstreamGroup) GetDestinations() []*WeightedDestination

func (*UpstreamGroup) GetMetadata

func (m *UpstreamGroup) GetMetadata() core.Metadata

func (*UpstreamGroup) GetObjectKind

func (o *UpstreamGroup) GetObjectKind() schema.ObjectKind

func (*UpstreamGroup) GetStatus

func (m *UpstreamGroup) GetStatus() core.Status

func (*UpstreamGroup) GroupVersionKind

func (r *UpstreamGroup) GroupVersionKind() schema.GroupVersionKind

func (*UpstreamGroup) Hash

func (r *UpstreamGroup) Hash() uint64

func (*UpstreamGroup) ProtoMessage

func (*UpstreamGroup) ProtoMessage()

func (*UpstreamGroup) Reset

func (m *UpstreamGroup) Reset()

func (*UpstreamGroup) SetMetadata

func (r *UpstreamGroup) SetMetadata(meta core.Metadata)

func (*UpstreamGroup) SetStatus

func (r *UpstreamGroup) SetStatus(status core.Status)

func (*UpstreamGroup) String

func (m *UpstreamGroup) String() string

func (*UpstreamGroup) XXX_DiscardUnknown

func (m *UpstreamGroup) XXX_DiscardUnknown()

func (*UpstreamGroup) XXX_Marshal

func (m *UpstreamGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpstreamGroup) XXX_Merge

func (m *UpstreamGroup) XXX_Merge(src proto.Message)

func (*UpstreamGroup) XXX_Size

func (m *UpstreamGroup) XXX_Size() int

func (*UpstreamGroup) XXX_Unmarshal

func (m *UpstreamGroup) XXX_Unmarshal(b []byte) error

type UpstreamGroupClient

type UpstreamGroupClient interface {
	BaseClient() clients.ResourceClient
	Register() error
	Read(namespace, name string, opts clients.ReadOpts) (*UpstreamGroup, error)
	Write(resource *UpstreamGroup, opts clients.WriteOpts) (*UpstreamGroup, error)
	Delete(namespace, name string, opts clients.DeleteOpts) error
	List(namespace string, opts clients.ListOpts) (UpstreamGroupList, error)
	UpstreamGroupWatcher
}

func NewUpstreamGroupClient

func NewUpstreamGroupClient(rcFactory factory.ResourceClientFactory) (UpstreamGroupClient, error)

func NewUpstreamGroupClientWithBase

func NewUpstreamGroupClientWithBase(rc clients.ResourceClient) UpstreamGroupClient

func NewUpstreamGroupClientWithToken

func NewUpstreamGroupClientWithToken(rcFactory factory.ResourceClientFactory, token string) (UpstreamGroupClient, error)

type UpstreamGroupList

type UpstreamGroupList []*UpstreamGroup

func (UpstreamGroupList) AsInputResources

func (list UpstreamGroupList) AsInputResources() resources.InputResourceList

func (UpstreamGroupList) AsInterfaces

func (list UpstreamGroupList) AsInterfaces() []interface{}

func (UpstreamGroupList) AsResources

func (list UpstreamGroupList) AsResources() resources.ResourceList

func (UpstreamGroupList) Clone

func (list UpstreamGroupList) Clone() UpstreamGroupList

func (UpstreamGroupList) Each

func (list UpstreamGroupList) Each(f func(element *UpstreamGroup))

func (UpstreamGroupList) EachResource

func (list UpstreamGroupList) EachResource(f func(element resources.Resource))

func (UpstreamGroupList) Find

func (list UpstreamGroupList) Find(namespace, name string) (*UpstreamGroup, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (UpstreamGroupList) Names

func (list UpstreamGroupList) Names() []string

func (UpstreamGroupList) NamespacesDotNames

func (list UpstreamGroupList) NamespacesDotNames() []string

func (UpstreamGroupList) Sort

type UpstreamGroupReconciler

type UpstreamGroupReconciler interface {
	Reconcile(namespace string, desiredResources UpstreamGroupList, transition TransitionUpstreamGroupFunc, opts clients.ListOpts) error
}

func NewUpstreamGroupReconciler

func NewUpstreamGroupReconciler(client UpstreamGroupClient) UpstreamGroupReconciler

type UpstreamGroupWatcher

type UpstreamGroupWatcher interface {
	// watch namespace-scoped UpstreamGroups
	Watch(namespace string, opts clients.WatchOpts) (<-chan UpstreamGroupList, <-chan error, error)
}

type UpstreamList

type UpstreamList []*Upstream

func (UpstreamList) AsInputResources

func (list UpstreamList) AsInputResources() resources.InputResourceList

func (UpstreamList) AsInterfaces

func (list UpstreamList) AsInterfaces() []interface{}

func (UpstreamList) AsResources

func (list UpstreamList) AsResources() resources.ResourceList

func (UpstreamList) Clone

func (list UpstreamList) Clone() UpstreamList

func (UpstreamList) Each

func (list UpstreamList) Each(f func(element *Upstream))

func (UpstreamList) EachResource

func (list UpstreamList) EachResource(f func(element resources.Resource))

func (UpstreamList) Find

func (list UpstreamList) Find(namespace, name string) (*Upstream, error)

namespace is optional, if left empty, names can collide if the list contains more than one with the same name

func (UpstreamList) Names

func (list UpstreamList) Names() []string

func (UpstreamList) NamespacesDotNames

func (list UpstreamList) NamespacesDotNames() []string

func (UpstreamList) Sort

func (list UpstreamList) Sort() UpstreamList

type UpstreamReconciler

type UpstreamReconciler interface {
	Reconcile(namespace string, desiredResources UpstreamList, transition TransitionUpstreamFunc, opts clients.ListOpts) error
}

func NewUpstreamReconciler

func NewUpstreamReconciler(client UpstreamClient) UpstreamReconciler

type UpstreamSpec

type UpstreamSpec struct {
	SslConfig *UpstreamSslConfig `protobuf:"bytes,1,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	// Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used.
	// if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers)
	// will be used.
	CircuitBreakers    *CircuitBreakerConfig     `protobuf:"bytes,2,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"`
	LoadBalancerConfig *LoadBalancerConfig       `protobuf:"bytes,3,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"`
	ConnectionConfig   *ConnectionConfig         `protobuf:"bytes,4,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"`
	HealthChecks       []*core.HealthCheck       `protobuf:"bytes,5,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
	OutlierDetection   *cluster.OutlierDetection `protobuf:"bytes,6,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// Use http2 when communicating with this upstream
	// this field is evaluated `true` for upstreams
	// with a grpc service spec. otherwise defaults to `false`
	UseHttp2 bool `protobuf:"varint,7,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"`
	// Note to developers: new Upstream Plugins must be added to this oneof field
	// to be usable by Gloo.
	//
	// Types that are valid to be assigned to UpstreamType:
	//	*UpstreamSpec_Kube
	//	*UpstreamSpec_Static
	//	*UpstreamSpec_Pipe
	//	*UpstreamSpec_Aws
	//	*UpstreamSpec_Azure
	//	*UpstreamSpec_Consul
	//	*UpstreamSpec_AwsEc2
	UpstreamType         isUpstreamSpec_UpstreamType `protobuf_oneof:"upstream_type"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

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.

func (*UpstreamSpec) Descriptor

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

func (*UpstreamSpec) Equal

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

func (*UpstreamSpec) GetAws

func (m *UpstreamSpec) GetAws() *aws.UpstreamSpec

func (*UpstreamSpec) GetAwsEc2

func (m *UpstreamSpec) GetAwsEc2() *ec2.UpstreamSpec

func (*UpstreamSpec) GetAzure

func (m *UpstreamSpec) GetAzure() *azure.UpstreamSpec

func (*UpstreamSpec) GetCircuitBreakers

func (m *UpstreamSpec) GetCircuitBreakers() *CircuitBreakerConfig

func (*UpstreamSpec) GetConnectionConfig

func (m *UpstreamSpec) GetConnectionConfig() *ConnectionConfig

func (*UpstreamSpec) GetConsul

func (m *UpstreamSpec) GetConsul() *consul.UpstreamSpec

func (*UpstreamSpec) GetHealthChecks

func (m *UpstreamSpec) GetHealthChecks() []*core.HealthCheck

func (*UpstreamSpec) GetKube

func (m *UpstreamSpec) GetKube() *kubernetes.UpstreamSpec

func (*UpstreamSpec) GetLoadBalancerConfig

func (m *UpstreamSpec) GetLoadBalancerConfig() *LoadBalancerConfig

func (*UpstreamSpec) GetOutlierDetection

func (m *UpstreamSpec) GetOutlierDetection() *cluster.OutlierDetection

func (*UpstreamSpec) GetPipe

func (m *UpstreamSpec) GetPipe() *pipe.UpstreamSpec

func (*UpstreamSpec) GetSslConfig

func (m *UpstreamSpec) GetSslConfig() *UpstreamSslConfig

func (*UpstreamSpec) GetStatic

func (m *UpstreamSpec) GetStatic() *static.UpstreamSpec

func (*UpstreamSpec) GetUpstreamType

func (m *UpstreamSpec) GetUpstreamType() isUpstreamSpec_UpstreamType

func (*UpstreamSpec) GetUseHttp2

func (m *UpstreamSpec) GetUseHttp2() bool

func (*UpstreamSpec) ProtoMessage

func (*UpstreamSpec) ProtoMessage()

func (*UpstreamSpec) Reset

func (m *UpstreamSpec) Reset()

func (*UpstreamSpec) String

func (m *UpstreamSpec) String() string

func (*UpstreamSpec) XXX_DiscardUnknown

func (m *UpstreamSpec) XXX_DiscardUnknown()

func (*UpstreamSpec) XXX_Marshal

func (m *UpstreamSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpstreamSpec) XXX_Merge

func (m *UpstreamSpec) XXX_Merge(src proto.Message)

func (*UpstreamSpec) XXX_OneofWrappers

func (*UpstreamSpec) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*UpstreamSpec) XXX_Size

func (m *UpstreamSpec) XXX_Size() int

func (*UpstreamSpec) XXX_Unmarshal

func (m *UpstreamSpec) XXX_Unmarshal(b []byte) error

type UpstreamSpec_Aws

type UpstreamSpec_Aws struct {
	Aws *aws.UpstreamSpec `protobuf:"bytes,11,opt,name=aws,proto3,oneof" json:"aws,omitempty"`
}

func (*UpstreamSpec_Aws) Equal

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

type UpstreamSpec_AwsEc2

type UpstreamSpec_AwsEc2 struct {
	AwsEc2 *ec2.UpstreamSpec `protobuf:"bytes,14,opt,name=aws_ec2,json=awsEc2,proto3,oneof" json:"aws_ec2,omitempty"`
}

func (*UpstreamSpec_AwsEc2) Equal

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

type UpstreamSpec_Azure

type UpstreamSpec_Azure struct {
	Azure *azure.UpstreamSpec `protobuf:"bytes,12,opt,name=azure,proto3,oneof" json:"azure,omitempty"`
}

func (*UpstreamSpec_Azure) Equal

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

type UpstreamSpec_Consul

type UpstreamSpec_Consul struct {
	Consul *consul.UpstreamSpec `protobuf:"bytes,13,opt,name=consul,proto3,oneof" json:"consul,omitempty"`
}

func (*UpstreamSpec_Consul) Equal

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

func (*UpstreamSpec_Consul) GetServiceSpec

func (us *UpstreamSpec_Consul) GetServiceSpec() *plugins.ServiceSpec

func (*UpstreamSpec_Consul) GetSubsetSpec

func (us *UpstreamSpec_Consul) GetSubsetSpec() *plugins.SubsetSpec

func (*UpstreamSpec_Consul) SetServiceSpec

func (us *UpstreamSpec_Consul) SetServiceSpec(spec *plugins.ServiceSpec)

type UpstreamSpec_Kube

type UpstreamSpec_Kube struct {
	Kube *kubernetes.UpstreamSpec `protobuf:"bytes,8,opt,name=kube,proto3,oneof" json:"kube,omitempty"`
}

func (*UpstreamSpec_Kube) Equal

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

func (*UpstreamSpec_Kube) GetServiceSpec

func (us *UpstreamSpec_Kube) GetServiceSpec() *plugins.ServiceSpec

Add these two methods to any upstream spec that supports a ServiceSpec describing the service represented by the upstream

func (*UpstreamSpec_Kube) GetSubsetSpec

func (us *UpstreamSpec_Kube) GetSubsetSpec() *plugins.SubsetSpec

func (*UpstreamSpec_Kube) SetServiceSpec

func (us *UpstreamSpec_Kube) SetServiceSpec(spec *plugins.ServiceSpec)

func (*UpstreamSpec_Kube) SetSubsetSpec

func (us *UpstreamSpec_Kube) SetSubsetSpec(spec *plugins.SubsetSpec)

type UpstreamSpec_Pipe

type UpstreamSpec_Pipe struct {
	Pipe *pipe.UpstreamSpec `protobuf:"bytes,10,opt,name=pipe,proto3,oneof" json:"pipe,omitempty"`
}

func (*UpstreamSpec_Pipe) Equal

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

func (*UpstreamSpec_Pipe) GetServiceSpec

func (us *UpstreamSpec_Pipe) GetServiceSpec() *plugins.ServiceSpec

func (*UpstreamSpec_Pipe) SetServiceSpec

func (us *UpstreamSpec_Pipe) SetServiceSpec(spec *plugins.ServiceSpec)

type UpstreamSpec_Static

type UpstreamSpec_Static struct {
	Static *static.UpstreamSpec `protobuf:"bytes,9,opt,name=static,proto3,oneof" json:"static,omitempty"`
}

func (*UpstreamSpec_Static) Equal

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

func (*UpstreamSpec_Static) GetServiceSpec

func (us *UpstreamSpec_Static) GetServiceSpec() *plugins.ServiceSpec

func (*UpstreamSpec_Static) SetServiceSpec

func (us *UpstreamSpec_Static) SetServiceSpec(spec *plugins.ServiceSpec)

type UpstreamSslConfig

type UpstreamSslConfig struct {
	// Types that are valid to be assigned to SslSecrets:
	//	*UpstreamSslConfig_SecretRef
	//	*UpstreamSslConfig_SslFiles
	//	*UpstreamSslConfig_Sds
	SslSecrets isUpstreamSslConfig_SslSecrets `protobuf_oneof:"ssl_secrets"`
	// optional. the SNI domains that should be considered for TLS connections
	Sni string `protobuf:"bytes,3,opt,name=sni,proto3" json:"sni,omitempty"`
	// Verify that the Subject Alternative Name in the peer certificate is one of the specified values.
	// note that a root_ca must be provided if this option is used.
	VerifySubjectAltName []string       `protobuf:"bytes,5,rep,name=verify_subject_alt_name,json=verifySubjectAltName,proto3" json:"verify_subject_alt_name,omitempty"`
	Parameters           *SslParameters `protobuf:"bytes,7,opt,name=parameters,proto3" json:"parameters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

SslConfig contains the options necessary to configure a virtual host or listener to use TLS

func (*UpstreamSslConfig) Descriptor

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

func (*UpstreamSslConfig) Equal

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

func (*UpstreamSslConfig) GetParameters

func (m *UpstreamSslConfig) GetParameters() *SslParameters

func (*UpstreamSslConfig) GetSds

func (m *UpstreamSslConfig) GetSds() *SDSConfig

func (*UpstreamSslConfig) GetSecretRef

func (m *UpstreamSslConfig) GetSecretRef() *core.ResourceRef

func (*UpstreamSslConfig) GetSni

func (m *UpstreamSslConfig) GetSni() string

func (*UpstreamSslConfig) GetSslFiles

func (m *UpstreamSslConfig) GetSslFiles() *SSLFiles

func (*UpstreamSslConfig) GetSslSecrets

func (m *UpstreamSslConfig) GetSslSecrets() isUpstreamSslConfig_SslSecrets

func (*UpstreamSslConfig) GetVerifySubjectAltName

func (m *UpstreamSslConfig) GetVerifySubjectAltName() []string

func (*UpstreamSslConfig) ProtoMessage

func (*UpstreamSslConfig) ProtoMessage()

func (*UpstreamSslConfig) Reset

func (m *UpstreamSslConfig) Reset()

func (*UpstreamSslConfig) String

func (m *UpstreamSslConfig) String() string

func (*UpstreamSslConfig) XXX_DiscardUnknown

func (m *UpstreamSslConfig) XXX_DiscardUnknown()

func (*UpstreamSslConfig) XXX_Marshal

func (m *UpstreamSslConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpstreamSslConfig) XXX_Merge

func (m *UpstreamSslConfig) XXX_Merge(src proto.Message)

func (*UpstreamSslConfig) XXX_OneofWrappers

func (*UpstreamSslConfig) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*UpstreamSslConfig) XXX_Size

func (m *UpstreamSslConfig) XXX_Size() int

func (*UpstreamSslConfig) XXX_Unmarshal

func (m *UpstreamSslConfig) XXX_Unmarshal(b []byte) error

type UpstreamSslConfig_Sds

type UpstreamSslConfig_Sds struct {
	Sds *SDSConfig `protobuf:"bytes,4,opt,name=sds,proto3,oneof" json:"sds,omitempty"`
}

func (*UpstreamSslConfig_Sds) Equal

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

type UpstreamSslConfig_SecretRef

type UpstreamSslConfig_SecretRef struct {
	SecretRef *core.ResourceRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3,oneof" json:"secret_ref,omitempty"`
}

func (*UpstreamSslConfig_SecretRef) Equal

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

type UpstreamSslConfig_SslFiles

type UpstreamSslConfig_SslFiles struct {
	SslFiles *SSLFiles `protobuf:"bytes,2,opt,name=ssl_files,json=sslFiles,proto3,oneof" json:"ssl_files,omitempty"`
}

func (*UpstreamSslConfig_SslFiles) Equal

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

type UpstreamWatcher

type UpstreamWatcher interface {
	// watch namespace-scoped Upstreams
	Watch(namespace string, opts clients.WatchOpts) (<-chan UpstreamList, <-chan error, error)
}

type VirtualHost

type VirtualHost struct {
	// the logical name of the virtual host. names must be unique for each virtual host within a listener
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The list of domains (i.e.: matching the `Host` header of a request) that belong to this virtual host.
	// Note that the wildcard will not match the empty string. e.g. “*-bar.foo.com” will match “baz-bar.foo.com”
	// but not “-bar.foo.com”. Additionally, a special entry “*” is allowed which will match any host/authority header.
	// Only a single virtual host in the entire route configuration can match on “*”. A domain must be unique across all
	// virtual hosts or the config will be invalidated by Gloo
	// Domains on virtual hosts obey the same rules as [Envoy Virtual Hosts](https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto)
	Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"`
	// The list of HTTP routes define routing actions to be taken for incoming HTTP requests whose host header matches
	// this virtual host. If the request matches more than one route in the list, the first route matched will be selected.
	// If the list of routes is empty, the virtual host will be ignored by Gloo.
	Routes []*Route `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"`
	// Virtual host plugins contain additional configuration to be applied to all traffic served by the Virtual Host.
	// Some configuration here can be overridden by Route Plugins.
	VirtualHostPlugins *VirtualHostPlugins `protobuf:"bytes,4,opt,name=virtual_host_plugins,json=virtualHostPlugins,proto3" json:"virtual_host_plugins,omitempty"`
	// Defines a CORS policy for the virtual host
	// If a CORS policy is also defined on the route matched by the request, the policies are merged.
	// DEPRECATED set cors policy through the Virtual Host Plugin
	CorsPolicy *CorsPolicy `protobuf:"bytes,5,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"` // Deprecated: Do not use.
	// Metadata for the individual virtual host
	// This data is opaque to Gloo, used
	// by controllers to track ownership of virtual hosts within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata             *types.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Virtual Hosts group an ordered list of routes under one or more domains. Each Virtual Host has a logical name, which must be unique for the listener. An HTTP request is first matched to a virtual host based on its host header, then to a route within the virtual host. If a request is not matched to any virtual host or a route therein, the target proxy will reply with a 404.

func (*VirtualHost) Descriptor

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

func (*VirtualHost) Equal

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

func (*VirtualHost) GetCorsPolicy deprecated

func (m *VirtualHost) GetCorsPolicy() *CorsPolicy

Deprecated: Do not use.

func (*VirtualHost) GetDomains

func (m *VirtualHost) GetDomains() []string

func (*VirtualHost) GetMetadata

func (m *VirtualHost) GetMetadata() *types.Struct

func (*VirtualHost) GetName

func (m *VirtualHost) GetName() string

func (*VirtualHost) GetRoutes

func (m *VirtualHost) GetRoutes() []*Route

func (*VirtualHost) GetVirtualHostPlugins

func (m *VirtualHost) GetVirtualHostPlugins() *VirtualHostPlugins

func (*VirtualHost) ProtoMessage

func (*VirtualHost) ProtoMessage()

func (*VirtualHost) Reset

func (m *VirtualHost) Reset()

func (*VirtualHost) String

func (m *VirtualHost) String() string

func (*VirtualHost) XXX_DiscardUnknown

func (m *VirtualHost) XXX_DiscardUnknown()

func (*VirtualHost) XXX_Marshal

func (m *VirtualHost) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualHost) XXX_Merge

func (m *VirtualHost) XXX_Merge(src proto.Message)

func (*VirtualHost) XXX_Size

func (m *VirtualHost) XXX_Size() int

func (*VirtualHost) XXX_Unmarshal

func (m *VirtualHost) XXX_Unmarshal(b []byte) error

type VirtualHostPlugins

type VirtualHostPlugins struct {
	// Deprecated: Opaque config for Gloo plugins
	Extensions *Extensions          `protobuf:"bytes,1,opt,name=extensions,proto3" json:"extensions,omitempty"` // Deprecated: Do not use.
	Retries    *retries.RetryPolicy `protobuf:"bytes,5,opt,name=retries,proto3" json:"retries,omitempty"`
	Stats      *stats.Stats         `protobuf:"bytes,10,opt,name=stats,proto3" json:"stats,omitempty"`
	// Append/Remove headers on Requests or Responses on all routes contained in this Virtual Host
	HeaderManipulation *headers.HeaderManipulation `protobuf:"bytes,2,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	// Defines a CORS policy for the virtual host
	// If a CORS policy is also defined on the route matched by the request, the policies are merged.
	Cors *cors.CorsPolicy `protobuf:"bytes,3,opt,name=cors,proto3" json:"cors,omitempty"`
	// Transformations to apply
	Transformations *transformation.RouteTransformations `protobuf:"bytes,4,opt,name=transformations,proto3" json:"transformations,omitempty"`
	// Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API
	RatelimitBasic *ratelimit.IngressRateLimit `protobuf:"bytes,6,opt,name=ratelimit_basic,json=ratelimitBasic,proto3" json:"ratelimit_basic,omitempty"`
	// Enterprise-only: Partial config for GlooE rate-limiting based on Envoy's rate-limit service;
	// supports Envoy's rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration)
	// Configure rate-limit *actions* here, which define how request characteristics get translated into
	// descriptors used by the rate-limit service for rate-limiting. Configure rate-limit *descriptors* and
	// their associated limits on the Gloo settings
	Ratelimit *ratelimit.RateLimitVhostExtension `protobuf:"bytes,7,opt,name=ratelimit,proto3" json:"ratelimit,omitempty"`
	// Enterprise-only: Config for Web Application Firewall (WAF), supporting
	// the popular ModSecurity 3.0 ruleset
	Waf *waf.Settings `protobuf:"bytes,8,opt,name=waf,proto3" json:"waf,omitempty"`
	// Enterprise-only: Config for reading and verifying JWTs. Copy verifiable information from JWTs into other
	// headers to make routing decisions or combine with RBAC for fine-grained access control.
	Jwt *jwt.VhostExtension `protobuf:"bytes,9,opt,name=jwt,proto3" json:"jwt,omitempty"`
	// Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims)
	Rbac *rbac.ExtensionSettings `protobuf:"bytes,11,opt,name=rbac,proto3" json:"rbac,omitempty"`
	// Enterprise-only: Authentication configuration
	Extauth              *v1.ExtAuthExtension `protobuf:"bytes,12,opt,name=extauth,proto3" json:"extauth,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

Plugin-specific configuration that lives on virtual hosts Each VirtualHostPlugin object contains configuration for a specific plugin Note to developers: new Virtual Host Plugins must be added to this struct to be usable by Gloo.

func (*VirtualHostPlugins) Descriptor

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

func (*VirtualHostPlugins) Equal

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

func (*VirtualHostPlugins) GetCors

func (m *VirtualHostPlugins) GetCors() *cors.CorsPolicy

func (*VirtualHostPlugins) GetExtauth

func (m *VirtualHostPlugins) GetExtauth() *v1.ExtAuthExtension

func (*VirtualHostPlugins) GetExtensions deprecated

func (m *VirtualHostPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*VirtualHostPlugins) GetHeaderManipulation

func (m *VirtualHostPlugins) GetHeaderManipulation() *headers.HeaderManipulation

func (*VirtualHostPlugins) GetJwt

func (m *VirtualHostPlugins) GetJwt() *jwt.VhostExtension

func (*VirtualHostPlugins) GetRatelimit

func (*VirtualHostPlugins) GetRatelimitBasic

func (m *VirtualHostPlugins) GetRatelimitBasic() *ratelimit.IngressRateLimit

func (*VirtualHostPlugins) GetRbac

func (*VirtualHostPlugins) GetRetries

func (m *VirtualHostPlugins) GetRetries() *retries.RetryPolicy

func (*VirtualHostPlugins) GetStats

func (m *VirtualHostPlugins) GetStats() *stats.Stats

func (*VirtualHostPlugins) GetTransformations

func (m *VirtualHostPlugins) GetTransformations() *transformation.RouteTransformations

func (*VirtualHostPlugins) GetWaf

func (m *VirtualHostPlugins) GetWaf() *waf.Settings

func (*VirtualHostPlugins) ProtoMessage

func (*VirtualHostPlugins) ProtoMessage()

func (*VirtualHostPlugins) Reset

func (m *VirtualHostPlugins) Reset()

func (*VirtualHostPlugins) String

func (m *VirtualHostPlugins) String() string

func (*VirtualHostPlugins) XXX_DiscardUnknown

func (m *VirtualHostPlugins) XXX_DiscardUnknown()

func (*VirtualHostPlugins) XXX_Marshal

func (m *VirtualHostPlugins) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualHostPlugins) XXX_Merge

func (m *VirtualHostPlugins) XXX_Merge(src proto.Message)

func (*VirtualHostPlugins) XXX_Size

func (m *VirtualHostPlugins) XXX_Size() int

func (*VirtualHostPlugins) XXX_Unmarshal

func (m *VirtualHostPlugins) XXX_Unmarshal(b []byte) error

type WeightedDestination

type WeightedDestination struct {
	Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" 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"`
	//Deprecated: use weighted_destination_plugins
	// Apply configuration to traffic that is sent to this weighted destination
	WeighedDestinationPlugins *WeightedDestinationPlugins `` // Deprecated: Do not use.
	/* 138-byte string literal not displayed */
	// Apply configuration to traffic that is sent to this weighted destination
	WeightedDestinationPlugins *WeightedDestinationPlugins `` /* 141-byte string literal not displayed */
	XXX_NoUnkeyedLiteral       struct{}                    `json:"-"`
	XXX_unrecognized           []byte                      `json:"-"`
	XXX_sizecache              int32                       `json:"-"`
}

WeightedDestination attaches a weight to a single destination.

func (*WeightedDestination) Descriptor

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

func (*WeightedDestination) Equal

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

func (*WeightedDestination) GetDestination

func (m *WeightedDestination) GetDestination() *Destination

func (*WeightedDestination) GetWeighedDestinationPlugins deprecated

func (m *WeightedDestination) GetWeighedDestinationPlugins() *WeightedDestinationPlugins

Deprecated: Do not use.

func (*WeightedDestination) GetWeight

func (m *WeightedDestination) GetWeight() uint32

func (*WeightedDestination) GetWeightedDestinationPlugins

func (m *WeightedDestination) GetWeightedDestinationPlugins() *WeightedDestinationPlugins

func (*WeightedDestination) ProtoMessage

func (*WeightedDestination) ProtoMessage()

func (*WeightedDestination) Reset

func (m *WeightedDestination) Reset()

func (*WeightedDestination) String

func (m *WeightedDestination) String() string

func (*WeightedDestination) XXX_DiscardUnknown

func (m *WeightedDestination) XXX_DiscardUnknown()

func (*WeightedDestination) XXX_Marshal

func (m *WeightedDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WeightedDestination) XXX_Merge

func (m *WeightedDestination) XXX_Merge(src proto.Message)

func (*WeightedDestination) XXX_Size

func (m *WeightedDestination) XXX_Size() int

func (*WeightedDestination) XXX_Unmarshal

func (m *WeightedDestination) XXX_Unmarshal(b []byte) error

type WeightedDestinationPlugins

type WeightedDestinationPlugins struct {
	// Append/Remove headers on Requests or Responses to/from this Weighted Destination
	HeaderManipulation *headers.HeaderManipulation `protobuf:"bytes,1,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	// Transformations to apply
	Transformations *transformation.RouteTransformations `protobuf:"bytes,2,opt,name=transformations,proto3" json:"transformations,omitempty"`
	// Deprecated: Opaque config for Gloo plugins
	Extensions *Extensions `protobuf:"bytes,3,opt,name=extensions,proto3" json:"extensions,omitempty"` // Deprecated: Do not use.
	// Enterprise-only: Authentication configuration
	Extauth              *v1.ExtAuthExtension `protobuf:"bytes,4,opt,name=extauth,proto3" json:"extauth,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

Plugin-specific configuration that is applied when a specific weighted destination is selected for routing.

func (*WeightedDestinationPlugins) Descriptor

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

func (*WeightedDestinationPlugins) Equal

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

func (*WeightedDestinationPlugins) GetExtauth

func (*WeightedDestinationPlugins) GetExtensions deprecated

func (m *WeightedDestinationPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*WeightedDestinationPlugins) GetHeaderManipulation

func (m *WeightedDestinationPlugins) GetHeaderManipulation() *headers.HeaderManipulation

func (*WeightedDestinationPlugins) GetTransformations

func (*WeightedDestinationPlugins) ProtoMessage

func (*WeightedDestinationPlugins) ProtoMessage()

func (*WeightedDestinationPlugins) Reset

func (m *WeightedDestinationPlugins) Reset()

func (*WeightedDestinationPlugins) String

func (m *WeightedDestinationPlugins) String() string

func (*WeightedDestinationPlugins) XXX_DiscardUnknown

func (m *WeightedDestinationPlugins) XXX_DiscardUnknown()

func (*WeightedDestinationPlugins) XXX_Marshal

func (m *WeightedDestinationPlugins) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WeightedDestinationPlugins) XXX_Merge

func (m *WeightedDestinationPlugins) XXX_Merge(src proto.Message)

func (*WeightedDestinationPlugins) XXX_Size

func (m *WeightedDestinationPlugins) XXX_Size() int

func (*WeightedDestinationPlugins) XXX_Unmarshal

func (m *WeightedDestinationPlugins) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

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