v1

package
v1.6.30 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2021 License: Apache-2.0 Imports: 92 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 (
	ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction_name = map[int32]string{
		0: "ALLOW",
		1: "REJECT_REQUEST",
		2: "DROP_HEADER",
	}
	ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction_value = map[string]int32{
		"ALLOW":          0,
		"REJECT_REQUEST": 1,
		"DROP_HEADER":    2,
	}
)

Enum value maps for ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction.

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 (
	SslParameters_ProtocolVersion_name = map[int32]string{
		0: "TLS_AUTO",
		1: "TLSv1_0",
		2: "TLSv1_1",
		3: "TLSv1_2",
		4: "TLSv1_3",
	}
	SslParameters_ProtocolVersion_value = map[string]int32{
		"TLS_AUTO": 0,
		"TLSv1_0":  1,
		"TLSv1_1":  2,
		"TLSv1_2":  3,
		"TLSv1_3":  4,
	}
)

Enum value maps for SslParameters_ProtocolVersion.

View Source
var (
	ArtifactCrd = crd.NewCrd(
		"artifacts",
		ArtifactGVK.Group,
		ArtifactGVK.Version,
		ArtifactGVK.Kind,
		"art",
		false,
		&Artifact{})
)
View Source
var (
	ArtifactGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Artifact",
	}
)
View Source
var (
	EndpointCrd = crd.NewCrd(
		"endpoints",
		EndpointGVK.Group,
		EndpointGVK.Version,
		EndpointGVK.Kind,
		"ep",
		false,
		&Endpoint{})
)
View Source
var (
	EndpointGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Endpoint",
	}
)
View Source
var 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_ssl_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 (
	UpstreamCrd = crd.NewCrd(
		"upstreams",
		UpstreamGVK.Group,
		UpstreamGVK.Version,
		UpstreamGVK.Kind,
		"us",
		false,
		&Upstream{})
)
View Source
var (
	UpstreamGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "Upstream",
	}
)
View Source
var (
	UpstreamGroupCrd = crd.NewCrd(
		"upstreamgroups",
		UpstreamGroupGVK.Group,
		UpstreamGroupGVK.Version,
		UpstreamGroupGVK.Kind,
		"ug",
		false,
		&UpstreamGroup{})
)
View Source
var (
	UpstreamGroupGVK = schema.GroupVersionKind{
		Version: "v1",
		Group:   "gloo.solo.io",
		Kind:    "UpstreamGroup",
	}
)

Functions

func NewApiEventLoop

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

func NewApiSimpleEventLoop added in v0.13.21

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

func NewDiscoveryEventLoop

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

func NewDiscoverySimpleEventLoop added in v0.13.21

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

func NewEdsEventLoop added in v0.15.0

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

func NewEdsSimpleEventLoop added in v0.15.0

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

func NewSetupEventLoop

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

func NewSetupSimpleEventLoop added in v0.13.21

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

Types

type ApiEmitter

func NewApiEmitter

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

func NewApiEmitterWithEmit

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

type ApiSimpleEmitter added in v0.13.21

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

func NewApiSimpleEmitter added in v0.13.21

func NewApiSimpleEmitter(aggregatedWatch clients.ResourceWatch) ApiSimpleEmitter

func NewApiSimpleEmitterWithEmit added in v0.13.21

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

type ApiSnapshot

func (ApiSnapshot) Clone

func (s ApiSnapshot) Clone() ApiSnapshot

func (ApiSnapshot) Hash

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

func (ApiSnapshot) HashFields

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

func (ApiSnapshot) Stringer

func (s ApiSnapshot) Stringer() ApiSnapshotStringer

type ApiSnapshotEmitter added in v0.18.44

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

type ApiSnapshotStringer

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

func (ApiSnapshotStringer) String

func (ss ApiSnapshotStringer) String() string

type ApiSyncDecider deprecated added in v0.13.21

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

Deprecated: use ApiSyncDeciderWithContext

type ApiSyncDeciderWithContext added in v0.15.0

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

type ApiSyncer

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

type ApiSyncers

type ApiSyncers []ApiSyncer

func (ApiSyncers) Sync

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

type Artifact

type Artifact struct {

	// Raw data data being stored
	Data map[string]string `` /* 149-byte string literal not displayed */
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,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) 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) 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) 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) 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 CallCredentials added in v0.11.2

type CallCredentials struct {

	// Call credentials are coming from a file,
	FileCredentialSource *CallCredentials_FileCredentialSource `protobuf:"bytes,1,opt,name=file_credential_source,json=fileCredentialSource,proto3" json:"file_credential_source,omitempty"`
	// contains filtered or unexported fields
}

func (*CallCredentials) Descriptor deprecated added in v0.11.2

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

Deprecated: Use CallCredentials.ProtoReflect.Descriptor instead.

func (*CallCredentials) Equal added in v0.11.2

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

Equal function

func (*CallCredentials) GetFileCredentialSource added in v0.11.2

func (x *CallCredentials) GetFileCredentialSource() *CallCredentials_FileCredentialSource

func (*CallCredentials) Hash added in v1.2.13

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

Hash function

func (*CallCredentials) ProtoMessage added in v0.11.2

func (*CallCredentials) ProtoMessage()

func (*CallCredentials) ProtoReflect added in v1.6.0

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

func (*CallCredentials) Reset added in v0.11.2

func (x *CallCredentials) Reset()

func (*CallCredentials) String added in v0.11.2

func (x *CallCredentials) String() string

type CallCredentials_FileCredentialSource added in v0.11.2

