v1

package
v1.16.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 107 Imported by: 163

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 (
	RedirectAction_RedirectResponseCode_name = map[int32]string{
		0: "MOVED_PERMANENTLY",
		1: "FOUND",
		2: "SEE_OTHER",
		3: "TEMPORARY_REDIRECT",
		4: "PERMANENT_REDIRECT",
	}
	RedirectAction_RedirectResponseCode_value = map[string]int32{
		"MOVED_PERMANENTLY":  0,
		"FOUND":              1,
		"SEE_OTHER":          2,
		"TEMPORARY_REDIRECT": 3,
		"PERMANENT_REDIRECT": 4,
	}
)

Enum value maps for RedirectAction_RedirectResponseCode.

View Source
var (
	Settings_DiscoveryOptions_FdsMode_name = map[int32]string{
		0: "BLACKLIST",
		1: "WHITELIST",
		2: "DISABLED",
	}
	Settings_DiscoveryOptions_FdsMode_value = map[string]int32{
		"BLACKLIST": 0,
		"WHITELIST": 1,
		"DISABLED":  2,
	}
)

Enum value maps for Settings_DiscoveryOptions_FdsMode.

View Source
var (
	GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule_name = map[int32]string{
		0: "RULE_UNSPECIFIED",
		1: "RULE_DANGEROUS_TO_BREAKING",
		2: "RULE_DEPRECATED_FIELD_REMOVAL_DANGEROUS",
		3: "RULE_IGNORE_DESCRIPTION_CHANGES",
		4: "RULE_IGNORE_UNREACHABLE",
	}
	GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule_value = map[string]int32{
		"RULE_UNSPECIFIED":                        0,
		"RULE_DANGEROUS_TO_BREAKING":              1,
		"RULE_DEPRECATED_FIELD_REMOVAL_DANGEROUS": 2,
		"RULE_IGNORE_DESCRIPTION_CHANGES":         3,
		"RULE_IGNORE_UNREACHABLE":                 4,
	}
)

Enum value maps for GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule.

View Source
var (
	Upstream_ClusterProtocolSelection_name = map[int32]string{
		0: "USE_CONFIGURED_PROTOCOL",
		1: "USE_DOWNSTREAM_PROTOCOL",
	}
	Upstream_ClusterProtocolSelection_value = map[string]int32{
		"USE_CONFIGURED_PROTOCOL": 0,
		"USE_DOWNSTREAM_PROTOCOL": 1,
	}
)

Enum value maps for Upstream_ClusterProtocolSelection.

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 EdsGvkToHashableResource = map[schema.GroupVersionKind]func() resources.HashableResource{
	UpstreamGVK: NewUpstreamHashableResource,
}
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 File_github_com_solo_io_gloo_projects_gloo_api_v1_artifact_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_circuit_breaker_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_connection_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_endpoint_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_extensions_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_failover_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_load_balancer_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_proxy_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_secret_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_settings_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_subset_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_upstream_proto protoreflect.FileDescriptor
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 (
	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 SetupGvkToHashableResource = map[schema.GroupVersionKind]func() resources.HashableResource{
	SettingsGVK: NewSettingsHashableResource,
}
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 NewArtifactHashableResource added in v1.11.50

func NewArtifactHashableResource() resources.HashableResource

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 NewEndpointHashableResource added in v1.11.50

func NewEndpointHashableResource() resources.HashableResource

func NewProxyHashableResource added in v1.11.50

func NewProxyHashableResource() resources.HashableResource

func NewSecretHashableResource added in v1.11.50

func NewSecretHashableResource() resources.HashableResource

func NewSettingsHashableResource added in v1.11.50

func NewSettingsHashableResource() resources.HashableResource

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

func NewUpstreamGroupHashableResource added in v1.11.50

func NewUpstreamGroupHashableResource() resources.HashableResource

func NewUpstreamHashableResource added in v1.11.50

func NewUpstreamHashableResource() resources.HashableResource

Types

type AccountCredentialsSecret added in v1.13.0

type AccountCredentialsSecret struct {
	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// contains filtered or unexported fields
}

Secret to represent any kind of a username/secretname and password/secret combination Used by LDAP auth to store service account credentials and by HMAC auth to keep shared secrets.

func (*AccountCredentialsSecret) Clone added in v1.13.0

Clone function

func (*AccountCredentialsSecret) Descriptor deprecated added in v1.13.0

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

Deprecated: Use AccountCredentialsSecret.ProtoReflect.Descriptor instead.

func (*AccountCredentialsSecret) Equal added in v1.13.0

func (m *AccountCredentialsSecret) Equal(that interface{}) bool

Equal function

func (*AccountCredentialsSecret) GetPassword added in v1.13.0

func (x *AccountCredentialsSecret) GetPassword() string

func (*AccountCredentialsSecret) GetUsername added in v1.13.0

func (x *AccountCredentialsSecret) GetUsername() string

func (*AccountCredentialsSecret) Hash added in v1.13.0

func (m *AccountCredentialsSecret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AccountCredentialsSecret) ProtoMessage added in v1.13.0

func (*AccountCredentialsSecret) ProtoMessage()

func (*AccountCredentialsSecret) ProtoReflect added in v1.13.0

func (x *AccountCredentialsSecret) ProtoReflect() protoreflect.Message

func (*AccountCredentialsSecret) Reset added in v1.13.0

func (x *AccountCredentialsSecret) Reset()

func (*AccountCredentialsSecret) String added in v1.13.0

func (x *AccountCredentialsSecret) String() string

type AggregateListener added in v1.9.25

type AggregateListener struct {

	// The aggregate set of resources available on this listener
	HttpResources *AggregateListener_HttpResources `protobuf:"bytes,1,opt,name=http_resources,json=httpResources,proto3" json:"http_resources,omitempty"`
	// The set of HttpFilterChains to create on this listener
	HttpFilterChains []*AggregateListener_HttpFilterChain `protobuf:"bytes,2,rep,name=http_filter_chains,json=httpFilterChains,proto3" json:"http_filter_chains,omitempty"`
	// The set of TcpListeners to create on this listener
	TcpListeners []*MatchedTcpListener `protobuf:"bytes,3,rep,name=tcp_listeners,json=tcpListeners,proto3" json:"tcp_listeners,omitempty"`
	// contains filtered or unexported fields
}

An AggregateListener defines a set of Gloo configuration which will map to a unique set of FilterChains on a Listener

func (*AggregateListener) Clone added in v1.9.25

func (m *AggregateListener) Clone() proto.Message

Clone function

func (*AggregateListener) Descriptor deprecated added in v1.9.25

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

Deprecated: Use AggregateListener.ProtoReflect.Descriptor instead.

func (*AggregateListener) Equal added in v1.9.25

func (m *AggregateListener) Equal(that interface{}) bool

Equal function

func (*AggregateListener) GetHttpFilterChains added in v1.9.25

func (x *AggregateListener) GetHttpFilterChains() []*AggregateListener_HttpFilterChain

func (*AggregateListener) GetHttpResources added in v1.9.25

func (x *AggregateListener) GetHttpResources() *AggregateListener_HttpResources

func (*AggregateListener) GetTcpListeners added in v1.14.6

func (x *AggregateListener) GetTcpListeners() []*MatchedTcpListener

func (*AggregateListener) Hash added in v1.9.25

func (m *AggregateListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AggregateListener) ProtoMessage added in v1.9.25

func (*AggregateListener) ProtoMessage()

func (*AggregateListener) ProtoReflect added in v1.9.25

func (x *AggregateListener) ProtoReflect() protoreflect.Message

func (*AggregateListener) Reset added in v1.9.25

func (x *AggregateListener) Reset()

func (*AggregateListener) String added in v1.9.25

func (x *AggregateListener) String() string

type AggregateListener_HttpFilterChain added in v1.9.25

type AggregateListener_HttpFilterChain struct {

	// Matching criteria used to generate both the FilterChainMatch and TransportSocket for the Envoy FilterChain
	Matcher *Matcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"`
	// The ref pointing to HttpListenerOptions which are used to configure the HCM on this HttpFilterChain
	// Corresponds to an entry in the HttpResources.HttpOptions map
	HttpOptionsRef string `protobuf:"bytes,2,opt,name=http_options_ref,json=httpOptionsRef,proto3" json:"http_options_ref,omitempty"`
	// The set of refs pointing to VirtualHosts which are available on this HttpFilterChain
	// Each ref corresponds to an entry in the HttpResources.VirtualHosts map
	VirtualHostRefs []string `protobuf:"bytes,3,rep,name=virtual_host_refs,json=virtualHostRefs,proto3" json:"virtual_host_refs,omitempty"`
	// contains filtered or unexported fields
}

func (*AggregateListener_HttpFilterChain) Clone added in v1.9.25

Clone function

func (*AggregateListener_HttpFilterChain) Descriptor deprecated added in v1.9.25

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

Deprecated: Use AggregateListener_HttpFilterChain.ProtoReflect.Descriptor instead.

func (*AggregateListener_HttpFilterChain) Equal added in v1.9.25

func (m *AggregateListener_HttpFilterChain) Equal(that interface{}) bool

Equal function

func (*AggregateListener_HttpFilterChain) GetHttpOptionsRef added in v1.9.25

func (x *AggregateListener_HttpFilterChain) GetHttpOptionsRef() string

func (*AggregateListener_HttpFilterChain) GetMatcher added in v1.9.25

func (x *AggregateListener_HttpFilterChain) GetMatcher() *Matcher

func (*AggregateListener_HttpFilterChain) GetVirtualHostRefs added in v1.9.25

func (x *AggregateListener_HttpFilterChain) GetVirtualHostRefs() []string

func (*AggregateListener_HttpFilterChain) Hash added in v1.9.25

Hash function

func (*AggregateListener_HttpFilterChain) ProtoMessage added in v1.9.25

func (*AggregateListener_HttpFilterChain) ProtoMessage()

func (*AggregateListener_HttpFilterChain) ProtoReflect added in v1.9.25

func (*AggregateListener_HttpFilterChain) Reset added in v1.9.25

func (*AggregateListener_HttpFilterChain) String added in v1.9.25

type AggregateListener_HttpResources added in v1.9.25

type AggregateListener_HttpResources struct {

	// Set of VirtualHosts available on this Listener, indexed by name
	VirtualHosts map[string]*VirtualHost `` /* 185-byte string literal not displayed */
	// Set of HttpListenerOptions available on this Listener, indexed by hash
	HttpOptions map[string]*HttpListenerOptions `` /* 182-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AggregateListener_HttpResources) Clone added in v1.9.25

Clone function

func (*AggregateListener_HttpResources) Descriptor deprecated added in v1.9.25

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

Deprecated: Use AggregateListener_HttpResources.ProtoReflect.Descriptor instead.

func (*AggregateListener_HttpResources) Equal added in v1.9.25

func (m *AggregateListener_HttpResources) Equal(that interface{}) bool

Equal function

func (*AggregateListener_HttpResources) GetHttpOptions added in v1.9.25

func (*AggregateListener_HttpResources) GetVirtualHosts added in v1.9.25

func (x *AggregateListener_HttpResources) GetVirtualHosts() map[string]*VirtualHost

func (*AggregateListener_HttpResources) Hash added in v1.9.25

Hash function

func (*AggregateListener_HttpResources) ProtoMessage added in v1.9.25

func (*AggregateListener_HttpResources) ProtoMessage()

func (*AggregateListener_HttpResources) ProtoReflect added in v1.9.25

func (*AggregateListener_HttpResources) Reset added in v1.9.25

func (*AggregateListener_HttpResources) String added in v1.9.25

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,omitempty"`
	// contains filtered or unexported fields
}

@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) Clone added in v1.8.24

func (m *Artifact) Clone() proto.Message

Clone function

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 deprecated

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

Deprecated: Use Artifact.ProtoReflect.Descriptor instead.

func (*Artifact) Equal

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

Equal function

func (*Artifact) GetData

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

func (*Artifact) GetMetadata

func (x *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 (m *Artifact) Hash(hasher hash.Hash64) (uint64, error)

This is a custom implementation of the `SafeHasher` interface for Artifacts. If works just as its generated counterpart, except that it includes `ResourceVersion` instead of `Data` in the hash.

func (*Artifact) MustHash added in v1.2.13

func (r *Artifact) MustHash() uint64

func (*Artifact) ProtoMessage

func (*Artifact) ProtoMessage()

func (*Artifact) ProtoReflect added in v1.6.0

func (x *Artifact) ProtoReflect() protoreflect.Message

func (*Artifact) Reset

func (x *Artifact) Reset()

func (*Artifact) SetMetadata

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

func (*Artifact) String

func (x *Artifact) String() string

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(ctx context.Context, rcFactory factory.ResourceClientFactory) (ArtifactClient, error)

func NewArtifactClientWithBase

func NewArtifactClientWithBase(rc clients.ResourceClient) ArtifactClient

func NewArtifactClientWithToken

func NewArtifactClientWithToken(ctx context.Context, 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)

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, statusSetter resources.StatusSetter) 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"`
	// provided by `glooctl create secret aws`
	SessionToken string `protobuf:"bytes,3,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *AwsSecret) Clone() proto.Message

Clone function

func (*AwsSecret) Descriptor deprecated

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

Deprecated: Use AwsSecret.ProtoReflect.Descriptor instead.

func (*AwsSecret) Equal

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

Equal function

func (*AwsSecret) GetAccessKey

func (x *AwsSecret) GetAccessKey() string

func (*AwsSecret) GetSecretKey

func (x *AwsSecret) GetSecretKey() string

func (*AwsSecret) GetSessionToken added in v1.5.0

func (x *AwsSecret) GetSessionToken() string

func (*AwsSecret) Hash added in v1.2.13

func (m *AwsSecret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AwsSecret) ProtoMessage

func (*AwsSecret) ProtoMessage()

func (*AwsSecret) ProtoReflect added in v1.6.0

func (x *AwsSecret) ProtoReflect() protoreflect.Message

func (*AwsSecret) Reset

func (x *AwsSecret) Reset()

func (*AwsSecret) String

func (x *AwsSecret) String() string

type AzureSecret

type AzureSecret struct {

	// provided by `glooctl create secret azure`
	ApiKeys map[string]string `` /* 170-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AzureSecret) Clone added in v1.8.24

func (m *AzureSecret) Clone() proto.Message

Clone function

func (*AzureSecret) Descriptor deprecated

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

Deprecated: Use AzureSecret.ProtoReflect.Descriptor instead.

func (*AzureSecret) Equal

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

Equal function

func (*AzureSecret) GetApiKeys

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

func (*AzureSecret) Hash added in v1.2.13

func (m *AzureSecret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AzureSecret) ProtoMessage

func (*AzureSecret) ProtoMessage()

func (*AzureSecret) ProtoReflect added in v1.6.0

func (x *AzureSecret) ProtoReflect() protoreflect.Message

func (*AzureSecret) Reset

func (x *AzureSecret) Reset()

func (*AzureSecret) String

func (x *AzureSecret) String() string

type CircuitBreakerConfig added in v0.13.3

type CircuitBreakerConfig struct {
	MaxConnections     *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
	MaxPendingRequests *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"`
	MaxRequests        *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=max_requests,json=maxRequests,proto3" json:"max_requests,omitempty"`
	MaxRetries         *wrappers.UInt32Value `protobuf:"bytes,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
	// contains filtered or unexported fields
}

CircuitBreakerConfig contains the options for customizing circuit breaking behavior. See the [envoy docs](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) for the meaning of these values.

func (*CircuitBreakerConfig) Clone added in v1.8.24

func (m *CircuitBreakerConfig) Clone() proto.Message

Clone function

func (*CircuitBreakerConfig) Descriptor deprecated added in v0.13.3

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

Deprecated: Use CircuitBreakerConfig.ProtoReflect.Descriptor instead.

func (*CircuitBreakerConfig) Equal added in v0.13.3

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

Equal function

func (*CircuitBreakerConfig) GetMaxConnections added in v0.13.3

func (x *CircuitBreakerConfig) GetMaxConnections() *wrappers.UInt32Value

func (*CircuitBreakerConfig) GetMaxPendingRequests added in v0.13.3

func (x *CircuitBreakerConfig) GetMaxPendingRequests() *wrappers.UInt32Value

func (*CircuitBreakerConfig) GetMaxRequests added in v0.13.3

func (x *CircuitBreakerConfig) GetMaxRequests() *wrappers.UInt32Value

func (*CircuitBreakerConfig) GetMaxRetries added in v0.13.3

func (x *CircuitBreakerConfig) GetMaxRetries() *wrappers.UInt32Value

func (*CircuitBreakerConfig) Hash added in v1.2.13

func (m *CircuitBreakerConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*CircuitBreakerConfig) ProtoMessage added in v0.13.3

func (*CircuitBreakerConfig) ProtoMessage()

func (*CircuitBreakerConfig) ProtoReflect added in v1.6.0

func (x *CircuitBreakerConfig) ProtoReflect() protoreflect.Message

func (*CircuitBreakerConfig) Reset added in v0.13.3

func (x *CircuitBreakerConfig) Reset()

func (*CircuitBreakerConfig) String added in v0.13.3

func (x *CircuitBreakerConfig) String() string

type ConnectionBalanceConfig added in v1.14.0

type ConnectionBalanceConfig struct {
	ExactBalance *ConnectionBalanceConfig_ExactBalance `protobuf:"bytes,1,opt,name=exact_balance,json=exactBalance,proto3" json:"exact_balance,omitempty"`
	// contains filtered or unexported fields
}

Configuration for listener connection balancing.

func (*ConnectionBalanceConfig) Clone added in v1.14.0

Clone function

func (*ConnectionBalanceConfig) Descriptor deprecated added in v1.14.0

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

Deprecated: Use ConnectionBalanceConfig.ProtoReflect.Descriptor instead.

func (*ConnectionBalanceConfig) Equal added in v1.14.0

func (m *ConnectionBalanceConfig) Equal(that interface{}) bool

Equal function

func (*ConnectionBalanceConfig) GetExactBalance added in v1.14.0

func (*ConnectionBalanceConfig) Hash added in v1.14.0

func (m *ConnectionBalanceConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ConnectionBalanceConfig) ProtoMessage added in v1.14.0

func (*ConnectionBalanceConfig) ProtoMessage()

func (*ConnectionBalanceConfig) ProtoReflect added in v1.14.0

func (x *ConnectionBalanceConfig) ProtoReflect() protoreflect.Message

func (*ConnectionBalanceConfig) Reset added in v1.14.0

func (x *ConnectionBalanceConfig) Reset()

func (*ConnectionBalanceConfig) String added in v1.14.0

func (x *ConnectionBalanceConfig) String() string

type ConnectionBalanceConfig_ExactBalance added in v1.14.0

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

A connection balancer implementation that does exact balancing. This means that a lock is held during balancing so that connection counts are nearly exactly balanced between worker threads. This is "nearly" exact in the sense that a connection might close in parallel thus making the counts incorrect, but this should be rectified on the next accept. This balancer sacrifices accept throughput for accuracy and should be used when there are a small number of connections that rarely cycle (e.g., service mesh gRPC egress).

func (*ConnectionBalanceConfig_ExactBalance) Clone added in v1.14.0

Clone function

func (*ConnectionBalanceConfig_ExactBalance) Descriptor deprecated added in v1.14.0

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

Deprecated: Use ConnectionBalanceConfig_ExactBalance.ProtoReflect.Descriptor instead.

func (*ConnectionBalanceConfig_ExactBalance) Equal added in v1.14.0

func (m *ConnectionBalanceConfig_ExactBalance) Equal(that interface{}) bool

Equal function

func (*ConnectionBalanceConfig_ExactBalance) Hash added in v1.14.0

Hash function

func (*ConnectionBalanceConfig_ExactBalance) ProtoMessage added in v1.14.0

func (*ConnectionBalanceConfig_ExactBalance) ProtoMessage()

func (*ConnectionBalanceConfig_ExactBalance) ProtoReflect added in v1.14.0

func (*ConnectionBalanceConfig_ExactBalance) Reset added in v1.14.0

func (*ConnectionBalanceConfig_ExactBalance) String added in v1.14.0

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 *duration.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" 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"`
	// Soft limit on size of the cluster’s connections read and write buffers. If unspecified, an implementation defined default is applied (1MiB).
	// For more info, see the [envoy docs](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v2/api/v2/cluster.proto#cluster)
	PerConnectionBufferLimitBytes *wrappers.UInt32Value `` /* 154-byte string literal not displayed */
	// Additional options when handling HTTP requests upstream. These options will be applicable to
	// both HTTP1 and HTTP2 requests.
	CommonHttpProtocolOptions *protocol.HttpProtocolOptions `` /* 140-byte string literal not displayed */
	// Additional Options when handling HTTP requests upstream. These options will be applicable only to HTTP1 requests.
	Http1ProtocolOptions *protocol.Http1ProtocolOptions `protobuf:"bytes,6,opt,name=http1_protocol_options,json=http1ProtocolOptions,proto3" json:"http1_protocol_options,omitempty"`
	// contains filtered or unexported fields
}

Fine tune the settings for connections to an upstream

func (*ConnectionConfig) Clone added in v1.8.24

func (m *ConnectionConfig) Clone() proto.Message

Clone function

func (*ConnectionConfig) Descriptor deprecated added in v0.13.15

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

Deprecated: Use ConnectionConfig.ProtoReflect.Descriptor instead.

func (*ConnectionConfig) Equal added in v0.13.15

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

Equal function

func (*ConnectionConfig) GetCommonHttpProtocolOptions added in v1.4.13

func (x *ConnectionConfig) GetCommonHttpProtocolOptions() *protocol.HttpProtocolOptions

func (*ConnectionConfig) GetConnectTimeout added in v0.13.15

func (x *ConnectionConfig) GetConnectTimeout() *duration.Duration

func (*ConnectionConfig) GetHttp1ProtocolOptions added in v1.9.25

func (x *ConnectionConfig) GetHttp1ProtocolOptions() *protocol.Http1ProtocolOptions

func (*ConnectionConfig) GetMaxRequestsPerConnection added in v0.13.15

func (x *ConnectionConfig) GetMaxRequestsPerConnection() uint32

func (*ConnectionConfig) GetPerConnectionBufferLimitBytes added in v1.3.30

func (x *ConnectionConfig) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value

func (*ConnectionConfig) GetTcpKeepalive added in v0.13.15

func (x *ConnectionConfig) GetTcpKeepalive() *ConnectionConfig_TcpKeepAlive

func (*ConnectionConfig) Hash added in v1.2.13

func (m *ConnectionConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ConnectionConfig) ProtoMessage added in v0.13.15

func (*ConnectionConfig) ProtoMessage()

func (*ConnectionConfig) ProtoReflect added in v1.6.0

func (x *ConnectionConfig) ProtoReflect() protoreflect.Message

func (*ConnectionConfig) Reset added in v0.13.15

func (x *ConnectionConfig) Reset()

func (*ConnectionConfig) String added in v0.13.15

func (x *ConnectionConfig) String() string

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 *duration.Duration `protobuf:"bytes,2,opt,name=keepalive_time,json=keepaliveTime,proto3" json:"keepalive_time,omitempty"`
	// The number of seconds between keep-alive probes. This is rounded up to the second.
	KeepaliveInterval *duration.Duration `protobuf:"bytes,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"`
	// contains filtered or unexported fields
}

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-v3/config/core/v3/address.proto#config-core-v3-tcpkeepalive

func (*ConnectionConfig_TcpKeepAlive) Clone added in v1.8.24

Clone function

func (*ConnectionConfig_TcpKeepAlive) Descriptor deprecated added in v0.13.15

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

Deprecated: Use ConnectionConfig_TcpKeepAlive.ProtoReflect.Descriptor instead.

func (*ConnectionConfig_TcpKeepAlive) Equal added in v0.13.15

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

Equal function

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveInterval added in v0.13.15

func (x *ConnectionConfig_TcpKeepAlive) GetKeepaliveInterval() *duration.Duration

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes added in v0.13.15

func (x *ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes() uint32

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveTime added in v0.13.15

func (x *ConnectionConfig_TcpKeepAlive) GetKeepaliveTime() *duration.Duration

func (*ConnectionConfig_TcpKeepAlive) Hash added in v1.2.13

Hash function

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage added in v0.13.15

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage()

func (*ConnectionConfig_TcpKeepAlive) ProtoReflect added in v1.6.0

func (*ConnectionConfig_TcpKeepAlive) Reset added in v0.13.15

func (x *ConnectionConfig_TcpKeepAlive) Reset()

func (*ConnectionConfig_TcpKeepAlive) String added in v0.13.15

type ConsoleOptions added in v1.9.25

type ConsoleOptions struct {

	// If true, then custom resources can only be viewed in read-only mode in the UI.
	// If false, then resources can be created, updated, and deleted via the UI.
	// Currently, create/update/delete operations are only supported for GraphQL resources.
	// This feature requires a Gloo Edge Enterprise license with GraphQL enabled.
	// Defaults to true.
	ReadOnly *wrappers.BoolValue `protobuf:"bytes,1,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	// Whether to enable the GraphQL API Explorer. This feature requires a Gloo Edge Enterprise license with GraphQL enabled.
	// Defaults to true.
	ApiExplorerEnabled *wrappers.BoolValue `protobuf:"bytes,2,opt,name=api_explorer_enabled,json=apiExplorerEnabled,proto3" json:"api_explorer_enabled,omitempty"`
	// contains filtered or unexported fields
}

Settings used by the Enterprise Console (UI)

func (*ConsoleOptions) Clone added in v1.9.25

func (m *ConsoleOptions) Clone() proto.Message

Clone function

func (*ConsoleOptions) Descriptor deprecated added in v1.9.25

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

Deprecated: Use ConsoleOptions.ProtoReflect.Descriptor instead.

func (*ConsoleOptions) Equal added in v1.9.25

func (m *ConsoleOptions) Equal(that interface{}) bool

Equal function

func (*ConsoleOptions) GetApiExplorerEnabled added in v1.9.25

func (x *ConsoleOptions) GetApiExplorerEnabled() *wrappers.BoolValue

func (*ConsoleOptions) GetReadOnly added in v1.9.25

func (x *ConsoleOptions) GetReadOnly() *wrappers.BoolValue

func (*ConsoleOptions) Hash added in v1.9.25

func (m *ConsoleOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ConsoleOptions) ProtoMessage added in v1.9.25

func (*ConsoleOptions) ProtoMessage()

func (*ConsoleOptions) ProtoReflect added in v1.9.25

func (x *ConsoleOptions) ProtoReflect() protoreflect.Message

func (*ConsoleOptions) Reset added in v1.9.25

func (x *ConsoleOptions) Reset()

func (*ConsoleOptions) String added in v1.9.25

func (x *ConsoleOptions) String() string

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"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

Clone function

func (*ConsulServiceDestination) Descriptor deprecated added in v0.17.0

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

Deprecated: Use ConsulServiceDestination.ProtoReflect.Descriptor instead.

func (*ConsulServiceDestination) Equal added in v0.17.0

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

Equal function

func (*ConsulServiceDestination) GetDataCenters added in v0.17.0

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

func (*ConsulServiceDestination) GetServiceName added in v0.17.0

func (x *ConsulServiceDestination) GetServiceName() string

func (*ConsulServiceDestination) GetTags added in v0.17.0

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

func (*ConsulServiceDestination) Hash added in v1.2.13

func (m *ConsulServiceDestination) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ConsulServiceDestination) ProtoMessage added in v0.17.0

func (*ConsulServiceDestination) ProtoMessage()

func (*ConsulServiceDestination) ProtoReflect added in v1.6.0

func (x *ConsulServiceDestination) ProtoReflect() protoreflect.Message

func (*ConsulServiceDestination) Reset added in v0.17.0

func (x *ConsulServiceDestination) Reset()

func (*ConsulServiceDestination) String added in v0.17.0

func (x *ConsulServiceDestination) String() string

type Destination

type Destination struct {

	//	The type of the destination
	//
	// Types that are assignable 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"`
	// contains filtered or unexported fields
}

Destinations define routable destinations for proxied requests.

func (*Destination) Clone added in v1.8.24

func (m *Destination) Clone() proto.Message

Clone function

func (*Destination) Descriptor deprecated

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

Deprecated: Use Destination.ProtoReflect.Descriptor instead.

func (*Destination) Equal

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

Equal function

func (*Destination) GetConsul added in v0.17.0

func (x *Destination) GetConsul() *ConsulServiceDestination

func (*Destination) GetDestinationSpec

func (x *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 (x *Destination) GetSubset() *Subset

func (*Destination) GetUpstream

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

func (*Destination) Hash added in v1.2.13

func (m *Destination) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Destination) ProtoMessage

func (*Destination) ProtoMessage()

func (*Destination) ProtoReflect added in v1.6.0

func (x *Destination) ProtoReflect() protoreflect.Message

func (*Destination) Reset

func (x *Destination) Reset()

func (*Destination) String

func (x *Destination) String() string

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 assignable to DestinationType:
	//
	//	*DestinationSpec_Aws
	//	*DestinationSpec_Azure
	//	*DestinationSpec_Rest
	//	*DestinationSpec_Grpc
	DestinationType isDestinationSpec_DestinationType `protobuf_oneof:"destination_type"`
	// contains filtered or unexported fields
}

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

func (*DestinationSpec) Clone added in v1.8.24

func (m *DestinationSpec) Clone() proto.Message

Clone function

func (*DestinationSpec) Descriptor deprecated

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

Deprecated: Use DestinationSpec.ProtoReflect.Descriptor instead.

func (*DestinationSpec) Equal

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

Equal function

func (*DestinationSpec) GetAws

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

func (*DestinationSpec) GetAzure

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

func (*DestinationSpec) GetDestinationType

func (m *DestinationSpec) GetDestinationType() isDestinationSpec_DestinationType

func (*DestinationSpec) GetGrpc

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

func (*DestinationSpec) GetRest

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

func (*DestinationSpec) Hash added in v1.2.13

func (m *DestinationSpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*DestinationSpec) ProtoMessage

func (*DestinationSpec) ProtoMessage()

func (*DestinationSpec) ProtoReflect added in v1.6.0

func (x *DestinationSpec) ProtoReflect() protoreflect.Message

func (*DestinationSpec) Reset

func (x *DestinationSpec) Reset()

func (*DestinationSpec) String

func (x *DestinationSpec) String() string

type DestinationSpec_Aws

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

type DestinationSpec_Azure

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

type DestinationSpec_Grpc

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

type DestinationSpec_Rest

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

type Destination_Consul added in v0.17.0

type Destination_Consul struct {
	// Route requests to a consul service
	Consul *ConsulServiceDestination `protobuf:"bytes,12,opt,name=consul,proto3,oneof"`
}

type Destination_Kube added in v0.17.0

type Destination_Kube struct {
	// Route requests to a kubernetes service
	Kube *KubernetesServiceDestination `protobuf:"bytes,11,opt,name=kube,proto3,oneof"`
}

type Destination_Upstream added in v0.13.34

type Destination_Upstream struct {
	// Route requests to a Gloo upstream
	Upstream *core.ResourceRef `protobuf:"bytes,10,opt,name=upstream,proto3,oneof"`
}

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"`
	// contains filtered or unexported fields
}

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

func (*DirectResponseAction) Clone added in v1.8.24

func (m *DirectResponseAction) Clone() proto.Message

Clone function

func (*DirectResponseAction) Descriptor deprecated

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

Deprecated: Use DirectResponseAction.ProtoReflect.Descriptor instead.

func (*DirectResponseAction) Equal

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

Equal function

func (*DirectResponseAction) GetBody

func (x *DirectResponseAction) GetBody() string

func (*DirectResponseAction) GetStatus

func (x *DirectResponseAction) GetStatus() uint32

func (*DirectResponseAction) Hash added in v1.2.13

func (m *DirectResponseAction) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*DirectResponseAction) ProtoMessage

func (*DirectResponseAction) ProtoMessage()

func (*DirectResponseAction) ProtoReflect added in v1.6.0

func (x *DirectResponseAction) ProtoReflect() protoreflect.Message

func (*DirectResponseAction) Reset

func (x *DirectResponseAction) Reset()

func (*DirectResponseAction) String

func (x *DirectResponseAction) String() string

type DiscoveryMetadata

type DiscoveryMetadata struct {

	// Labels inherited from the original upstream (e.g. Kubernetes labels)
	Labels map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

created by discovery services

func (*DiscoveryMetadata) Clone added in v1.8.24

func (m *DiscoveryMetadata) Clone() proto.Message

Clone function

func (*DiscoveryMetadata) Descriptor deprecated

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

Deprecated: Use DiscoveryMetadata.ProtoReflect.Descriptor instead.

func (*DiscoveryMetadata) Equal

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

Equal function

func (*DiscoveryMetadata) GetLabels added in v1.5.0

func (x *DiscoveryMetadata) GetLabels() map[string]string

func (*DiscoveryMetadata) Hash added in v1.2.13

func (m *DiscoveryMetadata) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*DiscoveryMetadata) ProtoMessage

func (*DiscoveryMetadata) ProtoMessage()

func (*DiscoveryMetadata) ProtoReflect added in v1.6.0

func (x *DiscoveryMetadata) ProtoReflect() protoreflect.Message

func (*DiscoveryMetadata) Reset

func (x *DiscoveryMetadata) Reset()

func (*DiscoveryMetadata) String

func (x *DiscoveryMetadata) String() string

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) GetResourcesList added in v1.11.50

func (s *DiscoverySnapshot) GetResourcesList(resource resources.Resource) (resources.ResourceList, error)

func (DiscoverySnapshot) Hash

func (s DiscoverySnapshot) Hash(hasher hash.Hash64) (uint64, error)

func (DiscoverySnapshot) HashFields

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

func (*DiscoverySnapshot) RemoveFromResourceList added in v1.11.50

func (s *DiscoverySnapshot) RemoveFromResourceList(resource resources.Resource) error

func (DiscoverySnapshot) Stringer

func (*DiscoverySnapshot) UpsertToResourceList added in v1.11.50

func (s *DiscoverySnapshot) UpsertToResourceList(resource resources.Resource) error

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) GetResourcesList added in v1.11.50

func (s *EdsSnapshot) GetResourcesList(resource resources.Resource) (resources.ResourceList, error)

func (EdsSnapshot) Hash added in v0.15.0

func (s EdsSnapshot) Hash(hasher hash.Hash64) (uint64, error)

func (EdsSnapshot) HashFields added in v0.15.0

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

func (*EdsSnapshot) RemoveFromResourceList added in v1.11.50

func (s *EdsSnapshot) RemoveFromResourceList(resource resources.Resource) error

func (EdsSnapshot) Stringer added in v0.15.0

func (s EdsSnapshot) Stringer() EdsSnapshotStringer

func (*EdsSnapshot) UpsertToResourceList added in v1.11.50

func (s *EdsSnapshot) UpsertToResourceList(resource resources.Resource) error

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 EncryptionKeySecret added in v1.14.2

