v1

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2019 License: Apache-2.0 Imports: 66 Imported by: 162

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 added in v0.13.21

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

func NewDiscoveryEventLoop

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

func NewDiscoverySimpleEventLoop added in v0.13.21

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

func NewEdsEventLoop added in v0.15.0

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

func NewEdsSimpleEventLoop added in v0.15.0

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

func NewSetupEventLoop

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

func NewSetupSimpleEventLoop added in v0.13.21

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 added in v0.13.21

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

func NewApiSimpleEmitter added in v0.13.21

func NewApiSimpleEmitter(aggregatedWatch clients.ResourceWatch) ApiSimpleEmitter

func NewApiSimpleEmitterWithEmit added in v0.13.21

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 added in v0.18.44

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 added in v0.13.21

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

Deprecated: use ApiSyncDeciderWithContext

type ApiSyncDeciderWithContext added in v0.15.0

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) 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 added in v0.18.0

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 added in v0.13.21

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 added in v0.13.21

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 added in v0.11.2

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 added in v0.11.2

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

func (*CallCredentials) Equal added in v0.11.2

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

func (*CallCredentials) GetFileCredentialSource added in v0.11.2

func (m *CallCredentials) GetFileCredentialSource() *CallCredentials_FileCredentialSource

func (*CallCredentials) ProtoMessage added in v0.11.2

func (*CallCredentials) ProtoMessage()

func (*CallCredentials) Reset added in v0.11.2

func (m *CallCredentials) Reset()

func (*CallCredentials) String added in v0.11.2

func (m *CallCredentials) String() string

func (*CallCredentials) XXX_DiscardUnknown added in v0.11.2

func (m *CallCredentials) XXX_DiscardUnknown()

func (*CallCredentials) XXX_Marshal added in v0.11.2

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

func (*CallCredentials) XXX_Merge added in v0.11.2

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

func (*CallCredentials) XXX_Size added in v0.11.2

func (m *CallCredentials) XXX_Size() int

func (*CallCredentials) XXX_Unmarshal added in v0.11.2

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

type CallCredentials_FileCredentialSource added in v0.11.2

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 added in v0.11.2

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

func (*CallCredentials_FileCredentialSource) Equal added in v0.11.2

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

func (*CallCredentials_FileCredentialSource) GetHeader added in v0.11.2

func (*CallCredentials_FileCredentialSource) GetTokenFileName added in v0.11.2

func (m *CallCredentials_FileCredentialSource) GetTokenFileName() string

func (*CallCredentials_FileCredentialSource) ProtoMessage added in v0.11.2

func (*CallCredentials_FileCredentialSource) ProtoMessage()

func (*CallCredentials_FileCredentialSource) Reset added in v0.11.2

func (*CallCredentials_FileCredentialSource) String added in v0.11.2

func (*CallCredentials_FileCredentialSource) XXX_DiscardUnknown added in v0.11.2

func (m *CallCredentials_FileCredentialSource) XXX_DiscardUnknown()

func (*CallCredentials_FileCredentialSource) XXX_Marshal added in v0.11.2

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

func (*CallCredentials_FileCredentialSource) XXX_Merge added in v0.11.2

func (*CallCredentials_FileCredentialSource) XXX_Size added in v0.11.2

func (*CallCredentials_FileCredentialSource) XXX_Unmarshal added in v0.11.2

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

type CircuitBreakerConfig added in v0.13.3

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 added in v0.13.3

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

func (*CircuitBreakerConfig) Equal added in v0.13.3

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

func (*CircuitBreakerConfig) GetMaxConnections added in v0.13.3

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

func (*CircuitBreakerConfig) GetMaxPendingRequests added in v0.13.3

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

func (*CircuitBreakerConfig) GetMaxRequests added in v0.13.3

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

func (*CircuitBreakerConfig) GetMaxRetries added in v0.13.3

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

func (*CircuitBreakerConfig) ProtoMessage added in v0.13.3

func (*CircuitBreakerConfig) ProtoMessage()

func (*CircuitBreakerConfig) Reset added in v0.13.3

func (m *CircuitBreakerConfig) Reset()

func (*CircuitBreakerConfig) String added in v0.13.3

func (m *CircuitBreakerConfig) String() string

func (*CircuitBreakerConfig) XXX_DiscardUnknown added in v0.13.3

func (m *CircuitBreakerConfig) XXX_DiscardUnknown()

func (*CircuitBreakerConfig) XXX_Marshal added in v0.13.3

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

func (*CircuitBreakerConfig) XXX_Merge added in v0.13.3

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

func (*CircuitBreakerConfig) XXX_Size added in v0.13.3

func (m *CircuitBreakerConfig) XXX_Size() int

func (*CircuitBreakerConfig) XXX_Unmarshal added in v0.13.3

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

type ConnectionConfig added in v0.13.15

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 added in v0.13.15

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

func (*ConnectionConfig) Equal added in v0.13.15

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

func (*ConnectionConfig) GetConnectTimeout added in v0.13.15

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

func (*ConnectionConfig) GetMaxRequestsPerConnection added in v0.13.15

func (m *ConnectionConfig) GetMaxRequestsPerConnection() uint32

func (*ConnectionConfig) GetTcpKeepalive added in v0.13.15

func (m *ConnectionConfig) GetTcpKeepalive() *ConnectionConfig_TcpKeepAlive

func (*ConnectionConfig) ProtoMessage added in v0.13.15

func (*ConnectionConfig) ProtoMessage()

func (*ConnectionConfig) Reset added in v0.13.15

func (m *ConnectionConfig) Reset()

func (*ConnectionConfig) String added in v0.13.15

func (m *ConnectionConfig) String() string

func (*ConnectionConfig) XXX_DiscardUnknown added in v0.13.15

func (m *ConnectionConfig) XXX_DiscardUnknown()

func (*ConnectionConfig) XXX_Marshal added in v0.13.15

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

func (*ConnectionConfig) XXX_Merge added in v0.13.15

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

func (*ConnectionConfig) XXX_Size added in v0.13.15

func (m *ConnectionConfig) XXX_Size() int

func (*ConnectionConfig) XXX_Unmarshal added in v0.13.15

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

type ConnectionConfig_TcpKeepAlive added in v0.13.15

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 added in v0.13.15

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

func (*ConnectionConfig_TcpKeepAlive) Equal added in v0.13.15

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

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveInterval added in v0.13.15

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

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes added in v0.13.15

func (m *ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes() uint32

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveTime added in v0.13.15

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

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage added in v0.13.15

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage()

func (*ConnectionConfig_TcpKeepAlive) Reset added in v0.13.15

func (m *ConnectionConfig_TcpKeepAlive) Reset()

func (*ConnectionConfig_TcpKeepAlive) String added in v0.13.15

func (*ConnectionConfig_TcpKeepAlive) XXX_DiscardUnknown added in v0.13.15

func (m *ConnectionConfig_TcpKeepAlive) XXX_DiscardUnknown()

func (*ConnectionConfig_TcpKeepAlive) XXX_Marshal added in v0.13.15

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

func (*ConnectionConfig_TcpKeepAlive) XXX_Merge added in v0.13.15

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

func (*ConnectionConfig_TcpKeepAlive) XXX_Size added in v0.13.15

func (m *ConnectionConfig_TcpKeepAlive) XXX_Size() int

func (*ConnectionConfig_TcpKeepAlive) XXX_Unmarshal added in v0.13.15

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

type ConsulServiceDestination added in v0.17.0

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 added in v0.17.0

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

func (*ConsulServiceDestination) Equal added in v0.17.0

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

func (*ConsulServiceDestination) GetDataCenters added in v0.17.0

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

func (*ConsulServiceDestination) GetServiceName added in v0.17.0

func (m *ConsulServiceDestination) GetServiceName() string

func (*ConsulServiceDestination) GetTags added in v0.17.0

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

func (*ConsulServiceDestination) ProtoMessage added in v0.17.0

func (*ConsulServiceDestination) ProtoMessage()

func (*ConsulServiceDestination) Reset added in v0.17.0

func (m *ConsulServiceDestination) Reset()

func (*ConsulServiceDestination) String added in v0.17.0

func (m *ConsulServiceDestination) String() string

func (*ConsulServiceDestination) XXX_DiscardUnknown added in v0.17.0

func (m *ConsulServiceDestination) XXX_DiscardUnknown()

func (*ConsulServiceDestination) XXX_Marshal added in v0.17.0

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

func (*ConsulServiceDestination) XXX_Merge added in v0.17.0

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

func (*ConsulServiceDestination) XXX_Size added in v0.17.0

func (m *ConsulServiceDestination) XXX_Size() int

func (*ConsulServiceDestination) XXX_Unmarshal added in v0.17.0

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

type CorsPolicy deprecated added in v0.13.0

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 added in v0.13.0

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

func (*CorsPolicy) Equal added in v0.13.0

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

func (*CorsPolicy) GetAllowCredentials added in v0.13.0

func (m *CorsPolicy) GetAllowCredentials() bool

func (*CorsPolicy) GetAllowHeaders added in v0.13.0

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

func (*CorsPolicy) GetAllowMethods added in v0.13.0

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

func (*CorsPolicy) GetAllowOrigin added in v0.13.0

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

func (*CorsPolicy) GetAllowOriginRegex added in v0.13.0

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

func (*CorsPolicy) GetExposeHeaders added in v0.13.0

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

func (*CorsPolicy) GetMaxAge added in v0.13.0

func (m *CorsPolicy) GetMaxAge() string

func (*CorsPolicy) ProtoMessage added in v0.13.0

func (*CorsPolicy) ProtoMessage()

func (*CorsPolicy) Reset added in v0.13.0

func (m *CorsPolicy) Reset()

func (*CorsPolicy) String added in v0.13.0

func (m *CorsPolicy) String() string

func (*CorsPolicy) XXX_DiscardUnknown added in v0.13.0

func (m *CorsPolicy) XXX_DiscardUnknown()

func (*CorsPolicy) XXX_Marshal added in v0.13.0

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

func (*CorsPolicy) XXX_Merge added in v0.13.0

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

func (*CorsPolicy) XXX_Size added in v0.13.0

func (m *CorsPolicy) XXX_Size() int

func (*CorsPolicy) XXX_Unmarshal added in v0.13.0

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 added in v0.17.0

func (m *Destination) GetConsul() *ConsulServiceDestination

func (*Destination) GetDestinationSpec

func (m *Destination) GetDestinationSpec() *DestinationSpec

func (*Destination) GetDestinationType added in v0.13.34

func (m *Destination) GetDestinationType() isDestination_DestinationType

func (*Destination) GetKube added in v0.17.0

func (*Destination) GetSubset added in v0.13.6

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 added in v0.18.29

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 added in v0.18.29

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 added in v0.17.0

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

func (*Destination_Consul) Equal added in v0.17.0

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

type Destination_Kube added in v0.17.0

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

func (*Destination_Kube) Equal added in v0.17.0

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

type Destination_Upstream added in v0.13.34

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

func (*Destination_Upstream) Equal added in v0.13.34

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 added in v0.13.21

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

func NewDiscoverySimpleEmitter added in v0.13.21

func NewDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) DiscoverySimpleEmitter