type CallCredentials_FileCredentialSource struct {

	// File containing auth token.
	TokenFileName string `protobuf:"bytes,1,opt,name=token_file_name,json=tokenFileName,proto3" json:"token_file_name,omitempty"`
	// Header to carry the token.
	Header string `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
	// contains filtered or unexported fields
}

func (*CallCredentials_FileCredentialSource) Descriptor deprecated added in v0.11.2

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

Deprecated: Use CallCredentials_FileCredentialSource.ProtoReflect.Descriptor instead.

func (*CallCredentials_FileCredentialSource) Equal added in v0.11.2

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

Equal function

func (*CallCredentials_FileCredentialSource) GetHeader added in v0.11.2

func (*CallCredentials_FileCredentialSource) GetTokenFileName added in v0.11.2

func (x *CallCredentials_FileCredentialSource) GetTokenFileName() string

func (*CallCredentials_FileCredentialSource) Hash added in v1.2.13

Hash function

func (*CallCredentials_FileCredentialSource) ProtoMessage added in v0.11.2

func (*CallCredentials_FileCredentialSource) ProtoMessage()

func (*CallCredentials_FileCredentialSource) ProtoReflect added in v1.6.0

func (*CallCredentials_FileCredentialSource) Reset added in v0.11.2

func (*CallCredentials_FileCredentialSource) String added in v0.11.2

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) 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 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 *ConnectionConfig_HttpProtocolOptions `` /* 140-byte string literal not displayed */
	// contains filtered or unexported fields
}

Fine tune the settings for connections to an upstream

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() *ConnectionConfig_HttpProtocolOptions

func (*ConnectionConfig) GetConnectTimeout added in v0.13.15

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

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_HttpProtocolOptions added in v1.4.13

type ConnectionConfig_HttpProtocolOptions struct {

	// The idle timeout for connections. The idle timeout is defined as the
	// period in which there are no active requests. When the
	// idle timeout is reached the connection will be closed. If the connection is an HTTP/2
	// downstream connection a drain sequence will occur prior to closing the connection, see
	// :ref:`drain_timeout
	// <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
	// Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
	// If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
	//
	// .. warning::
	//   Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
	//   FIN packets, etc.
	IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// The maximum number of headers. If unconfigured, the default
	// maximum number of request headers allowed is 100. Requests that exceed this limit will receive
	// a 431 response for HTTP/1.x and cause a stream reset for HTTP/2.
	MaxHeadersCount uint32 `protobuf:"varint,2,opt,name=max_headers_count,json=maxHeadersCount,proto3" json:"max_headers_count,omitempty"`
	// Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be
	// reset independent of any other timeouts. If not specified, this value is not set.
	MaxStreamDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"`
	// Action to take when a client request with a header name containing underscore characters is received.
	// If this setting is not specified, the value defaults to ALLOW.
	// Note: upstream responses are not affected by this setting.
	HeadersWithUnderscoresAction ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction `` /* 234-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ConnectionConfig_HttpProtocolOptions) Descriptor deprecated added in v1.4.13

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

Deprecated: Use ConnectionConfig_HttpProtocolOptions.ProtoReflect.Descriptor instead.

func (*ConnectionConfig_HttpProtocolOptions) Equal added in v1.4.13

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

Equal function

func (*ConnectionConfig_HttpProtocolOptions) GetHeadersWithUnderscoresAction added in v1.4.13

func (*ConnectionConfig_HttpProtocolOptions) GetIdleTimeout added in v1.4.13

func (*ConnectionConfig_HttpProtocolOptions) GetMaxHeadersCount added in v1.4.13

func (x *ConnectionConfig_HttpProtocolOptions) GetMaxHeadersCount() uint32

func (*ConnectionConfig_HttpProtocolOptions) GetMaxStreamDuration added in v1.4.13

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

func (*ConnectionConfig_HttpProtocolOptions) Hash added in v1.4.13

Hash function

func (*ConnectionConfig_HttpProtocolOptions) ProtoMessage added in v1.4.13

func (*ConnectionConfig_HttpProtocolOptions) ProtoMessage()

func (*ConnectionConfig_HttpProtocolOptions) ProtoReflect added in v1.6.0

func (*ConnectionConfig_HttpProtocolOptions) Reset added in v1.4.13

func (*ConnectionConfig_HttpProtocolOptions) String added in v1.4.13

type ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction added in v1.4.13

type ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction int32

Action to take when Envoy receives client request with header names containing underscore characters. Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore characters.

const (
	// Allow headers with underscores. This is the default behavior.
	ConnectionConfig_HttpProtocolOptions_ALLOW ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction = 0
	// Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests
	// end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter
	// is incremented for each rejected request.
	ConnectionConfig_HttpProtocolOptions_REJECT_REQUEST ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction = 1
	// Drop the header with name containing underscores. The header is dropped before the filter chain is
	// invoked and as such filters will not see dropped headers. The
	// "httpN.dropped_headers_with_underscores" is incremented for each dropped header.
	ConnectionConfig_HttpProtocolOptions_DROP_HEADER ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction = 2
)

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor added in v1.6.0

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Enum added in v1.6.0

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor deprecated added in v1.4.13

Deprecated: Use ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead.

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Number added in v1.6.0

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) String added in v1.4.13

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Type added in v1.6.0

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-v2/api/v2/core/address.proto#envoy-api-msg-core-tcpkeepalive

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 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) 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) 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) 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/master/api/envoy/api/v2/route/route.proto

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) 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) Hash

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

func (DiscoverySnapshot) HashFields

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

func (DiscoverySnapshot) Stringer

type DiscoverySnapshotEmitter added in v0.18.44

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

type DiscoverySnapshotStringer

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

func (DiscoverySnapshotStringer) String

func (ss DiscoverySnapshotStringer) String() string

type DiscoverySyncDecider deprecated added in v0.13.21

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

Deprecated: use DiscoverySyncDeciderWithContext

type DiscoverySyncDeciderWithContext added in v0.15.0

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

type DiscoverySyncer

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

type DiscoverySyncers

type DiscoverySyncers []DiscoverySyncer

func (DiscoverySyncers) Sync

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

type EdsEmitter added in v0.15.0

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

func NewEdsEmitter added in v0.15.0

func NewEdsEmitter(upstreamClient UpstreamClient) EdsEmitter

func NewEdsEmitterWithEmit added in v0.15.0

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

type EdsSimpleEmitter added in v0.15.0

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

func NewEdsSimpleEmitter added in v0.15.0

func NewEdsSimpleEmitter(aggregatedWatch clients.ResourceWatch) EdsSimpleEmitter

func NewEdsSimpleEmitterWithEmit added in v0.15.0

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

type EdsSnapshot added in v0.15.0

type EdsSnapshot struct {
	Upstreams UpstreamList
}

func (EdsSnapshot) Clone added in v0.15.0

func (s EdsSnapshot) Clone() EdsSnapshot

func (EdsSnapshot) Hash added in v0.15.0

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

func (EdsSnapshot) HashFields added in v0.15.0

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

func (EdsSnapshot) Stringer added in v0.15.0

func (s EdsSnapshot) Stringer() EdsSnapshotStringer

type EdsSnapshotEmitter added in v0.18.44

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

type EdsSnapshotStringer added in v0.15.0

type EdsSnapshotStringer struct {
	Version   uint64
	Upstreams []string
}

func (EdsSnapshotStringer) String added in v0.15.0

func (ss EdsSnapshotStringer) String() string

type EdsSyncDecider deprecated added in v0.15.0

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

Deprecated: use EdsSyncDeciderWithContext

type EdsSyncDeciderWithContext added in v0.15.0

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

type EdsSyncer added in v0.15.0

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

type EdsSyncers added in v0.15.0

type EdsSyncers []EdsSyncer

func (EdsSyncers) Sync added in v0.15.0

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

type Endpoint

type Endpoint struct {

	// List of the upstreams the endpoint belongs to
	Upstreams []*core.ResourceRef `protobuf:"bytes,1,rep,name=upstreams,proto3" json:"upstreams,omitempty"`
	// Address of the endpoint (ip or hostname)
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// listening port for the endpoint
	Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	// 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) 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) 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) 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) 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"`
	// 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) 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) 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_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) 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: Do not use.
	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"`
	// contains filtered or unexported fields
}

Settings specific to the Gateway controller

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: Do not use.

func (*GatewayOptions) GetCompressedProxySpec added in v1.5.0

func (x *GatewayOptions) GetCompressedProxySpec() bool

func (*GatewayOptions) GetReadGatewaysFromAllNamespaces added in v1.0.0

func (x *GatewayOptions) GetReadGatewaysFromAllNamespaces() bool

func (*GatewayOptions) GetValidation added in v0.20.3

func (*GatewayOptions) GetValidationServerAddr added in v0.18.43

func (x *GatewayOptions) GetValidationServerAddr() string

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 */
	// When Gateway cannot communicate with Gloo (e.g. Gloo is offline)
	// resources will be rejected by default.
	// Enable the `ignoreGlooValidationFailure` to prevent the Validation server from rejecting
	// resources due to network errors.
	IgnoreGlooValidationFailure bool `` /* 147-byte string literal not displayed */
	// Always accept resources even if validation produced an error.
	// Validation will still log the error and increment the validation.gateway.solo.io/resources_rejected stat.
	// Currently defaults to true - must be set to `false` to prevent writing invalid resources to storage.
	AlwaysAccept *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"`
	// 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
	WarnRouteShortCircuiting *wrappers.BoolValue `` /* 137-byte string literal not displayed */
	// 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.
	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 4 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 4 MB.
	ValidationServerGrpcMaxSize *wrappers.Int64Value `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

options for configuring admission control / validation

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

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

func (*GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetIgnoreGlooValidationFailure() bool

func (*GatewayOptions_ValidationOptions) GetProxyValidationServerAddr added in v0.20.3

func (x *GatewayOptions_ValidationOptions) GetProxyValidationServerAddr() string

func (*GatewayOptions_ValidationOptions) GetValidationServerGrpcMaxSize added in v1.6.23

func (x *GatewayOptions_ValidationOptions) GetValidationServerGrpcMaxSize() *wrappers.Int64Value

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

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

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.
	// Set to true by default in versions > `v1.6.0`.
	// This setting is meant to solve the bug which causes updated upstreams to dissapear, or have 0 endpoints.
	// Some examples are:
	// 1. https://github.com/solo-io/gloo/issues/3673
	// 2. https://github.com/solo-io/gloo/issues/3710
	// 3. https://github.com/solo-io/gloo/issues/3219
	// 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"`
	// contains filtered or unexported fields
}