type EncryptionKeySecret struct {

	// the key used to encrypt session values. This must be 32 bytes in length.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

Secret used for key encryption. This is used for encrypting Session Values.

func (*EncryptionKeySecret) Clone added in v1.14.2

func (m *EncryptionKeySecret) Clone() proto.Message

Clone function

func (*EncryptionKeySecret) Descriptor deprecated added in v1.14.2

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

Deprecated: Use EncryptionKeySecret.ProtoReflect.Descriptor instead.

func (*EncryptionKeySecret) Equal added in v1.14.2

func (m *EncryptionKeySecret) Equal(that interface{}) bool

Equal function

func (*EncryptionKeySecret) GetKey added in v1.14.2

func (x *EncryptionKeySecret) GetKey() string

func (*EncryptionKeySecret) Hash added in v1.14.2

func (m *EncryptionKeySecret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*EncryptionKeySecret) ProtoMessage added in v1.14.2

func (*EncryptionKeySecret) ProtoMessage()

func (*EncryptionKeySecret) ProtoReflect added in v1.14.2

func (x *EncryptionKeySecret) ProtoReflect() protoreflect.Message

func (*EncryptionKeySecret) Reset added in v1.14.2

func (x *EncryptionKeySecret) Reset()

func (*EncryptionKeySecret) String added in v1.14.2

func (x *EncryptionKeySecret) String() string

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"`
	// hostname to use for the endpoint (e.g., auto host rewrite) if provided.
	Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// configuration for health checking the endpoint.
	HealthCheck *HealthCheckConfig `protobuf:"bytes,5,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

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

func NewEndpoint

func NewEndpoint(namespace, name string) *Endpoint

func (*Endpoint) Clone added in v1.8.24

func (m *Endpoint) Clone() proto.Message

Clone function

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 deprecated

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

Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.

func (*Endpoint) Equal

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

Equal function

func (*Endpoint) GetAddress

func (x *Endpoint) GetAddress() string

func (*Endpoint) GetHealthCheck added in v1.3.18

func (x *Endpoint) GetHealthCheck() *HealthCheckConfig

func (*Endpoint) GetHostname added in v1.3.18

func (x *Endpoint) GetHostname() string

func (*Endpoint) GetMetadata

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

func (*Endpoint) GetObjectKind

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

func (*Endpoint) GetPort

func (x *Endpoint) GetPort() uint32

func (*Endpoint) GetUpstreams

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

func (*Endpoint) GroupVersionKind added in v0.18.0

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

func (*Endpoint) Hash

func (m *Endpoint) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Endpoint) MustHash added in v1.2.13

func (r *Endpoint) MustHash() uint64

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect added in v1.6.0

func (x *Endpoint) ProtoReflect() protoreflect.Message

func (*Endpoint) Reset

func (x *Endpoint) Reset()

func (*Endpoint) SetMetadata

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

func (*Endpoint) String

func (x *Endpoint) String() string

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(ctx context.Context, rcFactory factory.ResourceClientFactory) (EndpointClient, error)

func NewEndpointClientWithBase

func NewEndpointClientWithBase(rc clients.ResourceClient) EndpointClient

func NewEndpointClientWithToken

func NewEndpointClientWithToken(ctx context.Context, 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)

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, statusSetter resources.StatusSetter) 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 *_struct.Struct `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// contains filtered or unexported fields
}

func (*Extension) Clone added in v1.8.24

func (m *Extension) Clone() proto.Message

Clone function

func (*Extension) Descriptor deprecated

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

Deprecated: Use Extension.ProtoReflect.Descriptor instead.

func (*Extension) Equal

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

Equal function

func (*Extension) GetConfig

func (x *Extension) GetConfig() *_struct.Struct

func (*Extension) Hash added in v1.2.13

func (m *Extension) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Extension) ProtoMessage

func (*Extension) ProtoMessage()

func (*Extension) ProtoReflect added in v1.6.0

func (x *Extension) ProtoReflect() protoreflect.Message

func (*Extension) Reset

func (x *Extension) Reset()

func (*Extension) String

func (x *Extension) String() string

type Extensions

type Extensions struct {
	Configs map[string]*_struct.Struct `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Extensions) Clone added in v1.8.24

func (m *Extensions) Clone() proto.Message

Clone function

func (*Extensions) Descriptor deprecated

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

Deprecated: Use Extensions.ProtoReflect.Descriptor instead.

func (*Extensions) Equal

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

Equal function

func (*Extensions) GetConfigs

func (x *Extensions) GetConfigs() map[string]*_struct.Struct

func (*Extensions) Hash added in v1.2.13

func (m *Extensions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Extensions) ProtoMessage

func (*Extensions) ProtoMessage()

func (*Extensions) ProtoReflect added in v1.6.0

func (x *Extensions) ProtoReflect() protoreflect.Message

func (*Extensions) Reset

func (x *Extensions) Reset()

func (*Extensions) String

func (x *Extensions) String() string

type Failover added in v1.4.0

type Failover struct {

	// PrioritizedLocality is an implicitly prioritized list of lists of `LocalityLbEndpoints`. The priority of each
	// list of `LocalityLbEndpoints` is determined by its index in the list.
	PrioritizedLocalities []*Failover_PrioritizedLocality `protobuf:"bytes,1,rep,name=prioritized_localities,json=prioritizedLocalities,proto3" json:"prioritized_localities,omitempty"`
	// Load balancing policy settings.
	Policy *Failover_Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
	// contains filtered or unexported fields
}

Failover configuration for an upstream.

Failover allows for optional fallback endpoints in the case that the primary set of endpoints is deemed unhealthy. As failover requires knowledge of the health of each set of endpoints, active or passive health checks must be configured on an upstream using failover in order for it to work properly.

Failover closely resembles the Envoy config which this is translated to, with one notable exception. The priorities are not defined on the `LocalityLbEndpoints` but rather inferred from the list of `PrioritizedLocality`. More information on envoy prioritization can be found [here](https://www.envoyproxy.io/docs/envoy/v1.14.1/intro/arch_overview/upstream/load_balancing/priority#arch-overview-load-balancing-priority-levels). In practice this means that the priority of a given set of `LocalityLbEndpoints` is determined by its index in the list, first being `0` through `n-1`.

func (*Failover) Clone added in v1.8.24

func (m *Failover) Clone() proto.Message

Clone function

func (*Failover) Descriptor deprecated added in v1.4.0

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

Deprecated: Use Failover.ProtoReflect.Descriptor instead.

func (*Failover) Equal added in v1.4.0

func (m *Failover) Equal(that interface{}) bool

Equal function

func (*Failover) GetPolicy added in v1.12.23

func (x *Failover) GetPolicy() *Failover_Policy

func (*Failover) GetPrioritizedLocalities added in v1.4.0

func (x *Failover) GetPrioritizedLocalities() []*Failover_PrioritizedLocality

func (*Failover) Hash added in v1.4.0

func (m *Failover) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Failover) ProtoMessage added in v1.4.0

func (*Failover) ProtoMessage()

func (*Failover) ProtoReflect added in v1.6.0

func (x *Failover) ProtoReflect() protoreflect.Message

func (*Failover) Reset added in v1.4.0

func (x *Failover) Reset()

func (*Failover) String added in v1.4.0

func (x *Failover) String() string

type Failover_Policy added in v1.12.23

type Failover_Policy struct {

	// Priority levels and localities are considered overprovisioned with this
	// factor (in percentage). This means that we don't consider a priority
	// level or locality unhealthy until the fraction of healthy hosts
	// multiplied by the overprovisioning factor drops below 100.
	// With the default value 140(1.4), Envoy doesn't consider a priority level
	// or a locality unhealthy until their percentage of healthy hosts drops
	// below 72%. For example:
	//
	// .. code-block:: json
	//
	//	{ "overprovisioning_factor": 100 }
	//
	// Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>` and
	// :ref:`localities <arch_overview_load_balancing_locality_weighted_lb>`.
	OverprovisioningFactor *wrappers.UInt32Value `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Failover_Policy) Clone added in v1.12.23

func (m *Failover_Policy) Clone() proto.Message

Clone function

func (*Failover_Policy) Descriptor deprecated added in v1.12.23

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

Deprecated: Use Failover_Policy.ProtoReflect.Descriptor instead.

func (*Failover_Policy) Equal added in v1.12.23

func (m *Failover_Policy) Equal(that interface{}) bool

Equal function

func (*Failover_Policy) GetOverprovisioningFactor added in v1.12.23

func (x *Failover_Policy) GetOverprovisioningFactor() *wrappers.UInt32Value

func (*Failover_Policy) Hash added in v1.12.23

func (m *Failover_Policy) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Failover_Policy) ProtoMessage added in v1.12.23

func (*Failover_Policy) ProtoMessage()

func (*Failover_Policy) ProtoReflect added in v1.12.23

func (x *Failover_Policy) ProtoReflect() protoreflect.Message

func (*Failover_Policy) Reset added in v1.12.23

func (x *Failover_Policy) Reset()

func (*Failover_Policy) String added in v1.12.23

func (x *Failover_Policy) String() string

type Failover_PrioritizedLocality added in v1.4.0

type Failover_PrioritizedLocality struct {
	LocalityEndpoints []*LocalityLbEndpoints `protobuf:"bytes,2,rep,name=locality_endpoints,json=localityEndpoints,proto3" json:"locality_endpoints,omitempty"`
	// contains filtered or unexported fields
}

func (*Failover_PrioritizedLocality) Clone added in v1.8.24

Clone function

func (*Failover_PrioritizedLocality) Descriptor deprecated added in v1.4.0

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

Deprecated: Use Failover_PrioritizedLocality.ProtoReflect.Descriptor instead.

func (*Failover_PrioritizedLocality) Equal added in v1.4.0

func (m *Failover_PrioritizedLocality) Equal(that interface{}) bool

Equal function

func (*Failover_PrioritizedLocality) GetLocalityEndpoints added in v1.4.0

func (x *Failover_PrioritizedLocality) GetLocalityEndpoints() []*LocalityLbEndpoints

func (*Failover_PrioritizedLocality) Hash added in v1.4.0

Hash function

func (*Failover_PrioritizedLocality) ProtoMessage added in v1.4.0

func (*Failover_PrioritizedLocality) ProtoMessage()

func (*Failover_PrioritizedLocality) ProtoReflect added in v1.6.0

func (*Failover_PrioritizedLocality) Reset added in v1.4.0

func (x *Failover_PrioritizedLocality) Reset()

func (*Failover_PrioritizedLocality) String added in v1.4.0

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"`
	// 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 custom resources from all watch namespaces, rather
	// than just the Gateway CRDs in its own namespace.
	ReadGatewaysFromAllNamespaces bool `` /* 155-byte string literal not displayed */
	// Deprecated.
	// This setting is ignored. Maintained for backwards compatibility with settings exposed on 1.2.x branch of Gloo.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.
	AlwaysSortRouteTableRoutes bool `` /* 146-byte string literal not displayed */
	// If set, compresses proxy space. This can help make the Proxy CRD smaller to fit in etcd.
	// This is an advanced option. Use with care.
	CompressedProxySpec bool `protobuf:"varint,6,opt,name=compressed_proxy_spec,json=compressedProxySpec,proto3" json:"compressed_proxy_spec,omitempty"`
	// Default configuration to use for VirtualServices, when not provided by a specific virtual service
	// When these properties are defined on a specific VirtualService, this configuration will be ignored
	VirtualServiceOptions *VirtualServiceOptions `` /* 126-byte string literal not displayed */
	// Set this to persist the Proxy CRD to etcd By default, proxies are kept in memory to improve performance.
	// Proxies can be persisted to etcd to allow external tools and other pods to read the contents the Proxy CRD.
	PersistProxySpec *wrappers.BoolValue `protobuf:"bytes,8,opt,name=persist_proxy_spec,json=persistProxySpec,proto3" json:"persist_proxy_spec,omitempty"`
	// This is set based on the install mode. It indicates to gloo whether or not it should run the gateway
	// translations and validation.
	EnableGatewayController *wrappers.BoolValue `` /* 132-byte string literal not displayed */
	// If set, group virtual hosts by matching ssl config, and isolate them on separate filter chains
	// The default behavior is to aggregate all virtual hosts, and expose them on identical filter chains,
	// each with a FilterChainMatch that corresponds to the ssl config.
	// Individual Gateways can override this behavior by configuring the "gateway.solo.io/isolate_vhost" annotation
	// to be a truthy ("true", "false") value
	IsolateVirtualHostsBySslConfig *wrappers.BoolValue `` /* 160-byte string literal not displayed */
	// If set, gateways will be translated into Envoy listeners even if no VirtualServices exist or match a gateway.
	// When there are no VirtualServices that implies there are no routes to serve, so all requests will return a 404.
	// Defaults to false.
	// The default behavior when no VirtualServices are defined or no Gateways match a VirtualService is that
	// the gateway is not converted into an Envoy listener.
	TranslateEmptyGateways *wrappers.BoolValue `` /* 130-byte string literal not displayed */
	// contains filtered or unexported fields
}

Settings specific to the Gateway controller

func (*GatewayOptions) Clone added in v1.8.24

func (m *GatewayOptions) Clone() proto.Message

Clone function

func (*GatewayOptions) Descriptor deprecated added in v0.18.43

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

Deprecated: Use GatewayOptions.ProtoReflect.Descriptor instead.

func (*GatewayOptions) Equal added in v0.18.43

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

Equal function

func (*GatewayOptions) GetAlwaysSortRouteTableRoutes deprecated added in v1.2.22

func (x *GatewayOptions) GetAlwaysSortRouteTableRoutes() bool

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.

func (*GatewayOptions) GetCompressedProxySpec added in v1.5.0

func (x *GatewayOptions) GetCompressedProxySpec() bool

func (*GatewayOptions) GetEnableGatewayController added in v1.9.25

func (x *GatewayOptions) GetEnableGatewayController() *wrappers.BoolValue

func (*GatewayOptions) GetIsolateVirtualHostsBySslConfig added in v1.9.25

func (x *GatewayOptions) GetIsolateVirtualHostsBySslConfig() *wrappers.BoolValue

func (*GatewayOptions) GetPersistProxySpec added in v1.9.25

func (x *GatewayOptions) GetPersistProxySpec() *wrappers.BoolValue

func (*GatewayOptions) GetReadGatewaysFromAllNamespaces added in v1.0.0

func (x *GatewayOptions) GetReadGatewaysFromAllNamespaces() bool

func (*GatewayOptions) GetTranslateEmptyGateways added in v1.13.28

func (x *GatewayOptions) GetTranslateEmptyGateways() *wrappers.BoolValue

func (*GatewayOptions) GetValidation added in v0.20.3

func (*GatewayOptions) GetValidationServerAddr added in v0.18.43

func (x *GatewayOptions) GetValidationServerAddr() string

func (*GatewayOptions) GetVirtualServiceOptions added in v1.6.33

func (x *GatewayOptions) GetVirtualServiceOptions() *VirtualServiceOptions

func (*GatewayOptions) Hash added in v1.2.13

func (m *GatewayOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GatewayOptions) ProtoMessage added in v0.18.43

func (*GatewayOptions) ProtoMessage()

func (*GatewayOptions) ProtoReflect added in v1.6.0

func (x *GatewayOptions) ProtoReflect() protoreflect.Message

func (*GatewayOptions) Reset added in v0.18.43

func (x *GatewayOptions) Reset()

func (*GatewayOptions) String added in v0.18.43

func (x *GatewayOptions) String() string

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 */
	// Deprecated: the Gateway and the Gloo pods are now merged together, there are no longer
	// requests made to a Gloo Validation server.
	// 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.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.
	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 *wrappers.BoolValue `protobuf:"bytes,6,opt,name=always_accept,json=alwaysAccept,proto3" json:"always_accept,omitempty"`
	// Accept resources if validation produced a warning (defaults to true).
	// By setting to false, this means that validation will start rejecting resources that would result
	// in warnings, rather than just those that would result in errors.
	AllowWarnings *wrappers.BoolValue `protobuf:"bytes,7,opt,name=allow_warnings,json=allowWarnings,proto3" json:"allow_warnings,omitempty"`
	// Deprecated: See `server_enabled` and consider configuring it to `false` instead.
	// Write a warning to route resources if validation produced a route ordering warning (defaults to false).
	// By setting to true, this means that Gloo will start assigning warnings to resources that would result
	// in route short-circuiting within a virtual host, for example:
	//   - prefix routes that make later routes unreachable
	//   - regex routes that make later routes unreachable
	//   - duplicate matchers
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.
	WarnRouteShortCircuiting *wrappers.BoolValue `` /* 137-byte string literal not displayed */
	// Deprecated: See `server_enabled` and consider configuring it to `false` instead.
	// By default gloo will attempt to validate transformations by calling out to a local envoy binary in `validate` mode.
	// Calling this local envoy binary can become slow when done many times during a single validation.
	// Setting this to true will stop gloo from calling out to envoy to validate the transformations, which may speed up the
	// validation time considerably, but may also cause the transformation config to fail after being sent to envoy.
	// When disabling this, ensure that your transformations are valid prior to applying them.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.
	DisableTransformationValidation *wrappers.BoolValue `` /* 156-byte string literal not displayed */
	// By default, gRPC validation messages between gateway and gloo pods have a max message size of 100 MB.
	// Setting this value sets the gRPC max message size in bytes for the gloo validation server. This should
	// only be changed if necessary.
	// If not included, the gRPC max message size will be the default of 100 MB.
	ValidationServerGrpcMaxSizeBytes *wrappers.Int32Value `` /* 166-byte string literal not displayed */
	// By providing the validation field (parent of this object) the user is implicitly opting into validation.
	// This field allows the user to opt out of the validation server, while still configuring pre-existing fields
	// such as `warn_route_short_circuiting` and `disable_transformation_validation`.
	//
	// If not included, the validation server will be enabled.
	ServerEnabled *wrappers.BoolValue `protobuf:"bytes,12,opt,name=server_enabled,json=serverEnabled,proto3" json:"server_enabled,omitempty"`
	// contains filtered or unexported fields
}

options for configuring admission control / validation

func (*GatewayOptions_ValidationOptions) Clone added in v1.8.24

Clone function

func (*GatewayOptions_ValidationOptions) Descriptor deprecated added in v0.20.3

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

Deprecated: Use GatewayOptions_ValidationOptions.ProtoReflect.Descriptor instead.

func (*GatewayOptions_ValidationOptions) Equal added in v0.20.3

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

Equal function

func (*GatewayOptions_ValidationOptions) GetAllowWarnings added in v1.3.30

func (x *GatewayOptions_ValidationOptions) GetAllowWarnings() *wrappers.BoolValue

func (*GatewayOptions_ValidationOptions) GetAlwaysAccept added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetAlwaysAccept() *wrappers.BoolValue

func (*GatewayOptions_ValidationOptions) GetDisableTransformationValidation deprecated added in v1.6.20

func (x *GatewayOptions_ValidationOptions) GetDisableTransformationValidation() *wrappers.BoolValue

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.

func (*GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure deprecated added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure() bool

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.

func (*GatewayOptions_ValidationOptions) GetProxyValidationServerAddr added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetProxyValidationServerAddr() string

func (*GatewayOptions_ValidationOptions) GetServerEnabled added in v1.12.27

func (x *GatewayOptions_ValidationOptions) GetServerEnabled() *wrappers.BoolValue

func (*GatewayOptions_ValidationOptions) GetValidationServerGrpcMaxSizeBytes added in v1.6.36

func (x *GatewayOptions_ValidationOptions) GetValidationServerGrpcMaxSizeBytes() *wrappers.Int32Value

func (*GatewayOptions_ValidationOptions) GetValidationWebhookTlsCert added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetValidationWebhookTlsCert() string

func (*GatewayOptions_ValidationOptions) GetValidationWebhookTlsKey added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetValidationWebhookTlsKey() string

func (*GatewayOptions_ValidationOptions) GetWarnRouteShortCircuiting deprecated added in v1.6.0

func (x *GatewayOptions_ValidationOptions) GetWarnRouteShortCircuiting() *wrappers.BoolValue

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.

func (*GatewayOptions_ValidationOptions) Hash added in v1.2.13

Hash function

func (*GatewayOptions_ValidationOptions) ProtoMessage added in v0.20.3

func (*GatewayOptions_ValidationOptions) ProtoMessage()

func (*GatewayOptions_ValidationOptions) ProtoReflect added in v1.6.0

func (*GatewayOptions_ValidationOptions) Reset added in v0.20.3

func (*GatewayOptions_ValidationOptions) String added in v0.20.3

type GlooOptions added in v0.18.43

type GlooOptions struct {

	// Where the `gloo` xDS server should bind. 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 set to zero, Gloo will not wait for initial
	// snapshot - if nonzero and gloo could not fetch it's initial snapshot before the timeout
	// reached, gloo will panic. If unset, Gloo defaults to 5 minutes.
	EndpointsWarmingTimeout *duration.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 */
	// Default policy for grpc-web.
	// set to true if you do not wish grpc-web to be automatically enabled.
	// set to false if you wish grpc-web enabled unless disabled on the listener level.
	// If not specified, defaults to `false`.
	DisableGrpcWeb *wrappers.BoolValue `protobuf:"bytes,8,opt,name=disable_grpc_web,json=disableGrpcWeb,proto3" json:"disable_grpc_web,omitempty"`
	// Set this option to determine the state of the envoy configuration when a virtual service is deleted, resulting in a
	// proxy with no configured routes.
	// set to true if you wish to keep envoy serving the routes from the latest valid configuration.
	// set to false if you wish to reset the envoy configuration to a clean slate with no routes.
	// If not specified, defaults to `false`.
	DisableProxyGarbageCollection *wrappers.BoolValue `` /* 152-byte string literal not displayed */
	// Set this option to specify the default max program size for regexes. If not specified,
	// defaults to 100.
	RegexMaxProgramSize *wrappers.UInt32Value `protobuf:"bytes,10,opt,name=regex_max_program_size,json=regexMaxProgramSize,proto3" json:"regex_max_program_size,omitempty"`
	// Where the `gloo` REST xDS server should bind.
	// Defaults to `0.0.0.0:9976`
	RestXdsBindAddr string `protobuf:"bytes,11,opt,name=rest_xds_bind_addr,json=restXdsBindAddr,proto3" json:"rest_xds_bind_addr,omitempty"`
	// Whether or not to use rest xds for all EDS by default.
	// Rest XDS, as opposed to grpc, uses http polling rather than streaming
	EnableRestEds *wrappers.BoolValue `protobuf:"bytes,12,opt,name=enable_rest_eds,json=enableRestEds,proto3" json:"enable_rest_eds,omitempty"`
	// The polling interval for the DNS server if upstream failover is configured.
	// If there is a failover upstream address with a hostname instead of an IP, Gloo will resolve the
	// hostname with the configured frequency to update endpoints with any changes to DNS resolution.
	// Defaults to 10s.
	FailoverUpstreamDnsPollingInterval *duration.Duration `` /* 170-byte string literal not displayed */
	// By default gloo adds a series of filters to envoy to ensure that new routes are picked up
	// Even if the listener previously did not have a filter on the chain previously.
	// When set to true unused filters are not added to the chain by default.
	// Defaults to false
	RemoveUnusedFilters *wrappers.BoolValue `protobuf:"bytes,14,opt,name=remove_unused_filters,json=removeUnusedFilters,proto3" json:"remove_unused_filters,omitempty"`
	// Where the `gloo` proxy debug server should bind. Defaults to `gloo:9966`
	ProxyDebugBindAddr string `protobuf:"bytes,15,opt,name=proxy_debug_bind_addr,json=proxyDebugBindAddr,proto3" json:"proxy_debug_bind_addr,omitempty"`
	// When enabled, log the request/response body and headers before and after
	// any transformations are applied. May be useful in the case where many
	// transformations are applied and it is difficult to determine which are
	// causing issues. Defaults to false.
	LogTransformationRequestResponseInfo *wrappers.BoolValue `` /* 176-byte string literal not displayed */
	// Set escapeCharacters for all TransformationTemplates on all vhosts and routes.
	// This setting can be overridden in individual TransformationTemplates
	TransformationEscapeCharacters *wrappers.BoolValue `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

Settings specific to the gloo (Envoy xDS server) controller

func (*GlooOptions) Clone added in v1.8.24

func (m *GlooOptions) Clone() proto.Message

Clone function

func (*GlooOptions) Descriptor deprecated added in v0.18.43

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

Deprecated: Use GlooOptions.ProtoReflect.Descriptor instead.

func (*GlooOptions) Equal added in v0.18.43

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

Equal function

func (*GlooOptions) GetAwsOptions added in v0.19.2

func (x *GlooOptions) GetAwsOptions() *GlooOptions_AWSOptions

func (*GlooOptions) GetCircuitBreakers added in v0.18.43

func (x *GlooOptions) GetCircuitBreakers() *CircuitBreakerConfig

func (*GlooOptions) GetDisableGrpcWeb added in v1.2.15

func (x *GlooOptions) GetDisableGrpcWeb() *wrappers.BoolValue

func (*GlooOptions) GetDisableKubernetesDestinations added in v0.20.9

func (x *GlooOptions) GetDisableKubernetesDestinations() bool

func (*GlooOptions) GetDisableProxyGarbageCollection added in v1.3.2

func (x *GlooOptions) GetDisableProxyGarbageCollection() *wrappers.BoolValue

func (*GlooOptions) GetEnableRestEds added in v1.5.6

func (x *GlooOptions) GetEnableRestEds() *wrappers.BoolValue

func (*GlooOptions) GetEndpointsWarmingTimeout added in v0.19.0

func (x *GlooOptions) GetEndpointsWarmingTimeout() *duration.Duration

func (*GlooOptions) GetFailoverUpstreamDnsPollingInterval added in v1.7.7

func (x *GlooOptions) GetFailoverUpstreamDnsPollingInterval() *duration.Duration

func (*GlooOptions) GetInvalidConfigPolicy added in v1.0.0

func (x *GlooOptions) GetInvalidConfigPolicy() *GlooOptions_InvalidConfigPolicy

func (*GlooOptions) GetLogTransformationRequestResponseInfo added in v1.14.8

func (x *GlooOptions) GetLogTransformationRequestResponseInfo() *wrappers.BoolValue

func (*GlooOptions) GetProxyDebugBindAddr added in v1.9.25

func (x *GlooOptions) GetProxyDebugBindAddr() string

func (*GlooOptions) GetRegexMaxProgramSize added in v1.3.22

func (x *GlooOptions) GetRegexMaxProgramSize() *wrappers.UInt32Value

func (*GlooOptions) GetRemoveUnusedFilters added in v1.9.25

func (x *GlooOptions) GetRemoveUnusedFilters() *wrappers.BoolValue

func (*GlooOptions) GetRestXdsBindAddr added in v1.5.0

func (x *GlooOptions) GetRestXdsBindAddr() string

func (*GlooOptions) GetTransformationEscapeCharacters added in v1.15.0

func (x *GlooOptions) GetTransformationEscapeCharacters() *wrappers.BoolValue

func (*GlooOptions) GetValidationBindAddr added in v0.18.43

func (x *GlooOptions) GetValidationBindAddr() string

func (*GlooOptions) GetXdsBindAddr added in v0.18.43

func (x *GlooOptions) GetXdsBindAddr() string

func (*GlooOptions) Hash added in v1.2.13

func (m *GlooOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GlooOptions) ProtoMessage added in v0.18.43

func (*GlooOptions) ProtoMessage()

func (*GlooOptions) ProtoReflect added in v1.6.0

func (x *GlooOptions) ProtoReflect() protoreflect.Message

func (*GlooOptions) Reset added in v0.18.43

func (x *GlooOptions) Reset()

func (*GlooOptions) String added in v0.18.43

func (x *GlooOptions) String() string

type GlooOptions_AWSOptions added in v0.19.2

type GlooOptions_AWSOptions struct {

	// Types that are assignable to CredentialsFetcher:
	//
	//	*GlooOptions_AWSOptions_EnableCredentialsDiscovey
	//	*GlooOptions_AWSOptions_ServiceAccountCredentials
	CredentialsFetcher isGlooOptions_AWSOptions_CredentialsFetcher `protobuf_oneof:"credentials_fetcher"`
	// Send downstream path and method as `x-envoy-original-path` and
	// `x-envoy-original-method` headers on the request to AWS lambda.
	// Defaults to false.
	PropagateOriginalRouting *wrappers.BoolValue `` /* 135-byte string literal not displayed */
	// Sets cadence for refreshing credentials for Service Account.
	// Does nothing if Service account is not set.
	// Does not affect the default filewatch for service account only augments it.
	// Defaults to not refreshing on time period. Suggested is 15 minutes.
	CredentialRefreshDelay *duration.Duration `` /* 129-byte string literal not displayed */
	// Sets the unsafe behavior where a route can specify a lambda upstream
	// but not set the function to target. It will use the first function which
	// if discovery is enabled the first function is the first function name alphabetically
	// from the last discovery run. This means that the lambda being pointed to could change.
	// Defaults to false.
	FallbackToFirstFunction *wrappers.BoolValue `` /* 134-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*GlooOptions_AWSOptions) Clone added in v1.8.24

Clone function

func (*GlooOptions_AWSOptions) Descriptor deprecated added in v0.19.2

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

Deprecated: Use GlooOptions_AWSOptions.ProtoReflect.Descriptor instead.

func (*GlooOptions_AWSOptions) Equal added in v0.19.2

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

Equal function

func (*GlooOptions_AWSOptions) GetCredentialRefreshDelay added in v1.9.25

func (x *GlooOptions_AWSOptions) GetCredentialRefreshDelay() *duration.Duration

func (*GlooOptions_AWSOptions) GetCredentialsFetcher added in v1.5.0

func (m *GlooOptions_AWSOptions) GetCredentialsFetcher() isGlooOptions_AWSOptions_CredentialsFetcher

func (*GlooOptions_AWSOptions) GetEnableCredentialsDiscovey added in v0.19.2

func (x *GlooOptions_AWSOptions) GetEnableCredentialsDiscovey() bool

func (*GlooOptions_AWSOptions) GetFallbackToFirstFunction added in v1.12.39

func (x *GlooOptions_AWSOptions) GetFallbackToFirstFunction() *wrappers.BoolValue

func (*GlooOptions_AWSOptions) GetPropagateOriginalRouting added in v1.9.25

func (x *GlooOptions_AWSOptions) GetPropagateOriginalRouting() *wrappers.BoolValue

func (*GlooOptions_AWSOptions) GetServiceAccountCredentials added in v1.5.0

func (x *GlooOptions_AWSOptions) GetServiceAccountCredentials() *aws.AWSLambdaConfig_ServiceAccountCredentials

func (*GlooOptions_AWSOptions) Hash added in v1.2.13

func (m *GlooOptions_AWSOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GlooOptions_AWSOptions) ProtoMessage added in v0.19.2

func (*GlooOptions_AWSOptions) ProtoMessage()

func (*GlooOptions_AWSOptions) ProtoReflect added in v1.6.0

func (x *GlooOptions_AWSOptions) ProtoReflect() protoreflect.Message

func (*GlooOptions_AWSOptions) Reset added in v0.19.2

func (x *GlooOptions_AWSOptions) Reset()

func (*GlooOptions_AWSOptions) String added in v0.19.2

func (x *GlooOptions_AWSOptions) String() string

type GlooOptions_AWSOptions_EnableCredentialsDiscovey added in v1.5.0

type GlooOptions_AWSOptions_EnableCredentialsDiscovey 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 `protobuf:"varint,1,opt,name=enable_credentials_discovey,json=enableCredentialsDiscovey,proto3,oneof"`
}

type GlooOptions_AWSOptions_ServiceAccountCredentials added in v1.5.0

type GlooOptions_AWSOptions_ServiceAccountCredentials struct {
	// Use projected service account token, and role arn to create temporary
	// credentials with which to authenticate lambda requests.
	// This functionality is meant to work along side EKS service account to IAM
	// binding functionality as outlined here:
	// https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
	//
	// If the following environment values are not present in the gateway-proxy, this option cannot be used.
	//  1. AWS_WEB_IDENTITY_TOKEN_FILE
	//  2. AWS_ROLE_ARN
	//
	// The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this
	// can also be overwritten in the AWS Upstream spec via the role_arn field
	//
	// If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo.
	// When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack"
	//
	// In order to specify the aws sts endpoint, both the cluster and uri must be set.
	// This is due to an envoy limitation which cannot infer the host or path from the cluster,
	// and therefore must be explicitly specified via the uri
	ServiceAccountCredentials *aws.AWSLambdaConfig_ServiceAccountCredentials `protobuf:"bytes,2,opt,name=service_account_credentials,json=serviceAccountCredentials,proto3,oneof"`
}

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 */
	// contains filtered or unexported fields
}

Policy for how Gloo should handle invalid config [#next-free-field: 15]

func (*GlooOptions_InvalidConfigPolicy) Clone added in v1.8.24

Clone function

func (*GlooOptions_InvalidConfigPolicy) Descriptor deprecated added in v1.0.0

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

Deprecated: Use GlooOptions_InvalidConfigPolicy.ProtoReflect.Descriptor instead.

func (*GlooOptions_InvalidConfigPolicy) Equal added in v1.0.0

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

Equal function

func (*GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseBody added in v1.0.0

func (x *GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseBody() string

func (*GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseCode added in v1.0.0

func (x *GlooOptions_InvalidConfigPolicy) GetInvalidRouteResponseCode() uint32

func (*GlooOptions_InvalidConfigPolicy) GetReplaceInvalidRoutes added in v1.0.0

func (x *GlooOptions_InvalidConfigPolicy) GetReplaceInvalidRoutes() bool

func (*GlooOptions_InvalidConfigPolicy) Hash added in v1.2.13

Hash function

func (*GlooOptions_InvalidConfigPolicy) ProtoMessage added in v1.0.0

func (*GlooOptions_InvalidConfigPolicy) ProtoMessage()

func (*GlooOptions_InvalidConfigPolicy) ProtoReflect added in v1.6.0

func (*GlooOptions_InvalidConfigPolicy) Reset added in v1.0.0

func (*GlooOptions_InvalidConfigPolicy) String added in v1.0.0

type GraphqlOptions added in v1.9.25

type GraphqlOptions struct {

	// Options for how to validate changes to schema definitions.
	SchemaChangeValidationOptions *GraphqlOptions_SchemaChangeValidationOptions `` /* 152-byte string literal not displayed */
	// contains filtered or unexported fields
}

GraphQL settings used by the control plane and UI.

func (*GraphqlOptions) Clone added in v1.9.25

func (m *GraphqlOptions) Clone() proto.Message

Clone function

func (*GraphqlOptions) Descriptor deprecated added in v1.9.25

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

Deprecated: Use GraphqlOptions.ProtoReflect.Descriptor instead.

func (*GraphqlOptions) Equal added in v1.9.25

func (m *GraphqlOptions) Equal(that interface{}) bool

Equal function

func (*GraphqlOptions) GetSchemaChangeValidationOptions added in v1.9.25

func (x *GraphqlOptions) GetSchemaChangeValidationOptions() *GraphqlOptions_SchemaChangeValidationOptions

func (*GraphqlOptions) Hash added in v1.9.25

func (m *GraphqlOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*GraphqlOptions) ProtoMessage added in v1.9.25

func (*GraphqlOptions) ProtoMessage()

func (*GraphqlOptions) ProtoReflect added in v1.9.25

func (x *GraphqlOptions) ProtoReflect() protoreflect.Message

func (*GraphqlOptions) Reset added in v1.9.25

func (x *GraphqlOptions) Reset()

func (*GraphqlOptions) String added in v1.9.25

func (x *GraphqlOptions) String() string

type GraphqlOptions_SchemaChangeValidationOptions added in v1.9.25

type GraphqlOptions_SchemaChangeValidationOptions struct {

	// Schema definition updates can be considered safe, dangerous, or breaking.
	// If this field is set to true, then breaking schema updates will be rejected.
	// Defaults to false.
	RejectBreakingChanges *wrappers.BoolValue `` /* 126-byte string literal not displayed */
	// We use [GraphQL Inspector](https://www.graphql-inspector.com/docs/essentials/diff) to detect breaking changes
	// to GraphQL schemas. This field allows for passing [processing rules](https://www.graphql-inspector.com/docs/essentials/diff#rules)
	// to GraphQL Inspector to customize how various change types are handled.
	ProcessingRules []GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule `` /* 192-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*GraphqlOptions_SchemaChangeValidationOptions) Clone added in v1.9.25

Clone function

func (*GraphqlOptions_SchemaChangeValidationOptions) Descriptor deprecated added in v1.9.25

Deprecated: Use GraphqlOptions_SchemaChangeValidationOptions.ProtoReflect.Descriptor instead.

func (*GraphqlOptions_SchemaChangeValidationOptions) Equal added in v1.9.25

func (m *GraphqlOptions_SchemaChangeValidationOptions) Equal(that interface{}) bool

Equal function

func (*GraphqlOptions_SchemaChangeValidationOptions) GetProcessingRules added in v1.9.25

func (*GraphqlOptions_SchemaChangeValidationOptions) GetRejectBreakingChanges added in v1.9.25

func (x *GraphqlOptions_SchemaChangeValidationOptions) GetRejectBreakingChanges() *wrappers.BoolValue

func (*GraphqlOptions_SchemaChangeValidationOptions) Hash added in v1.9.25

Hash function

func (*GraphqlOptions_SchemaChangeValidationOptions) ProtoMessage added in v1.9.25

func (*GraphqlOptions_SchemaChangeValidationOptions) ProtoReflect added in v1.9.25

func (*GraphqlOptions_SchemaChangeValidationOptions) Reset added in v1.9.25

func (*GraphqlOptions_SchemaChangeValidationOptions) String added in v1.9.25

type GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule added in v1.9.25

type GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule int32
const (
	GraphqlOptions_SchemaChangeValidationOptions_RULE_UNSPECIFIED GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule = 0
	// Turn every dangerous change into a breaking change.
	GraphqlOptions_SchemaChangeValidationOptions_RULE_DANGEROUS_TO_BREAKING GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule = 1
	// Treat the removal of a deprecated field as a dangerous change, instead of a breaking change.
	GraphqlOptions_SchemaChangeValidationOptions_RULE_DEPRECATED_FIELD_REMOVAL_DANGEROUS GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule = 2
	// Ignore description changes.
	GraphqlOptions_SchemaChangeValidationOptions_RULE_IGNORE_DESCRIPTION_CHANGES GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule = 3
	// Ignore breaking changes on parts of the schema that are not reachable starting from the root types.
	GraphqlOptions_SchemaChangeValidationOptions_RULE_IGNORE_UNREACHABLE GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule = 4
)

func (GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule) Descriptor added in v1.9.25

func (GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule) Enum added in v1.9.25

func (GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule) EnumDescriptor deprecated added in v1.9.25

Deprecated: Use GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule.Descriptor instead.

func (GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule) Number added in v1.9.25

func (GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule) String added in v1.9.25

func (GraphqlOptions_SchemaChangeValidationOptions_ProcessingRule) Type added in v1.9.25

type HeaderSecret added in v1.4.11

type HeaderSecret struct {

	// A collection of header name to header value mappings, each representing an additional header that could be added to a request.
	// Provided by `glooctl create secret header`
	Headers map[string]string `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*HeaderSecret) Clone added in v1.8.24

func (m *HeaderSecret) Clone() proto.Message

Clone function

func (*HeaderSecret) Descriptor deprecated added in v1.4.11

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

Deprecated: Use HeaderSecret.ProtoReflect.Descriptor instead.

func (*HeaderSecret) Equal added in v1.4.11

func (m *HeaderSecret) Equal(that interface{}) bool

Equal function

func (*HeaderSecret) GetHeaders added in v1.4.11

func (x *HeaderSecret) GetHeaders() map[string]string

func (*HeaderSecret) Hash added in v1.4.11

func (m *HeaderSecret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HeaderSecret) ProtoMessage added in v1.4.11

func (*HeaderSecret) ProtoMessage()

func (*HeaderSecret) ProtoReflect added in v1.6.0

func (x *HeaderSecret) ProtoReflect() protoreflect.Message

func (*HeaderSecret) Reset added in v1.4.11

func (x *HeaderSecret) Reset()

func (*HeaderSecret) String added in v1.4.11

func (x *HeaderSecret) String() string

type HeaderValue added in v1.9.25

type HeaderValue struct {

	// Header name.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Header value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Header name/value pair.

func (*HeaderValue) Clone added in v1.9.25

func (m *HeaderValue) Clone() proto.Message

Clone function

func (*HeaderValue) Descriptor deprecated added in v1.9.25

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

Deprecated: Use HeaderValue.ProtoReflect.Descriptor instead.

func (*HeaderValue) Equal added in v1.9.25

func (m *HeaderValue) Equal(that interface{}) bool

Equal function

func (*HeaderValue) GetKey added in v1.9.25

func (x *HeaderValue) GetKey() string

func (*HeaderValue) GetValue added in v1.9.25

func (x *HeaderValue) GetValue() string

func (*HeaderValue) Hash added in v1.9.25

func (m *HeaderValue) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HeaderValue) ProtoMessage added in v1.9.25

func (*HeaderValue) ProtoMessage()

func (*HeaderValue) ProtoReflect added in v1.9.25

func (x *HeaderValue) ProtoReflect() protoreflect.Message

func (*HeaderValue) Reset added in v1.9.25

func (x *HeaderValue) Reset()

func (*HeaderValue) String added in v1.9.25

func (x *HeaderValue) String() string

type HealthCheckConfig added in v0.18.36

type HealthCheckConfig struct {

	// hostname to use for the endpoint health checks if provided.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// contains filtered or unexported fields
}

func (*HealthCheckConfig) Clone added in v1.8.24

func (m *HealthCheckConfig) Clone() proto.Message

Clone function

func (*HealthCheckConfig) Descriptor deprecated added in v0.18.36

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

Deprecated: Use HealthCheckConfig.ProtoReflect.Descriptor instead.

func (*HealthCheckConfig) Equal added in v0.18.36

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

Equal function

func (*HealthCheckConfig) GetHostname added in v1.3.18

func (x *HealthCheckConfig) GetHostname() string

func (*HealthCheckConfig) Hash added in v1.3.18

func (m *HealthCheckConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HealthCheckConfig) ProtoMessage added in v0.18.36

func (*HealthCheckConfig) ProtoMessage()

func (*HealthCheckConfig) ProtoReflect added in v1.6.0

func (x *HealthCheckConfig) ProtoReflect() protoreflect.Message

func (*HealthCheckConfig) Reset added in v0.18.36

func (x *HealthCheckConfig) Reset()

func (*HealthCheckConfig) String added in v0.18.36

func (x *HealthCheckConfig) String() string

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"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *HttpListener) Clone() proto.Message

Clone function

func (*HttpListener) Descriptor deprecated

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

Deprecated: Use HttpListener.ProtoReflect.Descriptor instead.

func (*HttpListener) Equal

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

Equal function

func (*HttpListener) GetOptions added in v1.0.0

func (x *HttpListener) GetOptions() *HttpListenerOptions

func (*HttpListener) GetStatPrefix added in v0.20.3

func (x *HttpListener) GetStatPrefix() string

func (*HttpListener) GetVirtualHosts

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

func (*HttpListener) Hash added in v1.2.13

func (m *HttpListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HttpListener) ProtoMessage

func (*HttpListener) ProtoMessage()

func (*HttpListener) ProtoReflect added in v1.6.0

func (x *HttpListener) ProtoReflect() protoreflect.Message

func (*HttpListener) Reset

func (x *HttpListener) Reset()

func (*HttpListener) String

func (x *HttpListener) String() string

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"`
	// Enterprise-only: WASM related configuration [experimental!]
	Wasm *wasm.PluginSource `protobuf:"bytes,7,opt,name=wasm,proto3" json:"wasm,omitempty"`
	// Enterprise-only: External auth related settings
	Extauth *v1.Settings `protobuf:"bytes,10,opt,name=extauth,proto3" json:"extauth,omitempty"`
	// Enterprise-only: Settings for the rate limiting server itself
	RatelimitServer *ratelimit.Settings `protobuf:"bytes,11,opt,name=ratelimit_server,json=ratelimitServer,proto3" json:"ratelimit_server,omitempty"`
	// Enterprise-only: Settings for the cache server itself
	Caching *caching.Settings `protobuf:"bytes,17,opt,name=caching,proto3" json:"caching,omitempty"`
	// Types that are assignable to ExtProcConfig:
	//
	//	*HttpListenerOptions_DisableExtProc
	//	*HttpListenerOptions_ExtProc
	ExtProcConfig isHttpListenerOptions_ExtProcConfig `protobuf_oneof:"ext_proc_config"`
	// Gzip is an HTTP option which enables Gloo to compress
	// data returned from an upstream service upon client request.
	// Compression is useful in situations where large payloads need to be transmitted without compromising the response time.
	// Example:
	// “`
	// gzip:
	//
	//	contentType:
	//	- "application/json"
	//	compressionLevel: BEST
	//
	// “`
	Gzip *v2.Gzip `protobuf:"bytes,8,opt,name=gzip,proto3" json:"gzip,omitempty"`
	// Enterprise-only: Proxy latency
	ProxyLatency *proxylatency.ProxyLatency `protobuf:"bytes,9,opt,name=proxy_latency,json=proxyLatency,proto3" json:"proxy_latency,omitempty"`
	// Buffer can be used to set the maximum request size
	// that the filter will buffer before the connection
	// manager will stop buffering and return a 413 response.
	Buffer *v3.Buffer `protobuf:"bytes,12,opt,name=buffer,proto3" json:"buffer,omitempty"`
	// Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode
	// where policies will be evaluated and tracked, but not enforced and add additional source origins
	// that will be allowed in addition to the destination origin.
	// For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto
	Csrf *v31.CsrfPolicy `protobuf:"bytes,15,opt,name=csrf,proto3" json:"csrf,omitempty"`
	// Exposed envoy config for the gRPC to JSON transcoding filter,
	// envoy.filters.http.grpc_json_transcoder.
	// For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto
	GrpcJsonTranscoder *grpc_json.GrpcJsonTranscoder `protobuf:"bytes,13,opt,name=grpc_json_transcoder,json=grpcJsonTranscoder,proto3" json:"grpc_json_transcoder,omitempty"`
	// Enterprise-only: If using the HTTP header specified by cluster_header to direct traffic to a cluster,
	// this option will sanitize that header from downstream traffic.
	// Defaults to false
	SanitizeClusterHeader *wrappers.BoolValue `` /* 127-byte string literal not displayed */
	// Enterprise-only: Setting this value to true will grab the leftmost IP address from
	// the x-forwarded-for header and set it as the downstream address.
	// It is worth noting that the x-forwarded-for header can be tampered with by clients
	// and should therefore be sanitized by any preceding proxies / load balancers if this option is to be used.
	LeftmostXffAddress  *wrappers.BoolValue                 `protobuf:"bytes,16,opt,name=leftmost_xff_address,json=leftmostXffAddress,proto3" json:"leftmost_xff_address,omitempty"`
	DynamicForwardProxy *dynamic_forward_proxy.FilterConfig `protobuf:"bytes,28,opt,name=dynamic_forward_proxy,json=dynamicForwardProxy,proto3" json:"dynamic_forward_proxy,omitempty"`
	// ConnectionLimit can be used to limit the number of active connections per gateway. Useful for resource protection as well as DoS prevention.
	ConnectionLimit *connection_limit.ConnectionLimit `protobuf:"bytes,29,opt,name=connection_limit,json=connectionLimit,proto3" json:"connection_limit,omitempty"`
	// NetworkLocalRatelimit can be used to rate limit the connections per gateway at the L4 layer and works pre-auth.
	// It uses envoy's own local rate limit filter to do so, without the need for an external rate limit server to be set up.
	NetworkLocalRatelimit *local_ratelimit.TokenBucket `` /* 127-byte string literal not displayed */
	// HttpLocalRatelimit can be used to rate limit the number of requests per gateway and works pre-auth.
	// Unlike the NetworkLocalRatelimit, this works as part of the HCM (ie: L7 layer).
	// All virtual host and routes that are part of this gateway will share this rate limit unless explicity configured with another limit.
	// It uses envoy's own local rate limit filter to do so, without the need for an external rate limit server to be set up.
	HttpLocalRatelimit *local_ratelimit.Settings `protobuf:"bytes,33,opt,name=http_local_ratelimit,json=httpLocalRatelimit,proto3" json:"http_local_ratelimit,omitempty"`
	// Router is an extension of the envoy http filters
	// Maps to https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/router/v3/router.proto
	Router *router.Router `protobuf:"bytes,18,opt,name=router,proto3" json:"router,omitempty"`
	// Enterprise only: Tap filter settings (experimental).
	Tap *tap.Tap `protobuf:"bytes,34,opt,name=tap,proto3" json:"tap,omitempty"`
	// contains filtered or unexported fields
}