func NewDiscoverySimpleEmitterWithEmit added in v0.13.21

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 added in v0.18.44

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 added in v0.13.21

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

Deprecated: use DiscoverySyncDeciderWithContext

type DiscoverySyncDeciderWithContext added in v0.15.0

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 added in v0.15.0

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

func NewEdsEmitter added in v0.15.0

func NewEdsEmitter(upstreamClient UpstreamClient) EdsEmitter

func NewEdsEmitterWithEmit added in v0.15.0

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

type EdsSimpleEmitter added in v0.15.0

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

func NewEdsSimpleEmitter added in v0.15.0

func NewEdsSimpleEmitter(aggregatedWatch clients.ResourceWatch) EdsSimpleEmitter

func NewEdsSimpleEmitterWithEmit added in v0.15.0

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

type EdsSnapshot added in v0.15.0

type EdsSnapshot struct {
	Upstreams UpstreamList
}

func (EdsSnapshot) Clone added in v0.15.0

func (s EdsSnapshot) Clone() EdsSnapshot

func (EdsSnapshot) Hash added in v0.15.0

func (s EdsSnapshot) Hash() uint64

func (EdsSnapshot) HashFields added in v0.15.0

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

func (EdsSnapshot) Stringer added in v0.15.0

func (s EdsSnapshot) Stringer() EdsSnapshotStringer

type EdsSnapshotEmitter added in v0.18.44

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

type EdsSnapshotStringer added in v0.15.0

type EdsSnapshotStringer struct {
	Version   uint64
	Upstreams []string
}

func (EdsSnapshotStringer) String added in v0.15.0

func (ss EdsSnapshotStringer) String() string

type EdsSyncDecider deprecated added in v0.15.0

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

Deprecated: use EdsSyncDeciderWithContext

type EdsSyncDeciderWithContext added in v0.15.0

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

type EdsSyncer added in v0.15.0

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

type EdsSyncers added in v0.15.0

type EdsSyncers []EdsSyncer

func (EdsSyncers) Sync added in v0.15.0

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) 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 added in v0.18.0

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 added in v0.13.21

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 added in v0.13.21

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 added in v0.18.43

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 */
	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
	XXX_unrecognized       []byte   `json:"-"`
	XXX_sizecache          int32    `json:"-"`
}

Settings specific to the Gateway controller

func (*GatewayOptions) Descriptor added in v0.18.43

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

func (*GatewayOptions) Equal added in v0.18.43

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

func (*GatewayOptions) GetDisableAutoGenGateways added in v0.19.1

func (m *GatewayOptions) GetDisableAutoGenGateways() bool

func (*GatewayOptions) GetValidationServerAddr added in v0.18.43

func (m *GatewayOptions) GetValidationServerAddr() string

func (*GatewayOptions) ProtoMessage added in v0.18.43

func (*GatewayOptions) ProtoMessage()

func (*GatewayOptions) Reset added in v0.18.43

func (m *GatewayOptions) Reset()

func (*GatewayOptions) String added in v0.18.43

func (m *GatewayOptions) String() string

func (*GatewayOptions) XXX_DiscardUnknown added in v0.18.43

func (m *GatewayOptions) XXX_DiscardUnknown()

func (*GatewayOptions) XXX_Marshal added in v0.18.43

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

func (*GatewayOptions) XXX_Merge added in v0.18.43

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

func (*GatewayOptions) XXX_Size added in v0.18.43

func (m *GatewayOptions) XXX_Size() int

func (*GatewayOptions) XXX_Unmarshal added in v0.18.43

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

type GlooOptions added in v0.18.43

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"`
	XXX_NoUnkeyedLiteral    struct{}                `json:"-"`
	XXX_unrecognized        []byte                  `json:"-"`
	XXX_sizecache           int32                   `json:"-"`
}

Settings specific to the gloo (Envoy xDS server) controller

func (*GlooOptions) Descriptor added in v0.18.43

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

func (*GlooOptions) Equal added in v0.18.43

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

func (*GlooOptions) GetAwsOptions added in v0.19.2

func (m *GlooOptions) GetAwsOptions() *GlooOptions_AWSOptions

func (*GlooOptions) GetCircuitBreakers added in v0.18.43

func (m *GlooOptions) GetCircuitBreakers() *CircuitBreakerConfig

func (*GlooOptions) GetEndpointsWarmingTimeout added in v0.19.0

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

func (*GlooOptions) GetValidationBindAddr added in v0.18.43

func (m *GlooOptions) GetValidationBindAddr() string

func (*GlooOptions) GetXdsBindAddr added in v0.18.43

func (m *GlooOptions) GetXdsBindAddr() string

func (*GlooOptions) ProtoMessage added in v0.18.43

func (*GlooOptions) ProtoMessage()

func (*GlooOptions) Reset added in v0.18.43

func (m *GlooOptions) Reset()

func (*GlooOptions) String added in v0.18.43

func (m *GlooOptions) String() string

func (*GlooOptions) XXX_DiscardUnknown added in v0.18.43

func (m *GlooOptions) XXX_DiscardUnknown()

func (*GlooOptions) XXX_Marshal added in v0.18.43

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

func (*GlooOptions) XXX_Merge added in v0.18.43

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

func (*GlooOptions) XXX_Size added in v0.18.43

func (m *GlooOptions) XXX_Size() int

func (*GlooOptions) XXX_Unmarshal added in v0.18.43

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

type GlooOptions_AWSOptions added in v0.19.2

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 added in v0.19.2

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

func (*GlooOptions_AWSOptions) Equal added in v0.19.2

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

func (*GlooOptions_AWSOptions) GetEnableCredentialsDiscovey added in v0.19.2

func (m *GlooOptions_AWSOptions) GetEnableCredentialsDiscovey() bool

func (*GlooOptions_AWSOptions) ProtoMessage added in v0.19.2

func (*GlooOptions_AWSOptions) ProtoMessage()

func (*GlooOptions_AWSOptions) Reset added in v0.19.2

func (m *GlooOptions_AWSOptions) Reset()

func (*GlooOptions_AWSOptions) String added in v0.19.2

func (m *GlooOptions_AWSOptions) String() string

func (*GlooOptions_AWSOptions) XXX_DiscardUnknown added in v0.19.2

func (m *GlooOptions_AWSOptions) XXX_DiscardUnknown()

func (*GlooOptions_AWSOptions) XXX_Marshal added in v0.19.2

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

func (*GlooOptions_AWSOptions) XXX_Merge added in v0.19.2

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

func (*GlooOptions_AWSOptions) XXX_Size added in v0.19.2

func (m *GlooOptions_AWSOptions) XXX_Size() int

func (*GlooOptions_AWSOptions) XXX_Unmarshal added in v0.19.2

func (m *GlooOptions_AWSOptions) 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"`
	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.

In the absence of any header match specifier, match will default to `present_match` i.e, a request that has the `name` header will match, regardless of the header's value.

func (*HeaderMatcher) Descriptor

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

func (*HeaderMatcher) Equal

func (this *HeaderMatcher) Equal(that interface{}) 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 added in v0.18.36

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 added in v0.18.36

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

func (*HealthCheckConfig) Equal added in v0.18.36

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

func (*HealthCheckConfig) GetGrpcHealthCheck added in v0.18.36

func (m *HealthCheckConfig) GetGrpcHealthCheck() *HealthCheckConfig_GrpcHealthCheck

func (*HealthCheckConfig) GetHealthChecker added in v0.18.36

func (m *HealthCheckConfig) GetHealthChecker() isHealthCheckConfig_HealthChecker