Settings specific to the gloo (Envoy xDS server) controller

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

func (x *GlooOptions) GetInvalidConfigPolicy() *GlooOptions_InvalidConfigPolicy

func (*GlooOptions) GetRegexMaxProgramSize added in v1.3.22

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

func (*GlooOptions) GetRestXdsBindAddr added in v1.5.0

func (x *GlooOptions) GetRestXdsBindAddr() string

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

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) 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) 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

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

Optional, feature-specific configuration that lives on http listeners

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

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

func (*HttpListenerOptions) GetDlp added in v1.0.0

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

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) 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) GetSanitizeClusterHeader added in v1.5.11

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

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

The optional health check configuration.

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) 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
	ListenerType isListener_ListenerType `protobuf_oneof:"ListenerType"`
	// SSL Config is optional for the listener. If provided, the listener will serve TLS for connections on this port.
	// Multiple SslConfigs are supported for the purpose of SNI. Be aware that the SNI domain provided in the SSL Config
	SslConfigurations []*SslConfig `protobuf:"bytes,6,rep,name=ssl_configurations,json=sslConfigurations,proto3" json:"ssl_configurations,omitempty"`
	// Enable ProxyProtocol support for this listener
	UseProxyProto *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"`
	// Metadata for the individual listener
	// This data is opaque to Gloo, used
	// by controllers to track ownership of listeners within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata *_struct.Struct `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,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) 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) GetBindAddress