Optional, feature-specific configuration that lives on http listeners

func (*HttpListenerOptions) Clone added in v1.8.24

func (m *HttpListenerOptions) Clone() proto.Message

Clone function

func (*HttpListenerOptions) Descriptor deprecated added in v1.0.0

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

Deprecated: Use HttpListenerOptions.ProtoReflect.Descriptor instead.

func (*HttpListenerOptions) Equal added in v1.0.0

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

Equal function

func (*HttpListenerOptions) GetBuffer added in v1.4.0

func (x *HttpListenerOptions) GetBuffer() *v3.Buffer

func (*HttpListenerOptions) GetCaching added in v1.9.25

func (x *HttpListenerOptions) GetCaching() *caching.Settings

func (*HttpListenerOptions) GetConnectionLimit added in v1.15.0

func (x *HttpListenerOptions) GetConnectionLimit() *connection_limit.ConnectionLimit

func (*HttpListenerOptions) GetCsrf added in v1.6.0

func (x *HttpListenerOptions) GetCsrf() *v31.CsrfPolicy

func (*HttpListenerOptions) GetDisableExtProc added in v1.15.0

func (x *HttpListenerOptions) GetDisableExtProc() *wrappers.BoolValue

func (*HttpListenerOptions) GetDlp added in v1.0.0

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

func (*HttpListenerOptions) GetDynamicForwardProxy added in v1.9.25

func (x *HttpListenerOptions) GetDynamicForwardProxy() *dynamic_forward_proxy.FilterConfig

func (*HttpListenerOptions) GetExtProc added in v1.15.0

func (x *HttpListenerOptions) GetExtProc() *extproc.Settings

func (*HttpListenerOptions) GetExtProcConfig added in v1.15.0

func (m *HttpListenerOptions) GetExtProcConfig() isHttpListenerOptions_ExtProcConfig

func (*HttpListenerOptions) GetExtauth added in v1.4.0

func (x *HttpListenerOptions) GetExtauth() *v1.Settings

func (*HttpListenerOptions) GetExtensions added in v1.0.0

func (x *HttpListenerOptions) GetExtensions() *Extensions

func (*HttpListenerOptions) GetGrpcJsonTranscoder added in v1.5.0

func (x *HttpListenerOptions) GetGrpcJsonTranscoder() *grpc_json.GrpcJsonTranscoder

func (*HttpListenerOptions) GetGrpcWeb added in v1.0.0

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

func (*HttpListenerOptions) GetGzip added in v1.3.4

func (x *HttpListenerOptions) GetGzip() *v2.Gzip

func (*HttpListenerOptions) GetHealthCheck added in v1.0.0

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

func (*HttpListenerOptions) GetHttpConnectionManagerSettings added in v1.0.0

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

func (*HttpListenerOptions) GetHttpLocalRatelimit added in v1.15.12

func (x *HttpListenerOptions) GetHttpLocalRatelimit() *local_ratelimit.Settings

func (*HttpListenerOptions) GetLeftmostXffAddress added in v1.6.11

func (x *HttpListenerOptions) GetLeftmostXffAddress() *wrappers.BoolValue

func (*HttpListenerOptions) GetNetworkLocalRatelimit added in v1.15.12

func (x *HttpListenerOptions) GetNetworkLocalRatelimit() *local_ratelimit.TokenBucket

func (*HttpListenerOptions) GetProxyLatency added in v1.3.24

func (x *HttpListenerOptions) GetProxyLatency() *proxylatency.ProxyLatency

func (*HttpListenerOptions) GetRatelimitServer added in v1.4.0

func (x *HttpListenerOptions) GetRatelimitServer() *ratelimit.Settings

func (*HttpListenerOptions) GetRouter added in v1.14.0

func (x *HttpListenerOptions) GetRouter() *router.Router

func (*HttpListenerOptions) GetSanitizeClusterHeader added in v1.5.11

func (x *HttpListenerOptions) GetSanitizeClusterHeader() *wrappers.BoolValue

func (*HttpListenerOptions) GetTap added in v1.16.0

func (x *HttpListenerOptions) GetTap() *tap.Tap

func (*HttpListenerOptions) GetWaf added in v1.0.0

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

func (*HttpListenerOptions) GetWasm added in v1.2.6

func (x *HttpListenerOptions) GetWasm() *wasm.PluginSource

func (*HttpListenerOptions) Hash added in v1.2.13

func (m *HttpListenerOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HttpListenerOptions) ProtoMessage added in v1.0.0

func (*HttpListenerOptions) ProtoMessage()

func (*HttpListenerOptions) ProtoReflect added in v1.6.0

func (x *HttpListenerOptions) ProtoReflect() protoreflect.Message

func (*HttpListenerOptions) Reset added in v1.0.0

func (x *HttpListenerOptions) Reset()

func (*HttpListenerOptions) String added in v1.0.0

func (x *HttpListenerOptions) String() string

type HttpListenerOptions_DisableExtProc added in v1.15.0

type HttpListenerOptions_DisableExtProc struct {
	// Enterprise-only: Set to true to disable the External Processing filter for this listener.
	// This can be overridden by child VirtualHostOptions or RouteOptions.
	DisableExtProc *wrappers.BoolValue `protobuf:"bytes,30,opt,name=disable_ext_proc,json=disableExtProc,proto3,oneof"`
}

type HttpListenerOptions_ExtProc added in v1.15.0

type HttpListenerOptions_ExtProc struct {
	// Enterprise-only: External Processing filter settings for the listener. This can be used to
	// override the defaults from the global settings (via shallow merge). Some of the settings
	// on the listener can be overridden by child VirtualHostOptions or RouteOptions.
	ExtProc *extproc.Settings `protobuf:"bytes,31,opt,name=ext_proc,json=extProc,proto3,oneof"`
}

type HybridListener added in v1.9.25

type HybridListener struct {
	MatchedListeners []*MatchedListener `protobuf:"bytes,1,rep,name=matched_listeners,json=matchedListeners,proto3" json:"matched_listeners,omitempty"`
	// contains filtered or unexported fields
}

func (*HybridListener) Clone added in v1.9.25

func (m *HybridListener) Clone() proto.Message

Clone function

func (*HybridListener) Descriptor deprecated added in v1.9.25

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

Deprecated: Use HybridListener.ProtoReflect.Descriptor instead.

func (*HybridListener) Equal added in v1.9.25

func (m *HybridListener) Equal(that interface{}) bool

Equal function

func (*HybridListener) GetMatchedListeners added in v1.9.25

func (x *HybridListener) GetMatchedListeners() []*MatchedListener

func (*HybridListener) Hash added in v1.9.25

func (m *HybridListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HybridListener) ProtoMessage added in v1.9.25

func (*HybridListener) ProtoMessage()

func (*HybridListener) ProtoReflect added in v1.9.25

func (x *HybridListener) ProtoReflect() protoreflect.Message

func (*HybridListener) Reset added in v1.9.25

func (x *HybridListener) Reset()

func (*HybridListener) String added in v1.9.25

func (x *HybridListener) String() string

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,omitempty"`
	// The port attribute of the service
	Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

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

func (*KubernetesServiceDestination) Clone added in v1.8.24

Clone function

func (*KubernetesServiceDestination) Descriptor deprecated added in v0.17.0

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

Deprecated: Use KubernetesServiceDestination.ProtoReflect.Descriptor instead.

func (*KubernetesServiceDestination) Equal added in v0.17.0

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

Equal function

func (*KubernetesServiceDestination) GetPort added in v0.17.0

func (x *KubernetesServiceDestination) GetPort() uint32

func (*KubernetesServiceDestination) GetRef added in v0.17.0

func (*KubernetesServiceDestination) Hash added in v1.2.13

Hash function

func (*KubernetesServiceDestination) ProtoMessage added in v0.17.0

func (*KubernetesServiceDestination) ProtoMessage()

func (*KubernetesServiceDestination) ProtoReflect added in v1.6.0

func (*KubernetesServiceDestination) Reset added in v0.17.0

func (x *KubernetesServiceDestination) Reset()

func (*KubernetesServiceDestination) String added in v0.17.0

type LbEndpoint added in v1.4.0

type LbEndpoint struct {

	// Address (hostname or IP)
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// Port the instance is listening on
	Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// The optional health check configuration is used as configuration for the
	// health checker to contact the health checked host.
	// This takes into effect only for upstreams with active health checking enabled
	HealthCheckConfig *LbEndpoint_HealthCheckConfig `protobuf:"bytes,3,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"`
	UpstreamSslConfig *ssl.UpstreamSslConfig        `protobuf:"bytes,4,opt,name=upstream_ssl_config,json=upstreamSslConfig,proto3" json:"upstream_ssl_config,omitempty"`
	// The optional load balancing weight of the upstream host; at least 1.
	// Envoy uses the load balancing weight in some of the built in load
	// balancers. The load balancing weight for an endpoint is divided by the sum
	// of the weights of all endpoints in the endpoint's locality to produce a
	// percentage of traffic for the endpoint. This percentage is then further
	// weighted by the endpoint's locality's load balancing weight from
	// LocalityLbEndpoints. If unspecified, each host is presumed to have equal
	// weight in a locality.
	LoadBalancingWeight *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"`
	// contains filtered or unexported fields
}

An Endpoint that Envoy can route traffic to.

func (*LbEndpoint) Clone added in v1.8.24

func (m *LbEndpoint) Clone() proto.Message

Clone function

func (*LbEndpoint) Descriptor deprecated added in v1.4.0

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

Deprecated: Use LbEndpoint.ProtoReflect.Descriptor instead.

func (*LbEndpoint) Equal added in v1.4.0

func (m *LbEndpoint) Equal(that interface{}) bool

Equal function

func (*LbEndpoint) GetAddress added in v1.4.0

func (x *LbEndpoint) GetAddress() string

func (*LbEndpoint) GetHealthCheckConfig added in v1.4.0

func (x *LbEndpoint) GetHealthCheckConfig() *LbEndpoint_HealthCheckConfig

func (*LbEndpoint) GetLoadBalancingWeight added in v1.4.0

func (x *LbEndpoint) GetLoadBalancingWeight() *wrappers.UInt32Value

func (*LbEndpoint) GetPort added in v1.4.0

func (x *LbEndpoint) GetPort() uint32

func (*LbEndpoint) GetUpstreamSslConfig added in v1.4.0

func (x *LbEndpoint) GetUpstreamSslConfig() *ssl.UpstreamSslConfig

func (*LbEndpoint) Hash added in v1.4.0

func (m *LbEndpoint) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*LbEndpoint) ProtoMessage added in v1.4.0

func (*LbEndpoint) ProtoMessage()

func (*LbEndpoint) ProtoReflect added in v1.6.0

func (x *LbEndpoint) ProtoReflect() protoreflect.Message

func (*LbEndpoint) Reset added in v1.4.0

func (x *LbEndpoint) Reset()

func (*LbEndpoint) String added in v1.4.0

func (x *LbEndpoint) String() string

type LbEndpoint_HealthCheckConfig added in v1.4.0

type LbEndpoint_HealthCheckConfig struct {

	// Optional alternative health check port value.
	//
	// By default the health check address port of an upstream host is the same
	// as the host's serving address port. This provides an alternative health
	// check port. Setting this with a non-zero value allows an upstream host
	// to have different health check address port.
	PortValue uint32 `protobuf:"varint,1,opt,name=port_value,json=portValue,proto3" json:"port_value,omitempty"`
	// By default, the host header for L7 health checks is controlled by cluster level configuration. Setting this
	// to a non-empty value allows overriding the cluster level configuration for a specific endpoint.
	Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Path to use when health checking this failover endpoint.
	// Default is empty path.
	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	// Method to use when health checking this failover endpoint. Defaults to `GET`.
	Method string `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"`
	// contains filtered or unexported fields
}

The optional health check configuration.

func (*LbEndpoint_HealthCheckConfig) Clone added in v1.8.24

Clone function

func (*LbEndpoint_HealthCheckConfig) Descriptor deprecated added in v1.4.0

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

Deprecated: Use LbEndpoint_HealthCheckConfig.ProtoReflect.Descriptor instead.

func (*LbEndpoint_HealthCheckConfig) Equal added in v1.4.0

func (m *LbEndpoint_HealthCheckConfig) Equal(that interface{}) bool

Equal function

func (*LbEndpoint_HealthCheckConfig) GetHostname added in v1.4.0

func (x *LbEndpoint_HealthCheckConfig) GetHostname() string

func (*LbEndpoint_HealthCheckConfig) GetMethod added in v1.8.0

func (x *LbEndpoint_HealthCheckConfig) GetMethod() string

func (*LbEndpoint_HealthCheckConfig) GetPath added in v1.8.0

func (x *LbEndpoint_HealthCheckConfig) GetPath() string

func (*LbEndpoint_HealthCheckConfig) GetPortValue added in v1.4.0

func (x *LbEndpoint_HealthCheckConfig) GetPortValue() uint32

func (*LbEndpoint_HealthCheckConfig) Hash added in v1.4.0

Hash function

func (*LbEndpoint_HealthCheckConfig) ProtoMessage added in v1.4.0

func (*LbEndpoint_HealthCheckConfig) ProtoMessage()

func (*LbEndpoint_HealthCheckConfig) ProtoReflect added in v1.6.0

func (*LbEndpoint_HealthCheckConfig) Reset added in v1.4.0

func (x *LbEndpoint_HealthCheckConfig) Reset()

func (*LbEndpoint_HealthCheckConfig) String added in v1.4.0

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 assignable to ListenerType:
	//
	//	*Listener_HttpListener
	//	*Listener_TcpListener
	//	*Listener_HybridListener
	//	*Listener_AggregateListener
	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.
	// This is set to the aggregated list of SslConfigs that are defined on the selected VirtualServices
	SslConfigurations []*ssl.SslConfig `protobuf:"bytes,6,rep,name=ssl_configurations,json=sslConfigurations,proto3" json:"ssl_configurations,omitempty"`
	// Enable ProxyProtocol support for this listener.
	// Deprecated: prefer setting the listener option.
	// If configured, the listener option (filter config) overrides any setting here.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.
	UseProxyProto *wrappers.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"`
	// Types that are assignable to OpaqueMetadata:
	//
	//	*Listener_Metadata
	//	*Listener_MetadataStatic
	OpaqueMetadata isListener_OpaqueMetadata `protobuf_oneof:"opaque_metadata"`
	// Route Configuration Options
	RouteOptions *RouteConfigurationOptions `protobuf:"bytes,10,opt,name=route_options,json=routeOptions,proto3" json:"route_options,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *Listener) Clone() proto.Message

Clone function

func (*Listener) Descriptor deprecated

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

Deprecated: Use Listener.ProtoReflect.Descriptor instead.

func (*Listener) Equal

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

Equal function

func (*Listener) GetAggregateListener added in v1.9.25

func (x *Listener) GetAggregateListener() *AggregateListener

func (*Listener) GetBindAddress

func (x *Listener) GetBindAddress() string

func (*Listener) GetBindPort

func (x *Listener) GetBindPort() uint32

func (*Listener) GetHttpListener

func (x *Listener) GetHttpListener() *HttpListener

func (*Listener) GetHybridListener added in v1.9.25

func (x *Listener) GetHybridListener() *HybridListener

func (*Listener) GetListenerType

func (m *Listener) GetListenerType() isListener_ListenerType

func (*Listener) GetMetadata added in v1.0.0

func (x *Listener) GetMetadata() *_struct.Struct

func (*Listener) GetMetadataStatic added in v1.9.25

func (x *Listener) GetMetadataStatic() *SourceMetadata

func (*Listener) GetName

func (x *Listener) GetName() string

func (*Listener) GetOpaqueMetadata added in v1.9.25

func (m *Listener) GetOpaqueMetadata() isListener_OpaqueMetadata

func (*Listener) GetOptions added in v1.0.0

func (x *Listener) GetOptions() *ListenerOptions

func (*Listener) GetRouteOptions added in v1.7.7

func (x *Listener) GetRouteOptions() *RouteConfigurationOptions

func (*Listener) GetSslConfigurations added in v0.14.0

func (x *Listener) GetSslConfigurations() []*ssl.SslConfig

func (*Listener) GetTcpListener added in v0.18.0

func (x *Listener) GetTcpListener() *TcpListener

func (*Listener) GetUseProxyProto deprecated added in v0.13.15

func (x *Listener) GetUseProxyProto() *wrappers.BoolValue

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.

func (*Listener) Hash added in v1.2.13

func (m *Listener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Listener) ProtoMessage

func (*Listener) ProtoMessage()

func (*Listener) ProtoReflect added in v1.6.0

func (x *Listener) ProtoReflect() protoreflect.Message

func (*Listener) Reset

func (x *Listener) Reset()

func (*Listener) String

func (x *Listener) String() string

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"`
	// Soft limit on size of the listener's new connection read and write buffers. If unspecified, defaults to 1MiB
	// For more info, check out the [Envoy docs](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v2/api/v2/listener.proto)
	PerConnectionBufferLimitBytes *wrappers.UInt32Value `` /* 154-byte string literal not displayed */
	// Additional socket options that may not be present in Envoy source code or
	// precompiled binaries.
	SocketOptions []*core.SocketOption `protobuf:"bytes,4,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
	// Enable ProxyProtocol support for this listener.
	ProxyProtocol *proxy_protocol.ProxyProtocol `protobuf:"bytes,5,opt,name=proxy_protocol,json=proxyProtocol,proto3" json:"proxy_protocol,omitempty"`
	// Configuration for listener connection balancing.
	ConnectionBalanceConfig *ConnectionBalanceConfig `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *ListenerOptions) Clone() proto.Message

Clone function

func (*ListenerOptions) Descriptor deprecated added in v1.0.0

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

Deprecated: Use ListenerOptions.ProtoReflect.Descriptor instead.

func (*ListenerOptions) Equal added in v1.0.0

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

Equal function

func (*ListenerOptions) GetAccessLoggingService added in v1.0.0

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

func (*ListenerOptions) GetConnectionBalanceConfig added in v1.14.0

func (x *ListenerOptions) GetConnectionBalanceConfig() *ConnectionBalanceConfig

func (*ListenerOptions) GetExtensions added in v1.0.0

func (x *ListenerOptions) GetExtensions() *Extensions

func (*ListenerOptions) GetPerConnectionBufferLimitBytes added in v1.3.28

func (x *ListenerOptions) GetPerConnectionBufferLimitBytes() *wrappers.UInt32Value

func (*ListenerOptions) GetProxyProtocol added in v1.8.22

func (x *ListenerOptions) GetProxyProtocol() *proxy_protocol.ProxyProtocol

func (*ListenerOptions) GetSocketOptions added in v1.5.16

func (x *ListenerOptions) GetSocketOptions() []*core.SocketOption

func (*ListenerOptions) Hash added in v1.2.13

func (m *ListenerOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ListenerOptions) ProtoMessage added in v1.0.0

func (*ListenerOptions) ProtoMessage()

func (*ListenerOptions) ProtoReflect added in v1.6.0

func (x *ListenerOptions) ProtoReflect() protoreflect.Message

func (*ListenerOptions) Reset added in v1.0.0

func (x *ListenerOptions) Reset()

func (*ListenerOptions) String added in v1.0.0

func (x *ListenerOptions) String() string

type Listener_AggregateListener added in v1.9.25

type Listener_AggregateListener struct {
	// contains any number of configuration options for Gloo's HTTP and/or TCP-level features
	// avoids duplicating definitions by separating resources and relationships between resources
	AggregateListener *AggregateListener `protobuf:"bytes,13,opt,name=aggregate_listener,json=aggregateListener,proto3,oneof"`
}

type Listener_HttpListener

type Listener_HttpListener struct {
	// contains configuration options for Gloo's HTTP-level features including request-based routing
	HttpListener *HttpListener `protobuf:"bytes,4,opt,name=http_listener,json=httpListener,proto3,oneof"`
}

type Listener_HybridListener added in v1.9.25

type Listener_HybridListener struct {
	// contains any number of configuration options for Gloo's HTTP and/or TCP-level features
	HybridListener *HybridListener `protobuf:"bytes,11,opt,name=hybrid_listener,json=hybridListener,proto3,oneof"`
}

type Listener_Metadata added in v1.9.25

type Listener_Metadata struct {
	// 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)
	// Deprecated: prefer the any field below
	Metadata *_struct.Struct `protobuf:"bytes,9,opt,name=metadata,proto3,oneof"`
}

type Listener_MetadataStatic added in v1.9.25

type Listener_MetadataStatic struct {
	// Inline metadata used by gloo controller to track ownership
	MetadataStatic *SourceMetadata `protobuf:"bytes,12,opt,name=metadata_static,json=metadataStatic,proto3,oneof"`
}

type Listener_TcpListener added in v0.18.0

type Listener_TcpListener struct {
	// contains configuration options for Gloo's TCP-level features
	TcpListener *TcpListener `protobuf:"bytes,5,opt,name=tcp_listener,json=tcpListener,proto3,oneof"`
}

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/upstream/load_balancing/panic_threshold.html).
	HealthyPanicThreshold *wrappers.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 *duration.Duration `protobuf:"bytes,2,opt,name=update_merge_window,json=updateMergeWindow,proto3" json:"update_merge_window,omitempty"`
	// Types that are assignable to Type:
	//
	//	*LoadBalancerConfig_RoundRobin_
	//	*LoadBalancerConfig_LeastRequest_
	//	*LoadBalancerConfig_Random_
	//	*LoadBalancerConfig_RingHash_
	//	*LoadBalancerConfig_Maglev_
	Type isLoadBalancerConfig_Type `protobuf_oneof:"type"`
	// Types that are assignable to LocalityConfig:
	//
	//	*LoadBalancerConfig_LocalityWeightedLbConfig
	LocalityConfig isLoadBalancerConfig_LocalityConfig `protobuf_oneof:"locality_config"`
	// contains filtered or unexported fields
}

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

func (*LoadBalancerConfig) Clone added in v1.8.24

func (m *LoadBalancerConfig) Clone() proto.Message

Clone function

func (*LoadBalancerConfig) Descriptor deprecated added in v0.13.12

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

Deprecated: Use LoadBalancerConfig.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig) Equal added in v0.13.12

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

Equal function

func (*LoadBalancerConfig) GetHealthyPanicThreshold added in v0.13.12

func (x *LoadBalancerConfig) GetHealthyPanicThreshold() *wrappers.DoubleValue

func (*LoadBalancerConfig) GetLeastRequest added in v0.13.12

func (*LoadBalancerConfig) GetLocalityConfig added in v1.6.1

func (m *LoadBalancerConfig) GetLocalityConfig() isLoadBalancerConfig_LocalityConfig

func (*LoadBalancerConfig) GetLocalityWeightedLbConfig added in v1.6.1

func (x *LoadBalancerConfig) GetLocalityWeightedLbConfig() *empty.Empty

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 (x *LoadBalancerConfig) GetUpdateMergeWindow() *duration.Duration

func (*LoadBalancerConfig) Hash added in v1.2.13

func (m *LoadBalancerConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*LoadBalancerConfig) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig) ProtoMessage()

func (*LoadBalancerConfig) ProtoReflect added in v1.6.0

func (x *LoadBalancerConfig) ProtoReflect() protoreflect.Message

func (*LoadBalancerConfig) Reset added in v0.13.12

func (x *LoadBalancerConfig) Reset()

func (*LoadBalancerConfig) String added in v0.13.12

func (x *LoadBalancerConfig) String() string

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"`
	// Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
	SlowStartConfig *LoadBalancerConfig_SlowStartConfig `protobuf:"bytes,2,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"`
	// contains filtered or unexported fields
}

func (*LoadBalancerConfig_LeastRequest) Clone added in v1.8.24

Clone function

func (*LoadBalancerConfig_LeastRequest) Descriptor deprecated added in v0.13.12

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

Deprecated: Use LoadBalancerConfig_LeastRequest.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_LeastRequest) Equal added in v0.13.12

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

Equal function

func (*LoadBalancerConfig_LeastRequest) GetChoiceCount added in v0.13.12

func (x *LoadBalancerConfig_LeastRequest) GetChoiceCount() uint32

func (*LoadBalancerConfig_LeastRequest) GetSlowStartConfig added in v1.13.9