func (*HealthCheckConfig) GetHealthyThreshold added in v0.18.36

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

func (*HealthCheckConfig) GetHttpHealthCheck added in v0.18.36

func (m *HealthCheckConfig) GetHttpHealthCheck() *HealthCheckConfig_HttpHealthCheck

func (*HealthCheckConfig) GetInterval added in v0.18.36

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

func (*HealthCheckConfig) GetTimeout added in v0.18.36

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

func (*HealthCheckConfig) GetUnhealthyThreshold added in v0.18.36

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

func (*HealthCheckConfig) ProtoMessage added in v0.18.36

func (*HealthCheckConfig) ProtoMessage()

func (*HealthCheckConfig) Reset added in v0.18.36

func (m *HealthCheckConfig) Reset()

func (*HealthCheckConfig) String added in v0.18.36

func (m *HealthCheckConfig) String() string

func (*HealthCheckConfig) XXX_DiscardUnknown added in v0.18.36

func (m *HealthCheckConfig) XXX_DiscardUnknown()

func (*HealthCheckConfig) XXX_Marshal added in v0.18.36

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

func (*HealthCheckConfig) XXX_Merge added in v0.18.36

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

func (*HealthCheckConfig) XXX_OneofWrappers added in v0.18.36

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*HealthCheckConfig) XXX_Size added in v0.18.36

func (m *HealthCheckConfig) XXX_Size() int

func (*HealthCheckConfig) XXX_Unmarshal added in v0.18.36

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

type HealthCheckConfig_GrpcHealthCheck added in v0.18.36

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 added in v0.18.36

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

func (*HealthCheckConfig_GrpcHealthCheck) Equal added in v0.18.36

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

func (*HealthCheckConfig_GrpcHealthCheck) GetAuthority added in v0.18.36

func (m *HealthCheckConfig_GrpcHealthCheck) GetAuthority() string

func (*HealthCheckConfig_GrpcHealthCheck) GetServiceName added in v0.18.36

func (m *HealthCheckConfig_GrpcHealthCheck) GetServiceName() string

func (*HealthCheckConfig_GrpcHealthCheck) ProtoMessage added in v0.18.36

func (*HealthCheckConfig_GrpcHealthCheck) ProtoMessage()

func (*HealthCheckConfig_GrpcHealthCheck) Reset added in v0.18.36

func (*HealthCheckConfig_GrpcHealthCheck) String added in v0.18.36

func (*HealthCheckConfig_GrpcHealthCheck) XXX_DiscardUnknown added in v0.18.36

func (m *HealthCheckConfig_GrpcHealthCheck) XXX_DiscardUnknown()

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Marshal added in v0.18.36

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

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Merge added in v0.18.36

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Size added in v0.18.36

func (m *HealthCheckConfig_GrpcHealthCheck) XXX_Size() int

func (*HealthCheckConfig_GrpcHealthCheck) XXX_Unmarshal added in v0.18.36

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

type HealthCheckConfig_GrpcHealthCheck_ added in v0.18.36

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

func (*HealthCheckConfig_GrpcHealthCheck_) Equal added in v0.18.36

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

type HealthCheckConfig_HttpHealthCheck added in v0.18.36

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 added in v0.18.36

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

func (*HealthCheckConfig_HttpHealthCheck) Equal added in v0.18.36

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

func (*HealthCheckConfig_HttpHealthCheck) GetHost added in v0.18.36

func (*HealthCheckConfig_HttpHealthCheck) GetPath added in v0.18.36

func (*HealthCheckConfig_HttpHealthCheck) GetServiceName added in v0.18.36

func (m *HealthCheckConfig_HttpHealthCheck) GetServiceName() string

func (*HealthCheckConfig_HttpHealthCheck) GetUseHttp2 added in v0.18.36

func (m *HealthCheckConfig_HttpHealthCheck) GetUseHttp2() bool

func (*HealthCheckConfig_HttpHealthCheck) ProtoMessage added in v0.18.36

func (*HealthCheckConfig_HttpHealthCheck) ProtoMessage()

func (*HealthCheckConfig_HttpHealthCheck) Reset added in v0.18.36

func (*HealthCheckConfig_HttpHealthCheck) String added in v0.18.36

func (*HealthCheckConfig_HttpHealthCheck) XXX_DiscardUnknown added in v0.18.36

func (m *HealthCheckConfig_HttpHealthCheck) XXX_DiscardUnknown()

func (*HealthCheckConfig_HttpHealthCheck) XXX_Marshal added in v0.18.36

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

func (*HealthCheckConfig_HttpHealthCheck) XXX_Merge added in v0.18.36

func (*HealthCheckConfig_HttpHealthCheck) XXX_Size added in v0.18.36

func (m *HealthCheckConfig_HttpHealthCheck) XXX_Size() int

func (*HealthCheckConfig_HttpHealthCheck) XXX_Unmarshal added in v0.18.36

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

type HealthCheckConfig_HttpHealthCheck_ added in v0.18.36

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

func (*HealthCheckConfig_HttpHealthCheck_) Equal added in v0.18.36

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"`
	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) 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 added in v0.16.0

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 added in v0.16.0

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

func (*HttpListenerPlugins) Equal added in v0.16.0

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

func (*HttpListenerPlugins) GetExtensions deprecated added in v0.18.25

func (m *HttpListenerPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*HttpListenerPlugins) GetGrpcWeb added in v0.16.0

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

func (*HttpListenerPlugins) GetHealthCheck added in v0.19.0

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

func (*HttpListenerPlugins) GetHttpConnectionManagerSettings added in v0.16.0

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

func (*HttpListenerPlugins) GetWaf added in v0.19.1

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

func (*HttpListenerPlugins) ProtoMessage added in v0.16.0

func (*HttpListenerPlugins) ProtoMessage()

func (*HttpListenerPlugins) Reset added in v0.16.0

func (m *HttpListenerPlugins) Reset()

func (*HttpListenerPlugins) String added in v0.16.0

func (m *HttpListenerPlugins) String() string

func (*HttpListenerPlugins) XXX_DiscardUnknown added in v0.16.0

func (m *HttpListenerPlugins) XXX_DiscardUnknown()

func (*HttpListenerPlugins) XXX_Marshal added in v0.16.0

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

func (*HttpListenerPlugins) XXX_Merge added in v0.16.0

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

func (*HttpListenerPlugins) XXX_Size added in v0.16.0

func (m *HttpListenerPlugins) XXX_Size() int

func (*HttpListenerPlugins) XXX_Unmarshal added in v0.16.0

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

type KubernetesServiceDestination added in v0.17.0

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 added in v0.17.0

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

func (*KubernetesServiceDestination) Equal added in v0.17.0

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

func (*KubernetesServiceDestination) GetPort added in v0.17.0

func (m *KubernetesServiceDestination) GetPort() uint32

func (*KubernetesServiceDestination) GetRef added in v0.17.0

func (*KubernetesServiceDestination) ProtoMessage added in v0.17.0

func (*KubernetesServiceDestination) ProtoMessage()

func (*KubernetesServiceDestination) Reset added in v0.17.0

func (m *KubernetesServiceDestination) Reset()

func (*KubernetesServiceDestination) String added in v0.17.0

func (*KubernetesServiceDestination) XXX_DiscardUnknown added in v0.17.0

func (m *KubernetesServiceDestination) XXX_DiscardUnknown()

func (*KubernetesServiceDestination) XXX_Marshal added in v0.17.0

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

func (*KubernetesServiceDestination) XXX_Merge added in v0.17.0

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

func (*KubernetesServiceDestination) XXX_Size added in v0.17.0

func (m *KubernetesServiceDestination) XXX_Size() int

func (*KubernetesServiceDestination) XXX_Unmarshal added in v0.17.0

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"`
	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) GetName

func (m *Listener) GetName() string

func (*Listener) GetPlugins added in v0.18.0

func (m *Listener) GetPlugins() *ListenerPlugins

func (*Listener) GetSslConfigurations added in v0.14.0

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

func (*Listener) GetTcpListener added in v0.18.0

func (m *Listener) GetTcpListener() *TcpListener

func (*Listener) GetUseProxyProto added in v0.13.15

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 added in v0.18.29

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 added in v0.18.1

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

func (*ListenerPlugins) GetExtensions deprecated added in v0.18.21

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 added in v0.18.0

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 added in v0.18.0

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

type LoadBalancerConfig added in v0.13.12

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/latest/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 added in v0.13.12

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

func (*LoadBalancerConfig) Equal added in v0.13.12

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

func (*LoadBalancerConfig) GetHealthyPanicThreshold added in v0.13.12

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

func (*LoadBalancerConfig) GetLeastRequest added in v0.13.12

func (*LoadBalancerConfig) GetMaglev added in v0.18.22

func (*LoadBalancerConfig) GetRandom added in v0.13.12

func (*LoadBalancerConfig) GetRingHash added in v0.18.22

func (*LoadBalancerConfig) GetRoundRobin added in v0.13.12

func (*LoadBalancerConfig) GetType added in v0.13.12

func (m *LoadBalancerConfig) GetType() isLoadBalancerConfig_Type

func (*LoadBalancerConfig) GetUpdateMergeWindow added in v0.13.12

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

func (*LoadBalancerConfig) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig) ProtoMessage()

func (*LoadBalancerConfig) Reset added in v0.13.12

func (m *LoadBalancerConfig) Reset()