func (x *Listener) GetBindAddress() string

func (*Listener) GetBindPort

func (x *Listener) GetBindPort() uint32

func (*Listener) GetHttpListener

func (x *Listener) GetHttpListener() *HttpListener

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

func (x *Listener) GetName() string

func (*Listener) GetOptions added in v1.0.0

func (x *Listener) GetOptions() *ListenerOptions

func (*Listener) GetSslConfigurations added in v0.14.0

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

func (*Listener) GetTcpListener added in v0.18.0

func (x *Listener) GetTcpListener() *TcpListener

func (*Listener) GetUseProxyProto added in v0.13.15

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

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"`
	// 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) 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) 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) 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_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_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 request to the Upstream endpoints.

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

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

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) 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.
	RoundRobin *LoadBalancerConfig_RoundRobin `protobuf:"bytes,3,opt,name=round_robin,json=roundRobin,proto3,oneof"`
}

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) 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) 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 MultiDestination

type MultiDestination struct {

	// This list must contain at least one destination or the listener housing this route will be invalid,
	// causing Gloo to error the parent proxy resource.
	Destinations []*WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// 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) 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 Proxy

type Proxy struct {

	// Define here each listener the proxy should create.
	// Listeners define the a set of behaviors for a single bind address/port where the proxy will listen
	// If no listeners are specified, the instances configured with the proxy resource will not accept connections.
	Listeners []*Listener `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status *core.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status,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) 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) GetListeners

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

func (*Proxy) GetMetadata

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

func (*Proxy) GetObjectKind

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

func (*Proxy) GetStatus

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

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) SetStatus

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

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) error

type ProxyClient

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

func NewProxyClient

func NewProxyClient(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) 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
	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/master/api/envoy/api/v2/route/route.proto

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) 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 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
	Action isRoute_Action `protobuf_oneof:"action"`
	// Route Options extend the behavior of routes.
	// Route options include configuration such as retries, rate limiting, and request/response transformation.
	Options *RouteOptions `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"`
	// Metadata for the individual route
	// This data is opaque to Gloo, used
	// by controllers to track ownership of routes within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// 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) 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) 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) GetName added in v1.3.4

func (x *Route) GetName() string

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
	Destination isRouteAction_Destination `protobuf_oneof:"destination"`
	// contains filtered or unexported fields
}

RouteActions are used to route matched requests to upstreams.

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

type RouteOptions struct {

	// Transformations to apply. Note: this field is superceded by `staged_transformations`.
	// If `staged_transformations.regular` is set, this field will be ignored.
	//
	// Deprecated: Do not use.
	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 for additional information about configuring tracing with Gloo: https://gloo.solo.io/observability/tracing/
	Tracing *tracing.RouteTracingSettings `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"`
	// Specifies traffic shadowing configuration for the route.
	// See here for additional information on Envoy's shadowing capabilities: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#envoy-api-msg-route-routeaction-requestmirrorpolicy
	Shadowing *shadowing.RouteShadowing `protobuf:"bytes,8,opt,name=shadowing,proto3" json:"shadowing,omitempty"`
	// Append/Remove headers on Requests or Responses on this Route
	HeaderManipulation *headers.HeaderManipulation `protobuf:"bytes,9,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	// For requests matched on this route, rewrite the Host header before forwarding upstream
	//
	// Types that are assignable to HostRewriteType:
	//	*RouteOptions_HostRewrite
	//	*RouteOptions_AutoHostRewrite
	HostRewriteType isRouteOptions_HostRewriteType `protobuf_oneof:"host_rewrite_type"`
	// Defines a CORS policy for the route
	// If a CORS policy is also defined on the route's virtual host, the policies are merged.
	Cors *cors.CorsPolicy `protobuf:"bytes,11,opt,name=cors,proto3" json:"cors,omitempty"`
	// For routes served by a hashing load balancer, this defines the input to the hash key
	// Gloo configures Envoy with the first available RouteActionHashConfig among the following ordered list of providers:
	// - route, upstream, virtual service
	LbHash *lbhash.RouteActionHashConfig `protobuf:"bytes,12,opt,name=lb_hash,json=lbHash,proto3" json:"lb_hash,omitempty"`
	// 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 RateLimitConfigType:
	//	*RouteOptions_Ratelimit
	//	*RouteOptions_RateLimitConfigs
	RateLimitConfigType isRouteOptions_RateLimitConfigType `protobuf_oneof:"rate_limit_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"`
	// contains filtered or unexported fields
}

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

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

func (m *RouteOptions) GetHostRewriteType() isRouteOptions_HostRewriteType

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

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

Deprecated: Do not use.

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

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

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: Do not use.

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_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: Do not use.
	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_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_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 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_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 SDSConfig added in v0.11.2

type SDSConfig struct {

	// Target uri for the sds channel. currently only a unix domain socket is supported.
	TargetUri string `protobuf:"bytes,1,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"`
	// Types that are assignable to SdsBuilder:
	//	*SDSConfig_CallCredentials
	//	*SDSConfig_ClusterName
	SdsBuilder isSDSConfig_SdsBuilder `protobuf_oneof:"sds_builder"`
	// The name of the secret containing the certificate
	CertificatesSecretName string `` /* 129-byte string literal not displayed */
	// The name of secret containing the validation context (i.e. root ca)
	ValidationContextName string `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*SDSConfig) Descriptor deprecated added in v0.11.2

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

Deprecated: Use SDSConfig.ProtoReflect.Descriptor instead.

func (*SDSConfig) Equal added in v0.11.2

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

Equal function

func (*SDSConfig) GetCallCredentials added in v0.11.2

func (x *SDSConfig) GetCallCredentials() *CallCredentials

func (*SDSConfig) GetCertificatesSecretName added in v0.11.2

func (x *SDSConfig) GetCertificatesSecretName() string

func (*SDSConfig) GetClusterName added in v1.5.0

func (x *SDSConfig) GetClusterName() string

func (*SDSConfig) GetSdsBuilder added in v1.5.0

func (m *SDSConfig) GetSdsBuilder() isSDSConfig_SdsBuilder

func (*SDSConfig) GetTargetUri added in v0.11.2

func (x *SDSConfig) GetTargetUri() string

func (*SDSConfig) GetValidationContextName added in v0.11.2

func (x *SDSConfig) GetValidationContextName() string

func (*SDSConfig) Hash added in v1.2.13

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

Hash function

func (*SDSConfig) ProtoMessage added in v0.11.2

func (*SDSConfig) ProtoMessage()

func (*SDSConfig) ProtoReflect added in v1.6.0

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

func (*SDSConfig) Reset added in v0.11.2

func (x *SDSConfig) Reset()

func (*SDSConfig) String added in v0.11.2

func (x *SDSConfig) String() string

type SDSConfig_CallCredentials added in v1.5.0

type SDSConfig_CallCredentials struct {
	// Call credentials.
	CallCredentials *CallCredentials `protobuf:"bytes,2,opt,name=call_credentials,json=callCredentials,proto3,oneof"`
}

type SDSConfig_ClusterName added in v1.5.0

type SDSConfig_ClusterName struct {
	// The name of the sds cluster in envoy
	ClusterName string `protobuf:"bytes,5,opt,name=cluster_name,json=clusterName,proto3,oneof"`
}

type SSLFiles

type SSLFiles struct {
	TlsCert string `protobuf:"bytes,1,opt,name=tls_cert,json=tlsCert,proto3" json:"tls_cert,omitempty"`
	TlsKey  string `protobuf:"bytes,2,opt,name=tls_key,json=tlsKey,proto3" json:"tls_key,omitempty"`
	// for client cert validation. optional
	RootCa string `protobuf:"bytes,3,opt,name=root_ca,json=rootCa,proto3" json:"root_ca,omitempty"`
	// contains filtered or unexported fields
}

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

func (*SSLFiles) Descriptor deprecated

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

Deprecated: Use SSLFiles.ProtoReflect.Descriptor instead.

func (*SSLFiles) Equal

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

Equal function

func (*SSLFiles) GetRootCa

func (x *SSLFiles) GetRootCa() string

func (*SSLFiles) GetTlsCert

func (x *SSLFiles) GetTlsCert() string

func (*SSLFiles) GetTlsKey

func (x *SSLFiles) GetTlsKey() string

func (*SSLFiles) Hash added in v1.2.13

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

Hash function

func (*SSLFiles) ProtoMessage

func (*SSLFiles) ProtoMessage()

func (*SSLFiles) ProtoReflect added in v1.6.0

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

func (*SSLFiles) Reset

func (x *SSLFiles) Reset()

func (*SSLFiles) String

func (x *SSLFiles) String() string

type Secret

type Secret struct {

	// Types that are assignable to Kind:
	//	*Secret_Aws
	//	*Secret_Azure
	//	*Secret_Tls
	//	*Secret_Oauth
	//	*Secret_ApiKey
	//	*Secret_Header
	//	*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) 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.ApiKeySecret

func (*Secret) GetAws

func (x *Secret) GetAws() *AwsSecret

func (*Secret) GetAzure

func (x *Secret) GetAzure() *AzureSecret

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) 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.ApiKeySecret `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_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"`
	// 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).
	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"`
	// Metadata contains the object metadata for this resource
	Metadata *core.Metadata `protobuf:"bytes,14,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status *core.Status `protobuf:"bytes,15,opt,name=status,proto3" json:"status,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"`
	// contains filtered or unexported fields
}

Represents global settings for all the Gloo components.

func NewSettings

func NewSettings(namespace, name string) *Settings

func (*Settings) DeepCopyInto added in v0.20.9

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

func (*Settings) DeepCopyObject

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

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

func (m *Settings) GetConfigSource() isSettings_ConfigSource

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

func (x *Settings) GetKnative() *Settings_KnativeOptions

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) 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) GetSecretSource

func (m *Settings) GetSecretSource() isSettings_SecretSource

func (*Settings) GetStatus

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

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) SetStatus

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

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) 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: Do not use.
	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) 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: Do not use.

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) 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) 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"`
	// 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) 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) GetRootCa added in v1.6.0

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

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) 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_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) 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) 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) 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.
	QPS float32 `protobuf:"fixed32,1,opt,name=QPS,proto3" json:"QPS,omitempty"`
	// Maximum burst for throttle. When a steady state of QPS requests per second,
	// this is an additional number of allowed, to allow for short bursts.
	Burst uint32 `protobuf:"varint,2,opt,name=burst,proto3" json:"burst,omitempty"`
	// contains filtered or unexported fields
}

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

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) 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) 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_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 {

	// the Token used to authenticate to Vault
	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	// address is the address of the Vault server. This should be a complete
	// URL such as http://solo.io
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// caCert is the path to a PEM-encoded CA cert file to use to verify the
	// Vault server SSL certificate.
	CaCert string `protobuf:"bytes,3,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"`
	// caPath is the path to a directory of PEM-encoded CA cert files to verify
	// the Vault server SSL certificate.
	CaPath string `protobuf:"bytes,4,opt,name=ca_path,json=caPath,proto3" json:"ca_path,omitempty"`
	// clientCert is the path to the certificate for Vault communication
	ClientCert string `protobuf:"bytes,5,opt,name=client_cert,json=clientCert,proto3" json:"client_cert,omitempty"`
	// clientKey is the path to the private key for Vault communication
	ClientKey string `protobuf:"bytes,6,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"`
	// tlsServerName, if set, is used to set the SNI host when connecting via
	// TLS.
	TlsServerName string `protobuf:"bytes,7,opt,name=tls_server_name,json=tlsServerName,proto3" json:"tls_server_name,omitempty"`
	// Insecure enables or disables SSL verification
	Insecure *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 Consul cluster
	// defaults to `gloo`
	RootKey string `protobuf:"bytes,9,opt,name=root_key,json=rootKey,proto3" json:"root_key,omitempty"`
	// contains filtered or unexported fields
}

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

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