func (*LoadBalancerConfig_LeastRequest) Hash added in v1.2.13

Hash function

func (*LoadBalancerConfig_LeastRequest) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig_LeastRequest) ProtoMessage()

func (*LoadBalancerConfig_LeastRequest) ProtoReflect added in v1.6.0

func (*LoadBalancerConfig_LeastRequest) Reset added in v0.13.12

func (*LoadBalancerConfig_LeastRequest) String added in v0.13.12

type LoadBalancerConfig_LeastRequest_ added in v0.13.12

type LoadBalancerConfig_LeastRequest_ struct {
	// Use least request for load balancing.
	LeastRequest *LoadBalancerConfig_LeastRequest `protobuf:"bytes,4,opt,name=least_request,json=leastRequest,proto3,oneof"`
}

type LoadBalancerConfig_LocalityWeightedLbConfig added in v1.6.1

type LoadBalancerConfig_LocalityWeightedLbConfig struct {
	// (Enterprise Only)
	// https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight#locality-weighted-load-balancing
	// Locality weighted load balancing enables weighting assignments across different zones and geographical locations by using explicit weights.
	// This field is required to enable locality weighted load balancing
	LocalityWeightedLbConfig *empty.Empty `protobuf:"bytes,8,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,proto3,oneof"`
}

type LoadBalancerConfig_Maglev added in v0.18.22

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

func (*LoadBalancerConfig_Maglev) Clone added in v1.8.24

Clone function

func (*LoadBalancerConfig_Maglev) Descriptor deprecated added in v0.18.22

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

Deprecated: Use LoadBalancerConfig_Maglev.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_Maglev) Equal added in v0.18.22

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

Equal function

func (*LoadBalancerConfig_Maglev) Hash added in v1.2.13

func (m *LoadBalancerConfig_Maglev) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*LoadBalancerConfig_Maglev) ProtoMessage added in v0.18.22

func (*LoadBalancerConfig_Maglev) ProtoMessage()

func (*LoadBalancerConfig_Maglev) ProtoReflect added in v1.6.0

func (*LoadBalancerConfig_Maglev) Reset added in v0.18.22

func (x *LoadBalancerConfig_Maglev) Reset()

func (*LoadBalancerConfig_Maglev) String added in v0.18.22

func (x *LoadBalancerConfig_Maglev) String() string

type LoadBalancerConfig_Maglev_ added in v0.18.22

type LoadBalancerConfig_Maglev_ struct {
	// Use maglev for load balancing.
	Maglev *LoadBalancerConfig_Maglev `protobuf:"bytes,7,opt,name=maglev,proto3,oneof"`
}

type LoadBalancerConfig_Random added in v0.13.12

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

func (*LoadBalancerConfig_Random) Clone added in v1.8.24

Clone function

func (*LoadBalancerConfig_Random) Descriptor deprecated added in v0.13.12

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

Deprecated: Use LoadBalancerConfig_Random.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_Random) Equal added in v0.13.12

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

Equal function

func (*LoadBalancerConfig_Random) Hash added in v1.2.13

func (m *LoadBalancerConfig_Random) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*LoadBalancerConfig_Random) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig_Random) ProtoMessage()

func (*LoadBalancerConfig_Random) ProtoReflect added in v1.6.0

func (*LoadBalancerConfig_Random) Reset added in v0.13.12

func (x *LoadBalancerConfig_Random) Reset()

func (*LoadBalancerConfig_Random) String added in v0.13.12

func (x *LoadBalancerConfig_Random) String() string

type LoadBalancerConfig_Random_ added in v0.13.12

type LoadBalancerConfig_Random_ struct {
	// Use random for load balancing.
	Random *LoadBalancerConfig_Random `protobuf:"bytes,5,opt,name=random,proto3,oneof"`
}

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"`
	// contains filtered or unexported fields
}

func (*LoadBalancerConfig_RingHash) Clone added in v1.8.24

Clone function

func (*LoadBalancerConfig_RingHash) Descriptor deprecated added in v0.18.22

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

Deprecated: Use LoadBalancerConfig_RingHash.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_RingHash) Equal added in v0.18.22

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

Equal function

func (*LoadBalancerConfig_RingHash) GetRingHashConfig added in v0.18.22

func (*LoadBalancerConfig_RingHash) Hash added in v1.2.13

func (m *LoadBalancerConfig_RingHash) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*LoadBalancerConfig_RingHash) ProtoMessage added in v0.18.22

func (*LoadBalancerConfig_RingHash) ProtoMessage()

func (*LoadBalancerConfig_RingHash) ProtoReflect added in v1.6.0

func (*LoadBalancerConfig_RingHash) Reset added in v0.18.22

func (x *LoadBalancerConfig_RingHash) Reset()

func (*LoadBalancerConfig_RingHash) String added in v0.18.22

func (x *LoadBalancerConfig_RingHash) String() string

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"`
	// contains filtered or unexported fields
}

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

func (*LoadBalancerConfig_RingHashConfig) Clone added in v1.8.24

Clone function

func (*LoadBalancerConfig_RingHashConfig) Descriptor deprecated added in v0.18.22

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

Deprecated: Use LoadBalancerConfig_RingHashConfig.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_RingHashConfig) Equal added in v0.18.22

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

Equal function

func (*LoadBalancerConfig_RingHashConfig) GetMaximumRingSize added in v0.18.22

func (x *LoadBalancerConfig_RingHashConfig) GetMaximumRingSize() uint64

func (*LoadBalancerConfig_RingHashConfig) GetMinimumRingSize added in v0.18.22

func (x *LoadBalancerConfig_RingHashConfig) GetMinimumRingSize() uint64

func (*LoadBalancerConfig_RingHashConfig) Hash added in v1.2.13

Hash function

func (*LoadBalancerConfig_RingHashConfig) ProtoMessage added in v0.18.22

func (*LoadBalancerConfig_RingHashConfig) ProtoMessage()

func (*LoadBalancerConfig_RingHashConfig) ProtoReflect added in v1.6.0

func (*LoadBalancerConfig_RingHashConfig) Reset added in v0.18.22

func (*LoadBalancerConfig_RingHashConfig) String added in v0.18.22

type LoadBalancerConfig_RingHash_ added in v0.18.22

type LoadBalancerConfig_RingHash_ struct {
	// Use ring hash for load balancing.
	RingHash *LoadBalancerConfig_RingHash `protobuf:"bytes,6,opt,name=ring_hash,json=ringHash,proto3,oneof"`
}

type LoadBalancerConfig_RoundRobin added in v0.13.12

type LoadBalancerConfig_RoundRobin struct {

	// Configuration for slow start mode. If this configuration is not set, slow start will not be not enabled.
	SlowStartConfig *LoadBalancerConfig_SlowStartConfig `protobuf:"bytes,1,opt,name=slow_start_config,json=slowStartConfig,proto3" json:"slow_start_config,omitempty"`
	// contains filtered or unexported fields
}

func (*LoadBalancerConfig_RoundRobin) Clone added in v1.8.24

Clone function

func (*LoadBalancerConfig_RoundRobin) Descriptor deprecated added in v0.13.12

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

Deprecated: Use LoadBalancerConfig_RoundRobin.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_RoundRobin) Equal added in v0.13.12

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

Equal function

func (*LoadBalancerConfig_RoundRobin) GetSlowStartConfig added in v1.13.9

func (*LoadBalancerConfig_RoundRobin) Hash added in v1.2.13

Hash function

func (*LoadBalancerConfig_RoundRobin) ProtoMessage added in v0.13.12

func (*LoadBalancerConfig_RoundRobin) ProtoMessage()

func (*LoadBalancerConfig_RoundRobin) ProtoReflect added in v1.6.0

func (*LoadBalancerConfig_RoundRobin) Reset added in v0.13.12

func (x *LoadBalancerConfig_RoundRobin) Reset()

func (*LoadBalancerConfig_RoundRobin) String added in v0.13.12

type LoadBalancerConfig_RoundRobin_ added in v0.13.12

type LoadBalancerConfig_RoundRobin_ struct {
	// Use round robin for load balancing. Round robin is the default load balancing method.
	RoundRobin *LoadBalancerConfig_RoundRobin `protobuf:"bytes,3,opt,name=round_robin,json=roundRobin,proto3,oneof"`
}

type LoadBalancerConfig_SlowStartConfig added in v1.13.9

type LoadBalancerConfig_SlowStartConfig struct {

	// Represents the size of slow start window.
	// If set, the newly created host remains in slow start mode starting from its creation time
	// for the duration of slow start window.
	SlowStartWindow *duration.Duration `protobuf:"bytes,1,opt,name=slow_start_window,json=slowStartWindow,proto3" json:"slow_start_window,omitempty"`
	// This parameter controls the speed of traffic increase over the slow start window. Defaults to 1.0,
	// so that endpoint would get linearly increasing amount of traffic.
	// When increasing the value for this parameter, the speed of traffic ramp-up increases non-linearly.
	// The value of aggression parameter should be greater than 0.0.
	// By tuning the parameter, is possible to achieve polynomial or exponential shape of ramp-up curve.
	//
	// During slow start window, effective weight of an endpoint would be scaled with time factor and aggression:
	// “new_weight = weight * max(min_weight_percent, time_factor ^ (1 / aggression))“,
	// where “time_factor=(time_since_start_seconds / slow_start_time_seconds)“.
	//
	// As time progresses, more and more traffic would be sent to endpoint, which is in slow start window.
	// Once host exits slow start, time_factor and aggression no longer affect its weight.
	Aggression *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=aggression,proto3" json:"aggression,omitempty"`
	// Configures the minimum percentage of origin weight that avoids too small new weight,
	// which may cause endpoints in slow start mode receive no traffic in slow start window.
	// If not specified, the default is 10%.
	MinWeightPercent *wrappers.DoubleValue `protobuf:"bytes,3,opt,name=min_weight_percent,json=minWeightPercent,proto3" json:"min_weight_percent,omitempty"`
	// contains filtered or unexported fields
}

func (*LoadBalancerConfig_SlowStartConfig) Clone added in v1.13.9

Clone function

func (*LoadBalancerConfig_SlowStartConfig) Descriptor deprecated added in v1.13.9

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

Deprecated: Use LoadBalancerConfig_SlowStartConfig.ProtoReflect.Descriptor instead.

func (*LoadBalancerConfig_SlowStartConfig) Equal added in v1.13.9

func (m *LoadBalancerConfig_SlowStartConfig) Equal(that interface{}) bool

Equal function

func (*LoadBalancerConfig_SlowStartConfig) GetAggression added in v1.13.9

func (*LoadBalancerConfig_SlowStartConfig) GetMinWeightPercent added in v1.13.9

func (x *LoadBalancerConfig_SlowStartConfig) GetMinWeightPercent() *wrappers.DoubleValue

func (*LoadBalancerConfig_SlowStartConfig) GetSlowStartWindow added in v1.13.9

func (x *LoadBalancerConfig_SlowStartConfig) GetSlowStartWindow() *duration.Duration

func (*LoadBalancerConfig_SlowStartConfig) Hash added in v1.13.9

Hash function

func (*LoadBalancerConfig_SlowStartConfig) ProtoMessage added in v1.13.9

func (*LoadBalancerConfig_SlowStartConfig) ProtoMessage()

func (*LoadBalancerConfig_SlowStartConfig) ProtoReflect added in v1.13.9

func (*LoadBalancerConfig_SlowStartConfig) Reset added in v1.13.9

func (*LoadBalancerConfig_SlowStartConfig) String added in v1.13.9

type Locality added in v1.4.0

type Locality struct {

	// Region this zone belongs to.
	Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	// Defines the local service zone where Envoy is running. The meaning of zone
	// is context dependent, e.g. `Availability Zone (AZ)
	// <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
	// on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on
	// GCP, etc.
	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
	// When used for locality of upstream hosts, this field further splits zone
	// into smaller chunks of sub-zones so they can be load balanced
	// independently.
	SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"`
	// contains filtered or unexported fields
}

Identifies location of where either Envoy runs or where upstream hosts run.

func (*Locality) Clone added in v1.8.24

func (m *Locality) Clone() proto.Message

Clone function

func (*Locality) Descriptor deprecated added in v1.4.0

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

Deprecated: Use Locality.ProtoReflect.Descriptor instead.

func (*Locality) Equal added in v1.4.0

func (m *Locality) Equal(that interface{}) bool

Equal function

func (*Locality) GetRegion added in v1.4.0

func (x *Locality) GetRegion() string

func (*Locality) GetSubZone added in v1.4.0

func (x *Locality) GetSubZone() string

func (*Locality) GetZone added in v1.4.0

func (x *Locality) GetZone() string

func (*Locality) Hash added in v1.4.0

func (m *Locality) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Locality) ProtoMessage added in v1.4.0

func (*Locality) ProtoMessage()

func (*Locality) ProtoReflect added in v1.6.0

func (x *Locality) ProtoReflect() protoreflect.Message

func (*Locality) Reset added in v1.4.0

func (x *Locality) Reset()

func (*Locality) String added in v1.4.0

func (x *Locality) String() string

type LocalityLbEndpoints added in v1.4.0

type LocalityLbEndpoints struct {

	// Identifies where the parent upstream hosts run.
	Locality *Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	// The group of endpoints belonging to the locality specified.
	// Note: If any address is DNS resolvable than `lb_endpoints[].load_balancing_weight` is not allowed on any of
	// this locality's endpoints.
	LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"`
	// Optional: Per priority/region/zone/sub_zone weight; at least 1. The load
	// balancing weight for a locality is divided by the sum of the weights of all
	// localities at the same priority level to produce the effective percentage
	// of traffic for the locality.
	// To enable locality weighted load balancing, load_balancer_config.locality_weighted_lb_config must be set as well
	LoadBalancingWeight *wrappers.UInt32Value `protobuf:"bytes,3,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"`
	// contains filtered or unexported fields
}

A group of endpoints belonging to a Locality. One can have multiple LocalityLbEndpoints for a locality, but this is generally only done if the different groups need to have different load balancing weights or different priorities.

func (*LocalityLbEndpoints) Clone added in v1.8.24

func (m *LocalityLbEndpoints) Clone() proto.Message

Clone function

func (*LocalityLbEndpoints) Descriptor deprecated added in v1.4.0

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

Deprecated: Use LocalityLbEndpoints.ProtoReflect.Descriptor instead.

func (*LocalityLbEndpoints) Equal added in v1.4.0

func (m *LocalityLbEndpoints) Equal(that interface{}) bool

Equal function

func (*LocalityLbEndpoints) GetLbEndpoints added in v1.4.0

func (x *LocalityLbEndpoints) GetLbEndpoints() []*LbEndpoint

func (*LocalityLbEndpoints) GetLoadBalancingWeight added in v1.4.0

func (x *LocalityLbEndpoints) GetLoadBalancingWeight() *wrappers.UInt32Value

func (*LocalityLbEndpoints) GetLocality added in v1.4.0

func (x *LocalityLbEndpoints) GetLocality() *Locality

func (*LocalityLbEndpoints) Hash added in v1.4.0

func (m *LocalityLbEndpoints) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*LocalityLbEndpoints) ProtoMessage added in v1.4.0

func (*LocalityLbEndpoints) ProtoMessage()

func (*LocalityLbEndpoints) ProtoReflect added in v1.6.0

func (x *LocalityLbEndpoints) ProtoReflect() protoreflect.Message

func (*LocalityLbEndpoints) Reset added in v1.4.0

func (x *LocalityLbEndpoints) Reset()

func (*LocalityLbEndpoints) String added in v1.4.0

func (x *LocalityLbEndpoints) String() string

type MatchedListener added in v1.9.25

type MatchedListener struct {

	// Matchers are used to define unique matching criteria for each MatchedListener
	// Each MatchedListener within a HybridListener must have a unique Matcher
	// If multiple matchers in a HybridListener are identical, the HybridListener will not be accepted
	// Empty Matchers are effectively catch-alls, and there can be no more than one empty Matcher per HybridListener
	Matcher *Matcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"`
	// Types that are assignable to ListenerType:
	//
	//	*MatchedListener_HttpListener
	//	*MatchedListener_TcpListener
	ListenerType isMatchedListener_ListenerType `protobuf_oneof:"ListenerType"`
	// SSL Config is optional for the MatchedListener. If provided, the listener will serve TLS for connections.
	// Multiple SslConfigs are supported for the purpose of SNI. Be aware that the SNI domain provided in the SSL Config.
	// This is set to the aggregated list of SslConfigs that are defined on the selected VirtualServices
	SslConfigurations []*ssl.SslConfig `protobuf:"bytes,4,rep,name=ssl_configurations,json=sslConfigurations,proto3" json:"ssl_configurations,omitempty"`
	// contains filtered or unexported fields
}

func (*MatchedListener) Clone added in v1.9.25

func (m *MatchedListener) Clone() proto.Message

Clone function

func (*MatchedListener) Descriptor deprecated added in v1.9.25

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

Deprecated: Use MatchedListener.ProtoReflect.Descriptor instead.

func (*MatchedListener) Equal added in v1.9.25

func (m *MatchedListener) Equal(that interface{}) bool

Equal function

func (*MatchedListener) GetHttpListener added in v1.9.25

func (x *MatchedListener) GetHttpListener() *HttpListener

func (*MatchedListener) GetListenerType added in v1.9.25

func (m *MatchedListener) GetListenerType() isMatchedListener_ListenerType

func (*MatchedListener) GetMatcher added in v1.9.25

func (x *MatchedListener) GetMatcher() *Matcher

func (*MatchedListener) GetSslConfigurations added in v1.9.25

func (x *MatchedListener) GetSslConfigurations() []*ssl.SslConfig

func (*MatchedListener) GetTcpListener added in v1.9.25

func (x *MatchedListener) GetTcpListener() *TcpListener

func (*MatchedListener) Hash added in v1.9.25

func (m *MatchedListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*MatchedListener) ProtoMessage added in v1.9.25

func (*MatchedListener) ProtoMessage()

func (*MatchedListener) ProtoReflect added in v1.9.25

func (x *MatchedListener) ProtoReflect() protoreflect.Message

func (*MatchedListener) Reset added in v1.9.25

func (x *MatchedListener) Reset()

func (*MatchedListener) String added in v1.9.25

func (x *MatchedListener) String() string

type MatchedListener_HttpListener added in v1.9.25

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

type MatchedListener_TcpListener added in v1.9.25

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

type MatchedTcpListener added in v1.14.6

type MatchedTcpListener struct {

	// Matchers are used to define unique matching criteria for each MatchedListener
	// These are overridden by tcphost sni mutators
	Matcher *Matcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"`
	// The actual tcp listener to be used for this matcher in the aggregate listener
	TcpListener *TcpListener `protobuf:"bytes,2,opt,name=tcp_listener,json=tcpListener,proto3" json:"tcp_listener,omitempty"`
	// contains filtered or unexported fields
}

func (*MatchedTcpListener) Clone added in v1.14.6

func (m *MatchedTcpListener) Clone() proto.Message

Clone function

func (*MatchedTcpListener) Descriptor deprecated added in v1.14.6

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

Deprecated: Use MatchedTcpListener.ProtoReflect.Descriptor instead.

func (*MatchedTcpListener) Equal added in v1.14.6

func (m *MatchedTcpListener) Equal(that interface{}) bool

Equal function

func (*MatchedTcpListener) GetMatcher added in v1.14.6

func (x *MatchedTcpListener) GetMatcher() *Matcher

func (*MatchedTcpListener) GetTcpListener added in v1.14.6

func (x *MatchedTcpListener) GetTcpListener() *TcpListener

func (*MatchedTcpListener) Hash added in v1.14.6

func (m *MatchedTcpListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*MatchedTcpListener) ProtoMessage added in v1.14.6

func (*MatchedTcpListener) ProtoMessage()

func (*MatchedTcpListener) ProtoReflect added in v1.14.6

func (x *MatchedTcpListener) ProtoReflect() protoreflect.Message

func (*MatchedTcpListener) Reset added in v1.14.6

func (x *MatchedTcpListener) Reset()

func (*MatchedTcpListener) String added in v1.14.6

func (x *MatchedTcpListener) String() string

type Matcher

type Matcher struct {
	SslConfig               *ssl.SslConfig  `protobuf:"bytes,1,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	SourcePrefixRanges      []*v3.CidrRange `protobuf:"bytes,2,rep,name=source_prefix_ranges,json=sourcePrefixRanges,proto3" json:"source_prefix_ranges,omitempty"`
	PassthroughCipherSuites []string        `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Matcher) Clone added in v1.9.25

func (m *Matcher) Clone() proto.Message

Clone function

func (*Matcher) Descriptor deprecated

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

Deprecated: Use Matcher.ProtoReflect.Descriptor instead.

func (*Matcher) Equal

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

Equal function

func (*Matcher) GetPassthroughCipherSuites added in v1.14.4

func (x *Matcher) GetPassthroughCipherSuites() []string

func (*Matcher) GetSourcePrefixRanges added in v1.9.25

func (x *Matcher) GetSourcePrefixRanges() []*v3.CidrRange

func (*Matcher) GetSslConfig added in v1.9.25

func (x *Matcher) GetSslConfig() *ssl.SslConfig

func (*Matcher) Hash added in v1.9.25

func (m *Matcher) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Matcher) ProtoMessage

func (*Matcher) ProtoMessage()

func (*Matcher) ProtoReflect added in v1.9.25

func (x *Matcher) ProtoReflect() protoreflect.Message

func (*Matcher) Reset

func (x *Matcher) Reset()

func (*Matcher) String

func (x *Matcher) String() string

type MultiDestination

type MultiDestination struct {

	// This list must contain at least one destination with a weight greater than 0.
	// Otherwise, the listener for this route becomes invalid, which causes an error for the parent proxy resource.
	Destinations []*WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *MultiDestination) Clone() proto.Message

Clone function

func (*MultiDestination) Descriptor deprecated

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

Deprecated: Use MultiDestination.ProtoReflect.Descriptor instead.

func (*MultiDestination) Equal

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

Equal function

func (*MultiDestination) GetDestinations

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

func (*MultiDestination) Hash added in v1.2.13

func (m *MultiDestination) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*MultiDestination) ProtoMessage

func (*MultiDestination) ProtoMessage()

func (*MultiDestination) ProtoReflect added in v1.6.0

func (x *MultiDestination) ProtoReflect() protoreflect.Message

func (*MultiDestination) Reset

func (x *MultiDestination) Reset()

func (*MultiDestination) String

func (x *MultiDestination) String() string

type PreconnectPolicy added in v1.15.11

type PreconnectPolicy struct {

	// Indicates how many streams (rounded up) can be anticipated per-upstream for each
	// incoming stream. This is useful for high-QPS or latency-sensitive services. Preconnecting
	// will only be done if the upstream is healthy and the cluster has traffic.
	//
	// For example if this is 2, for an incoming HTTP/1.1 stream, 2 connections will be
	// established, one for the new incoming stream, and one for a presumed follow-up stream. For
	// HTTP/2, only one connection would be established by default as one connection can
	// serve both the original and presumed follow-up stream.
	//
	// In steady state for non-multiplexed connections a value of 1.5 would mean if there were 100
	// active streams, there would be 100 connections in use, and 50 connections preconnected.
	// This might be a useful value for something like short lived single-use connections,
	// for example proxying HTTP/1.1 if keep-alive were false and each stream resulted in connection
	// termination. It would likely be overkill for long lived connections, such as TCP proxying SMTP
	// or regular HTTP/1.1 with keep-alive. For long lived traffic, a value of 1.05 would be more
	// reasonable, where for every 100 connections, 5 preconnected connections would be in the queue
	// in case of unexpected disconnects where the connection could not be reused.
	//
	// If this value is not set, or set explicitly to one, Envoy will fetch as many connections
	// as needed to serve streams in flight. This means in steady state if a connection is torn down,
	// a subsequent streams will pay an upstream-rtt latency penalty waiting for a new connection.
	//
	// This is limited somewhat arbitrarily to 3 because preconnecting too aggressively can
	// harm latency more than the preconnecting helps.
	PerUpstreamPreconnectRatio *wrappers.DoubleValue `` /* 143-byte string literal not displayed */
	// Indicates how many streams (rounded up) can be anticipated across a cluster for each
	// stream, useful for low QPS services. This is currently supported for a subset of
	// deterministic non-hash-based load-balancing algorithms (weighted round robin, random).
	// Unlike “per_upstream_preconnect_ratio“ this preconnects across the upstream instances in a
	// cluster, doing best effort predictions of what upstream would be picked next and
	// pre-establishing a connection.
	//
	// Preconnecting will be limited to one preconnect per configured upstream in the cluster and will
	// only be done if there are healthy upstreams and the cluster has traffic.
	//
	// For example if preconnecting is set to 2 for a round robin HTTP/2 cluster, on the first
	// incoming stream, 2 connections will be preconnected - one to the first upstream for this
	// cluster, one to the second on the assumption there will be a follow-up stream.
	//
	// If this value is not set, or set explicitly to one, Envoy will fetch as many connections
	// as needed to serve streams in flight, so during warm up and in steady state if a connection
	// is closed (and per_upstream_preconnect_ratio is not set), there will be a latency hit for
	// connection establishment.
	//
	// If both this and preconnect_ratio are set, Envoy will make sure both predicted needs are met,
	// basically preconnecting max(predictive-preconnect, per-upstream-preconnect), for each
	// upstream.
	PredictivePreconnectRatio *wrappers.DoubleValue `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*PreconnectPolicy) Clone added in v1.15.11

func (m *PreconnectPolicy) Clone() proto.Message

Clone function

func (*PreconnectPolicy) Descriptor deprecated added in v1.15.11

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

Deprecated: Use PreconnectPolicy.ProtoReflect.Descriptor instead.

func (*PreconnectPolicy) Equal added in v1.15.11

func (m *PreconnectPolicy) Equal(that interface{}) bool

Equal function

func (*PreconnectPolicy) GetPerUpstreamPreconnectRatio added in v1.15.11

func (x *PreconnectPolicy) GetPerUpstreamPreconnectRatio() *wrappers.DoubleValue

func (*PreconnectPolicy) GetPredictivePreconnectRatio added in v1.15.11

func (x *PreconnectPolicy) GetPredictivePreconnectRatio() *wrappers.DoubleValue

func (*PreconnectPolicy) Hash added in v1.15.11

func (m *PreconnectPolicy) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*PreconnectPolicy) ProtoMessage added in v1.15.11

func (*PreconnectPolicy) ProtoMessage()

func (*PreconnectPolicy) ProtoReflect added in v1.15.11

func (x *PreconnectPolicy) ProtoReflect() protoreflect.Message

func (*PreconnectPolicy) Reset added in v1.15.11

func (x *PreconnectPolicy) Reset()

func (*PreconnectPolicy) String added in v1.15.11

func (x *PreconnectPolicy) String() string

type Proxy

type Proxy struct {

	// This field is populated when the proxy compression is turned on.
	CompressedSpec string `protobuf:"bytes,3,opt,name=compressedSpec,proto3" json:"compressedSpec,omitempty"`
	// 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"`
	// NamespacedStatuses indicates the validation status of this resource.
	// NamespacedStatuses is read-only by clients, and set by gloo during validation
	NamespacedStatuses *core.NamespacedStatuses `protobuf:"bytes,8,opt,name=namespaced_statuses,json=namespacedStatuses,proto3" json:"namespaced_statuses,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *Proxy) Clone() proto.Message

Clone function

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 deprecated

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

Deprecated: Use Proxy.ProtoReflect.Descriptor instead.

func (*Proxy) Equal

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

Equal function

func (*Proxy) GetCompressedSpec added in v1.8.13

func (x *Proxy) GetCompressedSpec() string

func (*Proxy) GetListeners

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

func (*Proxy) GetMetadata

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

func (*Proxy) GetNamespacedStatuses added in v1.9.0

func (x *Proxy) GetNamespacedStatuses() *core.NamespacedStatuses

func (*Proxy) GetObjectKind

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

func (*Proxy) GetStatus

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

Deprecated

func (*Proxy) GroupVersionKind added in v0.18.0

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

func (*Proxy) Hash

func (m *Proxy) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Proxy) MarshalSpec added in v1.5.0

func (p *Proxy) MarshalSpec() (v1.Spec, error)

func (*Proxy) MarshalStatus added in v1.5.0

func (p *Proxy) MarshalStatus() (v1.Status, error)

func (*Proxy) MustHash added in v1.2.13

func (r *Proxy) MustHash() uint64

func (*Proxy) ProtoMessage

func (*Proxy) ProtoMessage()

func (*Proxy) ProtoReflect added in v1.6.0

func (x *Proxy) ProtoReflect() protoreflect.Message

func (*Proxy) Reset

func (x *Proxy) Reset()

func (*Proxy) SetMetadata

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

func (*Proxy) SetNamespacedStatuses added in v1.9.0

func (r *Proxy) SetNamespacedStatuses(namespacedStatuses *core.NamespacedStatuses)

func (*Proxy) SetStatus

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

Deprecated

func (*Proxy) String

func (x *Proxy) String() string

func (*Proxy) UnmarshalSpec added in v1.5.0

func (p *Proxy) UnmarshalSpec(spec v1.Spec) error

func (*Proxy) UnmarshalStatus added in v1.5.0

func (p *Proxy) UnmarshalStatus(status v1.Status, unmarshaler resources.StatusUnmarshaler)

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(ctx context.Context, rcFactory factory.ResourceClientFactory) (ProxyClient, error)

func NewProxyClientWithBase

func NewProxyClientWithBase(rc clients.ResourceClient) ProxyClient

func NewProxyClientWithToken

func NewProxyClientWithToken(ctx context.Context, 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)

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, statusSetter resources.StatusSetter) 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 assignable to PathRewriteSpecifier:
	//
	//	*RedirectAction_PathRedirect
	//	*RedirectAction_PrefixRewrite
	//	*RedirectAction_RegexRewrite
	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"`
	// contains filtered or unexported fields
}

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

func (*RedirectAction) Clone added in v1.8.24

func (m *RedirectAction) Clone() proto.Message

Clone function

func (*RedirectAction) Descriptor deprecated

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

Deprecated: Use RedirectAction.ProtoReflect.Descriptor instead.

func (*RedirectAction) Equal

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

Equal function

func (*RedirectAction) GetHostRedirect

func (x *RedirectAction) GetHostRedirect() string

func (*RedirectAction) GetHttpsRedirect

func (x *RedirectAction) GetHttpsRedirect() bool

func (*RedirectAction) GetPathRedirect

func (x *RedirectAction) GetPathRedirect() string

func (*RedirectAction) GetPathRewriteSpecifier

func (m *RedirectAction) GetPathRewriteSpecifier() isRedirectAction_PathRewriteSpecifier

func (*RedirectAction) GetPrefixRewrite

func (x *RedirectAction) GetPrefixRewrite() string

func (*RedirectAction) GetRegexRewrite added in v1.9.25

func (x *RedirectAction) GetRegexRewrite() *v31.RegexMatchAndSubstitute

func (*RedirectAction) GetResponseCode

func (*RedirectAction) GetStripQuery

func (x *RedirectAction) GetStripQuery() bool

func (*RedirectAction) Hash added in v1.2.13

func (m *RedirectAction) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RedirectAction) ProtoMessage

func (*RedirectAction) ProtoMessage()

func (*RedirectAction) ProtoReflect added in v1.6.0

func (x *RedirectAction) ProtoReflect() protoreflect.Message

func (*RedirectAction) Reset

func (x *RedirectAction) Reset()

func (*RedirectAction) String

func (x *RedirectAction) String() string

type RedirectAction_PathRedirect

type RedirectAction_PathRedirect struct {
	// The path portion of the URL will be swapped with this value.
	PathRedirect string `protobuf:"bytes,2,opt,name=path_redirect,json=pathRedirect,proto3,oneof"`
}

type RedirectAction_PrefixRewrite

type RedirectAction_PrefixRewrite struct {
	// Indicates that during redirection, the matched prefix (or path)
	// should be swapped with this value. This option allows redirect URLs be dynamically created
	// based on the request.
	//
	//	Pay attention to the use of trailing slashes as mentioned in
	//	`RouteAction`'s `prefix_rewrite`.
	PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3,oneof"`
}

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) Descriptor added in v1.6.0

func (RedirectAction_RedirectResponseCode) Enum added in v1.6.0

func (RedirectAction_RedirectResponseCode) EnumDescriptor deprecated

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

Deprecated: Use RedirectAction_RedirectResponseCode.Descriptor instead.

func (RedirectAction_RedirectResponseCode) Number added in v1.6.0

func (RedirectAction_RedirectResponseCode) String

func (RedirectAction_RedirectResponseCode) Type added in v1.6.0

type RedirectAction_RegexRewrite added in v1.9.25

type RedirectAction_RegexRewrite struct {
	// Indicates that during forwarding, portions of the path that match the
	// pattern should be rewritten, even allowing the substitution of capture
	// groups from the pattern into the new path as specified by the rewrite
	// substitution string. This is useful to allow application paths to be
	// rewritten in a way that is aware of segments with variable content like
	// identifiers. The router filter will place the original path as it was
	// before the rewrite into the :ref:`x-envoy-original-path
	// <config_http_filters_router_x-envoy-original-path>` header.
	//
	// Only one of :ref:`prefix_rewrite <envoy_api_field_config.route.v3.RouteAction.prefix_rewrite>`
	// or *regex_rewrite* may be specified.
	//
	// Examples using Google's `RE2 <https://github.com/google/re2>`_ engine:
	//
	//   - The path pattern “^/service/([^/]+)(/.*)$“ paired with a substitution
	//     string of “\2/instance/\1“ would transform “/service/foo/v1/api“
	//     into “/v1/api/instance/foo“.
	//
	//   - The pattern “one“ paired with a substitution string of “two“ would
	//     transform “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/two/zzz“.
	//
	//   - The pattern “^(.*?)one(.*)$“ paired with a substitution string of
	//     “\1two\2“ would replace only the first occurrence of “one“,
	//     transforming path “/xxx/one/yyy/one/zzz“ into “/xxx/two/yyy/one/zzz“.
	//
	//   - The pattern “(?i)/xxx/“ paired with a substitution string of “/yyy/“
	//     would do a case-insensitive match and transform path “/aaa/XxX/bbb“ to
	//     “/aaa/yyy/bbb“.
	RegexRewrite *v31.RegexMatchAndSubstitute `protobuf:"bytes,32,opt,name=regex_rewrite,json=regexRewrite,proto3,oneof"`
}

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 assignable to Action:
	//
	//	*Route_RouteAction
	//	*Route_RedirectAction
	//	*Route_DirectResponseAction
	//	*Route_GraphqlApiRef
	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"`
	// Types that are assignable to OpaqueMetadata:
	//
	//	*Route_Metadata
	//	*Route_MetadataStatic
	OpaqueMetadata isRoute_OpaqueMetadata `protobuf_oneof:"opaque_metadata"`
	// The name provides a convenience for users to be able to refer to a route by name.
	// It includes names of vs, route, and route table ancestors of the route.
	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

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

func (*Route) Clone added in v1.8.24

func (m *Route) Clone() proto.Message

Clone function

func (*Route) Descriptor deprecated

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

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) Equal

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

Equal function

func (*Route) GetAction

func (m *Route) GetAction() isRoute_Action

func (*Route) GetDirectResponseAction

func (x *Route) GetDirectResponseAction() *DirectResponseAction

func (*Route) GetGraphqlApiRef added in v1.9.25

func (x *Route) GetGraphqlApiRef() *core.ResourceRef

func (*Route) GetMatchers added in v1.0.0

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

func (*Route) GetMetadata added in v1.0.0

func (x *Route) GetMetadata() *_struct.Struct

func (*Route) GetMetadataStatic added in v1.9.25

func (x *Route) GetMetadataStatic() *SourceMetadata

func (*Route) GetName added in v1.3.4

func (x *Route) GetName() string

func (*Route) GetOpaqueMetadata added in v1.9.25

func (m *Route) GetOpaqueMetadata() isRoute_OpaqueMetadata