func (*LoadBalancerConfig) String added in v0.13.12

func (m *LoadBalancerConfig) String() string

func (*LoadBalancerConfig) XXX_DiscardUnknown added in v0.13.12

func (m *LoadBalancerConfig) XXX_DiscardUnknown()

func (*LoadBalancerConfig) XXX_Marshal added in v0.13.12

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

func (*LoadBalancerConfig) XXX_Merge added in v0.13.12

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

func (*LoadBalancerConfig) XXX_OneofWrappers added in v0.18.29

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*LoadBalancerConfig) XXX_Size added in v0.13.12

func (m *LoadBalancerConfig) XXX_Size() int

func (*LoadBalancerConfig) XXX_Unmarshal added in v0.13.12

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

type LoadBalancerConfig_LeastRequest added in v0.13.12

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 added in v0.13.12

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

func (*LoadBalancerConfig_LeastRequest) Equal added in v0.13.12

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

func (*LoadBalancerConfig_LeastRequest) GetChoiceCount added in v0.13.12

func (m *LoadBalancerConfig_LeastRequest) GetChoiceCount() uint32

func (*LoadBalancerConfig_LeastRequest) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig_LeastRequest) ProtoMessage()

func (*LoadBalancerConfig_LeastRequest) Reset added in v0.13.12

func (*LoadBalancerConfig_LeastRequest) String added in v0.13.12

func (*LoadBalancerConfig_LeastRequest) XXX_DiscardUnknown added in v0.13.12

func (m *LoadBalancerConfig_LeastRequest) XXX_DiscardUnknown()

func (*LoadBalancerConfig_LeastRequest) XXX_Marshal added in v0.13.12

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

func (*LoadBalancerConfig_LeastRequest) XXX_Merge added in v0.13.12

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

func (*LoadBalancerConfig_LeastRequest) XXX_Size added in v0.13.12

func (m *LoadBalancerConfig_LeastRequest) XXX_Size() int

func (*LoadBalancerConfig_LeastRequest) XXX_Unmarshal added in v0.13.12

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

type LoadBalancerConfig_LeastRequest_ added in v0.13.12

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 added in v0.13.12

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

type LoadBalancerConfig_Maglev added in v0.18.22

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

func (*LoadBalancerConfig_Maglev) Descriptor added in v0.18.22

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

func (*LoadBalancerConfig_Maglev) Equal added in v0.18.22

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

func (*LoadBalancerConfig_Maglev) ProtoMessage added in v0.18.22

func (*LoadBalancerConfig_Maglev) ProtoMessage()

func (*LoadBalancerConfig_Maglev) Reset added in v0.18.22

func (m *LoadBalancerConfig_Maglev) Reset()

func (*LoadBalancerConfig_Maglev) String added in v0.18.22

func (m *LoadBalancerConfig_Maglev) String() string

func (*LoadBalancerConfig_Maglev) XXX_DiscardUnknown added in v0.18.22

func (m *LoadBalancerConfig_Maglev) XXX_DiscardUnknown()

func (*LoadBalancerConfig_Maglev) XXX_Marshal added in v0.18.22

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

func (*LoadBalancerConfig_Maglev) XXX_Merge added in v0.18.22

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

func (*LoadBalancerConfig_Maglev) XXX_Size added in v0.18.22

func (m *LoadBalancerConfig_Maglev) XXX_Size() int

func (*LoadBalancerConfig_Maglev) XXX_Unmarshal added in v0.18.22

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

type LoadBalancerConfig_Maglev_ added in v0.18.22

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

func (*LoadBalancerConfig_Maglev_) Equal added in v0.18.22

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

type LoadBalancerConfig_Random added in v0.13.12

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

func (*LoadBalancerConfig_Random) Descriptor added in v0.13.12

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

func (*LoadBalancerConfig_Random) Equal added in v0.13.12

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

func (*LoadBalancerConfig_Random) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig_Random) ProtoMessage()

func (*LoadBalancerConfig_Random) Reset added in v0.13.12

func (m *LoadBalancerConfig_Random) Reset()

func (*LoadBalancerConfig_Random) String added in v0.13.12

func (m *LoadBalancerConfig_Random) String() string

func (*LoadBalancerConfig_Random) XXX_DiscardUnknown added in v0.13.12

func (m *LoadBalancerConfig_Random) XXX_DiscardUnknown()

func (*LoadBalancerConfig_Random) XXX_Marshal added in v0.13.12

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

func (*LoadBalancerConfig_Random) XXX_Merge added in v0.13.12

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

func (*LoadBalancerConfig_Random) XXX_Size added in v0.13.12

func (m *LoadBalancerConfig_Random) XXX_Size() int

func (*LoadBalancerConfig_Random) XXX_Unmarshal added in v0.13.12

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

type LoadBalancerConfig_Random_ added in v0.13.12

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

func (*LoadBalancerConfig_Random_) Equal added in v0.13.12

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

type LoadBalancerConfig_RingHash added in v0.18.22

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 added in v0.18.22

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

func (*LoadBalancerConfig_RingHash) Equal added in v0.18.22

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

func (*LoadBalancerConfig_RingHash) GetRingHashConfig added in v0.18.22

func (*LoadBalancerConfig_RingHash) ProtoMessage added in v0.18.22

func (*LoadBalancerConfig_RingHash) ProtoMessage()

func (*LoadBalancerConfig_RingHash) Reset added in v0.18.22

func (m *LoadBalancerConfig_RingHash) Reset()

func (*LoadBalancerConfig_RingHash) String added in v0.18.22

func (m *LoadBalancerConfig_RingHash) String() string

func (*LoadBalancerConfig_RingHash) XXX_DiscardUnknown added in v0.18.22

func (m *LoadBalancerConfig_RingHash) XXX_DiscardUnknown()

func (*LoadBalancerConfig_RingHash) XXX_Marshal added in v0.18.22

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

func (*LoadBalancerConfig_RingHash) XXX_Merge added in v0.18.22

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

func (*LoadBalancerConfig_RingHash) XXX_Size added in v0.18.22

func (m *LoadBalancerConfig_RingHash) XXX_Size() int

func (*LoadBalancerConfig_RingHash) XXX_Unmarshal added in v0.18.22

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

type LoadBalancerConfig_RingHashConfig added in v0.18.22

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 added in v0.18.22

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

func (*LoadBalancerConfig_RingHashConfig) Equal added in v0.18.22

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

func (*LoadBalancerConfig_RingHashConfig) GetMaximumRingSize added in v0.18.22

func (m *LoadBalancerConfig_RingHashConfig) GetMaximumRingSize() uint64

func (*LoadBalancerConfig_RingHashConfig) GetMinimumRingSize added in v0.18.22

func (m *LoadBalancerConfig_RingHashConfig) GetMinimumRingSize() uint64

func (*LoadBalancerConfig_RingHashConfig) ProtoMessage added in v0.18.22

func (*LoadBalancerConfig_RingHashConfig) ProtoMessage()

func (*LoadBalancerConfig_RingHashConfig) Reset added in v0.18.22

func (*LoadBalancerConfig_RingHashConfig) String added in v0.18.22

func (*LoadBalancerConfig_RingHashConfig) XXX_DiscardUnknown added in v0.18.22

func (m *LoadBalancerConfig_RingHashConfig) XXX_DiscardUnknown()

func (*LoadBalancerConfig_RingHashConfig) XXX_Marshal added in v0.18.22

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

func (*LoadBalancerConfig_RingHashConfig) XXX_Merge added in v0.18.22

func (*LoadBalancerConfig_RingHashConfig) XXX_Size added in v0.18.22

func (m *LoadBalancerConfig_RingHashConfig) XXX_Size() int

func (*LoadBalancerConfig_RingHashConfig) XXX_Unmarshal added in v0.18.22

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

type LoadBalancerConfig_RingHash_ added in v0.18.22

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 added in v0.18.22

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

type LoadBalancerConfig_RoundRobin added in v0.13.12

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

func (*LoadBalancerConfig_RoundRobin) Descriptor added in v0.13.12

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

func (*LoadBalancerConfig_RoundRobin) Equal added in v0.13.12

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

func (*LoadBalancerConfig_RoundRobin) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig_RoundRobin) ProtoMessage()

func (*LoadBalancerConfig_RoundRobin) Reset added in v0.13.12

func (m *LoadBalancerConfig_RoundRobin) Reset()

func (*LoadBalancerConfig_RoundRobin) String added in v0.13.12

func (*LoadBalancerConfig_RoundRobin) XXX_DiscardUnknown added in v0.13.12

func (m *LoadBalancerConfig_RoundRobin) XXX_DiscardUnknown()

func (*LoadBalancerConfig_RoundRobin) XXX_Marshal added in v0.13.12

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

func (*LoadBalancerConfig_RoundRobin) XXX_Merge added in v0.13.12

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

func (*LoadBalancerConfig_RoundRobin) XXX_Size added in v0.13.12

func (m *LoadBalancerConfig_RoundRobin) XXX_Size() int

func (*LoadBalancerConfig_RoundRobin) XXX_Unmarshal added in v0.13.12

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

type LoadBalancerConfig_RoundRobin_ added in v0.13.12

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 added in v0.13.12

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 added in v0.18.29

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 added in v0.18.36

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 added in v0.18.36

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

func (*OutlierDetection) Equal added in v0.18.36

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

func (*OutlierDetection) GetBaseEjectionTime added in v0.18.36

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