func (x *Settings_VaultSecrets) GetAddress() string

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

func (x *Settings_VaultSecrets) GetRootKey() string

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 SetupEmitter

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

func NewSetupEmitter

func NewSetupEmitter(settingsClient SettingsClient) SetupEmitter

func NewSetupEmitterWithEmit

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

type SetupSimpleEmitter added in v0.13.21

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

func NewSetupSimpleEmitter added in v0.13.21

func NewSetupSimpleEmitter(aggregatedWatch clients.ResourceWatch) SetupSimpleEmitter

func NewSetupSimpleEmitterWithEmit added in v0.13.21

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

type SetupSnapshot

type SetupSnapshot struct {
	Settings SettingsList
}

func (SetupSnapshot) Clone

func (s SetupSnapshot) Clone() SetupSnapshot

func (SetupSnapshot) Hash

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

func (SetupSnapshot) HashFields

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

func (SetupSnapshot) Stringer

func (s SetupSnapshot) Stringer() SetupSnapshotStringer

type SetupSnapshotEmitter added in v0.18.44

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

type SetupSnapshotStringer

type SetupSnapshotStringer struct {
	Version  uint64
	Settings []string
}

func (SetupSnapshotStringer) String

func (ss SetupSnapshotStringer) String() string

type SetupSyncDecider deprecated added in v0.13.21

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