func (*Route) GetOptions added in v1.0.0

func (x *Route) GetOptions() *RouteOptions

func (*Route) GetRedirectAction

func (x *Route) GetRedirectAction() *RedirectAction

func (*Route) GetRouteAction

func (x *Route) GetRouteAction() *RouteAction

func (*Route) Hash added in v1.2.13

func (m *Route) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect added in v1.6.0

func (x *Route) ProtoReflect() protoreflect.Message

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

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 assignable to Destination:
	//
	//	*RouteAction_Single
	//	*RouteAction_Multi
	//	*RouteAction_UpstreamGroup
	//	*RouteAction_ClusterHeader
	//	*RouteAction_DynamicForwardProxy
	Destination isRouteAction_Destination `protobuf_oneof:"destination"`
	// contains filtered or unexported fields
}

RouteActions are used to route matched requests to upstreams.

func (*RouteAction) Clone added in v1.8.24

func (m *RouteAction) Clone() proto.Message

Clone function

func (*RouteAction) Descriptor deprecated

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

Deprecated: Use RouteAction.ProtoReflect.Descriptor instead.

func (*RouteAction) Equal

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

Equal function

func (*RouteAction) GetClusterHeader added in v1.5.11

func (x *RouteAction) GetClusterHeader() string

func (*RouteAction) GetDestination

func (m *RouteAction) GetDestination() isRouteAction_Destination

func (*RouteAction) GetDynamicForwardProxy added in v1.9.25

func (x *RouteAction) GetDynamicForwardProxy() *dynamic_forward_proxy.PerRouteConfig

func (*RouteAction) GetMulti

func (x *RouteAction) GetMulti() *MultiDestination

func (*RouteAction) GetSingle

func (x *RouteAction) GetSingle() *Destination

func (*RouteAction) GetUpstreamGroup added in v0.13.6

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

func (*RouteAction) Hash added in v1.2.13

func (m *RouteAction) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RouteAction) ProtoMessage

func (*RouteAction) ProtoMessage()

func (*RouteAction) ProtoReflect added in v1.6.0

func (x *RouteAction) ProtoReflect() protoreflect.Message

func (*RouteAction) Reset

func (x *RouteAction) Reset()

func (*RouteAction) String

func (x *RouteAction) String() string

type RouteAction_ClusterHeader added in v1.5.11

type RouteAction_ClusterHeader struct {
	// Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers.
	// If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response.
	// Avoid using this whenever possible, it does not allow for custom filter configuration based on Virtual Host.
	ClusterHeader string `protobuf:"bytes,4,opt,name=cluster_header,json=clusterHeader,proto3,oneof"`
}

type RouteAction_DynamicForwardProxy added in v1.9.25

type RouteAction_DynamicForwardProxy struct {
	// Route requests to a custom dynamic forward proxy envoy cluster.
	// Envoy will route based on the DNS response (cached) or pause requests
	// (for a configurable amount of time on the listener) until DNS has resolved for
	// the host header rewrite as provided here.
	// For more, see https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_proxy
	DynamicForwardProxy *dynamic_forward_proxy.PerRouteConfig `protobuf:"bytes,5,opt,name=dynamic_forward_proxy,json=dynamicForwardProxy,proto3,oneof"`
}

type RouteAction_Multi

type RouteAction_Multi struct {
	// Use MultiDestination to load balance requests between multiple upstreams (by weight)
	Multi *MultiDestination `protobuf:"bytes,2,opt,name=multi,proto3,oneof"`
}

type RouteAction_Single

type RouteAction_Single struct {
	// Use SingleDestination to route to a single upstream
	Single *Destination `protobuf:"bytes,1,opt,name=single,proto3,oneof"`
}

type RouteAction_UpstreamGroup added in v0.13.6

type RouteAction_UpstreamGroup struct {
	// Use a reference to an upstream group for routing.
	UpstreamGroup *core.ResourceRef `protobuf:"bytes,3,opt,name=upstream_group,json=upstreamGroup,proto3,oneof"`
}

type RouteConfigurationOptions added in v1.7.7

type RouteConfigurationOptions struct {

	// The maximum bytes of the response direct response body size. If not specified the default is 4096.
	// Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-field-config-route-v3-routeconfiguration-max-direct-response-body-size-bytes)
	// for more details about the `max_direct_response_body_size_bytes` attribute.
	MaxDirectResponseBodySizeBytes *wrappers.UInt32Value `` /* 159-byte string literal not displayed */
	// By default, headers that should be added/removed are evaluated from most to least specific.
	// To allow setting overrides at the route or virtual host level, this order can be reversed by setting this option to true.
	// Refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-v3-api-field-config-route-v3-routeconfiguration-most-specific-header-mutations-wins) for more details.
	MostSpecificHeaderMutationsWins *wrappers.BoolValue `` /* 160-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RouteConfigurationOptions) Clone added in v1.8.24

Clone function

func (*RouteConfigurationOptions) Descriptor deprecated added in v1.7.7

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

Deprecated: Use RouteConfigurationOptions.ProtoReflect.Descriptor instead.

func (*RouteConfigurationOptions) Equal added in v1.7.7

func (m *RouteConfigurationOptions) Equal(that interface{}) bool

Equal function

func (*RouteConfigurationOptions) GetMaxDirectResponseBodySizeBytes added in v1.7.7

func (x *RouteConfigurationOptions) GetMaxDirectResponseBodySizeBytes() *wrappers.UInt32Value

func (*RouteConfigurationOptions) GetMostSpecificHeaderMutationsWins added in v1.14.20

func (x *RouteConfigurationOptions) GetMostSpecificHeaderMutationsWins() *wrappers.BoolValue

func (*RouteConfigurationOptions) Hash added in v1.7.7

func (m *RouteConfigurationOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RouteConfigurationOptions) ProtoMessage added in v1.7.7

func (*RouteConfigurationOptions) ProtoMessage()

func (*RouteConfigurationOptions) ProtoReflect added in v1.7.7

func (*RouteConfigurationOptions) Reset added in v1.7.7

func (x *RouteConfigurationOptions) Reset()

func (*RouteConfigurationOptions) String added in v1.7.7

func (x *RouteConfigurationOptions) String() string

type RouteOptions added in v1.0.0

type RouteOptions struct {

	// Transformations to apply. Note: this field is superseded by `staged_transformations`.
	// If `staged_transformations.regular` is set, this field will be ignored.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.
	Transformations *transformation.Transformations `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 *wrappers.StringValue `protobuf:"bytes,3,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"`
	// Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point
	// at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has
	// been completely processed. A value of 0 will disable the route’s timeout.
	Timeout *duration.Duration   `protobuf:"bytes,4,opt,name=timeout,proto3" 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](https://docs.solo.io/gloo-edge/latest/guides/observability/tracing/) for additional information about configuring tracing with Gloo Edge.
	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-v3/config/route/v3/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 assignable to HostRewriteType:
	//
	//	*RouteOptions_HostRewrite
	//	*RouteOptions_AutoHostRewrite
	//	*RouteOptions_HostRewritePathRegex
	HostRewriteType isRouteOptions_HostRewriteType `protobuf_oneof:"host_rewrite_type"`
	// If true and there is a host rewrite, appends the x-forwarded-host header to requests.
	AppendXForwardedHost *wrappers.BoolValue `` /* 127-byte string literal not displayed */
	// 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"`
	// Route configuration for protocol upgrade requests.
	Upgrades []*protocol_upgrade.ProtocolUpgradeConfig `protobuf:"bytes,21,rep,name=upgrades,proto3" json:"upgrades,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"`
	// Types that are assignable to RateLimitEarlyConfigType:
	//
	//	*RouteOptions_RatelimitEarly
	//	*RouteOptions_RateLimitEarlyConfigs
	RateLimitEarlyConfigType isRouteOptions_RateLimitEarlyConfigType `protobuf_oneof:"rate_limit_early_config_type"`
	// Types that are assignable to RateLimitConfigType:
	//
	//	*RouteOptions_Ratelimit
	//	*RouteOptions_RateLimitConfigs
	RateLimitConfigType isRouteOptions_RateLimitConfigType `protobuf_oneof:"rate_limit_config_type"`
	// Types that are assignable to RateLimitRegularConfigType:
	//
	//	*RouteOptions_RatelimitRegular
	//	*RouteOptions_RateLimitRegularConfigs
	RateLimitRegularConfigType isRouteOptions_RateLimitRegularConfigType `protobuf_oneof:"rate_limit_regular_config_type"`
	// 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"`
	// Types that are assignable to JwtConfig:
	//
	//	*RouteOptions_Jwt
	//	*RouteOptions_JwtStaged
	JwtConfig isRouteOptions_JwtConfig `protobuf_oneof:"jwt_config"`
	// 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"`
	// BufferPerRoute can be used to set the maximum request size
	// that the filter will buffer before the connection
	// manager will stop buffering and return a 413 response.
	// Note: If you have not set a global config (at the gateway level), this
	// override will not do anything by itself.
	BufferPerRoute *v3.BufferPerRoute `protobuf:"bytes,22,opt,name=buffer_per_route,json=bufferPerRoute,proto3" json:"buffer_per_route,omitempty"`
	// Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode
	// where policies will be evaluated and tracked, but not enforced and add additional source origins
	// that will be allowed in addition to the destination origin.
	// For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto
	Csrf *v31.CsrfPolicy `protobuf:"bytes,24,opt,name=csrf,proto3" json:"csrf,omitempty"`
	// Early transformations stage. These transformations run before most other options are processed.
	// If the `regular` field is set in here, the `transformations` field is ignored.
	StagedTransformations *transformation.TransformationStages `protobuf:"bytes,23,opt,name=staged_transformations,json=stagedTransformations,proto3" json:"staged_transformations,omitempty"`
	// This field can be used to provide additional information about the route. This metadata can be consumed
	// by the Envoy filters that process requests that match the route. For more info about metadata, see
	// [here](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/data_sharing_between_filters#metadata).
	//
	// The value of this field will be propagated to the `metadata` attribute of the corresponding Envoy route.
	// Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-route)
	// for more details about the `metadata` attribute.
	EnvoyMetadata map[string]*_struct.Struct `` /* 189-byte string literal not displayed */
	// For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream
	// Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite)
	// for more details about the `regex_rewrite` attribute
	RegexRewrite *v32.RegexMatchAndSubstitute `protobuf:"bytes,27,opt,name=regex_rewrite,json=regexRewrite,proto3" json:"regex_rewrite,omitempty"`
	// Settings for maximum durations and timeouts for streams on the route.
	// Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-routeaction-maxstreamduration)
	MaxStreamDuration *RouteOptions_MaxStreamDuration `protobuf:"bytes,28,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"`
	// Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
	// although the Gateway's [httpConnectionManagerSettings](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/hcm/hcm.proto.sk/#httpconnectionmanagersettings)
	// wide stream_idle_timeout will still apply. A value of 0 will completely disable the route’s idle timeout, even if a connection manager stream idle timeout is configured.
	// Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-idle-timeout)
	IdleTimeout *duration.Duration `protobuf:"bytes,29,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// Enterprise-only: External Processing filter settings for the route. This can be used to
	// override certain HttpListenerOptions or VirtualHostOptions settings.
	ExtProc *extproc.RouteSettings `protobuf:"bytes,30,opt,name=ext_proc,json=extProc,proto3" json:"ext_proc,omitempty"`
	// contains filtered or unexported fields
}

Optional, feature-specific configuration that lives on routes. Each RouteOptions 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) Clone added in v1.8.24

func (m *RouteOptions) Clone() proto.Message

Clone function

func (*RouteOptions) Descriptor deprecated added in v1.0.0

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

Deprecated: Use RouteOptions.ProtoReflect.Descriptor instead.

func (*RouteOptions) Equal added in v1.0.0

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

Equal function

func (*RouteOptions) GetAppendXForwardedHost added in v1.14.18

func (x *RouteOptions) GetAppendXForwardedHost() *wrappers.BoolValue

func (*RouteOptions) GetAutoHostRewrite added in v1.0.0

func (x *RouteOptions) GetAutoHostRewrite() *wrappers.BoolValue

func (*RouteOptions) GetBufferPerRoute added in v1.4.0

func (x *RouteOptions) GetBufferPerRoute() *v3.BufferPerRoute

func (*RouteOptions) GetCors added in v1.0.0

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

func (*RouteOptions) GetCsrf added in v1.6.0

func (x *RouteOptions) GetCsrf() *v31.CsrfPolicy

func (*RouteOptions) GetDlp added in v1.0.0

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

func (*RouteOptions) GetEnvoyMetadata added in v1.6.11

func (x *RouteOptions) GetEnvoyMetadata() map[string]*_struct.Struct

func (*RouteOptions) GetExtProc added in v1.15.0

func (x *RouteOptions) GetExtProc() *extproc.RouteSettings

func (*RouteOptions) GetExtauth added in v1.0.0

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

func (*RouteOptions) GetExtensions added in v1.0.0

func (x *RouteOptions) GetExtensions() *Extensions

func (*RouteOptions) GetFaults added in v1.0.0

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

func (*RouteOptions) GetHeaderManipulation added in v1.0.0

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

func (*RouteOptions) GetHostRewrite added in v1.0.0

func (x *RouteOptions) GetHostRewrite() string

func (*RouteOptions) GetHostRewritePathRegex added in v1.14.0

func (x *RouteOptions) GetHostRewritePathRegex() *v32.RegexMatchAndSubstitute

func (*RouteOptions) GetHostRewriteType added in v1.0.0

func (m *RouteOptions) GetHostRewriteType() isRouteOptions_HostRewriteType

func (*RouteOptions) GetIdleTimeout added in v1.14.0

func (x *RouteOptions) GetIdleTimeout() *duration.Duration

func (*RouteOptions) GetJwt deprecated added in v1.0.0

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

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.

func (*RouteOptions) GetJwtConfig added in v1.6.4

func (m *RouteOptions) GetJwtConfig() isRouteOptions_JwtConfig

func (*RouteOptions) GetJwtStaged added in v1.6.4

func (x *RouteOptions) GetJwtStaged() *jwt.JwtStagedRouteExtension

func (*RouteOptions) GetLbHash added in v1.0.0

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

func (*RouteOptions) GetMaxStreamDuration added in v1.11.38

func (x *RouteOptions) GetMaxStreamDuration() *RouteOptions_MaxStreamDuration

func (*RouteOptions) GetPrefixRewrite added in v1.0.0

func (x *RouteOptions) GetPrefixRewrite() *wrappers.StringValue

func (*RouteOptions) GetRateLimitConfigType added in v1.5.0

func (m *RouteOptions) GetRateLimitConfigType() isRouteOptions_RateLimitConfigType

func (*RouteOptions) GetRateLimitConfigs added in v1.5.0

func (x *RouteOptions) GetRateLimitConfigs() *ratelimit.RateLimitConfigRefs

func (*RouteOptions) GetRateLimitEarlyConfigType added in v1.9.25

func (m *RouteOptions) GetRateLimitEarlyConfigType() isRouteOptions_RateLimitEarlyConfigType

func (*RouteOptions) GetRateLimitEarlyConfigs added in v1.9.25

func (x *RouteOptions) GetRateLimitEarlyConfigs() *ratelimit.RateLimitConfigRefs

func (*RouteOptions) GetRateLimitRegularConfigType added in v1.9.25

func (m *RouteOptions) GetRateLimitRegularConfigType() isRouteOptions_RateLimitRegularConfigType

func (*RouteOptions) GetRateLimitRegularConfigs added in v1.9.25

func (x *RouteOptions) GetRateLimitRegularConfigs() *ratelimit.RateLimitConfigRefs

func (*RouteOptions) GetRatelimit added in v1.0.0

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

func (*RouteOptions) GetRatelimitBasic added in v1.0.0

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

func (*RouteOptions) GetRatelimitEarly added in v1.9.25

func (x *RouteOptions) GetRatelimitEarly() *ratelimit.RateLimitRouteExtension

func (*RouteOptions) GetRatelimitRegular added in v1.9.25

func (x *RouteOptions) GetRatelimitRegular() *ratelimit.RateLimitRouteExtension

func (*RouteOptions) GetRbac added in v1.0.0

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

func (*RouteOptions) GetRegexRewrite added in v1.6.11

func (x *RouteOptions) GetRegexRewrite() *v32.RegexMatchAndSubstitute

func (*RouteOptions) GetRetries added in v1.0.0

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

func (*RouteOptions) GetShadowing added in v1.0.0

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

func (*RouteOptions) GetStagedTransformations added in v1.4.6

func (x *RouteOptions) GetStagedTransformations() *transformation.TransformationStages

func (*RouteOptions) GetTimeout added in v1.0.0

func (x *RouteOptions) GetTimeout() *duration.Duration

func (*RouteOptions) GetTracing added in v1.0.0

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

func (*RouteOptions) GetTransformations deprecated added in v1.0.0

func (x *RouteOptions) GetTransformations() *transformation.Transformations

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.

func (*RouteOptions) GetUpgrades added in v1.2.10

func (*RouteOptions) GetWaf added in v1.0.0

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

func (*RouteOptions) Hash added in v1.2.13

func (m *RouteOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RouteOptions) ProtoMessage added in v1.0.0

func (*RouteOptions) ProtoMessage()

func (*RouteOptions) ProtoReflect added in v1.6.0

func (x *RouteOptions) ProtoReflect() protoreflect.Message

func (*RouteOptions) Reset added in v1.0.0

func (x *RouteOptions) Reset()

func (*RouteOptions) String added in v1.0.0

func (x *RouteOptions) String() string

type RouteOptions_AutoHostRewrite added in v1.0.0

type RouteOptions_AutoHostRewrite struct {
	// Enable/Disable auto host re-write.
	// Indicates that the host header will be swapped with the hostname of the upstream host.
	// This setting is only honored for upstreams that use DNS resolution (i.e., their generated Envoy cluster is
	// of type STRICT_DNS or LOGICAL_DNS -- think aws, azure, or static upstreams with hostnames)
	AutoHostRewrite *wrappers.BoolValue `protobuf:"bytes,19,opt,name=auto_host_rewrite,json=autoHostRewrite,proto3,oneof"`
}

type RouteOptions_HostRewrite added in v1.0.0

type RouteOptions_HostRewrite struct {
	// Indicates that during forwarding, the host header will be swapped with this value.
	HostRewrite string `protobuf:"bytes,10,opt,name=host_rewrite,json=hostRewrite,proto3,oneof"`
}

type RouteOptions_HostRewritePathRegex added in v1.14.0

type RouteOptions_HostRewritePathRegex struct {
	// Indicates that during forwarding, the host header will be swapped with the result of the regex
	// substitution executed on path value with query and fragment removed.
	HostRewritePathRegex *v32.RegexMatchAndSubstitute `protobuf:"bytes,101,opt,name=host_rewrite_path_regex,json=hostRewritePathRegex,proto3,oneof"`
}

type RouteOptions_Jwt added in v1.6.4

type RouteOptions_Jwt struct {
	// 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.
	// This has been deprecated in favor of staged jwt. The same configuration can be achieved through staged jwt
	// using AfterExtAuth.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.
	Jwt *jwt.RouteExtension `protobuf:"bytes,16,opt,name=jwt,proto3,oneof"`
}

type RouteOptions_JwtStaged added in v1.6.4

type RouteOptions_JwtStaged struct {
	// 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 configuration has stages "BeforeExtAuth" and "AfterExtAuth". BeforeExtAuth JWT
	// validation runs before the external authentication service. This is useful when JWT
	// is used in conjunction with other auth mechanisms specified in the [boolean expression Extauth API](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extauth/v1/extauth.proto.sk/#authconfig).
	// AfterExtAuth validation runs after external authentication service, which is useful for verifying
	// JWTs obtained during extauth (e.g. oauth/oidc)
	JwtStaged *jwt.JwtStagedRouteExtension `protobuf:"bytes,25,opt,name=jwt_staged,json=jwtStaged,proto3,oneof"`
}

type RouteOptions_MaxStreamDuration added in v1.11.38

type RouteOptions_MaxStreamDuration struct {

	// Specifies the maximum duration allowed for streams on the route. If not specified, the value
	// from the [max_stream_duration](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-max-stream-duration)
	// field in [HttpConnectionManager.common_http_protocol_options](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-common-http-protocol-options)
	// is used. If this field is set explicitly to zero, any HttpConnectionManager max_stream_duration timeout will be disabled for this route.
	MaxStreamDuration *duration.Duration `protobuf:"bytes,1,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"`
	// If present, and the request contains a [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), use that value as the
	// `max_stream_duration`, but limit the applied timeout to the maximum value specified here.
	// If set to 0, the `grpc-timeout` header is used without modification.
	GrpcTimeoutHeaderMax *duration.Duration `protobuf:"bytes,2,opt,name=grpc_timeout_header_max,json=grpcTimeoutHeaderMax,proto3" json:"grpc_timeout_header_max,omitempty"`
	// If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by
	// subtracting the provided duration from the header. This is useful for allowing Envoy to set
	// its global timeout to be less than that of the deadline imposed by the calling client, which
	// makes it more likely that Envoy will handle the timeout instead of having the call canceled
	// by the client. If, after applying the offset, the resulting timeout is zero or negative,
	// the stream will timeout immediately.
	GrpcTimeoutHeaderOffset *duration.Duration `` /* 134-byte string literal not displayed */
	// contains filtered or unexported fields
}

This is a 1:1 translation to the [Envoy API described here](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-routeaction-maxstreamduration)

func (*RouteOptions_MaxStreamDuration) Clone added in v1.11.38

Clone function

func (*RouteOptions_MaxStreamDuration) Descriptor deprecated added in v1.11.38

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

Deprecated: Use RouteOptions_MaxStreamDuration.ProtoReflect.Descriptor instead.

func (*RouteOptions_MaxStreamDuration) Equal added in v1.11.38

func (m *RouteOptions_MaxStreamDuration) Equal(that interface{}) bool

Equal function

func (*RouteOptions_MaxStreamDuration) GetGrpcTimeoutHeaderMax added in v1.11.38

func (x *RouteOptions_MaxStreamDuration) GetGrpcTimeoutHeaderMax() *duration.Duration

func (*RouteOptions_MaxStreamDuration) GetGrpcTimeoutHeaderOffset added in v1.11.38

func (x *RouteOptions_MaxStreamDuration) GetGrpcTimeoutHeaderOffset() *duration.Duration

func (*RouteOptions_MaxStreamDuration) GetMaxStreamDuration added in v1.11.38

func (x *RouteOptions_MaxStreamDuration) GetMaxStreamDuration() *duration.Duration

func (*RouteOptions_MaxStreamDuration) Hash added in v1.11.38

Hash function

func (*RouteOptions_MaxStreamDuration) ProtoMessage added in v1.11.38

func (*RouteOptions_MaxStreamDuration) ProtoMessage()

func (*RouteOptions_MaxStreamDuration) ProtoReflect added in v1.11.38

func (*RouteOptions_MaxStreamDuration) Reset added in v1.11.38

func (x *RouteOptions_MaxStreamDuration) Reset()

func (*RouteOptions_MaxStreamDuration) String added in v1.11.38

type RouteOptions_RateLimitConfigs added in v1.5.0

type RouteOptions_RateLimitConfigs struct {
	// References to RateLimitConfig resources. This is used to configure the GlooE rate limit server.
	// Only one of `ratelimit` or `rate_limit_configs` can be set.
	RateLimitConfigs *ratelimit.RateLimitConfigRefs `protobuf:"bytes,141,opt,name=rate_limit_configs,json=rateLimitConfigs,proto3,oneof"`
}

type RouteOptions_RateLimitEarlyConfigs added in v1.9.25

type RouteOptions_RateLimitEarlyConfigs struct {
	// References to RateLimitConfig resources. This is used to configure the GlooE rate limit server.
	// Only one of `ratelimit_early` or `rate_limit_early_configs` can be set.
	RateLimitEarlyConfigs *ratelimit.RateLimitConfigRefs `protobuf:"bytes,143,opt,name=rate_limit_early_configs,json=rateLimitEarlyConfigs,proto3,oneof"`
}

type RouteOptions_RateLimitRegularConfigs added in v1.9.25

type RouteOptions_RateLimitRegularConfigs struct {
	// References to RateLimitConfig resources. This is used to configure the GlooE rate limit server.
	// Only one of `ratelimit_early` or `rate_limit_early_configs` can be set.
	RateLimitRegularConfigs *ratelimit.RateLimitConfigRefs `protobuf:"bytes,145,opt,name=rate_limit_regular_configs,json=rateLimitRegularConfigs,proto3,oneof"`
}

type RouteOptions_Ratelimit added in v1.5.0

type RouteOptions_Ratelimit struct {
	// 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.
	// Only one of `ratelimit` or `rate_limit_configs` can be set.
	Ratelimit *ratelimit.RateLimitRouteExtension `protobuf:"bytes,140,opt,name=ratelimit,proto3,oneof"`
}

type RouteOptions_RatelimitEarly added in v1.9.25

type RouteOptions_RatelimitEarly struct {
	// 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.
	// Only one of `ratelimit_early` or `rate_limit_early_configs` can be set.
	RatelimitEarly *ratelimit.RateLimitRouteExtension `protobuf:"bytes,142,opt,name=ratelimit_early,json=ratelimitEarly,proto3,oneof"`
}

type RouteOptions_RatelimitRegular added in v1.9.25

type RouteOptions_RatelimitRegular struct {
	// 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.
	// Only one of `ratelimit_early` or `rate_limit_early_configs` can be set.
	RatelimitRegular *ratelimit.RateLimitRouteExtension `protobuf:"bytes,144,opt,name=ratelimit_regular,json=ratelimitRegular,proto3,oneof"`
}

type Route_DirectResponseAction

type Route_DirectResponseAction struct {
	// Return an arbitrary HTTP response directly, without proxying.
	DirectResponseAction *DirectResponseAction `protobuf:"bytes,4,opt,name=direct_response_action,json=directResponseAction,proto3,oneof"`
}

type Route_GraphqlApiRef added in v1.9.25

type Route_GraphqlApiRef struct {
	// Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change.
	// A reference to a GraphQLApi CR. Resolution of the client request to upstream(s) will be delegated to
	// the resolution policies defined in the GraphQLApi CR. If configured, the graphql filter will operate
	// instead of the envoy router filter, so configuration (such as retries) that applies to the router filter
	// will not be applied.
	GraphqlApiRef *core.ResourceRef `protobuf:"bytes,8,opt,name=graphql_api_ref,json=graphqlApiRef,proto3,oneof"`
}

type Route_Metadata added in v1.9.25

type Route_Metadata struct {
	// 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)
	// Deprecated: prefer the any field below
	Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3,oneof"`
}

type Route_MetadataStatic added in v1.9.25

type Route_MetadataStatic struct {
	// Inline metadata used by gloo controller to track ownership
	MetadataStatic *SourceMetadata `protobuf:"bytes,9,opt,name=metadata_static,json=metadataStatic,proto3,oneof"`
}

type Route_RedirectAction

type Route_RedirectAction struct {
	// Redirect actions tell the proxy to return a redirect response to the downstream client
	RedirectAction *RedirectAction `protobuf:"bytes,3,opt,name=redirect_action,json=redirectAction,proto3,oneof"`
}

type Route_RouteAction

type Route_RouteAction struct {
	// This action is the primary action to be selected for most routes. The RouteAction tells the proxy to
	// route requests to an upstream.
	RouteAction *RouteAction `protobuf:"bytes,2,opt,name=route_action,json=routeAction,proto3,oneof"`
}

type Secret

type Secret struct {

	// Types that are assignable to Kind:
	//
	//	*Secret_Aws
	//	*Secret_Azure
	//	*Secret_Tls
	//	*Secret_Oauth
	//	*Secret_ApiKey
	//	*Secret_Header
	//	*Secret_Credentials
	//	*Secret_Encryption
	//	*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,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *Secret) Clone() proto.Message

Clone function

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 deprecated

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

Deprecated: Use Secret.ProtoReflect.Descriptor instead.

func (*Secret) Equal

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

Equal function

func (*Secret) GetApiKey added in v1.0.0

func (x *Secret) GetApiKey() *v1.ApiKey

func (*Secret) GetAws

func (x *Secret) GetAws() *AwsSecret

func (*Secret) GetAzure

func (x *Secret) GetAzure() *AzureSecret

func (*Secret) GetCredentials added in v1.13.0

func (x *Secret) GetCredentials() *AccountCredentialsSecret

func (*Secret) GetEncryption added in v1.14.2

func (x *Secret) GetEncryption() *EncryptionKeySecret

func (*Secret) GetExtensions added in v1.0.0

func (x *Secret) GetExtensions() *Extensions

func (*Secret) GetHeader added in v1.4.11

func (x *Secret) GetHeader() *HeaderSecret

func (*Secret) GetKind

func (m *Secret) GetKind() isSecret_Kind

func (*Secret) GetMetadata

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

func (*Secret) GetOauth added in v1.0.0

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

func (*Secret) GetObjectKind

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

func (*Secret) GetTls

func (x *Secret) GetTls() *TlsSecret

func (*Secret) GroupVersionKind added in v0.18.0

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

func (*Secret) Hash

func (m *Secret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Secret) MustHash added in v1.2.13

func (r *Secret) MustHash() uint64

func (*Secret) ProtoMessage

func (*Secret) ProtoMessage()

func (*Secret) ProtoReflect added in v1.6.0

func (x *Secret) ProtoReflect() protoreflect.Message

func (*Secret) Reset

func (x *Secret) Reset()

func (*Secret) SetMetadata

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

func (*Secret) String

func (x *Secret) String() string

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(ctx context.Context, rcFactory factory.ResourceClientFactory) (SecretClient, error)

func NewSecretClientWithBase

func NewSecretClientWithBase(rc clients.ResourceClient) SecretClient

func NewSecretClientWithToken

func NewSecretClientWithToken(ctx context.Context, 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)

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, statusSetter resources.StatusSetter) 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 {
	// Enterprise-only: ApiKey secret configuration
	ApiKey *v1.ApiKey `protobuf:"bytes,6,opt,name=api_key,json=apiKey,proto3,oneof"`
}

type Secret_Aws

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

type Secret_Azure

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

type Secret_Credentials added in v1.13.0

type Secret_Credentials struct {
	// Secrets to represent user/secret pairs. Used to authenticate to LDAP service accounts and hold shared secrets for HMAC auth.
	Credentials *AccountCredentialsSecret `protobuf:"bytes,9,opt,name=credentials,proto3,oneof"`
}

type Secret_Encryption added in v1.14.2

type Secret_Encryption struct {
	// Enterprise-only: Secrets used to encrypt messages and data. Used to encrypt and decrypt session values in Ext-Auth.
	Encryption *EncryptionKeySecret `protobuf:"bytes,10,opt,name=encryption,proto3,oneof"`
}

type Secret_Extensions added in v1.0.0

type Secret_Extensions 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,4,opt,name=extensions,proto3,oneof"`
}

type Secret_Header added in v1.4.11

type Secret_Header struct {
	// Secrets for use in header payloads (e.g. in the Envoy healthcheck API)
	Header *HeaderSecret `protobuf:"bytes,8,opt,name=header,proto3,oneof"`
}

type Secret_Oauth added in v1.0.0

type Secret_Oauth struct {
	// Enterprise-only: OAuth secret configuration
	Oauth *v1.OauthSecret `protobuf:"bytes,5,opt,name=oauth,proto3,oneof"`
}

type Secret_Tls