func (*OutlierDetection) GetConsecutiveGatewayFailure added in v0.18.36

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

func (*OutlierDetection) GetConsecutiveLocalOriginFailure added in v0.18.36

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

func (*OutlierDetection) GetConsecutive_5Xx added in v0.18.36

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

func (*OutlierDetection) GetEnforcingConsecutiveGatewayFailure added in v0.18.36

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

func (*OutlierDetection) GetEnforcingConsecutiveLocalOriginFailure added in v0.18.36

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

func (*OutlierDetection) GetEnforcingConsecutive_5Xx added in v0.18.36

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

func (*OutlierDetection) GetEnforcingLocalOriginSuccessRate added in v0.18.36

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

func (*OutlierDetection) GetEnforcingSuccessRate added in v0.18.36

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

func (*OutlierDetection) GetInterval added in v0.18.36

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

func (*OutlierDetection) GetMaxEjectionPercent added in v0.18.36

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

func (*OutlierDetection) GetSplitExternalLocalOriginErrors added in v0.18.36

func (m *OutlierDetection) GetSplitExternalLocalOriginErrors() bool

func (*OutlierDetection) GetSuccessRateMinimumHosts added in v0.18.36

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

func (*OutlierDetection) GetSuccessRateRequestVolume added in v0.18.36

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

func (*OutlierDetection) GetSuccessRateStdevFactor added in v0.18.36

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

func (*OutlierDetection) ProtoMessage added in v0.18.36

func (*OutlierDetection) ProtoMessage()

func (*OutlierDetection) Reset added in v0.18.36

func (m *OutlierDetection) Reset()

func (*OutlierDetection) String added in v0.18.36

func (m *OutlierDetection) String() string

func (*OutlierDetection) XXX_DiscardUnknown added in v0.18.36

func (m *OutlierDetection) XXX_DiscardUnknown()

func (*OutlierDetection) XXX_Marshal added in v0.18.36

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

func (*OutlierDetection) XXX_Merge added in v0.18.36

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

func (*OutlierDetection) XXX_Size added in v0.18.36

func (m *OutlierDetection) XXX_Size() int

func (*OutlierDetection) XXX_Unmarshal added in v0.18.36

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) 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 added in v0.18.0

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 added in v0.13.21

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 added in v0.13.21

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 added in v0.18.29

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 {
	// The matcher contains parameters for matching requests (i.e.: based on HTTP path, headers, etc.)
	Matcher *Matcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,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)
	RouteMetadata        *types.Struct `protobuf:"bytes,6,opt,name=route_metadata,json=routeMetadata,proto3" json:"route_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) GetMatcher

func (m *Route) GetMatcher() *Matcher

func (*Route) GetRedirectAction

func (m *Route) GetRedirectAction() *RedirectAction

func (*Route) GetRouteAction

func (m *Route) GetRouteAction() *RouteAction

func (*Route) GetRouteMetadata added in v0.18.41

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

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 added in v0.18.29

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 added in v0.13.6

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 added in v0.18.29

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 added in v0.13.6

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 added in v0.13.6

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"`
	PrefixRewrite   *transformation.PrefixRewrite        `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/user_guides/setup_options/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"`
	// Rewrite the Host header for requests matched on this route
	HostRewrite *hostrewrite.HostRewrite `protobuf:"bytes,10,opt,name=host_rewrite,json=hostRewrite,proto3" json:"host_rewrite,omitempty"`
	// 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
	RatelimitGloo *ratelimit.IngressRateLimit `protobuf:"bytes,13,opt,name=ratelimit_gloo,json=ratelimitGloo,proto3" json:"ratelimit_gloo,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
	RatelimitActions *ratelimit.RateLimitRouteExtension `protobuf:"bytes,14,opt,name=ratelimit_actions,json=ratelimitActions,proto3" json:"ratelimit_actions,omitempty"`
	// Enterprise-only: Config for Web Application Firewall (WAF), supporting
	// the popular ModSecurity 3.0 ruleset
	Waf *waf.RouteSettings `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.RouteExtension `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) GetCors added in v0.18.17

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

func (*RoutePlugins) GetExtauth added in v0.20.0

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 added in v0.18.7

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

func (*RoutePlugins) GetHostRewrite added in v0.18.7

func (m *RoutePlugins) GetHostRewrite() *hostrewrite.HostRewrite

func (*RoutePlugins) GetJwt added in v0.19.2

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

func (*RoutePlugins) GetLbHash added in v0.18.22

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

func (*RoutePlugins) GetPrefixRewrite

func (m *RoutePlugins) GetPrefixRewrite() *transformation.PrefixRewrite

func (*RoutePlugins) GetRatelimitActions added in v0.18.43

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

func (*RoutePlugins) GetRatelimitGloo added in v0.18.43

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

func (*RoutePlugins) GetRbac added in v0.19.2

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

func (*RoutePlugins) GetRetries

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

func (*RoutePlugins) GetShadowing added in v0.18.6

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

func (*RoutePlugins) GetTimeout

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

func (*RoutePlugins) GetTracing added in v0.18.2

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

func (*RoutePlugins) GetTransformations

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

func (*RoutePlugins) GetWaf added in v0.19.1

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

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_Size

func (m *RoutePlugins) XXX_Size() int

func (*RoutePlugins) XXX_Unmarshal

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

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 added in v0.11.2

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 added in v0.11.2

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

func (*SDSConfig) Equal added in v0.11.2

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

func (*SDSConfig) GetCallCredentials added in v0.11.2

func (m *SDSConfig) GetCallCredentials() *CallCredentials

func (*SDSConfig) GetCertificatesSecretName added in v0.11.2

func (m *SDSConfig) GetCertificatesSecretName() string

func (*SDSConfig) GetTargetUri added in v0.11.2

func (m *SDSConfig) GetTargetUri() string

func (*SDSConfig) GetValidationContextName added in v0.11.2

func (m *SDSConfig) GetValidationContextName() string

func (*SDSConfig) ProtoMessage added in v0.11.2

func (*SDSConfig) ProtoMessage()

func (*SDSConfig) Reset added in v0.11.2

func (m *SDSConfig) Reset()

func (*SDSConfig) String added in v0.11.2

func (m *SDSConfig) String() string

func (*SDSConfig) XXX_DiscardUnknown added in v0.11.2

func (m *SDSConfig) XXX_DiscardUnknown()

func (*SDSConfig) XXX_Marshal added in v0.11.2

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

func (*SDSConfig) XXX_Merge added in v0.11.2

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

func (*SDSConfig) XXX_Size added in v0.11.2

func (m *SDSConfig) XXX_Size() int

func (*SDSConfig) XXX_Unmarshal added in v0.11.2

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) 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 added in v0.18.0

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 added in v0.18.29

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 added in v0.13.21

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 added in v0.13.21

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-limit *actions*, which define how request characteristics get translated into descriptors,
	// on the VirtualHost or its routes
	RatelimitDescriptors *ratelimit.EnvoySettings `protobuf:"bytes,26,opt,name=ratelimit_descriptors,json=ratelimitDescriptors,proto3" json:"ratelimit_descriptors,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) 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 added in v0.13.3

func (m *Settings) GetCircuitBreakers() *CircuitBreakerConfig

Deprecated: Do not use.

func (*Settings) GetConfigSource

func (m *Settings) GetConfigSource() isSettings_ConfigSource

func (*Settings) GetConsul added in v0.17.1

func (m *Settings) GetConsul() *Settings_ConsulConfiguration

func (*Settings) GetConsulKvArtifactSource added in v0.18.23

func (m *Settings) GetConsulKvArtifactSource() *Settings_ConsulKv

func (*Settings) GetConsulKvSource added in v0.18.0

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 added in v0.17.0

func (m *Settings) GetDiscovery() *Settings_DiscoveryOptions

func (*Settings) GetDiscoveryNamespace

func (m *Settings) GetDiscoveryNamespace() string

func (*Settings) GetExtauth added in v0.20.0

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

func (*Settings) GetExtensions deprecated

func (m *Settings) GetExtensions() *Extensions

Deprecated: Do not use.

func (*Settings) GetGateway added in v0.18.43

func (m *Settings) GetGateway() *GatewayOptions

func (*Settings) GetGloo added in v0.18.43

func (m *Settings) GetGloo() *GlooOptions

func (*Settings) GetKnative added in v0.15.0

func (m *Settings) GetKnative() *Settings_KnativeOptions

func (*Settings) GetKubernetes added in v0.18.12

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 added in v0.13.20

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) GetRatelimitDescriptors added in v0.18.43

func (m *Settings) GetRatelimitDescriptors() *ratelimit.EnvoySettings

func (*Settings) GetRatelimitServer added in v0.18.43

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

func (*Settings) GetRbac added in v0.19.2

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 added in v0.18.0

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 added in v0.18.29

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 added in v0.13.21

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 added in v0.13.21

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

type Settings_ConsulConfiguration added in v0.17.1

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 added in v0.17.1

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

func (*Settings_ConsulConfiguration) Equal added in v0.17.1

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

func (*Settings_ConsulConfiguration) GetAddress added in v0.17.1

func (m *Settings_ConsulConfiguration) GetAddress() string

func (*Settings_ConsulConfiguration) GetCaFile added in v0.18.0

func (m *Settings_ConsulConfiguration) GetCaFile() string

func (*Settings_ConsulConfiguration) GetCaPath added in v0.18.0