Deprecated: use SetupSyncDeciderWithContext

type SetupSyncDeciderWithContext added in v0.15.0

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

type SetupSyncer

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

type SetupSyncers

type SetupSyncers []SetupSyncer

func (SetupSyncers) Sync

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

type SslConfig

type SslConfig struct {

	// Types that are assignable to SslSecrets:
	//	*SslConfig_SecretRef
	//	*SslConfig_SslFiles
	//	*SslConfig_Sds
	SslSecrets isSslConfig_SslSecrets `protobuf_oneof:"ssl_secrets"`
	// optional. the SNI domains that should be considered for TLS connections
	SniDomains []string `protobuf:"bytes,3,rep,name=sni_domains,json=sniDomains,proto3" json:"sni_domains,omitempty"`
	// Verify that the Subject Alternative Name in the peer certificate is one of the specified values.
	// note that a root_ca must be provided if this option is used.
	VerifySubjectAltName []string       `protobuf:"bytes,5,rep,name=verify_subject_alt_name,json=verifySubjectAltName,proto3" json:"verify_subject_alt_name,omitempty"`
	Parameters           *SslParameters `protobuf:"bytes,6,opt,name=parameters,proto3" json:"parameters,omitempty"`
	// Set Application Level Protocol Negotiation
	// If empty, defaults to ["h2", "http/1.1"].
	AlpnProtocols []string `protobuf:"bytes,7,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"`
	// 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.
	// Defaults to false.
	OneWayTls bool `protobuf:"varint,8,opt,name=one_way_tls,json=oneWayTls,proto3" json:"one_way_tls,omitempty"`
	// contains filtered or unexported fields
}

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

func (*SslConfig) Descriptor deprecated

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

Deprecated: Use SslConfig.ProtoReflect.Descriptor instead.

func (*SslConfig) Equal

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

Equal function

func (*SslConfig) GetAlpnProtocols added in v1.3.10

func (x *SslConfig) GetAlpnProtocols() []string

func (*SslConfig) GetOneWayTls added in v1.6.24

func (x *SslConfig) GetOneWayTls() bool

func (*SslConfig) GetParameters added in v0.13.3

func (x *SslConfig) GetParameters() *SslParameters

func (*SslConfig) GetSds added in v0.11.2

func (x *SslConfig) GetSds() *SDSConfig

func (*SslConfig) GetSecretRef

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

func (*SslConfig) GetSniDomains

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

func (*SslConfig) GetSslFiles

func (x *SslConfig) GetSslFiles() *SSLFiles

func (*SslConfig) GetSslSecrets

func (m *SslConfig) GetSslSecrets() isSslConfig_SslSecrets

func (*SslConfig) GetVerifySubjectAltName added in v0.11.2

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

func (*SslConfig) Hash added in v1.2.13

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

Hash function

func (*SslConfig) ProtoMessage

func (*SslConfig) ProtoMessage()

func (*SslConfig) ProtoReflect added in v1.6.0

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

func (*SslConfig) Reset

func (x *SslConfig) Reset()

func (*SslConfig) String

func (x *SslConfig) String() string

type SslConfig_Sds added in v0.11.2

type SslConfig_Sds struct {
	// Use secret discovery service.
	Sds *SDSConfig `protobuf:"bytes,4,opt,name=sds,proto3,oneof"`
}

type SslConfig_SecretRef

type SslConfig_SecretRef struct {
	// SecretRef contains the secret ref to a gloo tls secret or a kubernetes tls secret.
	// gloo tls secret can contain a root ca as well if verification is needed.
	SecretRef *core.ResourceRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3,oneof"`
}

type SslConfig_SslFiles

type SslConfig_SslFiles struct {
	// SSLFiles reference paths to certificates which are local to the proxy
	SslFiles *SSLFiles `protobuf:"bytes,2,opt,name=ssl_files,json=sslFiles,proto3,oneof"`
}

type SslParameters added in v0.13.3

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

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

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

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

Deprecated: Use SslParameters.ProtoReflect.Descriptor instead.

func (*SslParameters) Equal added in v0.13.3

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

Equal function

func (*SslParameters) GetCipherSuites added in v0.13.3

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