type Secret_Tls struct {
	// TLS secret specification
	Tls *TlsSecret `protobuf:"bytes,3,opt,name=tls,proto3,oneof"`
}

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 assignable 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 assignable to SecretSource:
	//
	//	*Settings_KubernetesSecretSource
	//	*Settings_VaultSecretSource
	//	*Settings_DirectorySecretSource
	SecretSource isSettings_SecretSource `protobuf_oneof:"secret_source"`
	// Settings for secrets storage.
	// This API is experimental and not suitable for production use
	SecretOptions *Settings_SecretOptions `protobuf:"bytes,38,opt,name=secret_options,json=secretOptions,proto3" json:"secret_options,omitempty"`
	// Where to read artifacts from.
	//
	// Types that are assignable to ArtifactSource:
	//
	//	*Settings_KubernetesArtifactSource
	//	*Settings_DirectoryArtifactSource
	//	*Settings_ConsulKvArtifactSource
	ArtifactSource isSettings_ArtifactSource `protobuf_oneof:"artifact_source"`
	// How frequently to resync watches, etc
	RefreshRate *duration.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).
	// Deprecated: Will not be available in Gloo Edge 1.11
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.
	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"`
	ConsulDiscovery *Settings_ConsulUpstreamDiscoveryConfiguration `protobuf:"bytes,30,opt,name=consulDiscovery,proto3" json:"consulDiscovery,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"`
	// Enterprise-only: External auth related settings for additional auth servers
	// This should only be used in the case where separate servers are needed to authorize separate routes.
	// With multiple auth servers configured in Settings, multiple filters will be configured
	// on the filter chain, but only 1 will be executed on a route.
	// The name of the auth server (ie the key in the map) will be used to apply the configuration on the route.
	// If an auth server name is not supplied on a route, the default auth server will be applied.
	NamedExtauth map[string]*v1.Settings `` /* 186-byte string literal not displayed */
	// Enterprise-only: Settings for the caching server itself
	// This may eventually be able to be set at a per listener level.
	// At this time is used for plugin translation via the init.Params.
	CachingServer *caching.Settings `protobuf:"bytes,36,opt,name=caching_server,json=cachingServer,proto3" json:"caching_server,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,14,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// NamespacedStatuses indicates the validation status of this resource.
	// NamespacedStatuses is read-only by clients, and set by gloo during validation
	NamespacedStatuses *core.NamespacedStatuses `protobuf:"bytes,34,opt,name=namespaced_statuses,json=namespacedStatuses,proto3" json:"namespaced_statuses,omitempty"`
	// Provides settings related to the observability deployment (enterprise only)
	ObservabilityOptions *Settings_ObservabilityOptions `protobuf:"bytes,31,opt,name=observabilityOptions,proto3" json:"observabilityOptions,omitempty"`
	// Default configuration to use for upstreams, when not provided by specific upstream
	// When these properties are defined on an upstream, this configuration will be ignored
	UpstreamOptions *UpstreamOptions `protobuf:"bytes,32,opt,name=upstreamOptions,proto3" json:"upstreamOptions,omitempty"`
	// Enterprise-only: Settings for the Gloo Edge Enterprise Console (UI)
	ConsoleOptions *ConsoleOptions `protobuf:"bytes,35,opt,name=console_options,json=consoleOptions,proto3" json:"console_options,omitempty"`
	// Enterprise-only: GraphQL settings
	GraphqlOptions *GraphqlOptions `protobuf:"bytes,37,opt,name=graphql_options,json=graphqlOptions,proto3" json:"graphql_options,omitempty"`
	// Enterprise-only: External Processing filter settings. These settings are used as
	// defaults globally, and can be overridden by HttpListenerOptions, VirtualHostOptions,
	// or RouteOptions.
	ExtProc *extproc.Settings `protobuf:"bytes,39,opt,name=ext_proc,json=extProc,proto3" json:"ext_proc,omitempty"`
	// contains filtered or unexported fields
}

Represents global settings for all the Gloo components.

func NewSettings

func NewSettings(namespace, name string) *Settings

func (*Settings) Clone added in v1.8.24

func (m *Settings) Clone() proto.Message

Clone function

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 deprecated

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

Deprecated: Use Settings.ProtoReflect.Descriptor instead.

func (*Settings) Equal

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

Equal function

func (*Settings) GetArtifactSource

func (m *Settings) GetArtifactSource() isSettings_ArtifactSource

func (*Settings) GetCachingServer added in v1.9.25

func (x *Settings) GetCachingServer() *caching.Settings

func (*Settings) GetConfigSource

func (m *Settings) GetConfigSource() isSettings_ConfigSource

func (*Settings) GetConsoleOptions added in v1.9.25

func (x *Settings) GetConsoleOptions() *ConsoleOptions

func (*Settings) GetConsul added in v0.17.1

func (x *Settings) GetConsul() *Settings_ConsulConfiguration

func (*Settings) GetConsulDiscovery added in v1.6.0

func (*Settings) GetConsulKvArtifactSource added in v0.18.23

func (x *Settings) GetConsulKvArtifactSource() *Settings_ConsulKv

func (*Settings) GetConsulKvSource added in v0.18.0

func (x *Settings) GetConsulKvSource() *Settings_ConsulKv

func (*Settings) GetDevMode

func (x *Settings) GetDevMode() bool

func (*Settings) GetDirectoryArtifactSource

func (x *Settings) GetDirectoryArtifactSource() *Settings_Directory

func (*Settings) GetDirectoryConfigSource

func (x *Settings) GetDirectoryConfigSource() *Settings_Directory

func (*Settings) GetDirectorySecretSource

func (x *Settings) GetDirectorySecretSource() *Settings_Directory

func (*Settings) GetDiscovery added in v0.17.0

func (x *Settings) GetDiscovery() *Settings_DiscoveryOptions

func (*Settings) GetDiscoveryNamespace

func (x *Settings) GetDiscoveryNamespace() string

func (*Settings) GetExtProc added in v1.15.0

func (x *Settings) GetExtProc() *extproc.Settings

func (*Settings) GetExtauth added in v0.20.0

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

func (*Settings) GetExtensions

func (x *Settings) GetExtensions() *Extensions

func (*Settings) GetGateway added in v0.18.43

func (x *Settings) GetGateway() *GatewayOptions

func (*Settings) GetGloo added in v0.18.43

func (x *Settings) GetGloo() *GlooOptions

func (*Settings) GetGraphqlOptions added in v1.9.25

func (x *Settings) GetGraphqlOptions() *GraphqlOptions

func (*Settings) GetKnative deprecated added in v0.15.0

func (x *Settings) GetKnative() *Settings_KnativeOptions

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.

func (*Settings) GetKubernetes added in v0.18.12

func (x *Settings) GetKubernetes() *Settings_KubernetesConfiguration

func (*Settings) GetKubernetesArtifactSource

func (x *Settings) GetKubernetesArtifactSource() *Settings_KubernetesConfigmaps

func (*Settings) GetKubernetesConfigSource

func (x *Settings) GetKubernetesConfigSource() *Settings_KubernetesCrds

func (*Settings) GetKubernetesSecretSource

func (x *Settings) GetKubernetesSecretSource() *Settings_KubernetesSecrets

func (*Settings) GetLinkerd added in v0.13.20

func (x *Settings) GetLinkerd() bool

func (*Settings) GetMetadata

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

func (*Settings) GetNamedExtauth added in v1.8.0

func (x *Settings) GetNamedExtauth() map[string]*v1.Settings

func (*Settings) GetNamespacedStatuses added in v1.9.0

func (x *Settings) GetNamespacedStatuses() *core.NamespacedStatuses

func (*Settings) GetObjectKind

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

func (*Settings) GetObservabilityOptions added in v1.6.0

func (x *Settings) GetObservabilityOptions() *Settings_ObservabilityOptions

func (*Settings) GetRatelimit added in v0.20.2

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

func (*Settings) GetRatelimitServer added in v0.18.43

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

func (*Settings) GetRbac added in v0.19.2

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

func (*Settings) GetRefreshRate

func (x *Settings) GetRefreshRate() *duration.Duration

func (*Settings) GetSecretOptions added in v1.14.7

func (x *Settings) GetSecretOptions() *Settings_SecretOptions

func (*Settings) GetSecretSource

func (m *Settings) GetSecretSource() isSettings_SecretSource

func (*Settings) GetStatus

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

Deprecated

func (*Settings) GetUpstreamOptions added in v1.6.8

func (x *Settings) GetUpstreamOptions() *UpstreamOptions

func (*Settings) GetVaultSecretSource

func (x *Settings) GetVaultSecretSource() *Settings_VaultSecrets

func (*Settings) GetWatchNamespaces

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

func (*Settings) GroupVersionKind added in v0.18.0

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

func (*Settings) Hash

func (m *Settings) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings) MustHash added in v1.2.13

func (r *Settings) MustHash() uint64

func (*Settings) ProtoMessage

func (*Settings) ProtoMessage()

func (*Settings) ProtoReflect added in v1.6.0

func (x *Settings) ProtoReflect() protoreflect.Message

func (*Settings) Reset

func (x *Settings) Reset()

func (*Settings) SetMetadata

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

func (*Settings) SetNamespacedStatuses added in v1.9.0

func (r *Settings) SetNamespacedStatuses(namespacedStatuses *core.NamespacedStatuses)

func (*Settings) SetStatus

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

Deprecated

func (*Settings) String

func (x *Settings) String() string

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(ctx context.Context, rcFactory factory.ResourceClientFactory) (SettingsClient, error)

func NewSettingsClientWithBase

func NewSettingsClientWithBase(rc clients.ResourceClient) SettingsClient

func NewSettingsClientWithToken

func NewSettingsClientWithToken(ctx context.Context, 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)

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, statusSetter resources.StatusSetter) 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 {

	// Deprecated: prefer http_address.
	// The address of the Consul HTTP server.
	// Used by service discovery and key-value storage (if-enabled).
	// Defaults to the value of the standard CONSUL_HTTP_ADDR env if set, otherwise to 127.0.0.1:8500.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.
	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 *wrappers.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 *duration.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"`
	// The address of the Consul HTTP server.
	// Used by service discovery and key-value storage (if-enabled).
	// Defaults to the value of the standard CONSUL_HTTP_ADDR env if set, otherwise to 127.0.0.1:8500.
	HttpAddress string `protobuf:"bytes,13,opt,name=http_address,json=httpAddress,proto3" json:"http_address,omitempty"`
	// The address of the DNS server used to resolve hostnames in the Consul service address.
	// Used by service discovery (required when Consul service instances are stored as DNS names).
	// Defaults to 127.0.0.1:8600. (the default Consul DNS server)
	DnsAddress string `protobuf:"bytes,14,opt,name=dns_address,json=dnsAddress,proto3" json:"dns_address,omitempty"`
	// The polling interval for the DNS server.
	// If there is a Consul service address with a hostname instead of an IP, Gloo will resolve the
	// hostname with the configured frequency to update endpoints with any changes to DNS resolution.
	// Defaults to 5s.
	DnsPollingInterval *duration.Duration `protobuf:"bytes,15,opt,name=dns_polling_interval,json=dnsPollingInterval,proto3" json:"dns_polling_interval,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

Clone function

func (*Settings_ConsulConfiguration) Descriptor deprecated added in v0.17.1

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

Deprecated: Use Settings_ConsulConfiguration.ProtoReflect.Descriptor instead.

func (*Settings_ConsulConfiguration) Equal added in v0.17.1

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

Equal function

func (*Settings_ConsulConfiguration) GetAddress deprecated added in v0.17.1

func (x *Settings_ConsulConfiguration) GetAddress() string

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.

func (*Settings_ConsulConfiguration) GetCaFile added in v0.18.0

func (x *Settings_ConsulConfiguration) GetCaFile() string

func (*Settings_ConsulConfiguration) GetCaPath added in v0.18.0

func (x *Settings_ConsulConfiguration) GetCaPath() string

func (*Settings_ConsulConfiguration) GetCertFile added in v0.18.0

func (x *Settings_ConsulConfiguration) GetCertFile() string

func (*Settings_ConsulConfiguration) GetDatacenter added in v0.18.0

func (x *Settings_ConsulConfiguration) GetDatacenter() string

func (*Settings_ConsulConfiguration) GetDnsAddress added in v1.3.7

func (x *Settings_ConsulConfiguration) GetDnsAddress() string

func (*Settings_ConsulConfiguration) GetDnsPollingInterval added in v1.3.7

func (x *Settings_ConsulConfiguration) GetDnsPollingInterval() *duration.Duration

func (*Settings_ConsulConfiguration) GetHttpAddress added in v1.3.7

func (x *Settings_ConsulConfiguration) GetHttpAddress() string

func (*Settings_ConsulConfiguration) GetInsecureSkipVerify added in v0.18.0

func (x *Settings_ConsulConfiguration) GetInsecureSkipVerify() *wrappers.BoolValue

func (*Settings_ConsulConfiguration) GetKeyFile added in v0.18.0

func (x *Settings_ConsulConfiguration) GetKeyFile() string

func (*Settings_ConsulConfiguration) GetPassword added in v0.18.0

func (x *Settings_ConsulConfiguration) GetPassword() string

func (*Settings_ConsulConfiguration) GetServiceDiscovery added in v0.18.0

func (*Settings_ConsulConfiguration) GetToken added in v0.18.0

func (x *Settings_ConsulConfiguration) GetToken() string

func (*Settings_ConsulConfiguration) GetUsername added in v0.18.0

func (x *Settings_ConsulConfiguration) GetUsername() string

func (*Settings_ConsulConfiguration) GetWaitTime added in v0.17.1

func (*Settings_ConsulConfiguration) Hash added in v1.2.13

Hash function

func (*Settings_ConsulConfiguration) ProtoMessage added in v0.17.1

func (*Settings_ConsulConfiguration) ProtoMessage()

func (*Settings_ConsulConfiguration) ProtoReflect added in v1.6.0

func (*Settings_ConsulConfiguration) Reset added in v0.17.1

func (x *Settings_ConsulConfiguration) Reset()

func (*Settings_ConsulConfiguration) String added in v0.17.1

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"`
	// contains filtered or unexported fields
}

service discovery options for Consul

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Clone added in v1.8.24

Clone function

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Descriptor deprecated added in v0.18.0

Deprecated: Use Settings_ConsulConfiguration_ServiceDiscoveryOptions.ProtoReflect.Descriptor instead.

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Equal added in v0.18.0

Equal function

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) GetDataCenters added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Hash added in v1.2.13

Hash function

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) ProtoMessage added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) ProtoReflect added in v1.6.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) Reset added in v0.18.0

func (*Settings_ConsulConfiguration_ServiceDiscoveryOptions) String 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"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *Settings_ConsulKv) Clone() proto.Message

Clone function

func (*Settings_ConsulKv) Descriptor deprecated added in v0.18.0

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

Deprecated: Use Settings_ConsulKv.ProtoReflect.Descriptor instead.

func (*Settings_ConsulKv) Equal added in v0.18.0

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

Equal function

func (*Settings_ConsulKv) GetRootKey added in v0.18.0

func (x *Settings_ConsulKv) GetRootKey() string

func (*Settings_ConsulKv) Hash added in v1.2.13

func (m *Settings_ConsulKv) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_ConsulKv) ProtoMessage added in v0.18.0

func (*Settings_ConsulKv) ProtoMessage()

func (*Settings_ConsulKv) ProtoReflect added in v1.6.0

func (x *Settings_ConsulKv) ProtoReflect() protoreflect.Message

func (*Settings_ConsulKv) Reset added in v0.18.0

func (x *Settings_ConsulKv) Reset()

func (*Settings_ConsulKv) String added in v0.18.0

func (x *Settings_ConsulKv) String() string

type Settings_ConsulKvArtifactSource added in v0.18.23

type Settings_ConsulKvArtifactSource struct {
	ConsulKvArtifactSource *Settings_ConsulKv `protobuf:"bytes,23,opt,name=consul_kv_artifact_source,json=consulKvArtifactSource,proto3,oneof"`
}

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"`
}

type Settings_ConsulUpstreamDiscoveryConfiguration added in v1.6.0

type Settings_ConsulUpstreamDiscoveryConfiguration struct {

	// If true, then gloo will add TLS to upstreams created for any consul service that has the tag specified by
	// tlsTagName. If splitTlsServices is true, then this tag is also used to identify serviceInstances that
	// should be tied to the TLS upstream. Requires rootCa to be set if true.
	UseTlsTagging bool `protobuf:"varint,16,opt,name=useTlsTagging,proto3" json:"useTlsTagging,omitempty"`
	// The tag that gloo should use to make TLS upstreams from consul services, and to partition consul
	// serviceInstances between TLS/non-TLS upstreams. Defaults to 'glooUseTls'
	TlsTagName string `protobuf:"bytes,17,opt,name=tlsTagName,proto3" json:"tlsTagName,omitempty"`
	// The reference for the root CA resource to be used by discovered consul TLS upstreams.
	RootCa *core.ResourceRef `protobuf:"bytes,18,opt,name=rootCa,proto3" json:"rootCa,omitempty"`
	// If true, then create two upstreams when the tlsTagName is found on a consul service,
	// one with tls and one without. This requires a consul service's serviceInstances
	// be individually tagged; servicesInstances with the tlsTagName tag are directed to the TLS upstream, while those
	// without the tlsTagName tag are sorted into the non-TLS upstream.
	SplitTlsServices bool `protobuf:"varint,19,opt,name=splitTlsServices,proto3" json:"splitTlsServices,omitempty"`
	// Sets the consistency mode. The default is DefaultMode.
	//
	// Note: Gloo handles staleness well (as it runs update loops ~ once/second) but makes many requests
	// to get consul endpoints so users may want to opt into stale reads once the implications are understood.
	ConsistencyMode consul.ConsulConsistencyModes `` /* 141-byte string literal not displayed */
	// QueryOptions are the query options to use for all Consul queries.
	QueryOptions *consul.QueryOptions `protobuf:"bytes,21,opt,name=query_options,json=queryOptions,proto3" json:"query_options,omitempty"`
	// All Services with tags in the allowlisted values will have endpoints and upstreams discovered.
	// Default is all services - if values specified this will limit discovery to only services with specified tags
	ServiceTagsAllowlist []string `protobuf:"bytes,22,rep,name=service_tags_allowlist,json=serviceTagsAllowlist,proto3" json:"service_tags_allowlist,omitempty"`
	// Enables blocking queries for Gloo's requests to the Consul Catalog API for each service
	// (`/catalog/service/:servicename`) to get endpoints for EDS. For more on blocking queries, see
	// https://www.consul.io/api-docs/features/blocking
	//
	// Enabling this feature will likely result in fewer network calls to Consul, but may also result in
	// fewer local consul agent cache hits for Gloo's requests to the Consul Catalog API. (see
	// `query_options` above to configure caching; caching is enabled by default).
	//
	// Defaults to false.
	EdsBlockingQueries *wrappers.BoolValue `protobuf:"bytes,23,opt,name=eds_blocking_queries,json=edsBlockingQueries,proto3" json:"eds_blocking_queries,omitempty"`
	// contains filtered or unexported fields
}

Settings related to gloo's behavior when discovering consul services and creating upstreams to connect to those services and their instances.

func (*Settings_ConsulUpstreamDiscoveryConfiguration) Clone added in v1.8.24

Clone function

func (*Settings_ConsulUpstreamDiscoveryConfiguration) Descriptor deprecated added in v1.6.0

Deprecated: Use Settings_ConsulUpstreamDiscoveryConfiguration.ProtoReflect.Descriptor instead.

func (*Settings_ConsulUpstreamDiscoveryConfiguration) Equal added in v1.6.0

func (m *Settings_ConsulUpstreamDiscoveryConfiguration) Equal(that interface{}) bool

Equal function

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetConsistencyMode added in v1.9.25

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetEdsBlockingQueries added in v1.13.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetQueryOptions added in v1.9.25

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetRootCa added in v1.6.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetServiceTagsAllowlist added in v1.9.25

func (x *Settings_ConsulUpstreamDiscoveryConfiguration) GetServiceTagsAllowlist() []string

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetSplitTlsServices added in v1.6.0

func (x *Settings_ConsulUpstreamDiscoveryConfiguration) GetSplitTlsServices() bool

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetTlsTagName added in v1.6.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) GetUseTlsTagging added in v1.6.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) Hash added in v1.6.0

Hash function

func (*Settings_ConsulUpstreamDiscoveryConfiguration) ProtoMessage added in v1.6.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) ProtoReflect added in v1.6.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) Reset added in v1.6.0

func (*Settings_ConsulUpstreamDiscoveryConfiguration) String added in v1.6.0

type Settings_Directory

type Settings_Directory struct {
	Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
	// contains filtered or unexported fields
}

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) Clone added in v1.8.24

func (m *Settings_Directory) Clone() proto.Message

Clone function

func (*Settings_Directory) Descriptor deprecated

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

Deprecated: Use Settings_Directory.ProtoReflect.Descriptor instead.

func (*Settings_Directory) Equal

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

Equal function

func (*Settings_Directory) GetDirectory

func (x *Settings_Directory) GetDirectory() string

func (*Settings_Directory) Hash added in v1.2.13

func (m *Settings_Directory) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_Directory) ProtoMessage

func (*Settings_Directory) ProtoMessage()

func (*Settings_Directory) ProtoReflect added in v1.6.0

func (x *Settings_Directory) ProtoReflect() protoreflect.Message

func (*Settings_Directory) Reset

func (x *Settings_Directory) Reset()

func (*Settings_Directory) String

func (x *Settings_Directory) String() string

type Settings_DirectoryArtifactSource

type Settings_DirectoryArtifactSource struct {
	DirectoryArtifactSource *Settings_Directory `protobuf:"bytes,10,opt,name=directory_artifact_source,json=directoryArtifactSource,proto3,oneof"`
}

type Settings_DirectoryConfigSource

type Settings_DirectoryConfigSource struct {
	DirectoryConfigSource *Settings_Directory `protobuf:"bytes,5,opt,name=directory_config_source,json=directoryConfigSource,proto3,oneof"`
}

type Settings_DirectorySecretSource

type Settings_DirectorySecretSource struct {
	DirectorySecretSource *Settings_Directory `protobuf:"bytes,8,opt,name=directory_secret_source,json=directorySecretSource,proto3,oneof"`
}

type Settings_DiscoveryOptions added in v0.17.0

type Settings_DiscoveryOptions struct {
	FdsMode    Settings_DiscoveryOptions_FdsMode     `` /* 135-byte string literal not displayed */
	UdsOptions *Settings_DiscoveryOptions_UdsOptions `protobuf:"bytes,2,opt,name=uds_options,json=udsOptions,proto3" json:"uds_options,omitempty"`
	FdsOptions *Settings_DiscoveryOptions_FdsOptions `protobuf:"bytes,3,opt,name=fds_options,json=fdsOptions,proto3" json:"fds_options,omitempty"`
	// contains filtered or unexported fields
}

func (*Settings_DiscoveryOptions) Clone added in v1.8.24

Clone function

func (*Settings_DiscoveryOptions) Descriptor deprecated added in v0.17.0

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

Deprecated: Use Settings_DiscoveryOptions.ProtoReflect.Descriptor instead.

func (*Settings_DiscoveryOptions) Equal added in v0.17.0

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

Equal function

func (*Settings_DiscoveryOptions) GetFdsMode added in v0.17.0

func (*Settings_DiscoveryOptions) GetFdsOptions added in v1.11.44

func (*Settings_DiscoveryOptions) GetUdsOptions added in v1.9.5

func (*Settings_DiscoveryOptions) Hash added in v1.2.13

func (m *Settings_DiscoveryOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_DiscoveryOptions) ProtoMessage added in v0.17.0

func (*Settings_DiscoveryOptions) ProtoMessage()

func (*Settings_DiscoveryOptions) ProtoReflect added in v1.6.0

func (*Settings_DiscoveryOptions) Reset added in v0.17.0

func (x *Settings_DiscoveryOptions) Reset()

func (*Settings_DiscoveryOptions) String added in v0.17.0

func (x *Settings_DiscoveryOptions) String() string

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) Descriptor added in v1.6.0

func (Settings_DiscoveryOptions_FdsMode) Enum added in v1.6.0

func (Settings_DiscoveryOptions_FdsMode) EnumDescriptor deprecated added in v0.17.0

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

Deprecated: Use Settings_DiscoveryOptions_FdsMode.Descriptor instead.

func (Settings_DiscoveryOptions_FdsMode) Number added in v1.6.0

func (Settings_DiscoveryOptions_FdsMode) String added in v0.17.0

func (Settings_DiscoveryOptions_FdsMode) Type added in v1.6.0

type Settings_DiscoveryOptions_FdsOptions added in v1.11.44

type Settings_DiscoveryOptions_FdsOptions struct {

	// Enable function discovery service on GraphQL gRPC and OpenApi upstreams. Defaults to true.
	GraphqlEnabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=graphql_enabled,json=graphqlEnabled,proto3" json:"graphql_enabled,omitempty"`
	// contains filtered or unexported fields
}

func (*Settings_DiscoveryOptions_FdsOptions) Clone added in v1.11.44

Clone function

func (*Settings_DiscoveryOptions_FdsOptions) Descriptor deprecated added in v1.11.44

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

Deprecated: Use Settings_DiscoveryOptions_FdsOptions.ProtoReflect.Descriptor instead.

func (*Settings_DiscoveryOptions_FdsOptions) Equal added in v1.11.44

func (m *Settings_DiscoveryOptions_FdsOptions) Equal(that interface{}) bool

Equal function

func (*Settings_DiscoveryOptions_FdsOptions) GetGraphqlEnabled added in v1.11.44

func (*Settings_DiscoveryOptions_FdsOptions) Hash added in v1.11.44

Hash function

func (*Settings_DiscoveryOptions_FdsOptions) ProtoMessage added in v1.11.44

func (*Settings_DiscoveryOptions_FdsOptions) ProtoMessage()

func (*Settings_DiscoveryOptions_FdsOptions) ProtoReflect added in v1.11.44

func (*Settings_DiscoveryOptions_FdsOptions) Reset added in v1.11.44

func (*Settings_DiscoveryOptions_FdsOptions) String added in v1.11.44

type Settings_DiscoveryOptions_UdsOptions added in v1.9.5

type Settings_DiscoveryOptions_UdsOptions struct {

	// Enable upstream discovery service. Defaults to true.
	Enabled *wrappers.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Map of labels to watch. Only services which match all of the selectors specified here will be discovered by UDS.
	WatchLabels map[string]string `` /* 182-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Settings_DiscoveryOptions_UdsOptions) Clone added in v1.9.7

Clone function

func (*Settings_DiscoveryOptions_UdsOptions) Descriptor deprecated added in v1.9.5

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

Deprecated: Use Settings_DiscoveryOptions_UdsOptions.ProtoReflect.Descriptor instead.

func (*Settings_DiscoveryOptions_UdsOptions) Equal added in v1.9.5

func (m *Settings_DiscoveryOptions_UdsOptions) Equal(that interface{}) bool

Equal function

func (*Settings_DiscoveryOptions_UdsOptions) GetEnabled added in v1.9.5

func (*Settings_DiscoveryOptions_UdsOptions) GetWatchLabels added in v1.9.25

func (x *Settings_DiscoveryOptions_UdsOptions) GetWatchLabels() map[string]string

func (*Settings_DiscoveryOptions_UdsOptions) Hash added in v1.9.5

Hash function

func (*Settings_DiscoveryOptions_UdsOptions) ProtoMessage added in v1.9.5

func (*Settings_DiscoveryOptions_UdsOptions) ProtoMessage()

func (*Settings_DiscoveryOptions_UdsOptions) ProtoReflect added in v1.9.5

func (*Settings_DiscoveryOptions_UdsOptions) Reset added in v1.9.5

func (*Settings_DiscoveryOptions_UdsOptions) String added in v1.9.5

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 */
	// contains filtered or unexported fields
}

func (*Settings_KnativeOptions) Clone added in v1.8.24

Clone function

func (*Settings_KnativeOptions) Descriptor deprecated added in v0.15.0

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

Deprecated: Use Settings_KnativeOptions.ProtoReflect.Descriptor instead.

func (*Settings_KnativeOptions) Equal added in v0.15.0

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

Equal function

func (*Settings_KnativeOptions) GetClusterIngressProxyAddress added in v0.15.0

func (x *Settings_KnativeOptions) GetClusterIngressProxyAddress() string

func (*Settings_KnativeOptions) GetKnativeExternalProxyAddress added in v0.18.12

func (x *Settings_KnativeOptions) GetKnativeExternalProxyAddress() string

func (*Settings_KnativeOptions) GetKnativeInternalProxyAddress added in v0.18.12

func (x *Settings_KnativeOptions) GetKnativeInternalProxyAddress() string

func (*Settings_KnativeOptions) Hash added in v1.2.13

func (m *Settings_KnativeOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_KnativeOptions) ProtoMessage added in v0.15.0

func (*Settings_KnativeOptions) ProtoMessage()

func (*Settings_KnativeOptions) ProtoReflect added in v1.6.0

func (x *Settings_KnativeOptions) ProtoReflect() protoreflect.Message

func (*Settings_KnativeOptions) Reset added in v0.15.0

func (x *Settings_KnativeOptions) Reset()

func (*Settings_KnativeOptions) String added in v0.15.0

func (x *Settings_KnativeOptions) String() string

type Settings_KubernetesArtifactSource

type Settings_KubernetesArtifactSource struct {
	KubernetesArtifactSource *Settings_KubernetesConfigmaps `protobuf:"bytes,9,opt,name=kubernetes_artifact_source,json=kubernetesArtifactSource,proto3,oneof"`
}

type Settings_KubernetesConfigSource

type Settings_KubernetesConfigSource struct {
	KubernetesConfigSource *Settings_KubernetesCrds `protobuf:"bytes,4,opt,name=kubernetes_config_source,json=kubernetesConfigSource,proto3,oneof"`
}

type Settings_KubernetesConfigmaps

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

Use Kubernetes ConfigMaps as storage.

func (*Settings_KubernetesConfigmaps) Clone added in v1.8.24

Clone function

func (*Settings_KubernetesConfigmaps) Descriptor deprecated

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

Deprecated: Use Settings_KubernetesConfigmaps.ProtoReflect.Descriptor instead.

func (*Settings_KubernetesConfigmaps) Equal

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

Equal function

func (*Settings_KubernetesConfigmaps) Hash added in v1.2.13

Hash function

func (*Settings_KubernetesConfigmaps) ProtoMessage

func (*Settings_KubernetesConfigmaps) ProtoMessage()

func (*Settings_KubernetesConfigmaps) ProtoReflect added in v1.6.0

func (*Settings_KubernetesConfigmaps) Reset

func (x *Settings_KubernetesConfigmaps) Reset()

func (*Settings_KubernetesConfigmaps) String

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"`
	// contains filtered or unexported fields
}

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

func (*Settings_KubernetesConfiguration) Clone added in v1.8.24

Clone function

func (*Settings_KubernetesConfiguration) Descriptor deprecated added in v0.18.12

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

Deprecated: Use Settings_KubernetesConfiguration.ProtoReflect.Descriptor instead.

func (*Settings_KubernetesConfiguration) Equal added in v0.18.12

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

Equal function

func (*Settings_KubernetesConfiguration) GetRateLimits added in v0.18.12

func (*Settings_KubernetesConfiguration) Hash added in v1.2.13

Hash function

func (*Settings_KubernetesConfiguration) ProtoMessage added in v0.18.12

func (*Settings_KubernetesConfiguration) ProtoMessage()

func (*Settings_KubernetesConfiguration) ProtoReflect added in v1.6.0

func (*Settings_KubernetesConfiguration) Reset added in v0.18.12

func (*Settings_KubernetesConfiguration) String added in v0.18.12

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. Defaults to 50.
	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. Defaults to 100.
	Burst uint32 `protobuf:"varint,2,opt,name=burst,proto3" json:"burst,omitempty"`
	// contains filtered or unexported fields
}

func (*Settings_KubernetesConfiguration_RateLimits) Clone added in v1.8.24

Clone function

func (*Settings_KubernetesConfiguration_RateLimits) Descriptor deprecated added in v0.18.12

Deprecated: Use Settings_KubernetesConfiguration_RateLimits.ProtoReflect.Descriptor instead.

func (*Settings_KubernetesConfiguration_RateLimits) Equal added in v0.18.12

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

Equal function

func (*Settings_KubernetesConfiguration_RateLimits) GetBurst added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) GetQPS added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) Hash added in v1.2.13

Hash function

func (*Settings_KubernetesConfiguration_RateLimits) ProtoMessage added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) ProtoReflect added in v1.6.0

func (*Settings_KubernetesConfiguration_RateLimits) Reset added in v0.18.12

func (*Settings_KubernetesConfiguration_RateLimits) String added in v0.18.12

type Settings_KubernetesCrds

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

Use Kubernetes CRDs as storage.

func (*Settings_KubernetesCrds) Clone added in v1.8.24

Clone function

func (*Settings_KubernetesCrds) Descriptor deprecated

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

Deprecated: Use Settings_KubernetesCrds.ProtoReflect.Descriptor instead.

func (*Settings_KubernetesCrds) Equal

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

Equal function

func (*Settings_KubernetesCrds) Hash added in v1.2.13

func (m *Settings_KubernetesCrds) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_KubernetesCrds) ProtoMessage

func (*Settings_KubernetesCrds) ProtoMessage()

func (*Settings_KubernetesCrds) ProtoReflect added in v1.6.0

func (x *Settings_KubernetesCrds) ProtoReflect() protoreflect.Message

func (*Settings_KubernetesCrds) Reset

func (x *Settings_KubernetesCrds) Reset()

func (*Settings_KubernetesCrds) String

func (x *Settings_KubernetesCrds) String() string

type Settings_KubernetesSecretSource

type Settings_KubernetesSecretSource struct {
	KubernetesSecretSource *Settings_KubernetesSecrets `protobuf:"bytes,6,opt,name=kubernetes_secret_source,json=kubernetesSecretSource,proto3,oneof"`
}

type Settings_KubernetesSecrets

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

Use Kubernetes as storage for secret data.

func (*Settings_KubernetesSecrets) Clone added in v1.8.24

Clone function

func (*Settings_KubernetesSecrets) Descriptor deprecated

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

Deprecated: Use Settings_KubernetesSecrets.ProtoReflect.Descriptor instead.

func (*Settings_KubernetesSecrets) Equal

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

Equal function

func (*Settings_KubernetesSecrets) Hash added in v1.2.13

func (m *Settings_KubernetesSecrets) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_KubernetesSecrets) ProtoMessage

func (*Settings_KubernetesSecrets) ProtoMessage()

func (*Settings_KubernetesSecrets) ProtoReflect added in v1.6.0

func (*Settings_KubernetesSecrets) Reset

func (x *Settings_KubernetesSecrets) Reset()

func (*Settings_KubernetesSecrets) String

func (x *Settings_KubernetesSecrets) String() string

type Settings_ObservabilityOptions added in v1.6.0

type Settings_ObservabilityOptions struct {

	// Options to configure Gloo's integration with [Kubernetes](https://www.kubernetes.io/).
	GrafanaIntegration *Settings_ObservabilityOptions_GrafanaIntegration `protobuf:"bytes,1,opt,name=grafanaIntegration,proto3" json:"grafanaIntegration,omitempty"`
	// Enable metrics that track the configuration status of various resource types.
	// Each (key, value) pair in the map defines a metric for a particular resource type. Configuration status
	// metrics are not recorded by default; metrics are recorded only for the resources specified in this map.
	// Keys specify the resource type (GroupVersionKind) to track for status changes
	// (e.g. "VirtualService.v1.gateway.solo.io"). Values specify the labels to set on the metric.
	ConfigStatusMetricLabels map[string]*Settings_ObservabilityOptions_MetricLabels `` /* 189-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Settings_ObservabilityOptions) Clone added in v1.8.24

Clone function

func (*Settings_ObservabilityOptions) Descriptor deprecated added in v1.6.0

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

Deprecated: Use Settings_ObservabilityOptions.ProtoReflect.Descriptor instead.

func (*Settings_ObservabilityOptions) Equal added in v1.6.0

func (m *Settings_ObservabilityOptions) Equal(that interface{}) bool

Equal function

func (*Settings_ObservabilityOptions) GetConfigStatusMetricLabels added in v1.9.25

func (*Settings_ObservabilityOptions) GetGrafanaIntegration added in v1.6.0

func (*Settings_ObservabilityOptions) Hash added in v1.6.0

Hash function

func (*Settings_ObservabilityOptions) ProtoMessage added in v1.6.0

func (*Settings_ObservabilityOptions) ProtoMessage()

func (*Settings_ObservabilityOptions) ProtoReflect added in v1.6.0

func (*Settings_ObservabilityOptions) Reset added in v1.6.0

func (x *Settings_ObservabilityOptions) Reset()

func (*Settings_ObservabilityOptions) String added in v1.6.0

type Settings_ObservabilityOptions_GrafanaIntegration added in v1.6.0

type Settings_ObservabilityOptions_GrafanaIntegration struct {

	// (UInt32Value) Grafana allows dashboards to be added to specific folders by specifying that folder's ID
	// If unset, automatic upstream dashboards are generated in the general folder (folderId: 0).
	// If set, the observability deployment will try to create/move all upstreams without their own folderId
	// to the folder specified here, after verifying that a folder with such an ID exists.
	// Be aware that grafana requires a folders ID, which
	// should not be confused with the similarly-named and more easily accessible folder UID value.
	// If individual upstream dashboards need to be placed specific granafa folders, they can be given their own
	// folder IDs by annotating the upstreams. The annotation key must be
	// 'observability.solo.io/dashboard_folder_id' and the value must be the folder ID.
	// Folder IDs can be retrieved from grafana with a pair of terminal commands:
	// 1. Port forward the grafana deployment to surface its API:
	// kubectl -n gloo-system port-forward deployment/glooe-grafana 3000
	// 2. Request all folder data (after admin:admin is replaced with the correct credentials):
	// curl http://admin:admin@localhost:3000/api/folders
	DefaultDashboardFolderId *wrappers.UInt32Value `` /* 137-byte string literal not displayed */
	// contains filtered or unexported fields
}

Provides settings related to the observability pod's interactions with grafana

func (*Settings_ObservabilityOptions_GrafanaIntegration) Clone added in v1.8.24

Clone function

func (*Settings_ObservabilityOptions_GrafanaIntegration) Descriptor deprecated added in v1.6.0

Deprecated: Use Settings_ObservabilityOptions_GrafanaIntegration.ProtoReflect.Descriptor instead.

func (*Settings_ObservabilityOptions_GrafanaIntegration) Equal added in v1.6.0

func (m *Settings_ObservabilityOptions_GrafanaIntegration) Equal(that interface{}) bool

Equal function

func (*Settings_ObservabilityOptions_GrafanaIntegration) GetDefaultDashboardFolderId added in v1.6.0

func (x *Settings_ObservabilityOptions_GrafanaIntegration) GetDefaultDashboardFolderId() *wrappers.UInt32Value

func (*Settings_ObservabilityOptions_GrafanaIntegration) Hash added in v1.6.0

Hash function

func (*Settings_ObservabilityOptions_GrafanaIntegration) ProtoMessage added in v1.6.0

func (*Settings_ObservabilityOptions_GrafanaIntegration) ProtoReflect added in v1.6.0

func (*Settings_ObservabilityOptions_GrafanaIntegration) Reset added in v1.6.0

func (*Settings_ObservabilityOptions_GrafanaIntegration) String added in v1.6.0

type Settings_ObservabilityOptions_MetricLabels added in v1.9.25