func (m *Settings_ConsulConfiguration) GetCaPath() string

func (*Settings_ConsulConfiguration) GetCertFile added in v0.18.0

func (m *Settings_ConsulConfiguration) GetCertFile() string

func (*Settings_ConsulConfiguration) GetDatacenter added in v0.18.0

func (m *Settings_ConsulConfiguration) GetDatacenter() string

func (*Settings_ConsulConfiguration) GetInsecureSkipVerify added in v0.18.0

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

func (*Settings_ConsulConfiguration) GetKeyFile added in v0.18.0

func (m *Settings_ConsulConfiguration) GetKeyFile() string

func (*Settings_ConsulConfiguration) GetPassword added in v0.18.0

func (m *Settings_ConsulConfiguration) GetPassword() string

func (*Settings_ConsulConfiguration) GetServiceDiscovery added in v0.18.0

func (*Settings_ConsulConfiguration) GetToken added in v0.18.0

func (m *Settings_ConsulConfiguration) GetToken() string

func (*Settings_ConsulConfiguration) GetUsername added in v0.18.0

func (m *Settings_ConsulConfiguration) GetUsername() string

func (*Settings_ConsulConfiguration) GetWaitTime added in v0.17.1

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

func (*Settings_ConsulConfiguration) ProtoMessage added in v0.17.1

func (*Settings_ConsulConfiguration) ProtoMessage()

func (*Settings_ConsulConfiguration) Reset added in v0.17.1

func (m *Settings_ConsulConfiguration) Reset()

func (*Settings_ConsulConfiguration) String added in v0.17.1

func (*Settings_ConsulConfiguration) XXX_DiscardUnknown added in v0.17.1

func (m *Settings_ConsulConfiguration) XXX_DiscardUnknown()

func (*Settings_ConsulConfiguration) XXX_Marshal added in v0.17.1

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

func (*Settings_ConsulConfiguration) XXX_Merge added in v0.17.1

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

func (*Settings_ConsulConfiguration) XXX_Size added in v0.17.1

func (m *Settings_ConsulConfiguration) XXX_Size() int

func (*Settings_ConsulConfiguration) XXX_Unmarshal added in v0.17.1

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

type Settings_ConsulConfiguration_ServiceDiscoveryOptions added in v0.18.0

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 added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Equal added in v0.18.0

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

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) GetDataCenters added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) ProtoMessage added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Reset added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) String added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_DiscardUnknown added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Marshal added in v0.18.0

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

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Merge added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Size added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) XXX_Unmarshal added in v0.18.0

type Settings_ConsulKv added in v0.18.0

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 added in v0.18.0

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

func (*Settings_ConsulKv) Equal added in v0.18.0

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

func (*Settings_ConsulKv) GetRootKey added in v0.18.0

func (m *Settings_ConsulKv) GetRootKey() string

func (*Settings_ConsulKv) ProtoMessage added in v0.18.0

func (*Settings_ConsulKv) ProtoMessage()

func (*Settings_ConsulKv) Reset added in v0.18.0

func (m *Settings_ConsulKv) Reset()

func (*Settings_ConsulKv) String added in v0.18.0

func (m *Settings_ConsulKv) String() string

func (*Settings_ConsulKv) XXX_DiscardUnknown added in v0.18.0

func (m *Settings_ConsulKv) XXX_DiscardUnknown()

func (*Settings_ConsulKv) XXX_Marshal added in v0.18.0

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

func (*Settings_ConsulKv) XXX_Merge added in v0.18.0

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

func (*Settings_ConsulKv) XXX_Size added in v0.18.0

func (m *Settings_ConsulKv) XXX_Size() int

func (*Settings_ConsulKv) XXX_Unmarshal added in v0.18.0

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

type Settings_ConsulKvArtifactSource added in v0.18.23

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

func (*Settings_ConsulKvArtifactSource) Equal added in v0.18.23

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

type Settings_ConsulKvSource added in v0.18.0

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 added in v0.18.0

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 added in v0.17.0

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 added in v0.17.0

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

func (*Settings_DiscoveryOptions) Equal added in v0.17.0

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

func (*Settings_DiscoveryOptions) GetFdsMode added in v0.17.0

func (*Settings_DiscoveryOptions) ProtoMessage added in v0.17.0

func (*Settings_DiscoveryOptions) ProtoMessage()

func (*Settings_DiscoveryOptions) Reset added in v0.17.0

func (m *Settings_DiscoveryOptions) Reset()

func (*Settings_DiscoveryOptions) String added in v0.17.0

func (m *Settings_DiscoveryOptions) String() string

func (*Settings_DiscoveryOptions) XXX_DiscardUnknown added in v0.17.0

func (m *Settings_DiscoveryOptions) XXX_DiscardUnknown()

func (*Settings_DiscoveryOptions) XXX_Marshal added in v0.17.0

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

func (*Settings_DiscoveryOptions) XXX_Merge added in v0.17.0

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

func (*Settings_DiscoveryOptions) XXX_Size added in v0.17.0

func (m *Settings_DiscoveryOptions) XXX_Size() int

func (*Settings_DiscoveryOptions) XXX_Unmarshal added in v0.17.0

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

type Settings_DiscoveryOptions_FdsMode added in v0.17.0

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 added in v0.17.0

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

func (Settings_DiscoveryOptions_FdsMode) String added in v0.17.0

type Settings_KnativeOptions added in v0.15.0

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 added in v0.15.0

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

func (*Settings_KnativeOptions) Equal added in v0.15.0

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

func (*Settings_KnativeOptions) GetClusterIngressProxyAddress added in v0.15.0

func (m *Settings_KnativeOptions) GetClusterIngressProxyAddress() string

func (*Settings_KnativeOptions) GetKnativeExternalProxyAddress added in v0.18.12

func (m *Settings_KnativeOptions) GetKnativeExternalProxyAddress() string

func (*Settings_KnativeOptions) GetKnativeInternalProxyAddress added in v0.18.12

func (m *Settings_KnativeOptions) GetKnativeInternalProxyAddress() string

func (*Settings_KnativeOptions) ProtoMessage added in v0.15.0

func (*Settings_KnativeOptions) ProtoMessage()

func (*Settings_KnativeOptions) Reset added in v0.15.0

func (m *Settings_KnativeOptions) Reset()

func (*Settings_KnativeOptions) String added in v0.15.0

func (m *Settings_KnativeOptions) String() string

func (*Settings_KnativeOptions) XXX_DiscardUnknown added in v0.15.0

func (m *Settings_KnativeOptions) XXX_DiscardUnknown()

func (*Settings_KnativeOptions) XXX_Marshal added in v0.15.0

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

func (*Settings_KnativeOptions) XXX_Merge added in v0.15.0

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

func (*Settings_KnativeOptions) XXX_Size added in v0.15.0

func (m *Settings_KnativeOptions) XXX_Size() int

func (*Settings_KnativeOptions) XXX_Unmarshal added in v0.15.0

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 added in v0.18.12

type Settings_KubernetesConfiguration struct {
	// Rate limits for the kuberentes 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 added in v0.18.12

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

func (*Settings_KubernetesConfiguration) Equal added in v0.18.12

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

func (*Settings_KubernetesConfiguration) GetRateLimits added in v0.18.12

func (*Settings_KubernetesConfiguration) ProtoMessage added in v0.18.12

func (*Settings_KubernetesConfiguration) ProtoMessage()

func (*Settings_KubernetesConfiguration) Reset added in v0.18.12

func (*Settings_KubernetesConfiguration) String added in v0.18.12

func (*Settings_KubernetesConfiguration) XXX_DiscardUnknown added in v0.18.12

func (m *Settings_KubernetesConfiguration) XXX_DiscardUnknown()

func (*Settings_KubernetesConfiguration) XXX_Marshal added in v0.18.12

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

func (*Settings_KubernetesConfiguration) XXX_Merge added in v0.18.12

func (*Settings_KubernetesConfiguration) XXX_Size added in v0.18.12

func (m *Settings_KubernetesConfiguration) XXX_Size() int

func (*Settings_KubernetesConfiguration) XXX_Unmarshal added in v0.18.12

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

type Settings_KubernetesConfiguration_RateLimits added in v0.18.12

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 added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) Equal added in v0.18.12

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

func (*Settings_KubernetesConfiguration_RateLimits) GetBurst added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) GetQPS added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) ProtoMessage added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) Reset added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) String added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) XXX_DiscardUnknown added in v0.18.12

func (m *Settings_KubernetesConfiguration_RateLimits) XXX_DiscardUnknown()

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Marshal added in v0.18.12

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

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Merge added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Size added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) XXX_Unmarshal added in v0.18.12

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://vault.example.com".
	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 added in v0.18.0

func (m *Settings_VaultSecrets) GetAddress() string

func (*Settings_VaultSecrets) GetCaCert added in v0.18.0

func (m *Settings_VaultSecrets) GetCaCert() string

func (*Settings_VaultSecrets) GetCaPath added in v0.18.0

func (m *Settings_VaultSecrets) GetCaPath() string

func (*Settings_VaultSecrets) GetClientCert added in v0.18.0

func (m *Settings_VaultSecrets) GetClientCert() string

func (*Settings_VaultSecrets) GetClientKey added in v0.18.0

func (m *Settings_VaultSecrets) GetClientKey() string

func (*Settings_VaultSecrets) GetInsecure added in v0.18.0

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

