v1

package
v1.1.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

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

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

Variables

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

Functions

func NewApiEventLoop

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

func NewApiSimpleEventLoop 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 options such as the gRPC option read and write artifacts to one of Gloo's configured storage layer.

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

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

func NewArtifact

func NewArtifact(namespace, name string) *Artifact

func (*Artifact) DeepCopyInto added in v0.20.9

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

func (*Artifact) DeepCopyObject

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

func (*Artifact) Descriptor

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

func (*Artifact) Equal

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

func (*Artifact) GetData

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

func (*Artifact) GetMetadata

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

func (*Artifact) GetObjectKind

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

func (*Artifact) GroupVersionKind 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 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 options 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 feature in the enclosing
	//   Route, Virtual Host, or Listener options.
	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) DeepCopyInto added in v0.20.9

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

func (*Endpoint) DeepCopyObject

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

func (*Endpoint) Descriptor

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

func (*Endpoint) Equal

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

func (*Endpoint) GetAddress

func (m *Endpoint) GetAddress() string

func (*Endpoint) GetMetadata

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

func (*Endpoint) GetObjectKind

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

func (*Endpoint) GetPort

func (m *Endpoint) GetPort() uint32

func (*Endpoint) GetUpstreams

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

func (*Endpoint) GroupVersionKind 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 */
	// If provided, the Gateway will perform[Dynamic Admission Control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/)
	// of Gateways, Virtual Services, and Route Tables when running in Kubernetes.
	Validation *GatewayOptions_ValidationOptions `protobuf:"bytes,3,opt,name=validation,proto3" json:"validation,omitempty"`
	// When true, the Gateway controller will consume Gateway CRDs from all watch namespaces, rather
	// than just the Gateway CRDs in its own namespace
	ReadGatewaysFromAllNamespaces bool     `` /* 155-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) GetReadGatewaysFromAllNamespaces added in v1.0.0

func (m *GatewayOptions) GetReadGatewaysFromAllNamespaces() bool

func (*GatewayOptions) GetValidation added in v0.20.3

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

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

options for configuring admission control / validation

func (*GatewayOptions_ValidationOptions) Descriptor added in v0.20.3

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

func (*GatewayOptions_ValidationOptions) Equal added in v0.20.3

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

func (*GatewayOptions_ValidationOptions) GetAlwaysAccept added in v0.20.3

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

func (*GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure added in v0.20.3

func (m *GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure() bool

func (*GatewayOptions_ValidationOptions) GetProxyValidationServerAddr added in v0.20.3

func (m *GatewayOptions_ValidationOptions) GetProxyValidationServerAddr() string

func (*GatewayOptions_ValidationOptions) GetValidationWebhookTlsCert added in v0.20.3

func (m *GatewayOptions_ValidationOptions) GetValidationWebhookTlsCert() string

func (*GatewayOptions_ValidationOptions) GetValidationWebhookTlsKey added in v0.20.3

func (m *GatewayOptions_ValidationOptions) GetValidationWebhookTlsKey() string

func (*GatewayOptions_ValidationOptions) ProtoMessage added in v0.20.3

func (*GatewayOptions_ValidationOptions) ProtoMessage()

func (*GatewayOptions_ValidationOptions) Reset added in v0.20.3

func (*GatewayOptions_ValidationOptions) String added in v0.20.3

func (*GatewayOptions_ValidationOptions) XXX_DiscardUnknown added in v0.20.3

func (m *GatewayOptions_ValidationOptions) XXX_DiscardUnknown()

func (*GatewayOptions_ValidationOptions) XXX_Marshal added in v0.20.3

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

func (*GatewayOptions_ValidationOptions) XXX_Merge added in v0.20.3

func (*GatewayOptions_ValidationOptions) XXX_Size added in v0.20.3

func (m *GatewayOptions_ValidationOptions) XXX_Size() int

func (*GatewayOptions_ValidationOptions) XXX_Unmarshal added in v0.20.3

func (m *GatewayOptions_ValidationOptions) 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"`
	// set these options to fine-tune the way Gloo handles invalid user configuration
	InvalidConfigPolicy *GlooOptions_InvalidConfigPolicy `protobuf:"bytes,6,opt,name=invalid_config_policy,json=invalidConfigPolicy,proto3" json:"invalid_config_policy,omitempty"`
	// Gloo allows you to directly reference a Kubernetes service as a routing destination. To enable this feature,
	// Gloo scans the cluster for Kubernetes services and creates a special type of in-memory Upstream to represent them.
	// If the cluster contains a lot of services and you do not restrict the namespaces Gloo is watching, this can result
	// in significant overhead. If you do not plan on using this feature, you can use this flag to turn it off.
	DisableKubernetesDestinations bool     `` /* 151-byte string literal not displayed */
	XXX_NoUnkeyedLiteral          struct{} `json:"-"`
	XXX_unrecognized              []byte   `json:"-"`
	XXX_sizecache                 int32    `json:"-"`
}

Settings specific to the gloo (Envoy xDS server) controller