type Settings_ObservabilityOptions_MetricLabels struct {

	// Each (key, value) pair in the map defines a label to be applied. Keys specify the name of the label
	// (e.g. "namespace"). Values specify the jsonpath (https://kubernetes.io/docs/reference/kubectl/jsonpath/)
	// string corresponding to the field of a resource to use as the label value (e.g. "{.metadata.namespace}").
	// For example, if labelToPath = {name: '{.metadata.name}', namespace: '{.metadata.namespace}'} for
	// Upstream.v1.gateway.solo.io, the following metric would be produced:
	// validation_gateway_solo_io_upstream_config_status{name="default-petstore-8080",namespace="gloo-system"} 0
	LabelToPath map[string]string `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Settings_ObservabilityOptions_MetricLabels) Clone added in v1.9.25

Clone function

func (*Settings_ObservabilityOptions_MetricLabels) Descriptor deprecated added in v1.9.25

Deprecated: Use Settings_ObservabilityOptions_MetricLabels.ProtoReflect.Descriptor instead.

func (*Settings_ObservabilityOptions_MetricLabels) Equal added in v1.9.25

func (m *Settings_ObservabilityOptions_MetricLabels) Equal(that interface{}) bool

Equal function

func (*Settings_ObservabilityOptions_MetricLabels) GetLabelToPath added in v1.9.25

func (*Settings_ObservabilityOptions_MetricLabels) Hash added in v1.9.25

Hash function

func (*Settings_ObservabilityOptions_MetricLabels) ProtoMessage added in v1.9.25

func (*Settings_ObservabilityOptions_MetricLabels) ProtoReflect added in v1.9.25

func (*Settings_ObservabilityOptions_MetricLabels) Reset added in v1.9.25

func (*Settings_ObservabilityOptions_MetricLabels) String added in v1.9.25

type Settings_SecretOptions added in v1.14.7

type Settings_SecretOptions struct {

	// Required. List of configured secret sources. These clients will be sorted and
	// initialized in a stable order kubernetes > directory > vault.
	Sources []*Settings_SecretOptions_Source `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"`
	// contains filtered or unexported fields
}

func (*Settings_SecretOptions) Clone added in v1.14.7

Clone function

func (*Settings_SecretOptions) Descriptor deprecated added in v1.14.7

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

Deprecated: Use Settings_SecretOptions.ProtoReflect.Descriptor instead.

func (*Settings_SecretOptions) Equal added in v1.14.7

func (m *Settings_SecretOptions) Equal(that interface{}) bool

Equal function

func (*Settings_SecretOptions) GetSources added in v1.14.7

func (*Settings_SecretOptions) Hash added in v1.14.7

func (m *Settings_SecretOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_SecretOptions) ProtoMessage added in v1.14.7

func (*Settings_SecretOptions) ProtoMessage()

func (*Settings_SecretOptions) ProtoReflect added in v1.14.7

func (x *Settings_SecretOptions) ProtoReflect() protoreflect.Message

func (*Settings_SecretOptions) Reset added in v1.14.7

func (x *Settings_SecretOptions) Reset()

func (*Settings_SecretOptions) String added in v1.14.7

func (x *Settings_SecretOptions) String() string

type Settings_SecretOptions_Source added in v1.14.7

type Settings_SecretOptions_Source struct {

	// Determines where Gloo will read/write secrets from/to.
	//
	// Types that are assignable to Source:
	//
	//	*Settings_SecretOptions_Source_Kubernetes
	//	*Settings_SecretOptions_Source_Vault
	//	*Settings_SecretOptions_Source_Directory
	Source isSettings_SecretOptions_Source_Source `protobuf_oneof:"source"`
	// contains filtered or unexported fields
}

func (*Settings_SecretOptions_Source) Clone added in v1.14.7

Clone function

func (*Settings_SecretOptions_Source) Descriptor deprecated added in v1.14.7

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

Deprecated: Use Settings_SecretOptions_Source.ProtoReflect.Descriptor instead.

func (*Settings_SecretOptions_Source) Equal added in v1.14.7

func (m *Settings_SecretOptions_Source) Equal(that interface{}) bool

Equal function

func (*Settings_SecretOptions_Source) GetDirectory added in v1.14.7

func (*Settings_SecretOptions_Source) GetKubernetes added in v1.14.7

func (*Settings_SecretOptions_Source) GetSource added in v1.14.7

func (m *Settings_SecretOptions_Source) GetSource() isSettings_SecretOptions_Source_Source

func (*Settings_SecretOptions_Source) GetVault added in v1.14.7

func (*Settings_SecretOptions_Source) Hash added in v1.14.7

Hash function

func (*Settings_SecretOptions_Source) ProtoMessage added in v1.14.7

func (*Settings_SecretOptions_Source) ProtoMessage()

func (*Settings_SecretOptions_Source) ProtoReflect added in v1.14.7

func (*Settings_SecretOptions_Source) Reset added in v1.14.7

func (x *Settings_SecretOptions_Source) Reset()

func (*Settings_SecretOptions_Source) String added in v1.14.7

type Settings_SecretOptions_Source_Directory added in v1.14.7

type Settings_SecretOptions_Source_Directory struct {
	Directory *Settings_Directory `protobuf:"bytes,3,opt,name=directory,proto3,oneof"`
}

type Settings_SecretOptions_Source_Kubernetes added in v1.14.7

type Settings_SecretOptions_Source_Kubernetes struct {
	Kubernetes *Settings_KubernetesSecrets `protobuf:"bytes,1,opt,name=kubernetes,proto3,oneof"`
}

type Settings_SecretOptions_Source_Vault added in v1.14.7

type Settings_SecretOptions_Source_Vault struct {
	Vault *Settings_VaultSecrets `protobuf:"bytes,2,opt,name=vault,proto3,oneof"`
}

type Settings_VaultAwsAuth added in v1.14.0

type Settings_VaultAwsAuth struct {

	// The Vault role we are trying to authenticate to.
	// This is not necessarily the same as the AWS role to which the Vault role is configured.
	VaultRole string `protobuf:"bytes,1,opt,name=vault_role,json=vaultRole,proto3" json:"vault_role,omitempty"`
	// The AWS region to use for the login attempt
	Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	// The IAM Server ID Header required to be included in the request
	IamServerIdHeader string `protobuf:"bytes,3,opt,name=iam_server_id_header,json=iamServerIdHeader,proto3" json:"iam_server_id_header,omitempty"`
	// The Vault path on which the AWS auth is mounted
	MountPath string `protobuf:"bytes,4,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
	// The Access Key ID as provided by the security credentials on the AWS IAM resource.
	// Optional: In cases such as receiving temporary credentials through assumed roles with AWS Security Token Service (STS) or IAM Roles for Service Accounts (IRSA), this field can be omitted.
	// https://developer.hashicorp.com/vault/docs/auth/aws#iam-authentication-inferences
	AccessKeyId string `protobuf:"bytes,5,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
	// The Secret Access Key as provided by the security credentials on the AWS IAM resource.
	// Optional: In cases such as receiving temporary credentials through assumed roles with AWS Security Token Service (STS) or IAM Roles for Service Accounts (IRSA), this field can be omitted.
	// https://developer.hashicorp.com/vault/docs/auth/aws#iam-authentication-inferences
	SecretAccessKey string `protobuf:"bytes,6,opt,name=secret_access_key,json=secretAccessKey,proto3" json:"secret_access_key,omitempty"`
	// The Session Token as provided by the security credentials on the AWS IAM resource
	SessionToken string `protobuf:"bytes,7,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
	// contains filtered or unexported fields
}

Configure Vault client to authenticate to server via AWS auth (IAM only). For more info see https://developer.hashicorp.com/vault/docs/auth/aws

func (*Settings_VaultAwsAuth) Clone added in v1.14.0

func (m *Settings_VaultAwsAuth) Clone() proto.Message

Clone function

func (*Settings_VaultAwsAuth) Descriptor deprecated added in v1.14.0

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

Deprecated: Use Settings_VaultAwsAuth.ProtoReflect.Descriptor instead.

func (*Settings_VaultAwsAuth) Equal added in v1.14.0

func (m *Settings_VaultAwsAuth) Equal(that interface{}) bool

Equal function

func (*Settings_VaultAwsAuth) GetAccessKeyId added in v1.14.0

func (x *Settings_VaultAwsAuth) GetAccessKeyId() string

func (*Settings_VaultAwsAuth) GetIamServerIdHeader added in v1.14.0

func (x *Settings_VaultAwsAuth) GetIamServerIdHeader() string

func (*Settings_VaultAwsAuth) GetMountPath added in v1.14.0

func (x *Settings_VaultAwsAuth) GetMountPath() string

func (*Settings_VaultAwsAuth) GetRegion added in v1.14.0

func (x *Settings_VaultAwsAuth) GetRegion() string

func (*Settings_VaultAwsAuth) GetSecretAccessKey added in v1.14.0

func (x *Settings_VaultAwsAuth) GetSecretAccessKey() string

func (*Settings_VaultAwsAuth) GetSessionToken added in v1.14.0

func (x *Settings_VaultAwsAuth) GetSessionToken() string

func (*Settings_VaultAwsAuth) GetVaultRole added in v1.14.0

func (x *Settings_VaultAwsAuth) GetVaultRole() string

func (*Settings_VaultAwsAuth) Hash added in v1.14.0

func (m *Settings_VaultAwsAuth) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_VaultAwsAuth) ProtoMessage added in v1.14.0

func (*Settings_VaultAwsAuth) ProtoMessage()

func (*Settings_VaultAwsAuth) ProtoReflect added in v1.14.0

func (x *Settings_VaultAwsAuth) ProtoReflect() protoreflect.Message

func (*Settings_VaultAwsAuth) Reset added in v1.14.0

func (x *Settings_VaultAwsAuth) Reset()

func (*Settings_VaultAwsAuth) String added in v1.14.0

func (x *Settings_VaultAwsAuth) String() string

type Settings_VaultSecretSource

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

type Settings_VaultSecrets

type Settings_VaultSecrets struct {

	// DEPRECATED: use field accessToken
	// 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 and include port if necessary (vault's default port is 8200)
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// DEPRECATED: use field tls_config to configure TLS connection to Vault
	// 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"`
	// DEPRECATED: use field tls_config to configure TLS connection to Vault
	// 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"`
	// DEPRECATED: use field tls_config to configure TLS connection to Vault
	// 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"`
	// DEPRECATED: use field tls_config to configure TLS connection to Vault
	// 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"`
	// DEPRECATED: use field tls_config to configure TLS connection to Vault
	// 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"`
	// DEPRECATED: use field tls_config to configure TLS connection to Vault
	// When set to true, disables TLS verification
	Insecure *wrappers.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 Vault cluster
	// defaults to `gloo`
	RootKey string `protobuf:"bytes,9,opt,name=root_key,json=rootKey,proto3" json:"root_key,omitempty"`
	// Optional: The name of a Vault Secrets Engine to which Vault should route traffic.
	// For more info see https://learn.hashicorp.com/tutorials/vault/getting-started-secrets-engines.
	// Defaults to 'secret'
	PathPrefix string `protobuf:"bytes,10,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"`
	// Configure TLS options for client connection to Vault. This is only available when running
	// Gloo Edge outside of an container orchestration tool such as Kubernetes or Nomad.
	TlsConfig *Settings_VaultTlsConfig `protobuf:"bytes,11,opt,name=tls_config,json=tlsConfig,proto3" json:"tls_config,omitempty"`
	// Support for multiple authentication methods
	//
	// Types that are assignable to AuthMethod:
	//
	//	*Settings_VaultSecrets_AccessToken
	//	*Settings_VaultSecrets_Aws
	AuthMethod isSettings_VaultSecrets_AuthMethod `protobuf_oneof:"auth_method"`
	// contains filtered or unexported fields
}

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

func (*Settings_VaultSecrets) Clone added in v1.8.24

func (m *Settings_VaultSecrets) Clone() proto.Message

Clone function

func (*Settings_VaultSecrets) Descriptor deprecated

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

Deprecated: Use Settings_VaultSecrets.ProtoReflect.Descriptor instead.

func (*Settings_VaultSecrets) Equal

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

Equal function

func (*Settings_VaultSecrets) GetAccessToken added in v1.14.0

func (x *Settings_VaultSecrets) GetAccessToken() string

func (*Settings_VaultSecrets) GetAddress added in v0.18.0

func (x *Settings_VaultSecrets) GetAddress() string

func (*Settings_VaultSecrets) GetAuthMethod added in v1.14.0

func (m *Settings_VaultSecrets) GetAuthMethod() isSettings_VaultSecrets_AuthMethod

func (*Settings_VaultSecrets) GetAws added in v1.14.0

func (*Settings_VaultSecrets) GetCaCert added in v0.18.0

func (x *Settings_VaultSecrets) GetCaCert() string

func (*Settings_VaultSecrets) GetCaPath added in v0.18.0

func (x *Settings_VaultSecrets) GetCaPath() string

func (*Settings_VaultSecrets) GetClientCert added in v0.18.0

func (x *Settings_VaultSecrets) GetClientCert() string

func (*Settings_VaultSecrets) GetClientKey added in v0.18.0

func (x *Settings_VaultSecrets) GetClientKey() string

func (*Settings_VaultSecrets) GetInsecure added in v0.18.0

func (x *Settings_VaultSecrets) GetInsecure() *wrappers.BoolValue

func (*Settings_VaultSecrets) GetPathPrefix added in v1.9.25

func (x *Settings_VaultSecrets) GetPathPrefix() string

func (*Settings_VaultSecrets) GetRootKey added in v0.18.0

func (x *Settings_VaultSecrets) GetRootKey() string

func (*Settings_VaultSecrets) GetTlsConfig added in v1.14.0

func (*Settings_VaultSecrets) GetTlsServerName added in v0.18.0

func (x *Settings_VaultSecrets) GetTlsServerName() string

func (*Settings_VaultSecrets) GetToken added in v0.18.0

func (x *Settings_VaultSecrets) GetToken() string

func (*Settings_VaultSecrets) Hash added in v1.2.13

func (m *Settings_VaultSecrets) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_VaultSecrets) ProtoMessage

func (*Settings_VaultSecrets) ProtoMessage()

func (*Settings_VaultSecrets) ProtoReflect added in v1.6.0

func (x *Settings_VaultSecrets) ProtoReflect() protoreflect.Message

func (*Settings_VaultSecrets) Reset

func (x *Settings_VaultSecrets) Reset()

func (*Settings_VaultSecrets) String

func (x *Settings_VaultSecrets) String() string

type Settings_VaultSecrets_AccessToken added in v1.14.0

type Settings_VaultSecrets_AccessToken struct {
	AccessToken string `protobuf:"bytes,12,opt,name=access_token,json=accessToken,proto3,oneof"`
}

type Settings_VaultSecrets_Aws added in v1.14.0

type Settings_VaultSecrets_Aws struct {
	Aws *Settings_VaultAwsAuth `protobuf:"bytes,13,opt,name=aws,proto3,oneof"`
}

type Settings_VaultTlsConfig added in v1.14.0

type Settings_VaultTlsConfig struct {

	// caCert is the path to a PEM-encoded CA cert file to use to verify the
	// Vault server SSL certificate.
	CaCert string `protobuf:"bytes,1,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,2,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,3,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,4,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,5,opt,name=tls_server_name,json=tlsServerName,proto3" json:"tls_server_name,omitempty"`
	// When set to true, disables TLS verification
	Insecure *wrappers.BoolValue `protobuf:"bytes,6,opt,name=insecure,proto3" json:"insecure,omitempty"`
	// contains filtered or unexported fields
}

Settings to configure TLS-enabled Vault as a secret store

func (*Settings_VaultTlsConfig) Clone added in v1.14.0

Clone function

func (*Settings_VaultTlsConfig) Descriptor deprecated added in v1.14.0

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

Deprecated: Use Settings_VaultTlsConfig.ProtoReflect.Descriptor instead.

func (*Settings_VaultTlsConfig) Equal added in v1.14.0

func (m *Settings_VaultTlsConfig) Equal(that interface{}) bool

Equal function

func (*Settings_VaultTlsConfig) GetCaCert added in v1.14.0

func (x *Settings_VaultTlsConfig) GetCaCert() string

func (*Settings_VaultTlsConfig) GetCaPath added in v1.14.0

func (x *Settings_VaultTlsConfig) GetCaPath() string

func (*Settings_VaultTlsConfig) GetClientCert added in v1.14.0

func (x *Settings_VaultTlsConfig) GetClientCert() string

func (*Settings_VaultTlsConfig) GetClientKey added in v1.14.0

func (x *Settings_VaultTlsConfig) GetClientKey() string

func (*Settings_VaultTlsConfig) GetInsecure added in v1.14.0

func (x *Settings_VaultTlsConfig) GetInsecure() *wrappers.BoolValue

func (*Settings_VaultTlsConfig) GetTlsServerName added in v1.14.0

func (x *Settings_VaultTlsConfig) GetTlsServerName() string

func (*Settings_VaultTlsConfig) Hash added in v1.14.0

func (m *Settings_VaultTlsConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Settings_VaultTlsConfig) ProtoMessage added in v1.14.0

func (*Settings_VaultTlsConfig) ProtoMessage()

func (*Settings_VaultTlsConfig) ProtoReflect added in v1.14.0

func (x *Settings_VaultTlsConfig) ProtoReflect() protoreflect.Message

func (*Settings_VaultTlsConfig) Reset added in v1.14.0

func (x *Settings_VaultTlsConfig) Reset()

func (*Settings_VaultTlsConfig) String added in v1.14.0

func (x *Settings_VaultTlsConfig) String() string

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) GetResourcesList added in v1.11.50

func (s *SetupSnapshot) GetResourcesList(resource resources.Resource) (resources.ResourceList, error)

func (SetupSnapshot) Hash

func (s SetupSnapshot) Hash(hasher hash.Hash64) (uint64, error)

func (SetupSnapshot) HashFields

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

func (*SetupSnapshot) RemoveFromResourceList added in v1.11.50

func (s *SetupSnapshot) RemoveFromResourceList(resource resources.Resource) error

func (SetupSnapshot) Stringer

func (s SetupSnapshot) Stringer() SetupSnapshotStringer

func (*SetupSnapshot) UpsertToResourceList added in v1.11.50

func (s *SetupSnapshot) UpsertToResourceList(resource resources.Resource) error

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 SourceMetadata added in v1.9.25

type SourceMetadata struct {

	// A list of sources
	Sources []*SourceMetadata_SourceRef `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"`
	// contains filtered or unexported fields
}

SourceMetadata is an internal message used to track ownership of nested proxy objects: - Listener - VirtualHost - Route

func (*SourceMetadata) Clone added in v1.9.25

func (m *SourceMetadata) Clone() proto.Message

Clone function

func (*SourceMetadata) Descriptor deprecated added in v1.9.25

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

Deprecated: Use SourceMetadata.ProtoReflect.Descriptor instead.

func (*SourceMetadata) Equal added in v1.9.25

func (m *SourceMetadata) Equal(that interface{}) bool

Equal function

func (*SourceMetadata) GetSources added in v1.9.25

func (x *SourceMetadata) GetSources() []*SourceMetadata_SourceRef

func (*SourceMetadata) Hash added in v1.9.25

func (m *SourceMetadata) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*SourceMetadata) ProtoMessage added in v1.9.25

func (*SourceMetadata) ProtoMessage()

func (*SourceMetadata) ProtoReflect added in v1.9.25

func (x *SourceMetadata) ProtoReflect() protoreflect.Message

func (*SourceMetadata) Reset added in v1.9.25

func (x *SourceMetadata) Reset()

func (*SourceMetadata) String added in v1.9.25

func (x *SourceMetadata) String() string

type SourceMetadata_SourceRef added in v1.9.25

type SourceMetadata_SourceRef struct {

	// The resource being referenced
	ResourceRef *core.ResourceRef `protobuf:"bytes,1,opt,name=resource_ref,json=resourceRef,proto3" json:"resource_ref,omitempty"`
	// The resource Kind
	ResourceKind string `protobuf:"bytes,2,opt,name=resource_kind,json=resourceKind,proto3" json:"resource_kind,omitempty"`
	// The observed generation of the resource
	ObservedGeneration int64 `protobuf:"varint,3,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// contains filtered or unexported fields
}

func (*SourceMetadata_SourceRef) Clone added in v1.9.25

Clone function

func (*SourceMetadata_SourceRef) Descriptor deprecated added in v1.9.25

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

Deprecated: Use SourceMetadata_SourceRef.ProtoReflect.Descriptor instead.

func (*SourceMetadata_SourceRef) Equal added in v1.9.25

func (m *SourceMetadata_SourceRef) Equal(that interface{}) bool

Equal function

func (*SourceMetadata_SourceRef) GetObservedGeneration added in v1.9.25

func (x *SourceMetadata_SourceRef) GetObservedGeneration() int64

func (*SourceMetadata_SourceRef) GetResourceKind added in v1.9.25

func (x *SourceMetadata_SourceRef) GetResourceKind() string

func (*SourceMetadata_SourceRef) GetResourceRef added in v1.9.25

func (x *SourceMetadata_SourceRef) GetResourceRef() *core.ResourceRef

func (*SourceMetadata_SourceRef) Hash added in v1.9.25

func (m *SourceMetadata_SourceRef) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*SourceMetadata_SourceRef) ProtoMessage added in v1.9.25

func (*SourceMetadata_SourceRef) ProtoMessage()

func (*SourceMetadata_SourceRef) ProtoReflect added in v1.9.25

func (x *SourceMetadata_SourceRef) ProtoReflect() protoreflect.Message

func (*SourceMetadata_SourceRef) Reset added in v1.9.25

func (x *SourceMetadata_SourceRef) Reset()

func (*SourceMetadata_SourceRef) String added in v1.9.25

func (x *SourceMetadata_SourceRef) String() string

type Subset added in v0.13.6

type Subset struct {
	Values map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Subset) Clone added in v1.8.24

func (m *Subset) Clone() proto.Message

Clone function

func (*Subset) Descriptor deprecated added in v0.13.6

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

Deprecated: Use Subset.ProtoReflect.Descriptor instead.

func (*Subset) Equal added in v0.13.6

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

Equal function

func (*Subset) GetValues added in v0.13.6

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

func (*Subset) Hash added in v1.2.13

func (m *Subset) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Subset) ProtoMessage added in v0.13.6

func (*Subset) ProtoMessage()

func (*Subset) ProtoReflect added in v1.6.0

func (x *Subset) ProtoReflect() protoreflect.Message

func (*Subset) Reset added in v0.13.6

func (x *Subset) Reset()

func (*Subset) String added in v0.13.6

func (x *Subset) String() string

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"`
	// If provided, the Gateway will serve TLS/SSL traffic for this set of routes
	SslConfig   *ssl.SslConfig     `protobuf:"bytes,3,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	Destination *TcpHost_TcpAction `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
	// contains filtered or unexported fields
}

func (*TcpHost) Clone added in v1.8.24

func (m *TcpHost) Clone() proto.Message

Clone function

func (*TcpHost) Descriptor deprecated added in v0.18.0

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

Deprecated: Use TcpHost.ProtoReflect.Descriptor instead.

func (*TcpHost) Equal added in v0.18.0

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

Equal function

func (*TcpHost) GetDestination added in v0.18.0

func (x *TcpHost) GetDestination() *TcpHost_TcpAction

func (*TcpHost) GetName added in v0.18.0

func (x *TcpHost) GetName() string

func (*TcpHost) GetSslConfig added in v0.18.0

func (x *TcpHost) GetSslConfig() *ssl.SslConfig

func (*TcpHost) Hash added in v1.2.13

func (m *TcpHost) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TcpHost) ProtoMessage added in v0.18.0

func (*TcpHost) ProtoMessage()

func (*TcpHost) ProtoReflect added in v1.6.0

func (x *TcpHost) ProtoReflect() protoreflect.Message

func (*TcpHost) Reset added in v0.18.0

func (x *TcpHost) Reset()

func (*TcpHost) String added in v0.18.0

func (x *TcpHost) String() string

type TcpHost_TcpAction added in v1.4.2

type TcpHost_TcpAction struct {

	// Types that are assignable to Destination:
	//
	//	*TcpHost_TcpAction_Single
	//	*TcpHost_TcpAction_Multi
	//	*TcpHost_TcpAction_UpstreamGroup
	//	*TcpHost_TcpAction_ForwardSniClusterName
	Destination isTcpHost_TcpAction_Destination `protobuf_oneof:"destination"`
	// contains filtered or unexported fields
}

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.

func (*TcpHost_TcpAction) Clone added in v1.8.24

func (m *TcpHost_TcpAction) Clone() proto.Message

Clone function

func (*TcpHost_TcpAction) Descriptor deprecated added in v1.4.2

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

Deprecated: Use TcpHost_TcpAction.ProtoReflect.Descriptor instead.

func (*TcpHost_TcpAction) Equal added in v1.4.2

func (m *TcpHost_TcpAction) Equal(that interface{}) bool

Equal function

func (*TcpHost_TcpAction) GetDestination added in v1.4.2

func (m *TcpHost_TcpAction) GetDestination() isTcpHost_TcpAction_Destination

func (*TcpHost_TcpAction) GetForwardSniClusterName added in v1.4.2

func (x *TcpHost_TcpAction) GetForwardSniClusterName() *empty.Empty

func (*TcpHost_TcpAction) GetMulti added in v1.4.2

func (x *TcpHost_TcpAction) GetMulti() *MultiDestination

func (*TcpHost_TcpAction) GetSingle added in v1.4.2

func (x *TcpHost_TcpAction) GetSingle() *Destination

func (*TcpHost_TcpAction) GetUpstreamGroup added in v1.4.2

func (x *TcpHost_TcpAction) GetUpstreamGroup() *core.ResourceRef

func (*TcpHost_TcpAction) Hash added in v1.4.2

func (m *TcpHost_TcpAction) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TcpHost_TcpAction) ProtoMessage added in v1.4.2

func (*TcpHost_TcpAction) ProtoMessage()

func (*TcpHost_TcpAction) ProtoReflect added in v1.6.0

func (x *TcpHost_TcpAction) ProtoReflect() protoreflect.Message

func (*TcpHost_TcpAction) Reset added in v1.4.2

func (x *TcpHost_TcpAction) Reset()

func (*TcpHost_TcpAction) String added in v1.4.2

func (x *TcpHost_TcpAction) String() string

type TcpHost_TcpAction_ForwardSniClusterName added in v1.4.2

type TcpHost_TcpAction_ForwardSniClusterName struct {
	// Forwards the request to a cluster name matching the TLS SNI name
	// https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/network/sni_cluster/empty/sni_cluster
	// Note: This filter will only work properly with TLS connections in which the upstream SNI domain is specified
	ForwardSniClusterName *empty.Empty `protobuf:"bytes,4,opt,name=forward_sni_cluster_name,json=forwardSniClusterName,proto3,oneof"`
}

type TcpHost_TcpAction_Multi added in v1.4.2

type TcpHost_TcpAction_Multi struct {
	// Use MultiDestination to load balance requests between multiple upstreams (by weight)
	Multi *MultiDestination `protobuf:"bytes,2,opt,name=multi,proto3,oneof"`
}

type TcpHost_TcpAction_Single added in v1.4.2

type TcpHost_TcpAction_Single struct {
	// Use SingleDestination to route to a single upstream
	Single *Destination `protobuf:"bytes,1,opt,name=single,proto3,oneof"`
}

type TcpHost_TcpAction_UpstreamGroup added in v1.4.2

type TcpHost_TcpAction_UpstreamGroup struct {
	// Use a reference to an upstream group for routing.
	UpstreamGroup *core.ResourceRef `protobuf:"bytes,3,opt,name=upstream_group,json=upstreamGroup,proto3,oneof"`
}

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"`
	// contains filtered or unexported fields
}

func (*TcpListener) Clone added in v1.8.24

func (m *TcpListener) Clone() proto.Message

Clone function

func (*TcpListener) Descriptor deprecated added in v0.18.0

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

Deprecated: Use TcpListener.ProtoReflect.Descriptor instead.

func (*TcpListener) Equal added in v0.18.0

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

Equal function

func (*TcpListener) GetOptions added in v1.0.0

func (x *TcpListener) GetOptions() *TcpListenerOptions

func (*TcpListener) GetStatPrefix added in v0.20.3

func (x *TcpListener) GetStatPrefix() string

func (*TcpListener) GetTcpHosts added in v0.18.0

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

func (*TcpListener) Hash added in v1.2.13

func (m *TcpListener) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TcpListener) ProtoMessage added in v0.18.0

func (*TcpListener) ProtoMessage()

func (*TcpListener) ProtoReflect added in v1.6.0

func (x *TcpListener) ProtoReflect() protoreflect.Message

func (*TcpListener) Reset added in v0.18.0

func (x *TcpListener) Reset()

func (*TcpListener) String added in v0.18.0

func (x *TcpListener) String() string

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"`
	// ConnectionLimit can be used to limit the number of active connections per gateway. Useful for resource protection as well as DoS prevention.
	ConnectionLimit *connection_limit.ConnectionLimit `protobuf:"bytes,4,opt,name=connection_limit,json=connectionLimit,proto3" json:"connection_limit,omitempty"`
	// LocalRatelimit can be used to rate limit the connections per gateway at the L4 layer.
	// It uses envoy's own local rate limit filter to do so, without the need for an external rate limit server to be set up.
	LocalRatelimit *local_ratelimit.TokenBucket `protobuf:"bytes,5,opt,name=local_ratelimit,json=localRatelimit,proto3" json:"local_ratelimit,omitempty"`
	// contains filtered or unexported fields
}

Optional, feature-specific configuration that lives on tcp listeners

func (*TcpListenerOptions) Clone added in v1.8.24

func (m *TcpListenerOptions) Clone() proto.Message

Clone function

func (*TcpListenerOptions) Descriptor deprecated added in v1.0.0

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

Deprecated: Use TcpListenerOptions.ProtoReflect.Descriptor instead.

func (*TcpListenerOptions) Equal added in v1.0.0

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

Equal function

func (*TcpListenerOptions) GetConnectionLimit added in v1.15.0

func (x *TcpListenerOptions) GetConnectionLimit() *connection_limit.ConnectionLimit

func (*TcpListenerOptions) GetLocalRatelimit added in v1.15.12

func (x *TcpListenerOptions) GetLocalRatelimit() *local_ratelimit.TokenBucket

func (*TcpListenerOptions) GetTcpProxySettings added in v1.0.0

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

func (*TcpListenerOptions) Hash added in v1.2.13

func (m *TcpListenerOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TcpListenerOptions) ProtoMessage added in v1.0.0

func (*TcpListenerOptions) ProtoMessage()

func (*TcpListenerOptions) ProtoReflect added in v1.6.0

func (x *TcpListenerOptions) ProtoReflect() protoreflect.Message

func (*TcpListenerOptions) Reset added in v1.0.0

func (x *TcpListenerOptions) Reset()

func (*TcpListenerOptions) String added in v1.0.0

func (x *TcpListenerOptions) String() string

type TlsSecret

type TlsSecret struct {

	// provided by `glooctl create secret tls`, and stored as `tls.crt` in the secret.
	CertChain string `protobuf:"bytes,1,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"`
	// provided by `glooctl create secret tls`, and stored as `tls.key` in the secret.
	PrivateKey string `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	// provided by `glooctl create secret tls`, and stored as `ca.crt` in the secret.
	RootCa string `protobuf:"bytes,3,opt,name=root_ca,json=rootCa,proto3" json:"root_ca,omitempty"`
	// ocsp staple is a der-encoded binary structure
	// provided by `glooctl create secret tls`, and stored as `tls.ocsp-staple` in the secret.
	OcspStaple []byte `protobuf:"bytes,4,opt,name=ocsp_staple,json=ocspStaple,proto3" json:"ocsp_staple,omitempty"`
	// contains filtered or unexported fields
}

func (*TlsSecret) Clone added in v1.8.24

func (m *TlsSecret) Clone() proto.Message

Clone function

func (*TlsSecret) Descriptor deprecated

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

Deprecated: Use TlsSecret.ProtoReflect.Descriptor instead.

func (*TlsSecret) Equal

func (m *TlsSecret) Equal(that interface{}) bool

Equal function

func (*TlsSecret) GetCertChain

func (x *TlsSecret) GetCertChain() string

func (*TlsSecret) GetOcspStaple added in v1.14.2

func (x *TlsSecret) GetOcspStaple() []byte

func (*TlsSecret) GetPrivateKey

func (x *TlsSecret) GetPrivateKey() string

func (*TlsSecret) GetRootCa

func (x *TlsSecret) GetRootCa() string

func (*TlsSecret) Hash added in v1.2.13

func (m *TlsSecret) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TlsSecret) ProtoMessage

func (*TlsSecret) ProtoMessage()

func (*TlsSecret) ProtoReflect added in v1.6.0

func (x *TlsSecret) ProtoReflect() protoreflect.Message

func (*TlsSecret) Reset

func (x *TlsSecret) Reset()

func (*TlsSecret) String

func (x *TlsSecret) String() string

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 {

	// NamespacedStatuses indicates the validation status of this resource.
	// NamespacedStatuses is read-only by clients, and set by gloo during validation
	NamespacedStatuses *core.NamespacedStatuses `protobuf:"bytes,23,opt,name=namespaced_statuses,json=namespacedStatuses,proto3" json:"namespaced_statuses,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// 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 contains the options necessary to configure envoy to originate TLS to an upstream.
	SslConfig *ssl.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-v3/config/cluster/v3/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"`
	// Settings for the load balancer that sends requests to the Upstream. The load balancing method is set to round robin by default.
	LoadBalancerConfig *LoadBalancerConfig       `protobuf:"bytes,6,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_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"`
	// 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 assignable to UpstreamType:
	//
	//	*Upstream_Kube
	//	*Upstream_Static
	//	*Upstream_Pipe
	//	*Upstream_Aws
	//	*Upstream_Azure
	//	*Upstream_Consul
	//	*Upstream_AwsEc2
	UpstreamType isUpstream_UpstreamType `protobuf_oneof:"upstream_type"`
	// Failover endpoints for this upstream. If omitted (the default) no failovers will be applied.
	Failover *Failover `protobuf:"bytes,18,opt,name=failover,proto3" json:"failover,omitempty"`
	// HTTP/1 connection configurations
	ConnectionConfig *ConnectionConfig `protobuf:"bytes,7,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"`
	// Determines how Envoy selects the protocol used to speak to upstream hosts.
	ProtocolSelection Upstream_ClusterProtocolSelection `` /* 166-byte string literal not displayed */
	// Use http2 when communicating with this upstream
	// this field is evaluated `true` for upstreams
	// with a grpc service spec. otherwise defaults to `false`
	UseHttp2 *wrappers.BoolValue `protobuf:"bytes,10,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"`
	// (UInt32Value) Initial stream-level flow-control window size.
	// Valid values range from 65535 (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum)
	// and defaults to 268435456 (256 * 1024 * 1024).
	// NOTE: 65535 is the initial window size from HTTP/2 spec.
	// We only support increasing the default window size now, so it’s also the minimum.
	// This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream
	// in the HTTP/2 codec buffers. Once the buffer reaches this pointer,
	// watermark callbacks will fire to stop the flow of data to the codec buffers.
	// Requires UseHttp2 to be true to be acknowledged.
	InitialStreamWindowSize *wrappers.UInt32Value `` /* 135-byte string literal not displayed */
	// (UInt32Value) Similar to initial_stream_window_size, but for connection-level flow-control window.
	// Currently, this has the same minimum/maximum/default as initial_stream_window_size.
	// Requires UseHttp2 to be true to be acknowledged.
	InitialConnectionWindowSize *wrappers.UInt32Value `` /* 147-byte string literal not displayed */
	// (UInt32Value) Maximum concurrent streams allowed for peer on one HTTP/2 connection.
	// Valid values range from 1 to 2147483647 (2^31 - 1) and defaults to 2147483647.
	// Requires UseHttp2 to be true to be acknowledged.
	MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,24,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"`
	// Allows invalid HTTP messaging and headers. When this option is disabled (default), then
	// the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
	// when this option is enabled, only the offending stream is terminated.
	//
	// This overrides any HCM :ref:`stream_error_on_invalid_http_messaging
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`
	//
	// See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
	OverrideStreamErrorOnInvalidHttpMessage *wrappers.BoolValue `` /* 189-byte string literal not displayed */
	// Tells envoy that the upstream is an HTTP proxy (e.g., another proxy in a DMZ) that supports HTTP Connect.
	// This configuration sets the hostname used as part of the HTTP Connect request.
	// For example, setting to: host.com:443 and making a request routed to the upstream such as `curl <envoy>:<port>/v1`
	// would result in the following request:
	//
	//	CONNECT host.com:443 HTTP/1.1
	//	host: host.com:443
	//
	//	GET /v1 HTTP/1.1
	//	host: <envoy>:<port>
	//	user-agent: curl/7.64.1
	//	accept: */*
	//
	// Note: if setting this field to a hostname rather than IP:PORT, you may want to also set `host_rewrite` on the route
	HttpProxyHostname *wrappers.StringValue `protobuf:"bytes,21,opt,name=http_proxy_hostname,json=httpProxyHostname,proto3" json:"http_proxy_hostname,omitempty"`
	// HttpConnectSslConfig contains the options necessary to configure envoy to originate TLS to an HTTP Connect proxy.
	// If you also want to ensure the bytes proxied by the HTTP Connect proxy are encrypted, you should also
	// specify `ssl_config`.
	HttpConnectSslConfig *ssl.UpstreamSslConfig `` /* 126-byte string literal not displayed */
	// HttpConnectHeaders specifies the headers sent with the initial HTTP Connect request.
	HttpConnectHeaders []*HeaderValue `protobuf:"bytes,28,rep,name=http_connect_headers,json=httpConnectHeaders,proto3" json:"http_connect_headers,omitempty"`
	// (bool) If set to true, Envoy will ignore the health value of a host when processing its removal from service discovery.
	// This means that if active health checking is used, Envoy will not wait for the endpoint to go unhealthy before removing it.
	IgnoreHealthOnHostRemoval *wrappers.BoolValue `` /* 143-byte string literal not displayed */
	// If set to true, Service Discovery update period will be triggered once the TTL is expired.
	// If minimum TTL of all records is 0 then dns_refresh_rate will be used.
	RespectDnsTtl *wrappers.BoolValue `protobuf:"bytes,29,opt,name=respect_dns_ttl,json=respectDnsTtl,proto3" json:"respect_dns_ttl,omitempty"`
	// Service Discovery DNS Refresh Rate.
	// Minimum value is 1 ms. Values below the minimum are considered invalid.
	// Only valid for STRICT_DNS and LOGICAL_DNS cluster types. All other cluster types are considered invalid.
	DnsRefreshRate *duration.Duration `protobuf:"bytes,30,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
	// Proxy Protocol Version to add when communicating with the upstream.
	// If unset will not wrap the transport socket.
	// These are of the format "V1" or "V2"
	ProxyProtocolVersion *wrappers.StringValue `protobuf:"bytes,31,opt,name=proxy_protocol_version,json=proxyProtocolVersion,proto3" json:"proxy_protocol_version,omitempty"`
	// Preconnect policy for the cluster
	// Aligns as closely as possible with https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto#envoy-v3-api-msg-config-cluster-v3-cluster-preconnectpolicy
	// This is not recommended for use unless you are sure you need it.
	// In most cases preconnect hurts more than it helps.
	PreconnectPolicy *PreconnectPolicy `protobuf:"bytes,32,opt,name=preconnect_policy,json=preconnectPolicy,proto3" json:"preconnect_policy,omitempty"`
	// contains filtered or unexported fields
}