func (*Settings_VaultSecrets) GetRootKey added in v0.18.0

func (m *Settings_VaultSecrets) GetRootKey() string

func (*Settings_VaultSecrets) GetTlsServerName added in v0.18.0

func (m *Settings_VaultSecrets) GetTlsServerName() string

func (*Settings_VaultSecrets) GetToken added in v0.18.0

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 added in v0.13.21

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

func NewSetupSimpleEmitter added in v0.13.21

func NewSetupSimpleEmitter(aggregatedWatch clients.ResourceWatch) SetupSimpleEmitter

func NewSetupSimpleEmitterWithEmit added in v0.13.21

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 added in v0.18.44

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 added in v0.13.21

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

Deprecated: use SetupSyncDeciderWithContext

type SetupSyncDeciderWithContext added in v0.15.0

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 added in v0.13.3

func (m *SslConfig) GetParameters() *SslParameters

func (*SslConfig) GetSds added in v0.11.2

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 added in v0.11.2

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 added in v0.18.29

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 added in v0.11.2

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

func (*SslConfig_Sds) Equal added in v0.11.2

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 added in v0.13.3

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 added in v0.13.3

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

func (*SslParameters) Equal added in v0.13.3

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

func (*SslParameters) GetCipherSuites added in v0.13.3

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

func (*SslParameters) GetEcdhCurves added in v0.13.3

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

func (*SslParameters) GetMaximumProtocolVersion added in v0.13.3

func (m *SslParameters) GetMaximumProtocolVersion() SslParameters_ProtocolVersion

func (*SslParameters) GetMinimumProtocolVersion added in v0.13.3

func (m *SslParameters) GetMinimumProtocolVersion() SslParameters_ProtocolVersion

func (*SslParameters) ProtoMessage added in v0.13.3

func (*SslParameters) ProtoMessage()

func (*SslParameters) Reset added in v0.13.3

func (m *SslParameters) Reset()

func (*SslParameters) String added in v0.13.3

func (m *SslParameters) String() string

func (*SslParameters) XXX_DiscardUnknown added in v0.13.3

func (m *SslParameters) XXX_DiscardUnknown()

func (*SslParameters) XXX_Marshal added in v0.13.3

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

func (*SslParameters) XXX_Merge added in v0.13.3

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

func (*SslParameters) XXX_Size added in v0.13.3

func (m *SslParameters) XXX_Size() int

func (*SslParameters) XXX_Unmarshal added in v0.13.3

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

type SslParameters_ProtocolVersion added in v0.13.3

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 added in v0.13.3

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

func (SslParameters_ProtocolVersion) String added in v0.13.3

type Subset added in v0.13.6

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 added in v0.13.6

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

func (*Subset) Equal added in v0.13.6

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

func (*Subset) GetValues added in v0.13.6

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

func (*Subset) ProtoMessage added in v0.13.6

func (*Subset) ProtoMessage()

func (*Subset) Reset added in v0.13.6

func (m *Subset) Reset()

func (*Subset) String added in v0.13.6

func (m *Subset) String() string

func (*Subset) XXX_DiscardUnknown added in v0.13.6

func (m *Subset) XXX_DiscardUnknown()

func (*Subset) XXX_Marshal added in v0.13.6

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

func (*Subset) XXX_Merge added in v0.13.6

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

func (*Subset) XXX_Size added in v0.13.6

func (m *Subset) XXX_Size() int

func (*Subset) XXX_Unmarshal added in v0.13.6

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

type SubsetSpecGetter added in v0.13.6

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

type SubsetSpecMutator added in v0.13.6

type SubsetSpecMutator interface {
	SubsetSpecGetter
	SubsetSpecSetter
}

type SubsetSpecSetter added in v0.13.6

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

type TcpHost added in v0.18.0

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 added in v0.18.0

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

func (*TcpHost) Equal added in v0.18.0

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

func (*TcpHost) GetDestination added in v0.18.0

func (m *TcpHost) GetDestination() *RouteAction

func (*TcpHost) GetName added in v0.18.0

func (m *TcpHost) GetName() string

func (*TcpHost) GetSslConfig added in v0.18.0

func (m *TcpHost) GetSslConfig() *SslConfig

func (*TcpHost) ProtoMessage added in v0.18.0

func (*TcpHost) ProtoMessage()

func (*TcpHost) Reset added in v0.18.0

func (m *TcpHost) Reset()

func (*TcpHost) String added in v0.18.0

func (m *TcpHost) String() string

func (*TcpHost) XXX_DiscardUnknown added in v0.18.0

func (m *TcpHost) XXX_DiscardUnknown()

func (*TcpHost) XXX_Marshal added in v0.18.0

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

func (*TcpHost) XXX_Merge added in v0.18.0

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

func (*TcpHost) XXX_Size added in v0.18.0

func (m *TcpHost) XXX_Size() int

func (*TcpHost) XXX_Unmarshal added in v0.18.0

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

type TcpListener added in v0.18.0

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"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*TcpListener) Descriptor added in v0.18.0

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

func (*TcpListener) Equal added in v0.18.0

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

func (*TcpListener) GetPlugins added in v0.18.0

func (m *TcpListener) GetPlugins() *TcpListenerPlugins

func (*TcpListener) GetTcpHosts added in v0.18.0

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

func (*TcpListener) ProtoMessage added in v0.18.0

func (*TcpListener) ProtoMessage()

func (*TcpListener) Reset added in v0.18.0

func (m *TcpListener) Reset()

func (*TcpListener) String added in v0.18.0

func (m *TcpListener) String() string

func (*TcpListener) XXX_DiscardUnknown added in v0.18.0

func (m *TcpListener) XXX_DiscardUnknown()

func (*TcpListener) XXX_Marshal added in v0.18.0

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

func (*TcpListener) XXX_Merge added in v0.18.0

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

func (*TcpListener) XXX_Size added in v0.18.0

func (m *TcpListener) XXX_Size() int

func (*TcpListener) XXX_Unmarshal added in v0.18.0

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

type TcpListenerPlugins added in v0.16.0

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 added in v0.16.0

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

func (*TcpListenerPlugins) Equal added in v0.16.0

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

func (*TcpListenerPlugins) GetTcpProxySettings added in v0.16.0

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

func (*TcpListenerPlugins) ProtoMessage added in v0.16.0

func (*TcpListenerPlugins) ProtoMessage()

func (*TcpListenerPlugins) Reset added in v0.16.0

func (m *TcpListenerPlugins) Reset()

func (*TcpListenerPlugins) String added in v0.16.0

func (m *TcpListenerPlugins) String() string

func (*TcpListenerPlugins) XXX_DiscardUnknown added in v0.16.0

func (m *TcpListenerPlugins) XXX_DiscardUnknown()

func (*TcpListenerPlugins) XXX_Marshal added in v0.16.0

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

func (*TcpListenerPlugins) XXX_Merge added in v0.16.0

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

func (*TcpListenerPlugins) XXX_Size added in v0.16.0

func (m *TcpListenerPlugins) XXX_Size() int

func (*TcpListenerPlugins) XXX_Unmarshal added in v0.16.0

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 added in v0.13.6

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-v1/cluster_manager/cluster.html?highlight=cluster) 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) 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 added in v0.18.0

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 added in v0.13.6

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 added in v0.13.6

func NewUpstreamGroup(namespace, name string) *UpstreamGroup

func (*UpstreamGroup) DeepCopyObject added in v0.13.6

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

func (*UpstreamGroup) Descriptor added in v0.13.6

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

func (*UpstreamGroup) Equal added in v0.13.6

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

func (*UpstreamGroup) GetDestinations added in v0.13.6

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

func (*UpstreamGroup) GetMetadata added in v0.13.6

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

func (*UpstreamGroup) GetObjectKind added in v0.13.6

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

func (*UpstreamGroup) GetStatus added in v0.13.6

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

func (*UpstreamGroup) GroupVersionKind added in v0.18.0

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

func (*UpstreamGroup) Hash added in v0.13.6

func (r *UpstreamGroup) Hash() uint64

func (*UpstreamGroup) ProtoMessage added in v0.13.6

func (*UpstreamGroup) ProtoMessage()

func (*UpstreamGroup) Reset added in v0.13.6

func (m *UpstreamGroup) Reset()

func (*UpstreamGroup) SetMetadata added in v0.13.6

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

func (*UpstreamGroup) SetStatus added in v0.13.6

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

func (*UpstreamGroup) String added in v0.13.6

func (m *UpstreamGroup) String() string

func (*UpstreamGroup) XXX_DiscardUnknown added in v0.13.6

func (m *UpstreamGroup) XXX_DiscardUnknown()

func (*UpstreamGroup) XXX_Marshal added in v0.13.6

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

func (*UpstreamGroup) XXX_Merge added in v0.13.6

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

func (*UpstreamGroup) XXX_Size added in v0.13.6

func (m *UpstreamGroup) XXX_Size() int

func (*UpstreamGroup) XXX_Unmarshal added in v0.13.6

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

type UpstreamGroupClient added in v0.13.6

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 added in v0.13.6

func NewUpstreamGroupClient(rcFactory factory.ResourceClientFactory) (UpstreamGroupClient, error)

func NewUpstreamGroupClientWithBase added in v0.13.6

func NewUpstreamGroupClientWithBase(rc clients.ResourceClient) UpstreamGroupClient