func (*SslParameters) GetEcdhCurves added in v0.13.3

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

func (*SslParameters) GetMaximumProtocolVersion added in v0.13.3

func (x *SslParameters) GetMaximumProtocolVersion() SslParameters_ProtocolVersion

func (*SslParameters) GetMinimumProtocolVersion added in v0.13.3

func (x *SslParameters) GetMinimumProtocolVersion() SslParameters_ProtocolVersion

func (*SslParameters) Hash added in v1.2.13

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

Hash function

func (*SslParameters) ProtoMessage added in v0.13.3

func (*SslParameters) ProtoMessage()

func (*SslParameters) ProtoReflect added in v1.6.0

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

func (*SslParameters) Reset added in v0.13.3

func (x *SslParameters) Reset()

func (*SslParameters) String added in v0.13.3

func (x *SslParameters) String() string

type SslParameters_ProtocolVersion added in v0.13.3

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

func (SslParameters_ProtocolVersion) Descriptor added in v1.6.0

func (SslParameters_ProtocolVersion) Enum added in v1.6.0

func (SslParameters_ProtocolVersion) EnumDescriptor deprecated added in v0.13.3

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

Deprecated: Use SslParameters_ProtocolVersion.Descriptor instead.

func (SslParameters_ProtocolVersion) Number added in v1.6.0

func (SslParameters_ProtocolVersion) String added in v0.13.3

func (SslParameters_ProtocolVersion) Type added in v1.6.0

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

Optional, feature-specific configuration that lives on tcp listeners

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) 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`
	CertChain string `protobuf:"bytes,1,opt,name=cert_chain,json=certChain,proto3" json:"cert_chain,omitempty"`
	// provided by `glooctl create secret tls`
	PrivateKey string `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	// provided by `glooctl create secret tls`
	RootCa string `protobuf:"bytes,3,opt,name=root_ca,json=rootCa,proto3" json:"root_ca,omitempty"`
	// contains filtered or unexported fields
}

Note that the annotation `resource_kind: '*v1.Secret'` is needed for Gloo to find this secret. Glooctl adds it by default when the tls secret is created via `glooctl create secret tls`.

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) 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 {

	// Status indicates the validation status of the resource. Status is read-only by clients, and set by gloo during validation
	Status *core.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,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 an upstream to use TLS origination
	SslConfig *UpstreamSslConfig `protobuf:"bytes,4,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	// Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used.
	// if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers)
	// will be used.
	CircuitBreakers    *CircuitBreakerConfig     `protobuf:"bytes,5,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"`
	LoadBalancerConfig *LoadBalancerConfig       `protobuf:"bytes,6,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"`
	ConnectionConfig   *ConnectionConfig         `protobuf:"bytes,7,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"`
	HealthChecks       []*core1.HealthCheck      `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
	OutlierDetection   *cluster.OutlierDetection `protobuf:"bytes,9,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// Use http2 when communicating with this upstream
	// this field is evaluated `true` for upstreams
	// with a grpc service spec. otherwise defaults to `false`
	UseHttp2 *wrappers.BoolValue `protobuf:"bytes,10,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"`
	// Note to developers: new Upstream plugins must be added to this oneof field
	// to be usable by Gloo. (plugins currently need to be compiled into Gloo)
	//
	// Types that are 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"`
	// (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 */
	// 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"`
	// 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-v2/api/v2/cds.proto) in Envoy terminology. Each upstream in Gloo has a type. Supported types include `static`, `kubernetes`, `aws`, `consul`, and more. Each upstream type is handled by a corresponding Gloo plugin. (plugins currently need to be compiled into Gloo)

func NewUpstream

func NewUpstream(namespace, name string) *Upstream

func (*Upstream) DeepCopyInto added in v0.20.9

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

func (*Upstream) DeepCopyObject

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

func (*Upstream) Descriptor 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) 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) GetHttpProxyHostname added in v1.6.10

func (x *Upstream) GetHttpProxyHostname() *wrappers.StringValue

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) GetMetadata

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

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

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

func (*Upstream) GetSslConfig added in v1.0.0

func (x *Upstream) GetSslConfig() *UpstreamSslConfig

func (*Upstream) GetStatic added in v1.0.0

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

func (*Upstream) GetStatus

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

func (*Upstream) GetUpstreamType added in v1.0.0

func (m *Upstream) GetUpstreamType() isUpstream_UpstreamType

func (*Upstream) GetUseHttp2 added in v1.0.0

func (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) SetStatus

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

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"`
	// Status indicates the validation status of this resource.
	// Status is read-only by clients, and set by gloo during validation
	Status *core.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status,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) 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) GetObjectKind added in v0.13.6

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

func (*UpstreamGroup) GetStatus added in v0.13.6

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

func (*UpstreamGroup) GroupVersionKind added in v0.18.0

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

func (*UpstreamGroup) Hash added in v0.13.6

func (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) SetStatus added in v0.13.6

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

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) 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 *SslParameters `protobuf:"bytes,1,opt,name=ssl_parameters,json=sslParameters,proto3" json:"ssl_parameters,omitempty"`
	// 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) 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) GetSslParameters added in v1.6.8

func (x *UpstreamOptions) GetSslParameters() *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) UpstreamReconciler

type UpstreamSslConfig

type UpstreamSslConfig struct {

	// Types that are assignable to SslSecrets:
	//	*UpstreamSslConfig_SecretRef
	//	*UpstreamSslConfig_SslFiles
	//	*UpstreamSslConfig_Sds
	SslSecrets isUpstreamSslConfig_SslSecrets `protobuf_oneof:"ssl_secrets"`
	// optional. the SNI domains that should be considered for TLS connections
	Sni string `protobuf:"bytes,3,opt,name=sni,proto3" json:"sni,omitempty"`
	// Verify that the Subject Alternative Name in the peer certificate is one of the specified values.
	// note that a root_ca must be provided if this option is used.
	VerifySubjectAltName []string       `protobuf:"bytes,5,rep,name=verify_subject_alt_name,json=verifySubjectAltName,proto3" json:"verify_subject_alt_name,omitempty"`
	Parameters           *SslParameters `protobuf:"bytes,7,opt,name=parameters,proto3" json:"parameters,omitempty"`
	// Set Application Level Protocol Negotiation.
	// If empty, it is not set.
	AlpnProtocols []string `protobuf:"bytes,8,rep,name=alpn_protocols,json=alpnProtocols,proto3" json:"alpn_protocols,omitempty"`
	// contains filtered or unexported fields
}