Upstreams represent destination for routing HTTP requests. Upstreams can be compared to [clusters](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.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) Clone added in v1.8.24

func (m *Upstream) Clone() proto.Message

Clone function

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 deprecated

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

Deprecated: Use Upstream.ProtoReflect.Descriptor instead.

func (*Upstream) Equal

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

Equal function

func (*Upstream) GetAws added in v1.0.0

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

func (*Upstream) GetAwsEc2 added in v1.0.0

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

func (*Upstream) GetAzure added in v1.0.0

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

func (*Upstream) GetCircuitBreakers added in v1.0.0

func (x *Upstream) GetCircuitBreakers() *CircuitBreakerConfig

func (*Upstream) GetConnectionConfig added in v1.0.0

func (x *Upstream) GetConnectionConfig() *ConnectionConfig

func (*Upstream) GetConsul added in v1.0.0

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

func (*Upstream) GetDiscoveryMetadata

func (x *Upstream) GetDiscoveryMetadata() *DiscoveryMetadata

func (*Upstream) GetDnsRefreshRate added in v1.14.0

func (x *Upstream) GetDnsRefreshRate() *duration.Duration

func (*Upstream) GetFailover added in v1.4.0

func (x *Upstream) GetFailover() *Failover

func (*Upstream) GetHealthChecks added in v1.0.0

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

func (*Upstream) GetHttpConnectHeaders added in v1.9.25

func (x *Upstream) GetHttpConnectHeaders() []*HeaderValue

func (*Upstream) GetHttpConnectSslConfig added in v1.9.25

func (x *Upstream) GetHttpConnectSslConfig() *ssl.UpstreamSslConfig

func (*Upstream) GetHttpProxyHostname added in v1.6.10

func (x *Upstream) GetHttpProxyHostname() *wrappers.StringValue

func (*Upstream) GetIgnoreHealthOnHostRemoval added in v1.8.17

func (x *Upstream) GetIgnoreHealthOnHostRemoval() *wrappers.BoolValue

func (*Upstream) GetInitialConnectionWindowSize added in v1.5.0

func (x *Upstream) GetInitialConnectionWindowSize() *wrappers.UInt32Value

func (*Upstream) GetInitialStreamWindowSize added in v1.5.0

func (x *Upstream) GetInitialStreamWindowSize() *wrappers.UInt32Value

func (*Upstream) GetKube added in v1.0.0

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

func (*Upstream) GetLoadBalancerConfig added in v1.0.0

func (x *Upstream) GetLoadBalancerConfig() *LoadBalancerConfig

func (*Upstream) GetMaxConcurrentStreams added in v1.9.25

func (x *Upstream) GetMaxConcurrentStreams() *wrappers.UInt32Value

func (*Upstream) GetMetadata

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

func (*Upstream) GetNamespacedStatuses added in v1.9.0

func (x *Upstream) GetNamespacedStatuses() *core.NamespacedStatuses

func (*Upstream) GetObjectKind

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

func (*Upstream) GetOutlierDetection added in v1.0.0

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

func (*Upstream) GetOverrideStreamErrorOnInvalidHttpMessage added in v1.9.25

func (x *Upstream) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue

func (*Upstream) GetPipe added in v1.0.0

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

func (*Upstream) GetPreconnectPolicy added in v1.15.11

func (x *Upstream) GetPreconnectPolicy() *PreconnectPolicy

func (*Upstream) GetProtocolSelection added in v1.9.25

func (x *Upstream) GetProtocolSelection() Upstream_ClusterProtocolSelection

func (*Upstream) GetProxyProtocolVersion added in v1.14.4

func (x *Upstream) GetProxyProtocolVersion() *wrappers.StringValue

func (*Upstream) GetRespectDnsTtl added in v1.14.0

func (x *Upstream) GetRespectDnsTtl() *wrappers.BoolValue

func (*Upstream) GetSslConfig added in v1.0.0

func (x *Upstream) GetSslConfig() *ssl.UpstreamSslConfig

func (*Upstream) GetStatic added in v1.0.0

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

func (*Upstream) GetStatus

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

Deprecated

func (*Upstream) GetUpstreamType added in v1.0.0

func (m *Upstream) GetUpstreamType() isUpstream_UpstreamType

func (*Upstream) GetUseHttp2 added in v1.0.0

func (x *Upstream) GetUseHttp2() *wrappers.BoolValue

func (*Upstream) GroupVersionKind added in v0.18.0

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

func (*Upstream) Hash

func (m *Upstream) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Upstream) MustHash added in v1.2.13

func (r *Upstream) MustHash() uint64

func (*Upstream) ProtoMessage

func (*Upstream) ProtoMessage()

func (*Upstream) ProtoReflect added in v1.6.0

func (x *Upstream) ProtoReflect() protoreflect.Message

func (*Upstream) Reset

func (x *Upstream) Reset()

func (*Upstream) SetMetadata

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

func (*Upstream) SetNamespacedStatuses added in v1.9.0

func (r *Upstream) SetNamespacedStatuses(namespacedStatuses *core.NamespacedStatuses)

func (*Upstream) SetStatus

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

Deprecated

func (*Upstream) String

func (x *Upstream) String() string

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(ctx context.Context, rcFactory factory.ResourceClientFactory) (UpstreamClient, error)

func NewUpstreamClientWithBase

func NewUpstreamClientWithBase(rc clients.ResourceClient) UpstreamClient

func NewUpstreamClientWithToken

func NewUpstreamClientWithToken(ctx context.Context, 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"`
	// NamespacedStatuses indicates the validation status of this resource.
	// NamespacedStatuses is read-only by clients, and set by gloo during validation
	NamespacedStatuses *core.NamespacedStatuses `protobuf:"bytes,8,opt,name=namespaced_statuses,json=namespacedStatuses,proto3" json:"namespaced_statuses,omitempty"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

func NewUpstreamGroup added in v0.13.6

func NewUpstreamGroup(namespace, name string) *UpstreamGroup

func (*UpstreamGroup) Clone added in v1.8.24

func (m *UpstreamGroup) Clone() proto.Message

Clone function

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

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

Deprecated: Use UpstreamGroup.ProtoReflect.Descriptor instead.

func (*UpstreamGroup) Equal added in v0.13.6

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

Equal function

func (*UpstreamGroup) GetDestinations added in v0.13.6

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

func (*UpstreamGroup) GetMetadata added in v0.13.6

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

func (*UpstreamGroup) GetNamespacedStatuses added in v1.9.0

func (x *UpstreamGroup) GetNamespacedStatuses() *core.NamespacedStatuses

func (*UpstreamGroup) GetObjectKind added in v0.13.6

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

func (*UpstreamGroup) GetStatus added in v0.13.6

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

Deprecated

func (*UpstreamGroup) GroupVersionKind added in v0.18.0

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

func (*UpstreamGroup) Hash added in v0.13.6

func (m *UpstreamGroup) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*UpstreamGroup) MustHash added in v1.2.13

func (r *UpstreamGroup) MustHash() uint64

func (*UpstreamGroup) ProtoMessage added in v0.13.6

func (*UpstreamGroup) ProtoMessage()

func (*UpstreamGroup) ProtoReflect added in v1.6.0

func (x *UpstreamGroup) ProtoReflect() protoreflect.Message

func (*UpstreamGroup) Reset added in v0.13.6

func (x *UpstreamGroup) Reset()

func (*UpstreamGroup) SetMetadata added in v0.13.6

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

func (*UpstreamGroup) SetNamespacedStatuses added in v1.9.0

func (r *UpstreamGroup) SetNamespacedStatuses(namespacedStatuses *core.NamespacedStatuses)

func (*UpstreamGroup) SetStatus added in v0.13.6

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

Deprecated

func (*UpstreamGroup) String added in v0.13.6

func (x *UpstreamGroup) String() string

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(ctx context.Context, 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(ctx context.Context, 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)

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, statusSetter resources.StatusSetter) 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)

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 UpstreamOptions added in v1.6.8

type UpstreamOptions struct {

	// Default ssl parameter configuration to use for upstreams
	SslParameters *ssl.SslParameters `protobuf:"bytes,1,opt,name=ssl_parameters,json=sslParameters,proto3" json:"ssl_parameters,omitempty"`
	// Annotations to apply to all upstreams
	GlobalAnnotations map[string]string `` /* 200-byte string literal not displayed */
	// contains filtered or unexported fields
}

Default configuration to use for upstreams, when not provided by a specific upstream When these properties are defined on a specific upstream, this configuration will be ignored

func (*UpstreamOptions) Clone added in v1.8.24

func (m *UpstreamOptions) Clone() proto.Message

Clone function

func (*UpstreamOptions) Descriptor deprecated added in v1.6.8

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

Deprecated: Use UpstreamOptions.ProtoReflect.Descriptor instead.

func (*UpstreamOptions) Equal added in v1.6.8

func (m *UpstreamOptions) Equal(that interface{}) bool

Equal function

func (*UpstreamOptions) GetGlobalAnnotations added in v1.9.25

func (x *UpstreamOptions) GetGlobalAnnotations() map[string]string

func (*UpstreamOptions) GetSslParameters added in v1.6.8

func (x *UpstreamOptions) GetSslParameters() *ssl.SslParameters

func (*UpstreamOptions) Hash added in v1.6.8

func (m *UpstreamOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*UpstreamOptions) ProtoMessage added in v1.6.8

func (*UpstreamOptions) ProtoMessage()

func (*UpstreamOptions) ProtoReflect added in v1.6.8

func (x *UpstreamOptions) ProtoReflect() protoreflect.Message

func (*UpstreamOptions) Reset added in v1.6.8

func (x *UpstreamOptions) Reset()

func (*UpstreamOptions) String added in v1.6.8

func (x *UpstreamOptions) String() string

type UpstreamReconciler

type UpstreamReconciler interface {
	Reconcile(namespace string, desiredResources UpstreamList, transition TransitionUpstreamFunc, opts clients.ListOpts) error
}

func NewUpstreamReconciler

func NewUpstreamReconciler(client UpstreamClient, statusSetter resources.StatusSetter) UpstreamReconciler

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"`
}

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"`
}

type Upstream_Azure added in v1.0.0

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

type Upstream_ClusterProtocolSelection added in v1.9.25

type Upstream_ClusterProtocolSelection int32
const (
	// Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
	// If :ref:`http2_protocol_options <envoy_v3_api_field_config.cluster.v3.Cluster.http2_protocol_options>` are
	// present, HTTP2 will be used, otherwise HTTP1.1 will be used.
	Upstream_USE_CONFIGURED_PROTOCOL Upstream_ClusterProtocolSelection = 0
	// Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
	Upstream_USE_DOWNSTREAM_PROTOCOL Upstream_ClusterProtocolSelection = 1
)

func (Upstream_ClusterProtocolSelection) Descriptor added in v1.9.25

func (Upstream_ClusterProtocolSelection) Enum added in v1.9.25

func (Upstream_ClusterProtocolSelection) EnumDescriptor deprecated added in v1.9.25

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

Deprecated: Use Upstream_ClusterProtocolSelection.Descriptor instead.

func (Upstream_ClusterProtocolSelection) Number added in v1.9.25

func (Upstream_ClusterProtocolSelection) String added in v1.9.25

func (Upstream_ClusterProtocolSelection) Type added in v1.9.25

type Upstream_Consul added in v1.0.0

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

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"`
}

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"`
}

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"`
}

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/main/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"`
	// Types that are assignable to OpaqueMetadata:
	//
	//	*VirtualHost_Metadata
	//	*VirtualHost_MetadataStatic
	OpaqueMetadata isVirtualHost_OpaqueMetadata `protobuf_oneof:"opaque_metadata"`
	// contains filtered or unexported fields
}

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 http 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) Clone added in v1.8.24

func (m *VirtualHost) Clone() proto.Message

Clone function

func (*VirtualHost) Descriptor deprecated

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

Deprecated: Use VirtualHost.ProtoReflect.Descriptor instead.

func (*VirtualHost) Equal

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

Equal function

func (*VirtualHost) GetDomains

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

func (*VirtualHost) GetMetadata added in v1.0.0

func (x *VirtualHost) GetMetadata() *_struct.Struct

func (*VirtualHost) GetMetadataStatic added in v1.9.25

func (x *VirtualHost) GetMetadataStatic() *SourceMetadata

func (*VirtualHost) GetName

func (x *VirtualHost) GetName() string

func (*VirtualHost) GetOpaqueMetadata added in v1.9.25

func (m *VirtualHost) GetOpaqueMetadata() isVirtualHost_OpaqueMetadata

func (*VirtualHost) GetOptions added in v1.0.0

func (x *VirtualHost) GetOptions() *VirtualHostOptions

func (*VirtualHost) GetRoutes

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

func (*VirtualHost) Hash added in v1.2.13

func (m *VirtualHost) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*VirtualHost) ProtoMessage

func (*VirtualHost) ProtoMessage()

func (*VirtualHost) ProtoReflect added in v1.6.0

func (x *VirtualHost) ProtoReflect() protoreflect.Message

func (*VirtualHost) Reset

func (x *VirtualHost) Reset()

func (*VirtualHost) String

func (x *VirtualHost) String() string

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. Note: this field is superseded by `staged_transformations`.
	// If `staged_transformations.regular` is set, this field will be ignored.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.
	Transformations *transformation.Transformations `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"`
	// Types that are assignable to RateLimitEarlyConfigType:
	//
	//	*VirtualHostOptions_RatelimitEarly
	//	*VirtualHostOptions_RateLimitEarlyConfigs
	RateLimitEarlyConfigType isVirtualHostOptions_RateLimitEarlyConfigType `protobuf_oneof:"rate_limit_early_config_type"`
	// Types that are assignable to RateLimitConfigType:
	//
	//	*VirtualHostOptions_Ratelimit
	//	*VirtualHostOptions_RateLimitConfigs
	RateLimitConfigType isVirtualHostOptions_RateLimitConfigType `protobuf_oneof:"rate_limit_config_type"`
	// Types that are assignable to RateLimitRegularConfigType:
	//
	//	*VirtualHostOptions_RatelimitRegular
	//	*VirtualHostOptions_RateLimitRegularConfigs
	RateLimitRegularConfigType isVirtualHostOptions_RateLimitRegularConfigType `protobuf_oneof:"rate_limit_regular_config_type"`
	// 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"`
	// Types that are assignable to JwtConfig:
	//
	//	*VirtualHostOptions_Jwt
	//	*VirtualHostOptions_JwtStaged
	JwtConfig isVirtualHostOptions_JwtConfig `protobuf_oneof:"jwt_config"`
	// 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"`
	// BufferPerRoute can be used to set the maximum request size
	// that the filter will buffer before the connection
	// manager will stop buffering and return a 413 response.
	// Note: If you have not set a global config (at the gateway level), this
	// override will not do anything by itself.
	BufferPerRoute *v3.BufferPerRoute `protobuf:"bytes,14,opt,name=buffer_per_route,json=bufferPerRoute,proto3" json:"buffer_per_route,omitempty"`
	// Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode
	// where policies will be evaluated and tracked, but not enforced and add additional source origins
	// that will be allowed in addition to the destination origin.
	// For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto
	Csrf *v31.CsrfPolicy `protobuf:"bytes,18,opt,name=csrf,proto3" json:"csrf,omitempty"`
	// IncludeRequestAttemptCount decides whether the x-envoy-attempt-count header
	// should be included in the upstream request.
	// Setting this option will cause it to override any existing header value,
	// so in the case of two Envoys on the request path with this option enabled,
	// the upstream will see the attempt count as perceived by the second Envoy.
	// Defaults to false.
	IncludeRequestAttemptCount *wrappers.BoolValue `` /* 144-byte string literal not displayed */
	// IncludeAttemptCountInResponse decides whether the x-envoy-attempt-count header
	// should be included in the downstream response.
	// Setting this option will cause the router to override any existing header value,
	// so in the case of two Envoys on the request path with this option enabled,
	// the downstream will see the attempt count as perceived by the Envoy closest upstream from itself.
	// Defaults to false.
	IncludeAttemptCountInResponse *wrappers.BoolValue `` /* 155-byte string literal not displayed */
	// Early transformations stage. These transformations run before most other options are processed.
	// If the `regular` field is set in here, the `transformations` field is ignored.
	StagedTransformations *transformation.TransformationStages `protobuf:"bytes,17,opt,name=staged_transformations,json=stagedTransformations,proto3" json:"staged_transformations,omitempty"`
	// Enterprise-only: External Processing filter settings for the virtual host. This can be used to
	// override certain HttpListenerOptions settings, and can be overridden by RouteOptions settings.
	ExtProc *extproc.RouteSettings `protobuf:"bytes,30,opt,name=ext_proc,json=extProc,proto3" json:"ext_proc,omitempty"`
	// contains filtered or unexported fields
}

Optional, feature-specific configuration that lives on virtual hosts. Each VirtualHostOptions 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) Clone added in v1.8.24

func (m *VirtualHostOptions) Clone() proto.Message

Clone function

func (*VirtualHostOptions) Descriptor deprecated added in v1.0.0

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

Deprecated: Use VirtualHostOptions.ProtoReflect.Descriptor instead.

func (*VirtualHostOptions) Equal added in v1.0.0

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

Equal function

func (*VirtualHostOptions) GetBufferPerRoute added in v1.4.0

func (x *VirtualHostOptions) GetBufferPerRoute() *v3.BufferPerRoute

func (*VirtualHostOptions) GetCors added in v1.0.0

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

func (*VirtualHostOptions) GetCsrf added in v1.6.0

func (x *VirtualHostOptions) GetCsrf() *v31.CsrfPolicy

func (*VirtualHostOptions) GetDlp added in v1.0.0

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

func (*VirtualHostOptions) GetExtProc added in v1.15.0

func (x *VirtualHostOptions) GetExtProc() *extproc.RouteSettings

func (*VirtualHostOptions) GetExtauth added in v1.0.0

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

func (*VirtualHostOptions) GetExtensions added in v1.0.0

func (x *VirtualHostOptions) GetExtensions() *Extensions

func (*VirtualHostOptions) GetHeaderManipulation added in v1.0.0

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

func (*VirtualHostOptions) GetIncludeAttemptCountInResponse added in v1.5.0

func (x *VirtualHostOptions) GetIncludeAttemptCountInResponse() *wrappers.BoolValue

func (*VirtualHostOptions) GetIncludeRequestAttemptCount added in v1.5.0

func (x *VirtualHostOptions) GetIncludeRequestAttemptCount() *wrappers.BoolValue

func (*VirtualHostOptions) GetJwt deprecated added in v1.0.0

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

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.

func (*VirtualHostOptions) GetJwtConfig added in v1.6.4

func (m *VirtualHostOptions) GetJwtConfig() isVirtualHostOptions_JwtConfig

func (*VirtualHostOptions) GetJwtStaged added in v1.6.4

func (x *VirtualHostOptions) GetJwtStaged() *jwt.JwtStagedVhostExtension

func (*VirtualHostOptions) GetRateLimitConfigType added in v1.5.0

func (m *VirtualHostOptions) GetRateLimitConfigType() isVirtualHostOptions_RateLimitConfigType

func (*VirtualHostOptions) GetRateLimitConfigs added in v1.5.0

func (x *VirtualHostOptions) GetRateLimitConfigs() *ratelimit.RateLimitConfigRefs

func (*VirtualHostOptions) GetRateLimitEarlyConfigType added in v1.9.25

func (m *VirtualHostOptions) GetRateLimitEarlyConfigType() isVirtualHostOptions_RateLimitEarlyConfigType

func (*VirtualHostOptions) GetRateLimitEarlyConfigs added in v1.9.25

func (x *VirtualHostOptions) GetRateLimitEarlyConfigs() *ratelimit.RateLimitConfigRefs

func (*VirtualHostOptions) GetRateLimitRegularConfigType added in v1.9.25

func (m *VirtualHostOptions) GetRateLimitRegularConfigType() isVirtualHostOptions_RateLimitRegularConfigType

func (*VirtualHostOptions) GetRateLimitRegularConfigs added in v1.9.25

func (x *VirtualHostOptions) GetRateLimitRegularConfigs() *ratelimit.RateLimitConfigRefs

func (*VirtualHostOptions) GetRatelimit added in v1.0.0

func (*VirtualHostOptions) GetRatelimitBasic added in v1.0.0

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

func (*VirtualHostOptions) GetRatelimitEarly added in v1.9.25

func (x *VirtualHostOptions) GetRatelimitEarly() *ratelimit.RateLimitVhostExtension

func (*VirtualHostOptions) GetRatelimitRegular added in v1.9.25

func (x *VirtualHostOptions) GetRatelimitRegular() *ratelimit.RateLimitVhostExtension

func (*VirtualHostOptions) GetRbac added in v1.0.0

func (*VirtualHostOptions) GetRetries added in v1.0.0

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

func (*VirtualHostOptions) GetStagedTransformations added in v1.4.6

func (x *VirtualHostOptions) GetStagedTransformations() *transformation.TransformationStages

func (*VirtualHostOptions) GetStats added in v1.0.0

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

func (*VirtualHostOptions) GetTransformations deprecated added in v1.0.0

func (x *VirtualHostOptions) GetTransformations() *transformation.Transformations

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.

func (*VirtualHostOptions) GetWaf added in v1.0.0

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

func (*VirtualHostOptions) Hash added in v1.2.13

func (m *VirtualHostOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*VirtualHostOptions) ProtoMessage added in v1.0.0

func (*VirtualHostOptions) ProtoMessage()

func (*VirtualHostOptions) ProtoReflect added in v1.6.0

func (x *VirtualHostOptions) ProtoReflect() protoreflect.Message

func (*VirtualHostOptions) Reset added in v1.0.0

func (x *VirtualHostOptions) Reset()

func (*VirtualHostOptions) String added in v1.0.0

func (x *VirtualHostOptions) String() string

type VirtualHostOptions_Jwt added in v1.6.4

type VirtualHostOptions_Jwt struct {
	// 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.
	// This has been deprecated in favor of staged jwt. The same configuration can be achieved through staged jwt
	// using AfterExtAuth.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.
	Jwt *jwt.VhostExtension `protobuf:"bytes,9,opt,name=jwt,proto3,oneof"`
}

type VirtualHostOptions_JwtStaged added in v1.6.4

type VirtualHostOptions_JwtStaged struct {
	// 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 configuration has stages "BeforeExtAuth" and "AfterExtAuth". BeforeExtAuth JWT
	// validation runs before the external authentication service. This is useful when JWT
	// is used in conjunction with other auth mechanisms specified in the [boolean expression Extauth API](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extauth/v1/extauth.proto.sk/#authconfig).
	// AfterExtAuth validation runs after external authentication service, which is useful for verifying
	// JWTs obtained during extauth (e.g. oauth/oidc)
	JwtStaged *jwt.JwtStagedVhostExtension `protobuf:"bytes,19,opt,name=jwt_staged,json=jwtStaged,proto3,oneof"`
}

type VirtualHostOptions_RateLimitConfigs added in v1.5.0

type VirtualHostOptions_RateLimitConfigs struct {
	// References to RateLimitConfig resources. This is used to configure the GlooE rate limit server.
	// Only one of `ratelimit` or `rate_limit_configs` can be set.
	RateLimitConfigs *ratelimit.RateLimitConfigRefs `protobuf:"bytes,71,opt,name=rate_limit_configs,json=rateLimitConfigs,proto3,oneof"`
}

type VirtualHostOptions_RateLimitEarlyConfigs added in v1.9.25

type VirtualHostOptions_RateLimitEarlyConfigs struct {
	// References to RateLimitConfig resources. This is used to configure the GlooE rate limit server.
	// Only one of `ratelimit_early` or `rate_limit_early_configs` can be set.
	RateLimitEarlyConfigs *ratelimit.RateLimitConfigRefs `protobuf:"bytes,73,opt,name=rate_limit_early_configs,json=rateLimitEarlyConfigs,proto3,oneof"`
}

type VirtualHostOptions_RateLimitRegularConfigs added in v1.9.25

type VirtualHostOptions_RateLimitRegularConfigs struct {
	// References to RateLimitConfig resources. This is used to configure the GlooE rate limit server.
	// Only one of `ratelimit_regular` or `rate_limit_regular_configs` can be set.
	RateLimitRegularConfigs *ratelimit.RateLimitConfigRefs `protobuf:"bytes,75,opt,name=rate_limit_regular_configs,json=rateLimitRegularConfigs,proto3,oneof"`
}

type VirtualHostOptions_Ratelimit added in v1.5.0

type VirtualHostOptions_Ratelimit struct {
	// 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.
	// Only one of `ratelimit` or `rate_limit_configs` can be set.
	Ratelimit *ratelimit.RateLimitVhostExtension `protobuf:"bytes,70,opt,name=ratelimit,proto3,oneof"`
}

type VirtualHostOptions_RatelimitEarly added in v1.9.25

type VirtualHostOptions_RatelimitEarly struct {
	// 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.
	// Only one of `ratelimit_early` or `rate_limit_early_configs` can be set.
	RatelimitEarly *ratelimit.RateLimitVhostExtension `protobuf:"bytes,72,opt,name=ratelimit_early,json=ratelimitEarly,proto3,oneof"`
}

type VirtualHostOptions_RatelimitRegular added in v1.9.25

type VirtualHostOptions_RatelimitRegular struct {
	// 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.
	// Only one of `ratelimit_regular` or `rate_limit_regular_configs` can be set.
	RatelimitRegular *ratelimit.RateLimitVhostExtension `protobuf:"bytes,74,opt,name=ratelimit_regular,json=ratelimitRegular,proto3,oneof"`
}

type VirtualHost_Metadata added in v1.9.25

type VirtualHost_Metadata struct {
	// 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)
	// Deprecated: prefer the any field below
	Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3,oneof"`
}

type VirtualHost_MetadataStatic added in v1.9.25

type VirtualHost_MetadataStatic struct {
	// Inline metadata used by gloo controller to track ownership
	MetadataStatic *SourceMetadata `protobuf:"bytes,7,opt,name=metadata_static,json=metadataStatic,proto3,oneof"`
}

type VirtualServiceOptions added in v1.6.33

type VirtualServiceOptions struct {

	// Default one_way_tls value to use for all virtual services where one_way_tls config has not been specified.
	// If the SSL config has the ca.crt (root CA) provided, Gloo uses it to perform mTLS by default.
	// Set oneWayTls to true to disable mTLS in favor of server-only TLS (one-way TLS), even if Gloo has the root CA.
	OneWayTls *wrappers.BoolValue `protobuf:"bytes,1,opt,name=one_way_tls,json=oneWayTls,proto3" json:"one_way_tls,omitempty"`
	// contains filtered or unexported fields
}

Default configuration to use for VirtualServices, when not provided by a specific virtual service When these properties are defined on a specific VirtualService, this configuration will be ignored

func (*VirtualServiceOptions) Clone added in v1.8.24

func (m *VirtualServiceOptions) Clone() proto.Message

Clone function

func (*VirtualServiceOptions) Descriptor deprecated added in v1.6.33

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

Deprecated: Use VirtualServiceOptions.ProtoReflect.Descriptor instead.

func (*VirtualServiceOptions) Equal added in v1.6.33

func (m *VirtualServiceOptions) Equal(that interface{}) bool

Equal function

func (*VirtualServiceOptions) GetOneWayTls added in v1.6.33

func (x *VirtualServiceOptions) GetOneWayTls() *wrappers.BoolValue

func (*VirtualServiceOptions) Hash added in v1.6.33

func (m *VirtualServiceOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*VirtualServiceOptions) ProtoMessage added in v1.6.33

func (*VirtualServiceOptions) ProtoMessage()

func (*VirtualServiceOptions) ProtoReflect added in v1.6.33

func (x *VirtualServiceOptions) ProtoReflect() protoreflect.Message

func (*VirtualServiceOptions) Reset added in v1.6.33

func (x *VirtualServiceOptions) Reset()

func (*VirtualServiceOptions) String added in v1.6.33

func (x *VirtualServiceOptions) String() string

type WeightedDestination

type WeightedDestination struct {
	Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
	// Weight must be zero or greater -if no weight is passed it will default to 0 -
	// Routing to each destination is balanced according to the ratio of the destination’s weight to the total
	// weight on a route. For example, if the weight for one destination is 2, and the total weight of all
	// destinations on the route is 6, the destination receives 2/6 of the traffic. Note that a weight of 0
	// routes no traffic to the destination.
	Weight *wrappers.UInt32Value `protobuf:"bytes,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"`
	// contains filtered or unexported fields
}

WeightedDestination attaches a weight to a single destination.

func (*WeightedDestination) Clone added in v1.8.24

func (m *WeightedDestination) Clone() proto.Message

Clone function

func (*WeightedDestination) Descriptor deprecated

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

Deprecated: Use WeightedDestination.ProtoReflect.Descriptor instead.

func (*WeightedDestination) Equal

func (m *WeightedDestination) Equal(that interface{}) bool

Equal function

func (*WeightedDestination) GetDestination

func (x *WeightedDestination) GetDestination() *Destination

func (*WeightedDestination) GetOptions added in v1.0.0

func (*WeightedDestination) GetWeight

func (x *WeightedDestination) GetWeight() *wrappers.UInt32Value

func (*WeightedDestination) Hash added in v1.2.13

func (m *WeightedDestination) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*WeightedDestination) ProtoMessage

func (*WeightedDestination) ProtoMessage()

func (*WeightedDestination) ProtoReflect added in v1.6.0

func (x *WeightedDestination) ProtoReflect() protoreflect.Message

func (*WeightedDestination) Reset

func (x *WeightedDestination) Reset()

func (*WeightedDestination) String

func (x *WeightedDestination) String() string

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. Note: this field is superseded by `staged_transformations`.
	// If `staged_transformations.regular` is set, this field will be ignored.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.
	Transformations *transformation.Transformations `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"`
	// BufferPerRoute can be used to set the maximum request size
	// that the filter will buffer before the connection
	// manager will stop buffering and return a 413 response.
	// Note: If you have not set a global config (at the gateway level), this
	// override will not do anything by itself.
	BufferPerRoute *v3.BufferPerRoute `protobuf:"bytes,5,opt,name=buffer_per_route,json=bufferPerRoute,proto3" json:"buffer_per_route,omitempty"`
	// Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode
	// where policies will be evaluated and tracked, but not enforced and add additional source origins
	// that will be allowed in addition to the destination origin.
	// For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto
	Csrf *v31.CsrfPolicy `protobuf:"bytes,7,opt,name=csrf,proto3" json:"csrf,omitempty"`
	// Early transformations stage. These transformations run before most other options are processed.
	// If the `regular` field is set in here, the `transformations` field is ignored.
	StagedTransformations *transformation.TransformationStages `protobuf:"bytes,6,opt,name=staged_transformations,json=stagedTransformations,proto3" json:"staged_transformations,omitempty"`
	// contains filtered or unexported fields
}

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

func (*WeightedDestinationOptions) Clone added in v1.8.24

Clone function

func (*WeightedDestinationOptions) Descriptor deprecated added in v1.0.0

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

Deprecated: Use WeightedDestinationOptions.ProtoReflect.Descriptor instead.

func (*WeightedDestinationOptions) Equal added in v1.0.0

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

Equal function

func (*WeightedDestinationOptions) GetBufferPerRoute added in v1.4.0

func (x *WeightedDestinationOptions) GetBufferPerRoute() *v3.BufferPerRoute

func (*WeightedDestinationOptions) GetCsrf added in v1.6.0

func (*WeightedDestinationOptions) GetExtauth added in v1.0.0

func (*WeightedDestinationOptions) GetExtensions added in v1.0.0

func (x *WeightedDestinationOptions) GetExtensions() *Extensions

func (*WeightedDestinationOptions) GetHeaderManipulation added in v1.0.0

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

func (*WeightedDestinationOptions) GetStagedTransformations added in v1.4.6

func (x *WeightedDestinationOptions) GetStagedTransformations() *transformation.TransformationStages

func (*WeightedDestinationOptions) GetTransformations deprecated added in v1.0.0

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.

func (*WeightedDestinationOptions) Hash added in v1.2.13

func (m *WeightedDestinationOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*WeightedDestinationOptions) ProtoMessage added in v1.0.0

func (*WeightedDestinationOptions) ProtoMessage()

func (*WeightedDestinationOptions) ProtoReflect added in v1.6.0

func (*WeightedDestinationOptions) Reset added in v1.0.0

func (x *WeightedDestinationOptions) Reset()

func (*WeightedDestinationOptions) String added in v1.0.0

func (x *WeightedDestinationOptions) String() string

Source Files

Directories

Path Synopsis
core
options/extauth/v1/kube/apis/enterprise.gloo.solo.io/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
options/extauth/v1/kube/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
options/extauth/v1/kube/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
options/extauth/v1/kube/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
options/extauth/v1/kube/client/clientset/versioned/typed/enterprise.gloo.solo.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
Package fake has the automatically generated clients.
options/graphql/v1beta1/kube/apis/enterprise.gloo.solo.io/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
options/graphql/v1beta1/kube/apis/graphql.gloo.solo.io/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
kube/apis/gloosnapshot.gloo.solo.io/gloosnapshot
Package gloosnapshot is the gloosnapshot version of the API.
Package gloosnapshot is the gloosnapshot version of the API.
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
tap
tcp

Jump to

Keyboard shortcuts

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