func NewUpstreamGroupClientWithToken added in v0.13.6

func NewUpstreamGroupClientWithToken(rcFactory factory.ResourceClientFactory, token string) (UpstreamGroupClient, error)

type UpstreamGroupList added in v0.13.6

type UpstreamGroupList []*UpstreamGroup

func (UpstreamGroupList) AsInputResources added in v0.13.6

func (list UpstreamGroupList) AsInputResources() resources.InputResourceList

func (UpstreamGroupList) AsInterfaces added in v0.13.6

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

func (UpstreamGroupList) AsResources added in v0.13.6

func (list UpstreamGroupList) AsResources() resources.ResourceList

func (UpstreamGroupList) Clone added in v0.13.6

func (list UpstreamGroupList) Clone() UpstreamGroupList

func (UpstreamGroupList) Each added in v0.13.6

func (list UpstreamGroupList) Each(f func(element *UpstreamGroup))

func (UpstreamGroupList) EachResource added in v0.13.21

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

func (UpstreamGroupList) Find added in v0.13.6

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 added in v0.13.6

func (list UpstreamGroupList) Names() []string

func (UpstreamGroupList) NamespacesDotNames added in v0.13.6

func (list UpstreamGroupList) NamespacesDotNames() []string

func (UpstreamGroupList) Sort added in v0.13.6

type UpstreamGroupReconciler added in v0.13.6

type UpstreamGroupReconciler interface {
	Reconcile(namespace string, desiredResources UpstreamGroupList, transition TransitionUpstreamGroupFunc, opts clients.ListOpts) error
}

func NewUpstreamGroupReconciler added in v0.13.6

func NewUpstreamGroupReconciler(client UpstreamGroupClient) UpstreamGroupReconciler

type UpstreamGroupWatcher added in v0.13.21

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 added in v0.13.21

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
	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 added in v0.17.1

func (m *UpstreamSpec) GetAwsEc2() *ec2.UpstreamSpec

func (*UpstreamSpec) GetAzure

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

func (*UpstreamSpec) GetCircuitBreakers added in v0.13.3

func (m *UpstreamSpec) GetCircuitBreakers() *CircuitBreakerConfig

func (*UpstreamSpec) GetConnectionConfig added in v0.13.15

func (m *UpstreamSpec) GetConnectionConfig() *ConnectionConfig

func (*UpstreamSpec) GetConsul

func (m *UpstreamSpec) GetConsul() *consul.UpstreamSpec

func (*UpstreamSpec) GetHealthChecks added in v0.18.36

func (m *UpstreamSpec) GetHealthChecks() []*core.HealthCheck

func (*UpstreamSpec) GetKube

func (m *UpstreamSpec) GetKube() *kubernetes.UpstreamSpec

func (*UpstreamSpec) GetLoadBalancerConfig added in v0.13.12

func (m *UpstreamSpec) GetLoadBalancerConfig() *LoadBalancerConfig

func (*UpstreamSpec) GetOutlierDetection added in v0.18.36

func (m *UpstreamSpec) GetOutlierDetection() *cluster.OutlierDetection

func (*UpstreamSpec) GetPipe added in v0.18.2

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 added in v0.15.0

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 added in v0.18.29

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 added in v0.17.1

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 added in v0.17.1

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 added in v0.13.6

func (us *UpstreamSpec_Consul) GetServiceSpec() *plugins.ServiceSpec

func (*UpstreamSpec_Consul) GetSubsetSpec added in v0.17.4

func (us *UpstreamSpec_Consul) GetSubsetSpec() *plugins.SubsetSpec

func (*UpstreamSpec_Consul) SetServiceSpec added in v0.13.6

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 added in v0.13.6

func (us *UpstreamSpec_Kube) GetSubsetSpec() *plugins.SubsetSpec

func (*UpstreamSpec_Kube) SetServiceSpec

func (us *UpstreamSpec_Kube) SetServiceSpec(spec *plugins.ServiceSpec)

func (*UpstreamSpec_Kube) SetSubsetSpec added in v0.13.6

func (us *UpstreamSpec_Kube) SetSubsetSpec(spec *plugins.SubsetSpec)

type UpstreamSpec_Pipe added in v0.18.2

type UpstreamSpec_Pipe struct {
	Pipe *pipe.UpstreamSpec `protobuf:"bytes,10,opt,name=pipe,proto3,oneof" json:"pipe,omitempty"`
}

func (*UpstreamSpec_Pipe) Equal added in v0.18.2

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

func (*UpstreamSpec_Pipe) GetServiceSpec added in v0.18.2

func (us *UpstreamSpec_Pipe) GetServiceSpec() *plugins.ServiceSpec

func (*UpstreamSpec_Pipe) SetServiceSpec added in v0.18.2

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 added in v0.13.3

func (m *UpstreamSslConfig) GetParameters() *SslParameters

func (*UpstreamSslConfig) GetSds added in v0.11.2

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 added in v0.11.2

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 added in v0.18.29

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 added in v0.11.2

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

func (*UpstreamSslConfig_Sds) Equal added in v0.11.2

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 added in v0.13.21

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.
	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 added in v0.13.0

func (m *VirtualHost) GetCorsPolicy() *CorsPolicy

Deprecated: Do not use.

func (*VirtualHost) GetDomains

func (m *VirtualHost) GetDomains() []string

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
	RatelimitGloo *ratelimit.IngressRateLimit `protobuf:"bytes,6,opt,name=ratelimit_gloo,json=ratelimitGloo,proto3" json:"ratelimit_gloo,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
	RatelimitActions *ratelimit.RateLimitVhostExtension `protobuf:"bytes,7,opt,name=ratelimit_actions,json=ratelimitActions,proto3" json:"ratelimit_actions,omitempty"`
	// Enterprise-only: Config for Web Application Firewall (WAF), supporting
	// the popular ModSecurity 3.0 ruleset
	Waf *waf.VhostSettings `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.VhostExtension `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 added in v0.18.17

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

func (*VirtualHostPlugins) GetExtauth added in v0.20.0

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

func (*VirtualHostPlugins) GetExtensions deprecated

func (m *VirtualHostPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*VirtualHostPlugins) GetHeaderManipulation added in v0.18.7

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

func (*VirtualHostPlugins) GetJwt added in v0.19.2

func (m *VirtualHostPlugins) GetJwt() *jwt.VhostExtension

func (*VirtualHostPlugins) GetRatelimitActions added in v0.18.43

func (m *VirtualHostPlugins) GetRatelimitActions() *ratelimit.RateLimitVhostExtension

func (*VirtualHostPlugins) GetRatelimitGloo added in v0.18.43

func (m *VirtualHostPlugins) GetRatelimitGloo() *ratelimit.IngressRateLimit

func (*VirtualHostPlugins) GetRbac added in v0.19.2

func (m *VirtualHostPlugins) GetRbac() *rbac.VhostExtension

func (*VirtualHostPlugins) GetRetries added in v0.13.8

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

func (*VirtualHostPlugins) GetStats added in v0.14.0

func (m *VirtualHostPlugins) GetStats() *stats.Stats

func (*VirtualHostPlugins) GetTransformations added in v0.18.28

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

func (*VirtualHostPlugins) GetWaf added in v0.19.1

func (m *VirtualHostPlugins) GetWaf() *waf.VhostSettings

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"`
	// Apply configuration to traffic that is sent to this weighted destination
	WeighedDestinationPlugins *WeightedDestinationPlugins `` /* 138-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 added in v0.18.7

func (m *WeightedDestination) GetWeighedDestinationPlugins() *WeightedDestinationPlugins

func (*WeightedDestination) GetWeight

func (m *WeightedDestination) GetWeight() uint32

func (*WeightedDestination) ProtoMessage

func (*WeightedDestination) ProtoMessage()

func (*WeightedDestination) Reset

func (m *WeightedDestination) Reset()

func (*WeightedDestination) String

func (m *WeightedDestination) String() string

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 added in v0.18.7

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 added in v0.18.7

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

func (*WeightedDestinationPlugins) Equal added in v0.18.7

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

func (*WeightedDestinationPlugins) GetExtauth added in v0.20.0

func (*WeightedDestinationPlugins) GetExtensions deprecated added in v0.19.0

func (m *WeightedDestinationPlugins) GetExtensions() *Extensions

Deprecated: Do not use.

func (*WeightedDestinationPlugins) GetHeaderManipulation added in v0.18.7

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

func (*WeightedDestinationPlugins) GetTransformations added in v0.18.28

func (*WeightedDestinationPlugins) ProtoMessage added in v0.18.7

func (*WeightedDestinationPlugins) ProtoMessage()

func (*WeightedDestinationPlugins) Reset added in v0.18.7

func (m *WeightedDestinationPlugins) Reset()

func (*WeightedDestinationPlugins) String added in v0.18.7

func (m *WeightedDestinationPlugins) String() string

func (*WeightedDestinationPlugins) XXX_DiscardUnknown added in v0.18.7

func (m *WeightedDestinationPlugins) XXX_DiscardUnknown()

func (*WeightedDestinationPlugins) XXX_Marshal added in v0.18.7

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

func (*WeightedDestinationPlugins) XXX_Merge added in v0.18.7

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

func (*WeightedDestinationPlugins) XXX_Size added in v0.18.7

func (m *WeightedDestinationPlugins) XXX_Size() int

func (*WeightedDestinationPlugins) XXX_Unmarshal added in v0.18.7

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