SslConfig contains the options necessary to configure an upstream to use TLS origination

func (*UpstreamSslConfig) Descriptor deprecated

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

Deprecated: Use UpstreamSslConfig.ProtoReflect.Descriptor instead.

func (*UpstreamSslConfig) Equal

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

Equal function

func (*UpstreamSslConfig) GetAlpnProtocols added in v1.3.20

func (x *UpstreamSslConfig) GetAlpnProtocols() []string

func (*UpstreamSslConfig) GetParameters added in v0.13.3

func (x *UpstreamSslConfig) GetParameters() *SslParameters

func (*UpstreamSslConfig) GetSds added in v0.11.2

func (x *UpstreamSslConfig) GetSds() *SDSConfig

func (*UpstreamSslConfig) GetSecretRef

func (x *UpstreamSslConfig) GetSecretRef() *core.ResourceRef

func (*UpstreamSslConfig) GetSni

func (x *UpstreamSslConfig) GetSni() string

func (*UpstreamSslConfig) GetSslFiles

func (x *UpstreamSslConfig) GetSslFiles() *SSLFiles

func (*UpstreamSslConfig) GetSslSecrets

func (m *UpstreamSslConfig) GetSslSecrets() isUpstreamSslConfig_SslSecrets

func (*UpstreamSslConfig) GetVerifySubjectAltName added in v0.11.2

func (x *UpstreamSslConfig) GetVerifySubjectAltName() []string

func (*UpstreamSslConfig) Hash added in v1.2.13

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

Hash function

func (*UpstreamSslConfig) ProtoMessage

func (*UpstreamSslConfig) ProtoMessage()

func (*UpstreamSslConfig) ProtoReflect added in v1.6.0

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

func (*UpstreamSslConfig) Reset

func (x *UpstreamSslConfig) Reset()

func (*UpstreamSslConfig) String

func (x *UpstreamSslConfig) String() string

type UpstreamSslConfig_Sds added in v0.11.2

type UpstreamSslConfig_Sds struct {
	// Use secret discovery service.
	Sds *SDSConfig `protobuf:"bytes,4,opt,name=sds,proto3,oneof"`
}

type UpstreamSslConfig_SecretRef

type UpstreamSslConfig_SecretRef struct {
	// SecretRef contains the secret ref to a gloo tls secret or a kubernetes tls secret.
	// gloo tls secret can contain a root ca as well if verification is needed.
	SecretRef *core.ResourceRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3,oneof"`
}

type UpstreamSslConfig_SslFiles

type UpstreamSslConfig_SslFiles struct {
	//  SSLFiles reference paths to certificates which are local to the proxy
	SslFiles *SSLFiles `protobuf:"bytes,2,opt,name=ssl_files,json=sslFiles,proto3,oneof"`
}

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_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/master/api/envoy/api/v2/route/route.proto)
	Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" json:"domains,omitempty"`
	// The list of HTTP routes define routing actions to be taken for incoming HTTP requests whose host header matches
	// this virtual host. If the request matches more than one route in the list, the first route matched will be selected.
	// If the list of routes is empty, the virtual host will be ignored by Gloo.
	Routes []*Route `protobuf:"bytes,3,rep,name=routes,proto3" json:"routes,omitempty"`
	// Virtual host options contain additional configuration to be applied to all traffic served by the Virtual Host.
	// Some configuration here can be overridden by Route Options.
	Options *VirtualHostOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"`
	// Metadata for the individual virtual host
	// This data is opaque to Gloo, used
	// by controllers to track ownership of virtual hosts within a proxy
	// as they are typically generated by a controller (such as the gateway)
	Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// 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 listener. An HTTP request is first matched to a virtual host based on its host header, then to a route within the virtual host. If a request is not matched to any virtual host or a route therein, the target proxy will reply with a 404.

func (*VirtualHost) Descriptor 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) GetName

func (x *VirtualHost) GetName() string

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 superceded by `staged_transformations`.
	// If `staged_transformations.regular` is set, this field will be ignored.
	//
	// Deprecated: Do not use.
	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 RateLimitConfigType:
	//	*VirtualHostOptions_Ratelimit
	//	*VirtualHostOptions_RateLimitConfigs
	RateLimitConfigType isVirtualHostOptions_RateLimitConfigType `protobuf_oneof:"rate_limit_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"`
	// contains filtered or unexported fields
}

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

func (*VirtualHostOptions) Descriptor 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) 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: Do not use.

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

func (*VirtualHostOptions) GetRatelimitBasic added in v1.0.0

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

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: Do not use.

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: Do not use.
	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_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 WeightedDestination

type WeightedDestination struct {
	Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
	// Weight must be greater than zero
	// Routing to each destination will be balanced by the ratio of the destination's weight to the total weight on a route
	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// Apply configuration to traffic that is sent to this weighted destination
	Options *WeightedDestinationOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

WeightedDestination attaches a weight to a single destination.

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() uint32

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 superceded by `staged_transformations`.
	// If `staged_transformations.regular` is set, this field will be ignored.
	//
	// Deprecated: Do not use.
	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) 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: Do not use.

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.
kube
apis/gloo.solo.io/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/gloo.solo.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/gloo.solo.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
als
aws
hcm
tcp

Jump to

Keyboard shortcuts

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