func (*GlooOptions) Descriptor 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) GetDisableKubernetesDestinations added in v0.20.9

func (m *GlooOptions) GetDisableKubernetesDestinations() bool

func (*GlooOptions) GetEndpointsWarmingTimeout added in v0.19.0

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

func (*GlooOptions) GetInvalidConfigPolicy added in v1.0.0

func (m *GlooOptions) GetInvalidConfigPolicy() *GlooOptions_InvalidConfigPolicy

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 GlooOptions_InvalidConfigPolicy added in v1.0.0

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

Policy for how Gloo should handle invalid config

func (*GlooOptions_InvalidConfigPolicy) Descriptor added in v1.0.0

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

func (*GlooOptions_InvalidConfigPolicy) Equal added in v1.0.0

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

func (*GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseBody added in v1.0.0

func (m *GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseBody() string

func (*GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseCode added in v1.0.0

func (m *GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseCode() uint32

func (*GlooOptions_InvalidConfigPolicy) GetReplaceInvalidRoutes added in v1.0.0

func (m *GlooOptions_InvalidConfigPolicy) GetReplaceInvalidRoutes() bool

func (*GlooOptions_InvalidConfigPolicy) ProtoMessage added in v1.0.0

func (*GlooOptions_InvalidConfigPolicy) ProtoMessage()

func (*GlooOptions_InvalidConfigPolicy) Reset added in v1.0.0

func (*GlooOptions_InvalidConfigPolicy) String added in v1.0.0

func (*GlooOptions_InvalidConfigPolicy) XXX_DiscardUnknown added in v1.0.0

func (m *GlooOptions_InvalidConfigPolicy) XXX_DiscardUnknown()

func (*GlooOptions_InvalidConfigPolicy) XXX_Marshal added in v1.0.0

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

func (*GlooOptions_InvalidConfigPolicy) XXX_Merge added in v1.0.0

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

func (*GlooOptions_InvalidConfigPolicy) XXX_Size added in v1.0.0

func (m *GlooOptions_InvalidConfigPolicy) XXX_Size() int

func (*GlooOptions_InvalidConfigPolicy) XXX_Unmarshal added in v1.0.0

func (m *GlooOptions_InvalidConfigPolicy) 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"`
	// HttpListenerOptions contains optional top-level configuration to be applied to a listener.
	// Listener config is applied to traffic for the given listener.
	// Some configuration here can be overridden in VirtualHostOptions configuration, RouteOptions configuration,
	// or WeightedDestinationOptions configuration.
	Options *HttpListenerOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	// prefix for addressing envoy stats for the http connection manager
	StatPrefix           string   `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*HttpListener) Descriptor

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

func (*HttpListener) Equal

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

func (*HttpListener) GetOptions added in v1.0.0

func (m *HttpListener) GetOptions() *HttpListenerOptions

func (*HttpListener) GetStatPrefix added in v0.20.3

func (m *HttpListener) GetStatPrefix() string

func (*HttpListener) GetVirtualHosts

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

func (*HttpListener) ProtoMessage

func (*HttpListener) ProtoMessage()

func (*HttpListener) Reset

func (m *HttpListener) Reset()

func (*HttpListener) String

func (m *HttpListener) String() string

func (*HttpListener) XXX_DiscardUnknown

func (m *HttpListener) XXX_DiscardUnknown()

func (*HttpListener) XXX_Marshal

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

func (*HttpListener) XXX_Merge

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

func (*HttpListener) XXX_Size

func (m *HttpListener) XXX_Size() int

func (*HttpListener) XXX_Unmarshal

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

type HttpListenerOptions added in v1.0.0

type HttpListenerOptions 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"`
	// Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the
	// underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml.
	//
	// Some sample use cases:
	// * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata.
	// * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process.
	// Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API.
	Extensions *Extensions `protobuf:"bytes,3,opt,name=extensions,proto3" json:"extensions,omitempty"`
	// 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"`
	// Enterprise-only: Config for data loss prevention
	Dlp                  *dlp.FilterConfig `protobuf:"bytes,6,opt,name=dlp,proto3" json:"dlp,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Optional, feature-specific configuration that lives on http listeners

func (*HttpListenerOptions) Descriptor added in v1.0.0

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

func (*HttpListenerOptions) Equal added in v1.0.0

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

func (*HttpListenerOptions) GetDlp added in v1.0.0

func (m *HttpListenerOptions) GetDlp() *dlp.FilterConfig

func (*HttpListenerOptions) GetExtensions added in v1.0.0

func (m *HttpListenerOptions) GetExtensions() *Extensions

func (*HttpListenerOptions) GetGrpcWeb added in v1.0.0

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

func (*HttpListenerOptions) GetHealthCheck added in v1.0.0

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

func (*HttpListenerOptions) GetHttpConnectionManagerSettings added in v1.0.0

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

func (*HttpListenerOptions) GetWaf added in v1.0.0

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

func (*HttpListenerOptions) ProtoMessage added in v1.0.0

func (*HttpListenerOptions) ProtoMessage()

func (*HttpListenerOptions) Reset added in v1.0.0

func (m *HttpListenerOptions) Reset()

func (*HttpListenerOptions) String added in v1.0.0

func (m *HttpListenerOptions) String() string

func (*HttpListenerOptions) XXX_DiscardUnknown added in v1.0.0

func (m *HttpListenerOptions) XXX_DiscardUnknown()

func (*HttpListenerOptions) XXX_Marshal added in v1.0.0

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

func (*HttpListenerOptions) XXX_Merge added in v1.0.0

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

func (*HttpListenerOptions) XXX_Size added in v1.0.0

func (m *HttpListenerOptions) XXX_Size() int

func (*HttpListenerOptions) XXX_Unmarshal added in v1.0.0

func (m *HttpListenerOptions) 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 options
	Options *ListenerOptions `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"`
	// Metadata for the individual listener
	// This data is opaque to Gloo, used
	// by controllers to track ownership of listeners within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata             *types.Struct `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

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

func (*Listener) Descriptor

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

func (*Listener) Equal

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

func (*Listener) GetBindAddress

func (m *Listener) GetBindAddress() string

func (*Listener) GetBindPort

func (m *Listener) GetBindPort() uint32

func (*Listener) GetHttpListener

func (m *Listener) GetHttpListener() *HttpListener

func (*Listener) GetListenerType

func (m *Listener) GetListenerType() isListener_ListenerType

func (*Listener) GetMetadata added in v1.0.0

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

func (*Listener) GetName

func (m *Listener) GetName() string

func (*Listener) GetOptions added in v1.0.0

func (m *Listener) GetOptions() *ListenerOptions

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 ListenerOptions added in v1.0.0

type ListenerOptions struct {
	AccessLoggingService *als.AccessLoggingService `protobuf:"bytes,1,opt,name=access_logging_service,json=accessLoggingService,proto3" json:"access_logging_service,omitempty"`
	// Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the
	// underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml.
	//
	// Some sample use cases:
	// * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata.
	// * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process.
	// Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API.
	Extensions           *Extensions `protobuf:"bytes,2,opt,name=extensions,proto3" json:"extensions,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Optional, feature-specific configuration that lives on gateways. Each ListenerOption object contains configuration for a specific feature. Note to developers: new Listener plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

func (*ListenerOptions) Descriptor added in v1.0.0

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

func (*ListenerOptions) Equal added in v1.0.0

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

func (*ListenerOptions) GetAccessLoggingService added in v1.0.0

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

func (*ListenerOptions) GetExtensions added in v1.0.0

func (m *ListenerOptions) GetExtensions() *Extensions

func (*ListenerOptions) ProtoMessage added in v1.0.0

func (*ListenerOptions) ProtoMessage()

func (*ListenerOptions) Reset added in v1.0.0

func (m *ListenerOptions) Reset()

func (*ListenerOptions) String added in v1.0.0

func (m *ListenerOptions) String() string

func (*ListenerOptions) XXX_DiscardUnknown added in v1.0.0

func (m *ListenerOptions) XXX_DiscardUnknown()

func (*ListenerOptions) XXX_Marshal added in v1.0.0

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

func (*ListenerOptions) XXX_Merge added in v1.0.0

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

func (*ListenerOptions) XXX_Size added in v1.0.0

func (m *ListenerOptions) XXX_Size() int

func (*ListenerOptions) XXX_Unmarshal added in v1.0.0

func (m *ListenerOptions) 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 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) DeepCopyInto added in v0.20.9

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

func (*Proxy) DeepCopyObject

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

func (*Proxy) Descriptor

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

func (*Proxy) Equal

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

func (*Proxy) GetListeners

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

func (*Proxy) GetMetadata

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

func (*Proxy) GetObjectKind

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

func (*Proxy) GetStatus

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

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

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

func (*Route) Descriptor

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

func (*Route) Equal

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

func (*Route) GetAction

func (m *Route) GetAction() isRoute_Action

func (*Route) GetDirectResponseAction

func (m *Route) GetDirectResponseAction() *DirectResponseAction

func (*Route) GetMatchers added in v1.0.0

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

func (*Route) GetMetadata added in v1.0.0

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

func (*Route) GetOptions added in v1.0.0

func (m *Route) GetOptions() *RouteOptions

func (*Route) GetRedirectAction

func (m *Route) GetRedirectAction() *RedirectAction

func (*Route) GetRouteAction

func (m *Route) GetRouteAction() *RouteAction

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 RouteOptions added in v1.0.0

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

Optional, feature-specific configuration that lives on routes. Each RouteOption object contains configuration for a specific feature. Note to developers: new Route plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

func (*RouteOptions) Descriptor added in v1.0.0

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

func (*RouteOptions) Equal added in v1.0.0

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

func (*RouteOptions) GetAutoHostRewrite added in v1.0.0

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

func (*RouteOptions) GetCors added in v1.0.0

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

func (*RouteOptions) GetDlp added in v1.0.0

func (m *RouteOptions) GetDlp() *dlp.Config

func (*RouteOptions) GetExtauth added in v1.0.0

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

func (*RouteOptions) GetExtensions added in v1.0.0

func (m *RouteOptions) GetExtensions() *Extensions

func (*RouteOptions) GetFaults added in v1.0.0

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

func (*RouteOptions) GetHeaderManipulation added in v1.0.0

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

func (*RouteOptions) GetHostRewrite added in v1.0.0

func (m *RouteOptions) GetHostRewrite() string

func (*RouteOptions) GetHostRewriteType added in v1.0.0

func (m *RouteOptions) GetHostRewriteType() isRouteOptions_HostRewriteType

func (*RouteOptions) GetJwt added in v1.0.0

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

func (*RouteOptions) GetLbHash added in v1.0.0

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

func (*RouteOptions) GetPrefixRewrite added in v1.0.0

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

func (*RouteOptions) GetRatelimit added in v1.0.0

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

func (*RouteOptions) GetRatelimitBasic added in v1.0.0

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

func (*RouteOptions) GetRbac added in v1.0.0

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

func (*RouteOptions) GetRetries added in v1.0.0

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

func (*RouteOptions) GetShadowing added in v1.0.0

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

func (*RouteOptions) GetTimeout added in v1.0.0

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

func (*RouteOptions) GetTracing added in v1.0.0

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

func (*RouteOptions) GetTransformations added in v1.0.0

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

func (*RouteOptions) GetWaf added in v1.0.0

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

func (*RouteOptions) ProtoMessage added in v1.0.0

func (*RouteOptions) ProtoMessage()

func (*RouteOptions) Reset added in v1.0.0

func (m *RouteOptions) Reset()

func (*RouteOptions) String added in v1.0.0

func (m *RouteOptions) String() string

func (*RouteOptions) XXX_DiscardUnknown added in v1.0.0

func (m *RouteOptions) XXX_DiscardUnknown()

func (*RouteOptions) XXX_Marshal added in v1.0.0

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

func (*RouteOptions) XXX_Merge added in v1.0.0

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

func (*RouteOptions) XXX_OneofWrappers added in v1.0.0

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*RouteOptions) XXX_Size added in v1.0.0

func (m *RouteOptions) XXX_Size() int

func (*RouteOptions) XXX_Unmarshal added in v1.0.0

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

type RouteOptions_AutoHostRewrite added in v1.0.0

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

func (*RouteOptions_AutoHostRewrite) Equal added in v1.0.0

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

type RouteOptions_HostRewrite added in v1.0.0

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

func (*RouteOptions_HostRewrite) Equal added in v1.0.0

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

type Route_DirectResponseAction

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

func (*Route_DirectResponseAction) Equal

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

type Route_RedirectAction

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

func (*Route_RedirectAction) Equal

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

type Route_RouteAction

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

func (*Route_RouteAction) Equal

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

type SDSConfig 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_Oauth
	//	*Secret_ApiKey
	//	*Secret_Extensions
	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 features such as the AWS Lambda option 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 option that requires them.

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

func NewSecret

func NewSecret(namespace, name string) *Secret

func (*Secret) DeepCopyInto added in v0.20.9

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

func (*Secret) DeepCopyObject

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

func (*Secret) Descriptor

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

func (*Secret) Equal

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

func (*Secret) GetApiKey added in v1.0.0

func (m *Secret) GetApiKey() *v1.ApiKeySecret

func (*Secret) GetAws

func (m *Secret) GetAws() *AwsSecret

func (*Secret) GetAzure

func (m *Secret) GetAzure() *AzureSecret

func (*Secret) GetExtensions added in v1.0.0

func (m *Secret) GetExtensions() *Extensions

func (*Secret) GetKind

func (m *Secret) GetKind() isSecret_Kind

func (*Secret) GetMetadata

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

func (*Secret) GetOauth added in v1.0.0

func (m *Secret) GetOauth() *v1.OauthSecret

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_ApiKey added in v1.0.0

type Secret_ApiKey struct {
	ApiKey *v1.ApiKeySecret `protobuf:"bytes,6,opt,name=api_key,json=apiKey,proto3,oneof" json:"api_key,omitempty"`
}

func (*Secret_ApiKey) Equal added in v1.0.0

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

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_Extensions added in v1.0.0

type Secret_Extensions struct {
	Extensions *Extensions `protobuf:"bytes,4,opt,name=extensions,proto3,oneof" json:"extensions,omitempty"`
}

func (*Secret_Extensions) Equal added in v1.0.0

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

type Secret_Oauth added in v1.0.0

type Secret_Oauth struct {
	Oauth *v1.OauthSecret `protobuf:"bytes,5,opt,name=oauth,proto3,oneof" json:"oauth,omitempty"`
}

func (*Secret_Oauth) Equal added in v1.0.0

func (this *Secret_Oauth) 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"`
	// 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"`
	// 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"`
	// Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the
	// underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml.
	//
	// Some sample use cases:
	// * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata.
	// * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process.
	// Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API.
	Extensions *Extensions `protobuf:"bytes,16,opt,name=extensions,proto3" json:"extensions,omitempty"`
	// Enterprise-only: Partial config for GlooE's rate-limiting service, based on Envoy's rate-limit service;
	// supports Envoy's rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration)
	// Configure rate-limit *descriptors* here, which define the limits for requests based on their descriptors.
	// Configure rate-limits (composed of *actions*, which define how request characteristics get translated into
	// descriptors) on the VirtualHost or its routes
	Ratelimit *ratelimit.ServiceSettings `protobuf:"bytes,26,opt,name=ratelimit,proto3" json:"ratelimit,omitempty"`
	// Enterprise-only: Settings for the rate limiting server itself
	RatelimitServer *ratelimit.Settings `protobuf:"bytes,27,opt,name=ratelimit_server,json=ratelimitServer,proto3" json:"ratelimit_server,omitempty"`
	// Enterprise-only: Settings for RBAC across all Gloo resources (VirtualServices, Routes, etc.)
	Rbac *rbac.Settings `protobuf:"bytes,28,opt,name=rbac,proto3" json:"rbac,omitempty"`
	// Enterprise-only: External auth related settings
	Extauth *v1.Settings `protobuf:"bytes,29,opt,name=extauth,proto3" json:"extauth,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,14,opt,name=metadata,proto3" json:"metadata"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status               core.Status `protobuf:"bytes,15,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Represents global settings for all the Gloo components.

func NewSettings

func NewSettings(namespace, name string) *Settings

func (*Settings) DeepCopyInto added in v0.20.9

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

func (*Settings) DeepCopyObject

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

func (*Settings) Descriptor

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

func (*Settings) Equal

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

func (*Settings) GetArtifactSource

func (m *Settings) GetArtifactSource() isSettings_ArtifactSource

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

func (m *Settings) GetExtensions() *Extensions

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

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

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 kubernetes clients
	RateLimits           *Settings_KubernetesConfiguration_RateLimits `protobuf:"bytes,1,opt,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
	XXX_unrecognized     []byte                                       `json:"-"`
	XXX_sizecache        int32                                        `json:"-"`
}

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

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

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

func (*Settings_VaultSecrets) Descriptor

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

func (*Settings_VaultSecrets) Equal

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

func (*Settings_VaultSecrets) GetAddress 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"`
	// Options contains top-level 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 Options configuration or Route Options configuration
	Options *TcpListenerOptions `protobuf:"bytes,8,opt,name=options,proto3" json:"options,omitempty"`
	// prefix for addressing envoy stats for the tcp proxy
	StatPrefix           string   `protobuf:"bytes,3,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TcpListener) Descriptor 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) GetOptions added in v1.0.0

func (m *TcpListener) GetOptions() *TcpListenerOptions

func (*TcpListener) GetStatPrefix added in v0.20.3

func (m *TcpListener) GetStatPrefix() string

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 TcpListenerOptions added in v1.0.0

type TcpListenerOptions 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:"-"`
}

Optional, feature-specific configuration that lives on tcp listeners

func (*TcpListenerOptions) Descriptor added in v1.0.0

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

func (*TcpListenerOptions) Equal added in v1.0.0

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

func (*TcpListenerOptions) GetTcpProxySettings added in v1.0.0

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

func (*TcpListenerOptions) ProtoMessage added in v1.0.0

func (*TcpListenerOptions) ProtoMessage()

func (*TcpListenerOptions) Reset added in v1.0.0

func (m *TcpListenerOptions) Reset()

func (*TcpListenerOptions) String added in v1.0.0

func (m *TcpListenerOptions) String() string

func (*TcpListenerOptions) XXX_DiscardUnknown added in v1.0.0

func (m *TcpListenerOptions) XXX_DiscardUnknown()

func (*TcpListenerOptions) XXX_Marshal added in v1.0.0

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

func (*TcpListenerOptions) XXX_Merge added in v1.0.0

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

func (*TcpListenerOptions) XXX_Size added in v1.0.0

func (m *TcpListenerOptions) XXX_Size() int

func (*TcpListenerOptions) XXX_Unmarshal added in v1.0.0

func (m *TcpListenerOptions) 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 {
	// 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,1,opt,name=status,proto3" json:"status" testdiff:"ignore"`
	// Metadata contains the object metadata for this resource
	Metadata core.Metadata `protobuf:"bytes,2,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,3,opt,name=discovery_metadata,json=discoveryMetadata,proto3" json:"discovery_metadata,omitempty"`
	SslConfig         *UpstreamSslConfig `protobuf:"bytes,4,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,5,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"`
	LoadBalancerConfig *LoadBalancerConfig       `protobuf:"bytes,6,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"`
	ConnectionConfig   *ConnectionConfig         `protobuf:"bytes,7,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"`
	HealthChecks       []*core1.HealthCheck      `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
	OutlierDetection   *cluster.OutlierDetection `protobuf:"bytes,9,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// Use http2 when communicating with this upstream
	// this field is evaluated `true` for upstreams
	// with a grpc service spec. otherwise defaults to `false`
	UseHttp2 bool `protobuf:"varint,10,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. (plugins currently need to be compiled into Gloo)
	//
	// Types that are valid to be assigned to UpstreamType:
	//	*Upstream_Kube
	//	*Upstream_Static
	//	*Upstream_Pipe
	//	*Upstream_Aws
	//	*Upstream_Azure
	//	*Upstream_Consul
	//	*Upstream_AwsEc2
	UpstreamType         isUpstream_UpstreamType `protobuf_oneof:"upstream_type"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

Upstreams represent destination for routing HTTP requests. Upstreams can be compared to [clusters](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cds.proto) in Envoy terminology. Each upstream in Gloo has a type. Supported types include `static`, `kubernetes`, `aws`, `consul`, and more. Each upstream type is handled by a corresponding Gloo plugin. (plugins currently need to be compiled into Gloo)

func NewUpstream

func NewUpstream(namespace, name string) *Upstream

func (*Upstream) DeepCopyInto added in v0.20.9

func (o *Upstream) DeepCopyInto(out *Upstream)

func (*Upstream) DeepCopyObject

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

func (*Upstream) Descriptor

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

func (*Upstream) Equal

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

func (*Upstream) GetAws added in v1.0.0

func (m *Upstream) GetAws() *aws.UpstreamSpec

func (*Upstream) GetAwsEc2 added in v1.0.0

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

func (*Upstream) GetAzure added in v1.0.0

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

func (*Upstream) GetCircuitBreakers added in v1.0.0

func (m *Upstream) GetCircuitBreakers() *CircuitBreakerConfig

func (*Upstream) GetConnectionConfig added in v1.0.0

func (m *Upstream) GetConnectionConfig() *ConnectionConfig

func (*Upstream) GetConsul added in v1.0.0

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

func (*Upstream) GetDiscoveryMetadata

func (m *Upstream) GetDiscoveryMetadata() *DiscoveryMetadata

func (*Upstream) GetHealthChecks added in v1.0.0

func (m *Upstream) GetHealthChecks() []*core1.HealthCheck

func (*Upstream) GetKube added in v1.0.0

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

func (*Upstream) GetLoadBalancerConfig added in v1.0.0

func (m *Upstream) GetLoadBalancerConfig() *LoadBalancerConfig

func (*Upstream) GetMetadata

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

func (*Upstream) GetObjectKind

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

func (*Upstream) GetOutlierDetection added in v1.0.0

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

func (*Upstream) GetPipe added in v1.0.0

func (m *Upstream) GetPipe() *pipe.UpstreamSpec

func (*Upstream) GetSslConfig added in v1.0.0

func (m *Upstream) GetSslConfig() *UpstreamSslConfig

func (*Upstream) GetStatic added in v1.0.0

func (m *Upstream) GetStatic() *static.UpstreamSpec

func (*Upstream) GetStatus

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

func (*Upstream) GetUpstreamType added in v1.0.0

func (m *Upstream) GetUpstreamType() isUpstream_UpstreamType

func (*Upstream) GetUseHttp2 added in v1.0.0

func (m *Upstream) GetUseHttp2() bool

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_OneofWrappers added in v1.0.0

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

XXX_OneofWrappers is for the internal use of the proto package.

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

func (o *UpstreamGroup) DeepCopyInto(out *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 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 Upstream_Aws added in v1.0.0

type Upstream_Aws struct {
	Aws *aws.UpstreamSpec `protobuf:"bytes,14,opt,name=aws,proto3,oneof" json:"aws,omitempty"`
}

func (*Upstream_Aws) Equal added in v1.0.0

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

type Upstream_AwsEc2 added in v1.0.0

type Upstream_AwsEc2 struct {
	AwsEc2 *ec2.UpstreamSpec `protobuf:"bytes,17,opt,name=aws_ec2,json=awsEc2,proto3,oneof" json:"aws_ec2,omitempty"`
}

func (*Upstream_AwsEc2) Equal added in v1.0.0

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

type Upstream_Azure added in v1.0.0

type Upstream_Azure struct {
	Azure *azure.UpstreamSpec `protobuf:"bytes,15,opt,name=azure,proto3,oneof" json:"azure,omitempty"`
}

func (*Upstream_Azure) Equal added in v1.0.0

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

type Upstream_Consul added in v1.0.0

type Upstream_Consul struct {
	Consul *consul.UpstreamSpec `protobuf:"bytes,16,opt,name=consul,proto3,oneof" json:"consul,omitempty"`
}

func (*Upstream_Consul) Equal added in v1.0.0

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

func (*Upstream_Consul) GetServiceSpec added in v1.0.0

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

func (*Upstream_Consul) GetSubsetSpec added in v1.0.0

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

func (*Upstream_Consul) SetServiceSpec added in v1.0.0

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

type Upstream_Kube added in v1.0.0

type Upstream_Kube struct {
	Kube *kubernetes.UpstreamSpec `protobuf:"bytes,11,opt,name=kube,proto3,oneof" json:"kube,omitempty"`
}

func (*Upstream_Kube) Equal added in v1.0.0

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

func (*Upstream_Kube) GetServiceSpec added in v1.0.0

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

Add these two methods to any upstream spec that supports a ServiceSpec describing the service represented by the upstream

func (*Upstream_Kube) GetSubsetSpec added in v1.0.0

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

func (*Upstream_Kube) SetServiceSpec added in v1.0.0

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

func (*Upstream_Kube) SetSubsetSpec added in v1.0.0

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

type Upstream_Pipe added in v1.0.0

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

func (*Upstream_Pipe) Equal added in v1.0.0

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

func (*Upstream_Pipe) GetServiceSpec added in v1.0.0

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

func (*Upstream_Pipe) SetServiceSpec added in v1.0.0

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

type Upstream_Static added in v1.0.0

type Upstream_Static struct {
	Static *static.UpstreamSpec `protobuf:"bytes,12,opt,name=static,proto3,oneof" json:"static,omitempty"`
}

func (*Upstream_Static) Equal added in v1.0.0

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

func (*Upstream_Static) GetServiceSpec added in v1.0.0

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

func (*Upstream_Static) SetServiceSpec added in v1.0.0

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

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 options contain additional configuration to be applied to all traffic served by the Virtual Host.
	// Some configuration here can be overridden by Route Options.
	Options *VirtualHostOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"`
	// Metadata for the individual virtual host
	// This data is opaque to Gloo, used
	// by controllers to track ownership of virtual hosts within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata             *types.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Virtual Hosts group an ordered list of routes under one or more domains. Each Virtual Host has a logical name, which must be unique for the listener. An HTTP request is first matched to a virtual host based on its host header, then to a route within the virtual host. If a request is not matched to any virtual host or a route therein, the target proxy will reply with a 404.

func (*VirtualHost) Descriptor

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

func (*VirtualHost) Equal

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

func (*VirtualHost) GetDomains

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

func (*VirtualHost) GetMetadata added in v1.0.0

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

func (*VirtualHost) GetName

func (m *VirtualHost) GetName() string

func (*VirtualHost) GetOptions added in v1.0.0

func (m *VirtualHost) GetOptions() *VirtualHostOptions

func (*VirtualHost) GetRoutes

func (m *VirtualHost) GetRoutes() []*Route

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 VirtualHostOptions added in v1.0.0

type VirtualHostOptions struct {
	// Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the
	// underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml.
	//
	// Some sample use cases:
	// * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata.
	// * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process.
	// Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API.
	Extensions *Extensions          `protobuf:"bytes,1,opt,name=extensions,proto3" json:"extensions,omitempty"`
	Retries    *retries.RetryPolicy `protobuf:"bytes,5,opt,name=retries,proto3" json:"retries,omitempty"`
	Stats      *stats.Stats         `protobuf:"bytes,10,opt,name=stats,proto3" json:"stats,omitempty"`
	// Append/Remove headers on Requests or Responses on all routes contained in this Virtual Host
	HeaderManipulation *headers.HeaderManipulation `protobuf:"bytes,2,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	// Defines a CORS policy for the virtual host
	// If a CORS policy is also defined on the route matched by the request, the policies are merged.
	Cors *cors.CorsPolicy `protobuf:"bytes,3,opt,name=cors,proto3" json:"cors,omitempty"`
	// Transformations to apply
	Transformations *transformation.RouteTransformations `protobuf:"bytes,4,opt,name=transformations,proto3" json:"transformations,omitempty"`
	// Enterprise-only: Config for GlooE rate-limiting using simplified (gloo-specific) API
	RatelimitBasic *ratelimit.IngressRateLimit `protobuf:"bytes,6,opt,name=ratelimit_basic,json=ratelimitBasic,proto3" json:"ratelimit_basic,omitempty"`
	// Enterprise-only: Partial config for GlooE rate-limiting based on Envoy's rate-limit service;
	// supports Envoy's rate-limit service API. (reference here: https://github.com/lyft/ratelimit#configuration)
	// Configure rate-limit *actions* here, which define how request characteristics get translated into
	// descriptors used by the rate-limit service for rate-limiting. Configure rate-limit *descriptors* and
	// their associated limits on the Gloo settings
	Ratelimit *ratelimit.RateLimitVhostExtension `protobuf:"bytes,7,opt,name=ratelimit,proto3" json:"ratelimit,omitempty"`
	// Enterprise-only: Config for Web Application Firewall (WAF), supporting
	// the popular ModSecurity 3.0 ruleset
	Waf *waf.Settings `protobuf:"bytes,8,opt,name=waf,proto3" json:"waf,omitempty"`
	// Enterprise-only: Config for reading and verifying JWTs. Copy verifiable information from JWTs into other
	// headers to make routing decisions or combine with RBAC for fine-grained access control.
	Jwt *jwt.VhostExtension `protobuf:"bytes,9,opt,name=jwt,proto3" json:"jwt,omitempty"`
	// Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims)
	Rbac *rbac.ExtensionSettings `protobuf:"bytes,11,opt,name=rbac,proto3" json:"rbac,omitempty"`
	// Enterprise-only: Authentication configuration
	Extauth *v1.ExtAuthExtension `protobuf:"bytes,12,opt,name=extauth,proto3" json:"extauth,omitempty"`
	// Enterprise-only: Config for data loss prevention
	Dlp                  *dlp.Config `protobuf:"bytes,13,opt,name=dlp,proto3" json:"dlp,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Optional, feature-specific configuration that lives on virtual hosts. Each VirtualHostPlugin object contains configuration for a specific feature. Note to developers: new Virtual Host plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

func (*VirtualHostOptions) Descriptor added in v1.0.0

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

func (*VirtualHostOptions) Equal added in v1.0.0

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

func (*VirtualHostOptions) GetCors added in v1.0.0

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

func (*VirtualHostOptions) GetDlp added in v1.0.0

func (m *VirtualHostOptions) GetDlp() *dlp.Config

func (*VirtualHostOptions) GetExtauth added in v1.0.0

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

func (*VirtualHostOptions) GetExtensions added in v1.0.0

func (m *VirtualHostOptions) GetExtensions() *Extensions

func (*VirtualHostOptions) GetHeaderManipulation added in v1.0.0

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

func (*VirtualHostOptions) GetJwt added in v1.0.0

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

func (*VirtualHostOptions) GetRatelimit added in v1.0.0

func (*VirtualHostOptions) GetRatelimitBasic added in v1.0.0

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

func (*VirtualHostOptions) GetRbac added in v1.0.0

func (*VirtualHostOptions) GetRetries added in v1.0.0

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

func (*VirtualHostOptions) GetStats added in v1.0.0

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

func (*VirtualHostOptions) GetTransformations added in v1.0.0

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

func (*VirtualHostOptions) GetWaf added in v1.0.0

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

func (*VirtualHostOptions) ProtoMessage added in v1.0.0

func (*VirtualHostOptions) ProtoMessage()

func (*VirtualHostOptions) Reset added in v1.0.0

func (m *VirtualHostOptions) Reset()

func (*VirtualHostOptions) String added in v1.0.0

func (m *VirtualHostOptions) String() string

func (*VirtualHostOptions) XXX_DiscardUnknown added in v1.0.0

func (m *VirtualHostOptions) XXX_DiscardUnknown()

func (*VirtualHostOptions) XXX_Marshal added in v1.0.0

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

func (*VirtualHostOptions) XXX_Merge added in v1.0.0

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

func (*VirtualHostOptions) XXX_Size added in v1.0.0

func (m *VirtualHostOptions) XXX_Size() int

func (*VirtualHostOptions) XXX_Unmarshal added in v1.0.0

func (m *VirtualHostOptions) 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
	Options              *WeightedDestinationOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"`
	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) GetOptions added in v1.0.0

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 WeightedDestinationOptions added in v1.0.0

type WeightedDestinationOptions 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"`
	// Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the
	// underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml.
	//
	// Some sample use cases:
	// * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata.
	// * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process.
	// Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API.
	Extensions *Extensions `protobuf:"bytes,3,opt,name=extensions,proto3" json:"extensions,omitempty"`
	// 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:"-"`
}

Optional, feature-specific configuration that is applied when a specific weighted destination is selected for routing.

func (*WeightedDestinationOptions) Descriptor added in v1.0.0

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

func (*WeightedDestinationOptions) Equal added in v1.0.0

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

func (*WeightedDestinationOptions) GetExtauth added in v1.0.0

func (*WeightedDestinationOptions) GetExtensions added in v1.0.0

func (m *WeightedDestinationOptions) GetExtensions() *Extensions

func (*WeightedDestinationOptions) GetHeaderManipulation added in v1.0.0

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

func (*WeightedDestinationOptions) GetTransformations added in v1.0.0

func (*WeightedDestinationOptions) ProtoMessage added in v1.0.0

func (*WeightedDestinationOptions) ProtoMessage()

func (*WeightedDestinationOptions) Reset added in v1.0.0

func (m *WeightedDestinationOptions) Reset()

func (*WeightedDestinationOptions) String added in v1.0.0

func (m *WeightedDestinationOptions) String() string

func (*WeightedDestinationOptions) XXX_DiscardUnknown added in v1.0.0

func (m *WeightedDestinationOptions) XXX_DiscardUnknown()

func (*WeightedDestinationOptions) XXX_Marshal added in v1.0.0

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

func (*WeightedDestinationOptions) XXX_Merge added in v1.0.0

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

func (*WeightedDestinationOptions) XXX_Size added in v1.0.0

func (m *WeightedDestinationOptions) XXX_Size() int

func (*WeightedDestinationOptions) XXX_Unmarshal added in v1.0.0

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

Directories

Path Synopsis
external
kube
apis/gloo.solo.io/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/gloo.solo.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/gloo.solo.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
als
aws
hcm
tcp

Jump to

Keyboard shortcuts

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