v1

package
Version: v1.8.4 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2021 License: Apache-2.0 Imports: 96 Imported by: 64

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

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

func NewDiscoveryEventLoop

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

func NewDiscoverySimpleEventLoop

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

func NewEdsEventLoop

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

func NewEdsSimpleEventLoop

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

func NewSetupEventLoop

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

func NewSetupSimpleEventLoop

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

Types

type ApiEmitter

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

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

func NewApiSimpleEmitter

func NewApiSimpleEmitter(aggregatedWatch clients.ResourceWatch) ApiSimpleEmitter

func NewApiSimpleEmitterWithEmit

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

type ApiSnapshot

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

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

This type has been deprecated.
type ApiSyncDecider interface {
	ApiSyncer
	ShouldSync(old, new *ApiSnapshot) bool
}

Deprecated: use ApiSyncDeciderWithContext

type ApiSyncDeciderWithContext

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

type ApiSyncer

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

type ApiSyncers

type ApiSyncers []ApiSyncer

func (ApiSyncers) Sync

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

type Artifact

type Artifact struct {

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

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

func (*Artifact) DeepCopyObject

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

func (*Artifact) Descriptor deprecated

This method has been 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

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

func (r *Artifact) MustHash() uint64

func (*Artifact) ProtoMessage

func (*Artifact) ProtoMessage()

func (*Artifact) ProtoReflect

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

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

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`

- If using a git-ops flow, or otherwise creating secrets from yaml files, you may prefer to provide AWS credentials
using the format below, with `aws_access_key_id` and `aws_secret_access_key` fields.
- This circumvents the need for the annotation, which are not supported by some tools such as
[godaddy/kubernetes-external-secrets](https://github.com/godaddy/kubernetes-external-secrets)

“`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

This method has been 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

func (x *AwsSecret) GetSessionToken() string

func (*AwsSecret) Hash

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

Hash function

func (*AwsSecret) ProtoMessage

func (*AwsSecret) ProtoMessage()

func (*AwsSecret) ProtoReflect

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

This method has been 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

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

Hash function

func (*AzureSecret) ProtoMessage

func (*AzureSecret) ProtoMessage()

func (*AzureSecret) ProtoReflect

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

func (*AzureSecret) Reset

func (x *AzureSecret) Reset()

func (*AzureSecret) String

func (x *AzureSecret) String() string

type CallCredentials

type CallCredentials struct {

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

func (*CallCredentials) Descriptor deprecated

This method has been deprecated.
func (*CallCredentials) Descriptor() ([]byte, []int)

Deprecated: Use CallCredentials.ProtoReflect.Descriptor instead.

func (*CallCredentials) Equal

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

Equal function

func (*CallCredentials) GetFileCredentialSource

func (x *CallCredentials) GetFileCredentialSource() *CallCredentials_FileCredentialSource

func (*CallCredentials) Hash

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

Hash function

func (*CallCredentials) ProtoMessage

func (*CallCredentials) ProtoMessage()

func (*CallCredentials) ProtoReflect

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

func (*CallCredentials) Reset

func (x *CallCredentials) Reset()

func (*CallCredentials) String

func (x *CallCredentials) String() string

type CallCredentials_FileCredentialSource

type CallCredentials_FileCredentialSource struct {

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

func (*CallCredentials_FileCredentialSource) Descriptor deprecated

This method has been deprecated.
func (*CallCredentials_FileCredentialSource) Descriptor() ([]byte, []int)

Deprecated: Use CallCredentials_FileCredentialSource.ProtoReflect.Descriptor instead.

func (*CallCredentials_FileCredentialSource) Equal

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

Equal function

func (*CallCredentials_FileCredentialSource) GetHeader

func (*CallCredentials_FileCredentialSource) GetTokenFileName

func (x *CallCredentials_FileCredentialSource) GetTokenFileName() string

func (*CallCredentials_FileCredentialSource) Hash

Hash function

func (*CallCredentials_FileCredentialSource) ProtoMessage

func (*CallCredentials_FileCredentialSource) ProtoMessage()

func (*CallCredentials_FileCredentialSource) ProtoReflect

func (*CallCredentials_FileCredentialSource) Reset

func (*CallCredentials_FileCredentialSource) String

type CircuitBreakerConfig

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

This method has been deprecated.
func (*CircuitBreakerConfig) Descriptor() ([]byte, []int)

Deprecated: Use CircuitBreakerConfig.ProtoReflect.Descriptor instead.

func (*CircuitBreakerConfig) Equal

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

Equal function

func (*CircuitBreakerConfig) GetMaxConnections

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

func (*CircuitBreakerConfig) GetMaxPendingRequests

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

func (*CircuitBreakerConfig) GetMaxRequests

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

func (*CircuitBreakerConfig) GetMaxRetries

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

func (*CircuitBreakerConfig) Hash

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

Hash function

func (*CircuitBreakerConfig) ProtoMessage

func (*CircuitBreakerConfig) ProtoMessage()

func (*CircuitBreakerConfig) ProtoReflect

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

func (*CircuitBreakerConfig) Reset

func (x *CircuitBreakerConfig) Reset()

func (*CircuitBreakerConfig) String

func (x *CircuitBreakerConfig) String() string

type ConnectionConfig

type ConnectionConfig struct {

	// Maximum requests for a single upstream connection (unspecified or zero = no limit)
	MaxRequestsPerConnection uint32 `` /* 138-byte string literal not displayed */
	// The timeout for new network connections to hosts in the cluster
	ConnectTimeout *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

This method has been deprecated.
func (*ConnectionConfig) Descriptor() ([]byte, []int)

Deprecated: Use ConnectionConfig.ProtoReflect.Descriptor instead.

func (*ConnectionConfig) Equal

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

Equal function

func (*ConnectionConfig) GetCommonHttpProtocolOptions

func (x *ConnectionConfig) GetCommonHttpProtocolOptions() *ConnectionConfig_HttpProtocolOptions

func (*ConnectionConfig) GetConnectTimeout

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

func (*ConnectionConfig) GetMaxRequestsPerConnection

func (x *ConnectionConfig) GetMaxRequestsPerConnection() uint32

func (*ConnectionConfig) GetPerConnectionBufferLimitBytes

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

func (*ConnectionConfig) GetTcpKeepalive

func (x *ConnectionConfig) GetTcpKeepalive() *ConnectionConfig_TcpKeepAlive

func (*ConnectionConfig) Hash

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

Hash function

func (*ConnectionConfig) ProtoMessage

func (*ConnectionConfig) ProtoMessage()

func (*ConnectionConfig) ProtoReflect

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

func (*ConnectionConfig) Reset

func (x *ConnectionConfig) Reset()

func (*ConnectionConfig) String

func (x *ConnectionConfig) String() string

type ConnectionConfig_HttpProtocolOptions

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

This method has been deprecated.
func (*ConnectionConfig_HttpProtocolOptions) Descriptor() ([]byte, []int)

Deprecated: Use ConnectionConfig_HttpProtocolOptions.ProtoReflect.Descriptor instead.

func (*ConnectionConfig_HttpProtocolOptions) Equal

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

Equal function

func (*ConnectionConfig_HttpProtocolOptions) GetHeadersWithUnderscoresAction

func (*ConnectionConfig_HttpProtocolOptions) GetIdleTimeout

func (*ConnectionConfig_HttpProtocolOptions) GetMaxHeadersCount

func (x *ConnectionConfig_HttpProtocolOptions) GetMaxHeadersCount() uint32

func (*ConnectionConfig_HttpProtocolOptions) GetMaxStreamDuration

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

func (*ConnectionConfig_HttpProtocolOptions) Hash

Hash function

func (*ConnectionConfig_HttpProtocolOptions) ProtoMessage

func (*ConnectionConfig_HttpProtocolOptions) ProtoMessage()

func (*ConnectionConfig_HttpProtocolOptions) ProtoReflect

func (*ConnectionConfig_HttpProtocolOptions) Reset

func (*ConnectionConfig_HttpProtocolOptions) String

type ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction

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

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Enum

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor deprecated

This method has been deprecated.

Deprecated: Use ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead.

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Number

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) String

func (ConnectionConfig_HttpProtocolOptions_HeadersWithUnderscoresAction) Type

type ConnectionConfig_TcpKeepAlive

type ConnectionConfig_TcpKeepAlive struct {

	// Maximum number of keepalive probes to send without response before deciding the connection is dead.
	KeepaliveProbes uint32 `protobuf:"varint,1,opt,name=keepalive_probes,json=keepaliveProbes,proto3" json:"keepalive_probes,omitempty"`
	// The number of seconds a connection needs to be idle before keep-alive probes start being sent. This is rounded up to the second.
	KeepaliveTime *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

This method has been deprecated.
func (*ConnectionConfig_TcpKeepAlive) Descriptor() ([]byte, []int)

Deprecated: Use ConnectionConfig_TcpKeepAlive.ProtoReflect.Descriptor instead.

func (*ConnectionConfig_TcpKeepAlive) Equal

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

Equal function

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveInterval

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

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes

func (x *ConnectionConfig_TcpKeepAlive) GetKeepaliveProbes() uint32

func (*ConnectionConfig_TcpKeepAlive) GetKeepaliveTime

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

func (*ConnectionConfig_TcpKeepAlive) Hash

Hash function

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage

func (*ConnectionConfig_TcpKeepAlive) ProtoMessage()

func (*ConnectionConfig_TcpKeepAlive) ProtoReflect

func (*ConnectionConfig_TcpKeepAlive) Reset

func (x *ConnectionConfig_TcpKeepAlive) Reset()

func (*ConnectionConfig_TcpKeepAlive) String

type ConsulServiceDestination

type ConsulServiceDestination struct {

	// The name of the target service. This field is required.
	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// If provided, load balance traffic only between services matching all the given tags.
	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
	// If provided, load balance traffic only between services running in the given
	// [data centers](https://www.consul.io/docs/internals/architecture.html).
	DataCenters []string `protobuf:"bytes,3,rep,name=data_centers,json=dataCenters,proto3" json:"data_centers,omitempty"`
	// 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

This method has been deprecated.
func (*ConsulServiceDestination) Descriptor() ([]byte, []int)

Deprecated: Use ConsulServiceDestination.ProtoReflect.Descriptor instead.

func (*ConsulServiceDestination) Equal

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

Equal function

func (*ConsulServiceDestination) GetDataCenters

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

func (*ConsulServiceDestination) GetServiceName

func (x *ConsulServiceDestination) GetServiceName() string

func (*ConsulServiceDestination) GetTags

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

func (*ConsulServiceDestination) Hash

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

Hash function

func (*ConsulServiceDestination) ProtoMessage

func (*ConsulServiceDestination) ProtoMessage()

func (*ConsulServiceDestination) ProtoReflect

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

func (*ConsulServiceDestination) Reset

func (x *ConsulServiceDestination) Reset()

func (*ConsulServiceDestination) String

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

This method has been 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

func (x *Destination) GetConsul() *ConsulServiceDestination

func (*Destination) GetDestinationSpec

func (x *Destination) GetDestinationSpec() *DestinationSpec

func (*Destination) GetDestinationType

func (m *Destination) GetDestinationType() isDestination_DestinationType

func (*Destination) GetKube

func (*Destination) GetSubset

func (x *Destination) GetSubset() *Subset

func (*Destination) GetUpstream

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

func (*Destination) Hash

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

Hash function

func (*Destination) ProtoMessage

func (*Destination) ProtoMessage()

func (*Destination) ProtoReflect

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

This method has been 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

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

Hash function

func (*DestinationSpec) ProtoMessage

func (*DestinationSpec) ProtoMessage()

func (*DestinationSpec) ProtoReflect

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

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

type Destination_Kube

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

type Destination_Upstream

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

This method has been 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

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

Hash function

func (*DirectResponseAction) ProtoMessage

func (*DirectResponseAction) ProtoMessage()

func (*DirectResponseAction) ProtoReflect

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

This method has been 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

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

func (*DiscoveryMetadata) Hash

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

Hash function

func (*DiscoveryMetadata) ProtoMessage

func (*DiscoveryMetadata) ProtoMessage()

func (*DiscoveryMetadata) ProtoReflect

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

func (*DiscoveryMetadata) Reset

func (x *DiscoveryMetadata) Reset()

func (*DiscoveryMetadata) String

func (x *DiscoveryMetadata) String() string

type DiscoverySimpleEmitter

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

func NewDiscoverySimpleEmitter

func NewDiscoverySimpleEmitter(aggregatedWatch clients.ResourceWatch) DiscoverySimpleEmitter

func NewDiscoverySimpleEmitterWithEmit

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

type DiscoverySnapshot

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

func (DiscoverySnapshot) Clone

func (DiscoverySnapshot) Hash

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

func (DiscoverySnapshot) HashFields

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

func (DiscoverySnapshot) Stringer

type DiscoverySnapshotEmitter

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

type DiscoverySnapshotStringer

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

func (DiscoverySnapshotStringer) String

func (ss DiscoverySnapshotStringer) String() string

type DiscoverySyncDecider deprecated

This type has been deprecated.
type DiscoverySyncDecider interface {
	DiscoverySyncer
	ShouldSync(old, new *DiscoverySnapshot) bool
}

Deprecated: use DiscoverySyncDeciderWithContext

type DiscoverySyncDeciderWithContext

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

type DiscoverySyncer

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

type DiscoverySyncers

type DiscoverySyncers []DiscoverySyncer

func (DiscoverySyncers) Sync

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

type EdsEmitter

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

func NewEdsEmitter

func NewEdsEmitter(upstreamClient UpstreamClient) EdsEmitter

func NewEdsEmitterWithEmit

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

type EdsSimpleEmitter

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

func NewEdsSimpleEmitter

func NewEdsSimpleEmitter(aggregatedWatch clients.ResourceWatch) EdsSimpleEmitter

func NewEdsSimpleEmitterWithEmit

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

type EdsSnapshot

type EdsSnapshot struct {
	Upstreams UpstreamList
}

func (EdsSnapshot) Clone

func (s EdsSnapshot) Clone() EdsSnapshot

func (EdsSnapshot) Hash

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

func (EdsSnapshot) HashFields

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

func (EdsSnapshot) Stringer

func (s EdsSnapshot) Stringer() EdsSnapshotStringer

type EdsSnapshotEmitter

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

type EdsSnapshotStringer

type EdsSnapshotStringer struct {
	Version   uint64
	Upstreams []string
}

func (EdsSnapshotStringer) String

func (ss EdsSnapshotStringer) String() string

type EdsSyncDecider deprecated

This type has been deprecated.
type EdsSyncDecider interface {
	EdsSyncer
	ShouldSync(old, new *EdsSnapshot) bool
}

Deprecated: use EdsSyncDeciderWithContext

type EdsSyncDeciderWithContext

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

type EdsSyncer

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

type EdsSyncers

type EdsSyncers []EdsSyncer

func (EdsSyncers) Sync

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

type Endpoint

type Endpoint struct {

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

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

func (*Endpoint) DeepCopyObject

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

func (*Endpoint) Descriptor deprecated

This method has been 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

func (x *Endpoint) GetHealthCheck() *HealthCheckConfig

func (*Endpoint) GetHostname

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

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

func (*Endpoint) Hash

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

Hash function

func (*Endpoint) MustHash

func (r *Endpoint) MustHash() uint64

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect

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

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

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

This method has been 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

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

Hash function

func (*Extension) ProtoMessage

func (*Extension) ProtoMessage()

func (*Extension) ProtoReflect

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

This method has been 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

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