v1beta1

package
v1.1.0-beta16 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2021 License: Apache-2.0 Imports: 40 Imported by: 1

Documentation

Overview

Package v1beta1 contains API Schema definitions for the networking.enterprise.mesh.gloo.solo.io v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=networking.enterprise.mesh.gloo.solo.io

NOTE: Boilerplate only. Ignore this file. Used to register the Go types with the Kubernetes internal scheme

Definitions for the Kubernetes types

Definitions for the Kubernetes types

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "networking.enterprise.mesh.gloo.solo.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
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 (
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion_name = map[int32]string{
		0: "TLS_AUTO",
		1: "TLSv1_0",
		2: "TLSv1_1",
		3: "TLSv1_2",
		4: "TLSv1_3",
	}
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_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 VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion.

View Source
var (
	WasmDeploymentStatus_WorkloadState_name = map[int32]string{
		0: "DEPLOYMENT_PENDING",
		1: "FILTERS_DEPLOYED",
		2: "DEPLOYMENT_FAILED",
	}
	WasmDeploymentStatus_WorkloadState_value = map[string]int32{
		"DEPLOYMENT_PENDING": 0,
		"FILTERS_DEPLOYED":   1,
		"DEPLOYMENT_FAILED":  2,
	}
)

Enum value maps for WasmDeploymentStatus_WorkloadState.

View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_rate_limit_server_config_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_route_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_route_table_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_service_dependency_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_virtual_destination_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_virtual_gateway_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_virtual_host_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_enterprise_networking_v1beta1_wasm_deployment_proto protoreflect.FileDescriptor
View Source
var RateLimiterServerConfigGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "RateLimiterServerConfig",
}

GroupVersionKind for RateLimiterServerConfig

View Source
var RouteTableGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "RouteTable",
}

GroupVersionKind for RouteTable

View Source
var ServiceDependencyGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "ServiceDependency",
}

GroupVersionKind for ServiceDependency

View Source
var VirtualDestinationGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "VirtualDestination",
}

GroupVersionKind for VirtualDestination

View Source
var VirtualGatewayGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "VirtualGateway",
}

GroupVersionKind for VirtualGateway

View Source
var VirtualHostGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "VirtualHost",
}

GroupVersionKind for VirtualHost

View Source
var WasmDeploymentGVK = schema.GroupVersionKind{
	Group:   "networking.enterprise.mesh.gloo.solo.io",
	Version: "v1beta1",
	Kind:    "WasmDeployment",
}

GroupVersionKind for WasmDeployment

Functions

func AddToScheme

func AddToScheme(s *runtime.Scheme) error

func NewRateLimiterServerConfigClient

func NewRateLimiterServerConfigClient(client client.Client) *rateLimiterServerConfigClient

func NewRouteTableClient added in v1.1.0

func NewRouteTableClient(client client.Client) *routeTableClient

func NewServiceDependencyClient added in v1.1.0

func NewServiceDependencyClient(client client.Client) *serviceDependencyClient

func NewVirtualDestinationClient

func NewVirtualDestinationClient(client client.Client) *virtualDestinationClient

func NewVirtualGatewayClient added in v1.1.0

func NewVirtualGatewayClient(client client.Client) *virtualGatewayClient

func NewVirtualHostClient added in v1.1.0

func NewVirtualHostClient(client client.Client) *virtualHostClient

func NewWasmDeploymentClient

func NewWasmDeploymentClient(client client.Client) *wasmDeploymentClient

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Clientset

type Clientset interface {
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	WasmDeployments() WasmDeploymentClient
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	RateLimiterServerConfigs() RateLimiterServerConfigClient
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	VirtualDestinations() VirtualDestinationClient
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	VirtualGateways() VirtualGatewayClient
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	VirtualHosts() VirtualHostClient
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	RouteTables() RouteTableClient
	// clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1/v1beta1 APIs
	ServiceDependencies() ServiceDependencyClient
}

clienset for the networking.enterprise.mesh.gloo.solo.io/v1beta1 APIs

func NewClientset

func NewClientset(client client.Client) Clientset

func NewClientsetFromConfig

func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error)

type DelegateAction added in v1.1.0

type DelegateAction struct {

	// Delegate to the RouteTable resources with matching `name` and `namespace`.
	Refs []*v11.ObjectRef `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"`
	// Delegate to the RouteTables that match the given selector.
	Selector *v11.ObjectSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"`
	// contains filtered or unexported fields
}

Note: This message needs to be at this level (rather than nested) due to cue restrictions. DelegateActions are used to delegate routing decisions to other resources, for example RouteTables.

func (*DelegateAction) Descriptor deprecated added in v1.1.0

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

Deprecated: Use DelegateAction.ProtoReflect.Descriptor instead.

func (*DelegateAction) Equal added in v1.1.0

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

Equal function

func (*DelegateAction) GetRefs added in v1.1.0

func (x *DelegateAction) GetRefs() []*v11.ObjectRef

func (*DelegateAction) GetSelector added in v1.1.0

func (x *DelegateAction) GetSelector() *v11.ObjectSelector

func (*DelegateAction) ProtoMessage added in v1.1.0

func (*DelegateAction) ProtoMessage()

func (*DelegateAction) ProtoReflect added in v1.1.0

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

func (*DelegateAction) Reset added in v1.1.0

func (x *DelegateAction) Reset()

func (*DelegateAction) String added in v1.1.0

func (x *DelegateAction) String() string

type DirectResponseAction added in v1.1.0

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, ConnectionHandler, or Gateway options.
	Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	// contains filtered or unexported fields
}

TODO: Shuold we be using v4alpha now? https://github.com/envoyproxy/envoy/blob/5a8bfa20dc3c85ecb61826d122696ecaa75dffa0/api/envoy/config/route/v4alpha/route_components.proto#L1396 Note: This message needs to be at this level (rather than nested) due to cue restrictions. DirectResponseAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto

func (*DirectResponseAction) Descriptor deprecated added in v1.1.0

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

Deprecated: Use DirectResponseAction.ProtoReflect.Descriptor instead.

func (*DirectResponseAction) Equal added in v1.1.0

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

Equal function

func (*DirectResponseAction) GetBody added in v1.1.0

func (x *DirectResponseAction) GetBody() string

func (*DirectResponseAction) GetStatus added in v1.1.0

func (x *DirectResponseAction) GetStatus() uint32

func (*DirectResponseAction) ProtoMessage added in v1.1.0

func (*DirectResponseAction) ProtoMessage()

func (*DirectResponseAction) ProtoReflect added in v1.1.0

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

func (*DirectResponseAction) Reset added in v1.1.0

func (x *DirectResponseAction) Reset()

func (*DirectResponseAction) String added in v1.1.0

func (x *DirectResponseAction) String() string

type ImagePullOptions

type ImagePullOptions struct {

	// If a username/password is required,
	// specify the name of a secret with keys:
	// * username: <username>
	// * password: <password>
	//
	// The secret must live in the Enterprises Agent namespace.
	PullSecret string `protobuf:"bytes,1,opt,name=pullSecret,proto3" json:"pullSecret,omitempty"`
	// If true skip verifying the image server's TLS certificate.
	InsecureSkipVerify bool `protobuf:"varint,2,opt,name=insecureSkipVerify,proto3" json:"insecureSkipVerify,omitempty"`
	// If true use HTTP instead of HTTPS.
	PlainHttp bool `protobuf:"varint,3,opt,name=plainHttp,proto3" json:"plainHttp,omitempty"`
	// contains filtered or unexported fields
}

NOTE: ImagePullOptions are currently unsupported.

func (*ImagePullOptions) Descriptor deprecated

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

Deprecated: Use ImagePullOptions.ProtoReflect.Descriptor instead.

func (*ImagePullOptions) GetInsecureSkipVerify

func (x *ImagePullOptions) GetInsecureSkipVerify() bool

func (*ImagePullOptions) GetPlainHttp

func (x *ImagePullOptions) GetPlainHttp() bool

func (*ImagePullOptions) GetPullSecret

func (x *ImagePullOptions) GetPullSecret() string

func (*ImagePullOptions) ProtoMessage

func (*ImagePullOptions) ProtoMessage()

func (*ImagePullOptions) ProtoReflect

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

func (*ImagePullOptions) Reset

func (x *ImagePullOptions) Reset()

func (*ImagePullOptions) String

func (x *ImagePullOptions) String() string

type MulticlusterClientset

type MulticlusterClientset interface {
	// Cluster returns a Clientset for the given cluster
	Cluster(cluster string) (Clientset, error)
}

MulticlusterClientset for the networking.enterprise.mesh.gloo.solo.io/v1beta1 APIs

func NewMulticlusterClientset

func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset

type MulticlusterRateLimiterServerConfigClient

type MulticlusterRateLimiterServerConfigClient interface {
	// Cluster returns a RateLimiterServerConfigClient for the given cluster
	Cluster(cluster string) (RateLimiterServerConfigClient, error)
}

Provides RateLimiterServerConfigClients for multiple clusters.

type MulticlusterRouteTableClient added in v1.1.0

type MulticlusterRouteTableClient interface {
	// Cluster returns a RouteTableClient for the given cluster
	Cluster(cluster string) (RouteTableClient, error)
}

Provides RouteTableClients for multiple clusters.

func NewMulticlusterRouteTableClient added in v1.1.0

func NewMulticlusterRouteTableClient(client multicluster.Client) MulticlusterRouteTableClient

type MulticlusterServiceDependencyClient added in v1.1.0

type MulticlusterServiceDependencyClient interface {
	// Cluster returns a ServiceDependencyClient for the given cluster
	Cluster(cluster string) (ServiceDependencyClient, error)
}

Provides ServiceDependencyClients for multiple clusters.

func NewMulticlusterServiceDependencyClient added in v1.1.0

func NewMulticlusterServiceDependencyClient(client multicluster.Client) MulticlusterServiceDependencyClient

type MulticlusterVirtualDestinationClient

type MulticlusterVirtualDestinationClient interface {
	// Cluster returns a VirtualDestinationClient for the given cluster
	Cluster(cluster string) (VirtualDestinationClient, error)
}

Provides VirtualDestinationClients for multiple clusters.

func NewMulticlusterVirtualDestinationClient

func NewMulticlusterVirtualDestinationClient(client multicluster.Client) MulticlusterVirtualDestinationClient

type MulticlusterVirtualGatewayClient added in v1.1.0

type MulticlusterVirtualGatewayClient interface {
	// Cluster returns a VirtualGatewayClient for the given cluster
	Cluster(cluster string) (VirtualGatewayClient, error)
}

Provides VirtualGatewayClients for multiple clusters.

func NewMulticlusterVirtualGatewayClient added in v1.1.0

func NewMulticlusterVirtualGatewayClient(client multicluster.Client) MulticlusterVirtualGatewayClient

type MulticlusterVirtualHostClient added in v1.1.0

type MulticlusterVirtualHostClient interface {
	// Cluster returns a VirtualHostClient for the given cluster
	Cluster(cluster string) (VirtualHostClient, error)
}

Provides VirtualHostClients for multiple clusters.

func NewMulticlusterVirtualHostClient added in v1.1.0

func NewMulticlusterVirtualHostClient(client multicluster.Client) MulticlusterVirtualHostClient

type MulticlusterWasmDeploymentClient

type MulticlusterWasmDeploymentClient interface {
	// Cluster returns a WasmDeploymentClient for the given cluster
	Cluster(cluster string) (WasmDeploymentClient, error)
}

Provides WasmDeploymentClients for multiple clusters.

func NewMulticlusterWasmDeploymentClient

func NewMulticlusterWasmDeploymentClient(client multicluster.Client) MulticlusterWasmDeploymentClient

type RateLimiterServerConfig

type RateLimiterServerConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RateLimiterServerConfigSpec   `json:"spec,omitempty"`
	Status RateLimiterServerConfigStatus `json:"status,omitempty"`
}

RateLimiterServerConfig is the Schema for the rateLimiterServerConfig API

func (*RateLimiterServerConfig) DeepCopy

func (*RateLimiterServerConfig) DeepCopyInto

func (in *RateLimiterServerConfig) DeepCopyInto(out *RateLimiterServerConfig)

func (*RateLimiterServerConfig) DeepCopyObject

func (in *RateLimiterServerConfig) DeepCopyObject() runtime.Object

func (RateLimiterServerConfig) GVK

GVK returns the GroupVersionKind associated with the resource type.

type RateLimiterServerConfigClient

Client knows how to perform CRUD operations on RateLimiterServerConfigs.

type RateLimiterServerConfigList

type RateLimiterServerConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RateLimiterServerConfig `json:"items"`
}

RateLimiterServerConfigList contains a list of RateLimiterServerConfig

func (*RateLimiterServerConfigList) DeepCopy

func (*RateLimiterServerConfigList) DeepCopyInto

func (*RateLimiterServerConfigList) DeepCopyObject

func (in *RateLimiterServerConfigList) DeepCopyObject() runtime.Object

type RateLimiterServerConfigReader

type RateLimiterServerConfigReader interface {
	// Get retrieves a RateLimiterServerConfig for the given object key
	GetRateLimiterServerConfig(ctx context.Context, key client.ObjectKey) (*RateLimiterServerConfig, error)

	// List retrieves list of RateLimiterServerConfigs for a given namespace and list options.
	ListRateLimiterServerConfig(ctx context.Context, opts ...client.ListOption) (*RateLimiterServerConfigList, error)
}

Reader knows how to read and list RateLimiterServerConfigs.

type RateLimiterServerConfigSlice

type RateLimiterServerConfigSlice []*RateLimiterServerConfig

RateLimiterServerConfigSlice represents a slice of *RateLimiterServerConfig

type RateLimiterServerConfigSpec

type RateLimiterServerConfigSpec struct {

	// The per-server rate limit config objects will be generated from the given config for each provided ref.
	// Each rate limit server must be configured to read its server configuration from one of these refs.
	ServerConfigRefs []*v1.ObjectRef `protobuf:"bytes,1,rep,name=server_config_refs,json=serverConfigRefs,proto3" json:"server_config_refs,omitempty"`
	// the configuration which will be deployed to the selected rate limit servers.
	// TODO: move disable validation annotation into solo-apis
	RateLimitConfig *v1alpha1.RateLimitConfigSpec `protobuf:"bytes,2,opt,name=rate_limit_config,json=rateLimitConfig,proto3" json:"rate_limit_config,omitempty"`
	// contains filtered or unexported fields
}

RateLimiterConfig contains the configuration for the Gloo Rate Limiter, the external rate-limiting server used by mesh proxies to rate-limit HTTP requests. One or more rate limiter servers may be deployed in order to rate limit traffic across East-West and North-South routes. The RateLimiterConfig allows users to map a single rate-limiter configuration to multiple rate-limiter server instances, deployed across managed clusters.

func (*RateLimiterServerConfigSpec) DeepCopyInto

DeepCopyInto for the RateLimiterServerConfig.Spec

func (*RateLimiterServerConfigSpec) Descriptor deprecated

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

Deprecated: Use RateLimiterServerConfigSpec.ProtoReflect.Descriptor instead.

func (*RateLimiterServerConfigSpec) Equal

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

Equal function

func (*RateLimiterServerConfigSpec) GetRateLimitConfig

func (x *RateLimiterServerConfigSpec) GetRateLimitConfig() *v1alpha1.RateLimitConfigSpec

func (*RateLimiterServerConfigSpec) GetServerConfigRefs

func (x *RateLimiterServerConfigSpec) GetServerConfigRefs() []*v1.ObjectRef

func (*RateLimiterServerConfigSpec) MarshalJSON

func (this *RateLimiterServerConfigSpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for RateLimiterServerConfigSpec

func (*RateLimiterServerConfigSpec) ProtoMessage

func (*RateLimiterServerConfigSpec) ProtoMessage()

func (*RateLimiterServerConfigSpec) ProtoReflect

func (*RateLimiterServerConfigSpec) Reset

func (x *RateLimiterServerConfigSpec) Reset()

func (*RateLimiterServerConfigSpec) String

func (x *RateLimiterServerConfigSpec) String() string

func (*RateLimiterServerConfigSpec) UnmarshalJSON

func (this *RateLimiterServerConfigSpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for RateLimiterServerConfigSpec

type RateLimiterServerConfigStatus

type RateLimiterServerConfigStatus struct {

	// The most recent generation observed in the the RateLimiterServerConfig metadata.
	// If the `observedGeneration` does not match `metadata.generation`,
	// Gloo Mesh has not processed the most recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
	// Any warnings found while processing this generation of the resource.
	Warnings []string `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// a list of rate limit server workloads which have been configured with this RateLimiterConfig
	ConfiguredServers []*v1.ClusterObjectRef `protobuf:"bytes,4,rep,name=configured_servers,json=configuredServers,proto3" json:"configured_servers,omitempty"`
	// contains filtered or unexported fields
}

The current status of the `RateLimitConfig`.

func (*RateLimiterServerConfigStatus) DeepCopyInto

DeepCopyInto for the RateLimiterServerConfig.Status

func (*RateLimiterServerConfigStatus) Descriptor deprecated

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

Deprecated: Use RateLimiterServerConfigStatus.ProtoReflect.Descriptor instead.

func (*RateLimiterServerConfigStatus) Equal

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

Equal function

func (*RateLimiterServerConfigStatus) GetConfiguredServers

func (x *RateLimiterServerConfigStatus) GetConfiguredServers() []*v1.ClusterObjectRef

func (*RateLimiterServerConfigStatus) GetErrors

func (x *RateLimiterServerConfigStatus) GetErrors() []string

func (*RateLimiterServerConfigStatus) GetObservedGeneration

func (x *RateLimiterServerConfigStatus) GetObservedGeneration() int64

func (*RateLimiterServerConfigStatus) GetWarnings

func (x *RateLimiterServerConfigStatus) GetWarnings() []string

func (*RateLimiterServerConfigStatus) MarshalJSON

func (this *RateLimiterServerConfigStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for RateLimiterServerConfigStatus

func (*RateLimiterServerConfigStatus) ProtoMessage

func (*RateLimiterServerConfigStatus) ProtoMessage()

func (*RateLimiterServerConfigStatus) ProtoReflect

func (*RateLimiterServerConfigStatus) Reset

func (x *RateLimiterServerConfigStatus) Reset()

func (*RateLimiterServerConfigStatus) String

func (*RateLimiterServerConfigStatus) UnmarshalJSON

func (this *RateLimiterServerConfigStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for RateLimiterServerConfigStatus

type RateLimiterServerConfigStatusWriter

type RateLimiterServerConfigStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given RateLimiterServerConfig object.
	UpdateRateLimiterServerConfigStatus(ctx context.Context, obj *RateLimiterServerConfig, opts ...client.UpdateOption) error

	// Patch patches the given RateLimiterServerConfig object's subresource.
	PatchRateLimiterServerConfigStatus(ctx context.Context, obj *RateLimiterServerConfig, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a RateLimiterServerConfig object.

type RateLimiterServerConfigTransitionFunction

type RateLimiterServerConfigTransitionFunction func(existing, desired *RateLimiterServerConfig) error

RateLimiterServerConfigTransitionFunction instructs the RateLimiterServerConfigWriter how to transition between an existing RateLimiterServerConfig object and a desired on an Upsert

type RateLimiterServerConfigWriter

type RateLimiterServerConfigWriter interface {
	// Create saves the RateLimiterServerConfig object.
	CreateRateLimiterServerConfig(ctx context.Context, obj *RateLimiterServerConfig, opts ...client.CreateOption) error

	// Delete deletes the RateLimiterServerConfig object.
	DeleteRateLimiterServerConfig(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given RateLimiterServerConfig object.
	UpdateRateLimiterServerConfig(ctx context.Context, obj *RateLimiterServerConfig, opts ...client.UpdateOption) error

	// Patch patches the given RateLimiterServerConfig object.
	PatchRateLimiterServerConfig(ctx context.Context, obj *RateLimiterServerConfig, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all RateLimiterServerConfig objects matching the given options.
	DeleteAllOfRateLimiterServerConfig(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the RateLimiterServerConfig object.
	UpsertRateLimiterServerConfig(ctx context.Context, obj *RateLimiterServerConfig, transitionFuncs ...RateLimiterServerConfigTransitionFunction) error
}

Writer knows how to create, delete, and update RateLimiterServerConfigs.

type RedirectAction added in v1.1.0

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 `` /* 179-byte string literal not displayed */
	// The scheme portion of the URL will be swapped with "https".
	HttpsRedirect bool `protobuf:"varint,5,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
}

Note: This message needs to be at this level (rather than nested) due to cue restrictions. Notice: RedirectAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto

func (*RedirectAction) Descriptor deprecated added in v1.1.0

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

Deprecated: Use RedirectAction.ProtoReflect.Descriptor instead.

func (*RedirectAction) Equal added in v1.1.0

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

Equal function

func (*RedirectAction) GetHostRedirect added in v1.1.0

func (x *RedirectAction) GetHostRedirect() string

func (*RedirectAction) GetHttpsRedirect added in v1.1.0

func (x *RedirectAction) GetHttpsRedirect() bool

func (*RedirectAction) GetPathRedirect added in v1.1.0

func (x *RedirectAction) GetPathRedirect() string

func (*RedirectAction) GetPathRewriteSpecifier added in v1.1.0

func (m *RedirectAction) GetPathRewriteSpecifier() isRedirectAction_PathRewriteSpecifier

func (*RedirectAction) GetPrefixRewrite added in v1.1.0

func (x *RedirectAction) GetPrefixRewrite() string

func (*RedirectAction) GetResponseCode added in v1.1.0

func (*RedirectAction) GetStripQuery added in v1.1.0

func (x *RedirectAction) GetStripQuery() bool

func (*RedirectAction) ProtoMessage added in v1.1.0

func (*RedirectAction) ProtoMessage()

func (*RedirectAction) ProtoReflect added in v1.1.0

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

func (*RedirectAction) Reset added in v1.1.0

func (x *RedirectAction) Reset()

func (*RedirectAction) String added in v1.1.0

func (x *RedirectAction) String() string

type RedirectAction_PathRedirect added in v1.1.0

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

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,3,opt,name=prefix_rewrite,json=prefixRewrite,proto3,oneof"`
}

type RedirectAction_RedirectResponseCode added in v1.1.0

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.1.0

func (RedirectAction_RedirectResponseCode) Enum added in v1.1.0

func (RedirectAction_RedirectResponseCode) EnumDescriptor deprecated added in v1.1.0

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

Deprecated: Use RedirectAction_RedirectResponseCode.Descriptor instead.

func (RedirectAction_RedirectResponseCode) Number added in v1.1.0

func (RedirectAction_RedirectResponseCode) String added in v1.1.0

func (RedirectAction_RedirectResponseCode) Type added in v1.1.0

type Route added in v1.1.0

type Route struct {

	// The name provides a convenience for users to be able to refer to a route by name.
	// It includes names of VS, Route, and RouteTable ancestors of the Route.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// 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).
	// For delegated routes, any parent matcher must have a `prefix` path matcher.
	Matchers []*v1.HttpMatcher `protobuf:"bytes,2,rep,name=matchers,proto3" json:"matchers,omitempty"`
	// The Route Action defines what action the proxy should take when a request matches the route.
	//
	// Types that are assignable to Action:
	//	*Route_RouteAction_
	//	*Route_RedirectAction
	//	*Route_DirectResponseAction
	//	*Route_DelegateAction
	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.
	// RouteOption behavior will be inherited by delegated routes which do not specify their own `options`
	Options *v1.TrafficPolicySpec_Policy `protobuf:"bytes,7,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

A route specifies how to match a request and what action to take when the request is matched.

When a request matches on a route, the route can perform one of the following actions: - *Route* the request to a destination - Reply with a *Direct Response* - Send a *Redirect* response to the client - *Delegate* the action for the request to one or more [`RouteTable`]({{< ref "/reference/api/github.com.solo-io.gloo-mesh.api.enterprise.networking.v1beta1.route_table.md" >}}) resources DelegateActions can be used to delegate the behavior for a set out routes to `RouteTable` resources.

func (*Route) Descriptor deprecated added in v1.1.0

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

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) Equal added in v1.1.0

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

Equal function

func (*Route) GetAction added in v1.1.0

func (m *Route) GetAction() isRoute_Action

func (*Route) GetDelegateAction added in v1.1.0

func (x *Route) GetDelegateAction() *DelegateAction

func (*Route) GetDirectResponseAction added in v1.1.0

func (x *Route) GetDirectResponseAction() *DirectResponseAction

func (*Route) GetMatchers added in v1.1.0

func (x *Route) GetMatchers() []*v1.HttpMatcher

func (*Route) GetName added in v1.1.0

func (x *Route) GetName() string

func (*Route) GetOptions added in v1.1.0

func (x *Route) GetOptions() *v1.TrafficPolicySpec_Policy

func (*Route) GetRedirectAction added in v1.1.0

func (x *Route) GetRedirectAction() *RedirectAction

func (*Route) GetRouteAction added in v1.1.0

func (x *Route) GetRouteAction() *Route_RouteAction

func (*Route) ProtoMessage added in v1.1.0

func (*Route) ProtoMessage()

func (*Route) ProtoReflect added in v1.1.0

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

func (*Route) Reset added in v1.1.0

func (x *Route) Reset()

func (*Route) String added in v1.1.0

func (x *Route) String() string

type RouteTable added in v1.1.0

type RouteTable struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RouteTableSpec   `json:"spec,omitempty"`
	Status RouteTableStatus `json:"status,omitempty"`
}

RouteTable is the Schema for the routeTable API

func (*RouteTable) DeepCopy added in v1.1.0

func (in *RouteTable) DeepCopy() *RouteTable

func (*RouteTable) DeepCopyInto added in v1.1.0

func (in *RouteTable) DeepCopyInto(out *RouteTable)

func (*RouteTable) DeepCopyObject added in v1.1.0

func (in *RouteTable) DeepCopyObject() runtime.Object

func (RouteTable) GVK added in v1.1.0

GVK returns the GroupVersionKind associated with the resource type.

type RouteTableClient added in v1.1.0

type RouteTableClient interface {
	RouteTableReader
	RouteTableWriter
	RouteTableStatusWriter
}

Client knows how to perform CRUD operations on RouteTables.

type RouteTableList added in v1.1.0

type RouteTableList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RouteTable `json:"items"`
}

RouteTableList contains a list of RouteTable

func (*RouteTableList) DeepCopy added in v1.1.0

func (in *RouteTableList) DeepCopy() *RouteTableList

func (*RouteTableList) DeepCopyInto added in v1.1.0

func (in *RouteTableList) DeepCopyInto(out *RouteTableList)

func (*RouteTableList) DeepCopyObject added in v1.1.0

func (in *RouteTableList) DeepCopyObject() runtime.Object

type RouteTableReader added in v1.1.0

type RouteTableReader interface {
	// Get retrieves a RouteTable for the given object key
	GetRouteTable(ctx context.Context, key client.ObjectKey) (*RouteTable, error)

	// List retrieves list of RouteTables for a given namespace and list options.
	ListRouteTable(ctx context.Context, opts ...client.ListOption) (*RouteTableList, error)
}

Reader knows how to read and list RouteTables.

type RouteTableSlice added in v1.1.0

type RouteTableSlice []*RouteTable

RouteTableSlice represents a slice of *RouteTable

type RouteTableSpec added in v1.1.0

type RouteTableSpec struct {

	// 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,1,rep,name=routes,proto3" json:"routes,omitempty"`
	// contains filtered or unexported fields
}

RouteTable is a resource which can be referenced either from the top level VirtualHost resource, or from other RouteTables. It's primary use is to organizationally and logically separate the configuration of Routes, so that the responsibilities of Route configuration and maintenance can be divided between teams where appropriate.

func (*RouteTableSpec) DeepCopyInto added in v1.1.0

func (in *RouteTableSpec) DeepCopyInto(out *RouteTableSpec)

DeepCopyInto for the RouteTable.Spec

func (*RouteTableSpec) Descriptor deprecated added in v1.1.0

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

Deprecated: Use RouteTableSpec.ProtoReflect.Descriptor instead.

func (*RouteTableSpec) Equal added in v1.1.0

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

Equal function

func (*RouteTableSpec) GetRoutes added in v1.1.0

func (x *RouteTableSpec) GetRoutes() []*Route

func (*RouteTableSpec) MarshalJSON added in v1.1.0

func (this *RouteTableSpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for RouteTableSpec

func (*RouteTableSpec) ProtoMessage added in v1.1.0

func (*RouteTableSpec) ProtoMessage()

func (*RouteTableSpec) ProtoReflect added in v1.1.0

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

func (*RouteTableSpec) Reset added in v1.1.0

func (x *RouteTableSpec) Reset()

func (*RouteTableSpec) String added in v1.1.0

func (x *RouteTableSpec) String() string

func (*RouteTableSpec) UnmarshalJSON added in v1.1.0

func (this *RouteTableSpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for RouteTableSpec

type RouteTableStatus added in v1.1.0

type RouteTableStatus struct {

	// The most recent generation observed in the the RouteTable metadata.
	// If the `observedGeneration` does not match `metadata.generation`,
	// Gloo Mesh has not processed the most recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
	// Any warnings found while processing this generation of the resource.
	Warnings []string `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// List of resources which have selected this RouteTable. Can be VirtualHosts or other RouteTables
	SelectedBy []*SelectedBy `protobuf:"bytes,4,rep,name=selected_by,json=selectedBy,proto3" json:"selected_by,omitempty"`
	// List of child RouteTables that this RouteTable delegates to
	SelectedRouteTables []*v1.ObjectRef `protobuf:"bytes,5,rep,name=selected_route_tables,json=selectedRouteTables,proto3" json:"selected_route_tables,omitempty"`
	// contains filtered or unexported fields
}

func (*RouteTableStatus) DeepCopyInto added in v1.1.0

func (in *RouteTableStatus) DeepCopyInto(out *RouteTableStatus)

DeepCopyInto for the RouteTable.Status

func (*RouteTableStatus) Descriptor deprecated added in v1.1.0

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

Deprecated: Use RouteTableStatus.ProtoReflect.Descriptor instead.

func (*RouteTableStatus) Equal added in v1.1.0

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

Equal function

func (*RouteTableStatus) GetErrors added in v1.1.0

func (x *RouteTableStatus) GetErrors() []string

func (*RouteTableStatus) GetObservedGeneration added in v1.1.0

func (x *RouteTableStatus) GetObservedGeneration() int64

func (*RouteTableStatus) GetSelectedBy added in v1.1.0

func (x *RouteTableStatus) GetSelectedBy() []*SelectedBy

func (*RouteTableStatus) GetSelectedRouteTables added in v1.1.0

func (x *RouteTableStatus) GetSelectedRouteTables() []*v1.ObjectRef

func (*RouteTableStatus) GetWarnings added in v1.1.0

func (x *RouteTableStatus) GetWarnings() []string

func (*RouteTableStatus) MarshalJSON added in v1.1.0

func (this *RouteTableStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for RouteTableStatus

func (*RouteTableStatus) ProtoMessage added in v1.1.0

func (*RouteTableStatus) ProtoMessage()

func (*RouteTableStatus) ProtoReflect added in v1.1.0

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

func (*RouteTableStatus) Reset added in v1.1.0

func (x *RouteTableStatus) Reset()

func (*RouteTableStatus) String added in v1.1.0

func (x *RouteTableStatus) String() string

func (*RouteTableStatus) UnmarshalJSON added in v1.1.0

func (this *RouteTableStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for RouteTableStatus

type RouteTableStatusWriter added in v1.1.0

type RouteTableStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given RouteTable object.
	UpdateRouteTableStatus(ctx context.Context, obj *RouteTable, opts ...client.UpdateOption) error

	// Patch patches the given RouteTable object's subresource.
	PatchRouteTableStatus(ctx context.Context, obj *RouteTable, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a RouteTable object.

type RouteTableTransitionFunction added in v1.1.0

type RouteTableTransitionFunction func(existing, desired *RouteTable) error

RouteTableTransitionFunction instructs the RouteTableWriter how to transition between an existing RouteTable object and a desired on an Upsert

type RouteTableWriter added in v1.1.0

type RouteTableWriter interface {
	// Create saves the RouteTable object.
	CreateRouteTable(ctx context.Context, obj *RouteTable, opts ...client.CreateOption) error

	// Delete deletes the RouteTable object.
	DeleteRouteTable(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given RouteTable object.
	UpdateRouteTable(ctx context.Context, obj *RouteTable, opts ...client.UpdateOption) error

	// Patch patches the given RouteTable object.
	PatchRouteTable(ctx context.Context, obj *RouteTable, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all RouteTable objects matching the given options.
	DeleteAllOfRouteTable(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the RouteTable object.
	UpsertRouteTable(ctx context.Context, obj *RouteTable, transitionFuncs ...RouteTableTransitionFunction) error
}

Writer knows how to create, delete, and update RouteTables.

type Route_DelegateAction added in v1.1.0

type Route_DelegateAction struct {
	// Delegate routing actions for the given matcher to one or more RouteTables.
	DelegateAction *DelegateAction `protobuf:"bytes,6,opt,name=delegate_action,json=delegateAction,proto3,oneof"`
}

type Route_DirectResponseAction added in v1.1.0

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

type Route_RedirectAction added in v1.1.0

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

type Route_RouteAction added in v1.1.0

type Route_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).
	Destinations []*v1.WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// contains filtered or unexported fields
}

RouteActions are used to route matched requests to upstreams.

func (*Route_RouteAction) Descriptor deprecated added in v1.1.0

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

Deprecated: Use Route_RouteAction.ProtoReflect.Descriptor instead.

func (*Route_RouteAction) Equal added in v1.1.0

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

Equal function

func (*Route_RouteAction) GetDestinations added in v1.1.0

func (x *Route_RouteAction) GetDestinations() []*v1.WeightedDestination

func (*Route_RouteAction) ProtoMessage added in v1.1.0

func (*Route_RouteAction) ProtoMessage()

func (*Route_RouteAction) ProtoReflect added in v1.1.0

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

func (*Route_RouteAction) Reset added in v1.1.0

func (x *Route_RouteAction) Reset()

func (*Route_RouteAction) String added in v1.1.0

func (x *Route_RouteAction) String() string

type Route_RouteAction_ added in v1.1.0

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 *Route_RouteAction `protobuf:"bytes,3,opt,name=route_action,json=routeAction,proto3,oneof"`
}

type SDSConfig

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
}

Note: This message needs to be at this level (rather than nested) due to cue restrictions.

func (*SDSConfig) Descriptor deprecated

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

Deprecated: Use SDSConfig.ProtoReflect.Descriptor instead.

func (*SDSConfig) Equal

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

Equal function

func (*SDSConfig) GetCallCredentials

func (x *SDSConfig) GetCallCredentials() *SDSConfig_CallCredentials

func (*SDSConfig) GetCertificatesSecretName

func (x *SDSConfig) GetCertificatesSecretName() string

func (*SDSConfig) GetClusterName

func (x *SDSConfig) GetClusterName() string

func (*SDSConfig) GetSdsBuilder

func (m *SDSConfig) GetSdsBuilder() isSDSConfig_SdsBuilder

func (*SDSConfig) GetTargetUri

func (x *SDSConfig) GetTargetUri() string

func (*SDSConfig) GetValidationContextName

func (x *SDSConfig) GetValidationContextName() string

func (*SDSConfig) ProtoMessage

func (*SDSConfig) ProtoMessage()

func (*SDSConfig) ProtoReflect

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

func (*SDSConfig) Reset

func (x *SDSConfig) Reset()

func (*SDSConfig) String

func (x *SDSConfig) String() string

type SDSConfig_CallCredentials

type SDSConfig_CallCredentials struct {

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

func (*SDSConfig_CallCredentials) Descriptor deprecated

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

Deprecated: Use SDSConfig_CallCredentials.ProtoReflect.Descriptor instead.

func (*SDSConfig_CallCredentials) Equal

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

Equal function

func (*SDSConfig_CallCredentials) GetFileCredentialSource

func (*SDSConfig_CallCredentials) ProtoMessage

func (*SDSConfig_CallCredentials) ProtoMessage()

func (*SDSConfig_CallCredentials) ProtoReflect

func (*SDSConfig_CallCredentials) Reset

func (x *SDSConfig_CallCredentials) Reset()

func (*SDSConfig_CallCredentials) String

func (x *SDSConfig_CallCredentials) String() string

type SDSConfig_CallCredentials_

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

type SDSConfig_CallCredentials_FileCredentialSource

type SDSConfig_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 (*SDSConfig_CallCredentials_FileCredentialSource) Descriptor deprecated

Deprecated: Use SDSConfig_CallCredentials_FileCredentialSource.ProtoReflect.Descriptor instead.

func (*SDSConfig_CallCredentials_FileCredentialSource) Equal

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

Equal function

func (*SDSConfig_CallCredentials_FileCredentialSource) GetHeader

func (*SDSConfig_CallCredentials_FileCredentialSource) GetTokenFileName

func (*SDSConfig_CallCredentials_FileCredentialSource) ProtoMessage

func (*SDSConfig_CallCredentials_FileCredentialSource) ProtoReflect

func (*SDSConfig_CallCredentials_FileCredentialSource) Reset

func (*SDSConfig_CallCredentials_FileCredentialSource) String

type SDSConfig_ClusterName

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

type SelectedBy added in v1.1.0

type SelectedBy struct {

	// Name of resource selecting this RouteTable
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Namespace of resource selecting this RouteTable
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Type of resource selecting this RouteTable. Can be
	// VirtualGateway, VirtualHost, or RouteTable.
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*SelectedBy) Descriptor deprecated added in v1.1.0

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

Deprecated: Use SelectedBy.ProtoReflect.Descriptor instead.

func (*SelectedBy) Equal added in v1.1.0

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

Equal function

func (*SelectedBy) GetName added in v1.1.0

func (x *SelectedBy) GetName() string

func (*SelectedBy) GetNamespace added in v1.1.0

func (x *SelectedBy) GetNamespace() string

func (*SelectedBy) GetType added in v1.1.0

func (x *SelectedBy) GetType() string

func (*SelectedBy) ProtoMessage added in v1.1.0

func (*SelectedBy) ProtoMessage()

func (*SelectedBy) ProtoReflect added in v1.1.0

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

func (*SelectedBy) Reset added in v1.1.0

func (x *SelectedBy) Reset()

func (*SelectedBy) String added in v1.1.0

func (x *SelectedBy) String() string

type SelectedGatewayWorkload

type SelectedGatewayWorkload struct {

	// the name of the gateway workload
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// the namespace where the gateway workload is running
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// the cluster where the gateway workload is running
	ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// the labels used to identify the gateway workload
	Labels map[string]string `` /* 153-byte string literal not displayed */
	// the external URL by which the gateway can be accessed on the given workload, if it exists
	ExternalUrl string `protobuf:"bytes,5,opt,name=external_url,json=externalUrl,proto3" json:"external_url,omitempty"`
	// contains filtered or unexported fields
}

a gateway workload (e.g. Deployment) where a virtual gateway will be served

func (*SelectedGatewayWorkload) Descriptor deprecated

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

Deprecated: Use SelectedGatewayWorkload.ProtoReflect.Descriptor instead.

func (*SelectedGatewayWorkload) Equal

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

Equal function

func (*SelectedGatewayWorkload) GetClusterName

func (x *SelectedGatewayWorkload) GetClusterName() string

func (*SelectedGatewayWorkload) GetExternalUrl

func (x *SelectedGatewayWorkload) GetExternalUrl() string

func (*SelectedGatewayWorkload) GetLabels

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

func (*SelectedGatewayWorkload) GetName

func (x *SelectedGatewayWorkload) GetName() string

func (*SelectedGatewayWorkload) GetNamespace

func (x *SelectedGatewayWorkload) GetNamespace() string

func (*SelectedGatewayWorkload) ProtoMessage

func (*SelectedGatewayWorkload) ProtoMessage()

func (*SelectedGatewayWorkload) ProtoReflect

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

func (*SelectedGatewayWorkload) Reset

func (x *SelectedGatewayWorkload) Reset()

func (*SelectedGatewayWorkload) String

func (x *SelectedGatewayWorkload) String() string

type ServiceDependency added in v1.1.0

type ServiceDependency struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ServiceDependencySpec   `json:"spec,omitempty"`
	Status ServiceDependencyStatus `json:"status,omitempty"`
}

ServiceDependency is the Schema for the serviceDependency API

func (*ServiceDependency) DeepCopy added in v1.1.0

func (in *ServiceDependency) DeepCopy() *ServiceDependency

func (*ServiceDependency) DeepCopyInto added in v1.1.0

func (in *ServiceDependency) DeepCopyInto(out *ServiceDependency)

func (*ServiceDependency) DeepCopyObject added in v1.1.0

func (in *ServiceDependency) DeepCopyObject() runtime.Object

func (ServiceDependency) GVK added in v1.1.0

GVK returns the GroupVersionKind associated with the resource type.

type ServiceDependencyClient added in v1.1.0

Client knows how to perform CRUD operations on ServiceDependencys.

type ServiceDependencyList added in v1.1.0

type ServiceDependencyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ServiceDependency `json:"items"`
}

ServiceDependencyList contains a list of ServiceDependency

func (*ServiceDependencyList) DeepCopy added in v1.1.0

func (*ServiceDependencyList) DeepCopyInto added in v1.1.0

func (in *ServiceDependencyList) DeepCopyInto(out *ServiceDependencyList)

func (*ServiceDependencyList) DeepCopyObject added in v1.1.0

func (in *ServiceDependencyList) DeepCopyObject() runtime.Object

type ServiceDependencyReader added in v1.1.0

type ServiceDependencyReader interface {
	// Get retrieves a ServiceDependency for the given object key
	GetServiceDependency(ctx context.Context, key client.ObjectKey) (*ServiceDependency, error)

	// List retrieves list of ServiceDependencys for a given namespace and list options.
	ListServiceDependency(ctx context.Context, opts ...client.ListOption) (*ServiceDependencyList, error)
}

Reader knows how to read and list ServiceDependencys.

type ServiceDependencySlice added in v1.1.0

type ServiceDependencySlice []*ServiceDependency

ServiceDependencySlice represents a slice of *ServiceDependency

type ServiceDependencySpec added in v1.1.0

type ServiceDependencySpec struct {

	// Select the traffic sources (i.e. Workloads) for this network ServiceDependency. If omitted, selects all Workloads.
	SourceSelectors []*v1.WorkloadSelector `protobuf:"bytes,1,rep,name=source_selectors,json=sourceSelectors,proto3" json:"source_selectors,omitempty"`
	// Select the traffic targets (i.e. Destination) for this network ServiceDependency. If omitted, selects all Destinations.
	DestinationSelectors []*v1.DestinationSelector `protobuf:"bytes,2,rep,name=destination_selectors,json=destinationSelectors,proto3" json:"destination_selectors,omitempty"`
	// contains filtered or unexported fields
}

A ServiceDependency specifies explicit dependencies between traffic sources and destinations in a service graph. Depending on the underlying service mesh, explicitly describing dependencies can improve the performance of the data plane by pruning away any unneeded networking configuration from the relevant proxies.

The complete set of service dependencies for a given traffic source is the aggregation of all unique Destinations selected by any applicable ServiceDependencies. If a traffic source has no applied ServiceDependencies, its service dependency configuration defaults to the behavior of the underlying service mesh.

Note that in order to block communication between sources and destinations not explicitly declared in a ServiceDependency, additional configuration on the underlying service mesh may be required. For instance, Istio must be configured with `outboundTrafficPolicy.Mode` set to `REGISTRY_ONLY` (see [here](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-OutboundTrafficPolicy)) to enforce this behavior.

func (*ServiceDependencySpec) DeepCopyInto added in v1.1.0

func (in *ServiceDependencySpec) DeepCopyInto(out *ServiceDependencySpec)

DeepCopyInto for the ServiceDependency.Spec

func (*ServiceDependencySpec) Descriptor deprecated added in v1.1.0

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

Deprecated: Use ServiceDependencySpec.ProtoReflect.Descriptor instead.

func (*ServiceDependencySpec) Equal added in v1.1.0

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

Equal function

func (*ServiceDependencySpec) GetDestinationSelectors added in v1.1.0

func (x *ServiceDependencySpec) GetDestinationSelectors() []*v1.DestinationSelector

func (*ServiceDependencySpec) GetSourceSelectors added in v1.1.0

func (x *ServiceDependencySpec) GetSourceSelectors() []*v1.WorkloadSelector

func (*ServiceDependencySpec) MarshalJSON added in v1.1.0

func (this *ServiceDependencySpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ServiceDependencySpec

func (*ServiceDependencySpec) ProtoMessage added in v1.1.0

func (*ServiceDependencySpec) ProtoMessage()

func (*ServiceDependencySpec) ProtoReflect added in v1.1.0

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

func (*ServiceDependencySpec) Reset added in v1.1.0

func (x *ServiceDependencySpec) Reset()

func (*ServiceDependencySpec) String added in v1.1.0

func (x *ServiceDependencySpec) String() string

func (*ServiceDependencySpec) UnmarshalJSON added in v1.1.0

func (this *ServiceDependencySpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ServiceDependencySpec

type ServiceDependencyStatus added in v1.1.0

type ServiceDependencyStatus struct {

	// The most recent generation observed in the the ServiceDependency metadata.
	// If the observedGeneration does not match `metadata.generation`, Gloo Mesh has not processed the most
	// recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// The state of the overall resource, will only show accepted if it has been successfully
	// applied to all exported to Meshes.
	State v1.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the ServiceDependency for each selected Workload.
	// A ServiceDependency may have different statuses for each Workload it applies to.
	Workloads map[string]*v11.ApprovalStatus `` /* 159-byte string literal not displayed */
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceDependencyStatus) DeepCopyInto added in v1.1.0

func (in *ServiceDependencyStatus) DeepCopyInto(out *ServiceDependencyStatus)

DeepCopyInto for the ServiceDependency.Status

func (*ServiceDependencyStatus) Descriptor deprecated added in v1.1.0

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

Deprecated: Use ServiceDependencyStatus.ProtoReflect.Descriptor instead.

func (*ServiceDependencyStatus) Equal added in v1.1.0

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

Equal function

func (*ServiceDependencyStatus) GetErrors added in v1.1.0

func (x *ServiceDependencyStatus) GetErrors() []string

func (*ServiceDependencyStatus) GetObservedGeneration added in v1.1.0

func (x *ServiceDependencyStatus) GetObservedGeneration() int64

func (*ServiceDependencyStatus) GetState added in v1.1.0

func (*ServiceDependencyStatus) GetWorkloads added in v1.1.0

func (x *ServiceDependencyStatus) GetWorkloads() map[string]*v11.ApprovalStatus

func (*ServiceDependencyStatus) MarshalJSON added in v1.1.0

func (this *ServiceDependencyStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ServiceDependencyStatus

func (*ServiceDependencyStatus) ProtoMessage added in v1.1.0

func (*ServiceDependencyStatus) ProtoMessage()

func (*ServiceDependencyStatus) ProtoReflect added in v1.1.0

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

func (*ServiceDependencyStatus) Reset added in v1.1.0

func (x *ServiceDependencyStatus) Reset()

func (*ServiceDependencyStatus) String added in v1.1.0

func (x *ServiceDependencyStatus) String() string

func (*ServiceDependencyStatus) UnmarshalJSON added in v1.1.0

func (this *ServiceDependencyStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ServiceDependencyStatus

type ServiceDependencyStatusWriter added in v1.1.0

type ServiceDependencyStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given ServiceDependency object.
	UpdateServiceDependencyStatus(ctx context.Context, obj *ServiceDependency, opts ...client.UpdateOption) error

	// Patch patches the given ServiceDependency object's subresource.
	PatchServiceDependencyStatus(ctx context.Context, obj *ServiceDependency, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a ServiceDependency object.

type ServiceDependencyTransitionFunction added in v1.1.0

type ServiceDependencyTransitionFunction func(existing, desired *ServiceDependency) error

ServiceDependencyTransitionFunction instructs the ServiceDependencyWriter how to transition between an existing ServiceDependency object and a desired on an Upsert

type ServiceDependencyWriter added in v1.1.0

type ServiceDependencyWriter interface {
	// Create saves the ServiceDependency object.
	CreateServiceDependency(ctx context.Context, obj *ServiceDependency, opts ...client.CreateOption) error

	// Delete deletes the ServiceDependency object.
	DeleteServiceDependency(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given ServiceDependency object.
	UpdateServiceDependency(ctx context.Context, obj *ServiceDependency, opts ...client.UpdateOption) error

	// Patch patches the given ServiceDependency object.
	PatchServiceDependency(ctx context.Context, obj *ServiceDependency, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all ServiceDependency objects matching the given options.
	DeleteAllOfServiceDependency(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the ServiceDependency object.
	UpsertServiceDependency(ctx context.Context, obj *ServiceDependency, transitionFuncs ...ServiceDependencyTransitionFunction) error
}

Writer knows how to create, delete, and update ServiceDependencys.

type UriSource

type UriSource struct {

	// The HTTP URI from which to fetch the filter.
	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// Required. The Sha256 Checksum of the filter binary (will be verified by the proxy).
	Sha string `protobuf:"bytes,2,opt,name=sha,proto3" json:"sha,omitempty"`
	// contains filtered or unexported fields
}

Specify options for fetching WASM Filters from an HTTP URI.

func (*UriSource) Descriptor deprecated

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

Deprecated: Use UriSource.ProtoReflect.Descriptor instead.

func (*UriSource) GetSha

func (x *UriSource) GetSha() string

func (*UriSource) GetUri

func (x *UriSource) GetUri() string

func (*UriSource) ProtoMessage

func (*UriSource) ProtoMessage()

func (*UriSource) ProtoReflect

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

func (*UriSource) Reset

func (x *UriSource) Reset()

func (*UriSource) String

func (x *UriSource) String() string

type VirtualDestination

type VirtualDestination struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualDestinationSpec   `json:"spec,omitempty"`
	Status VirtualDestinationStatus `json:"status,omitempty"`
}

VirtualDestination is the Schema for the virtualDestination API

func (*VirtualDestination) DeepCopy

func (in *VirtualDestination) DeepCopy() *VirtualDestination

func (*VirtualDestination) DeepCopyInto

func (in *VirtualDestination) DeepCopyInto(out *VirtualDestination)

func (*VirtualDestination) DeepCopyObject

func (in *VirtualDestination) DeepCopyObject() runtime.Object

func (VirtualDestination) GVK

GVK returns the GroupVersionKind associated with the resource type.

type VirtualDestinationBackingDestination

type VirtualDestinationBackingDestination struct {

	// Platform specific Destinations.
	//
	// Types that are assignable to Type:
	//	*VirtualDestinationBackingDestination_KubeService
	Type isVirtualDestinationBackingDestination_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

A backing Destination. Has to be at the top level, as cue does not function well with referencing nested messages.

func (*VirtualDestinationBackingDestination) Descriptor deprecated

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

Deprecated: Use VirtualDestinationBackingDestination.ProtoReflect.Descriptor instead.

func (*VirtualDestinationBackingDestination) Equal

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

Equal function

func (*VirtualDestinationBackingDestination) GetKubeService

func (*VirtualDestinationBackingDestination) GetType

func (m *VirtualDestinationBackingDestination) GetType() isVirtualDestinationBackingDestination_Type

func (*VirtualDestinationBackingDestination) ProtoMessage

func (*VirtualDestinationBackingDestination) ProtoMessage()

func (*VirtualDestinationBackingDestination) ProtoReflect

func (*VirtualDestinationBackingDestination) Reset

func (*VirtualDestinationBackingDestination) String

type VirtualDestinationBackingDestination_KubeService

type VirtualDestinationBackingDestination_KubeService struct {
	// Reference to a Kubernetes Service.
	KubeService *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof"`
}

type VirtualDestinationClient

Client knows how to perform CRUD operations on VirtualDestinations.

type VirtualDestinationList

type VirtualDestinationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualDestination `json:"items"`
}

VirtualDestinationList contains a list of VirtualDestination

func (*VirtualDestinationList) DeepCopy

func (*VirtualDestinationList) DeepCopyInto

func (in *VirtualDestinationList) DeepCopyInto(out *VirtualDestinationList)

func (*VirtualDestinationList) DeepCopyObject

func (in *VirtualDestinationList) DeepCopyObject() runtime.Object

type VirtualDestinationReader

type VirtualDestinationReader interface {
	// Get retrieves a VirtualDestination for the given object key
	GetVirtualDestination(ctx context.Context, key client.ObjectKey) (*VirtualDestination, error)

	// List retrieves list of VirtualDestinations for a given namespace and list options.
	ListVirtualDestination(ctx context.Context, opts ...client.ListOption) (*VirtualDestinationList, error)
}

Reader knows how to read and list VirtualDestinations.

type VirtualDestinationSlice

type VirtualDestinationSlice []*VirtualDestination

VirtualDestinationSlice represents a slice of *VirtualDestination

type VirtualDestinationSpec

type VirtualDestinationSpec struct {

	// The DNS name of the VirtualDestination. Must be unique within the service mesh instance.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// The port on which the VirtualDestination listens.
	Port *VirtualDestinationSpec_Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"`
	// The VirtualDestination can be made visible to either a single Mesh, all Meshes grouped in a VirtualMesh or a subset of Meshes grouped in a VirtualMesh.
	//
	// Types that are assignable to ExportTo:
	//	*VirtualDestinationSpec_VirtualMesh
	//	*VirtualDestinationSpec_MeshList_
	ExportTo isVirtualDestinationSpec_ExportTo `protobuf_oneof:"export_to"`
	// Configuration that determines failover ordering.
	//
	// Types that are assignable to FailoverConfig:
	//	*VirtualDestinationSpec_Static
	//	*VirtualDestinationSpec_Localized
	FailoverConfig isVirtualDestinationSpec_FailoverConfig `protobuf_oneof:"failover_config"`
	// contains filtered or unexported fields
}

A VirtualDestination creates a new hostname to which client workloads can send requests. The hostname abstracts over a set of underlying Destinations and provides failover functionality between them. Failover order is determined by either an explicitly defined priority (`static`), or a list of locality directives (`localized`).

Each Destination backing the VirtualDestination must be configured with a [TrafficPolicy's outlier detection]({{< versioned_link_path fromRoot="/reference/api/github.com.solo-io.gloo-mesh.api.networking.v1.traffic_policy/" >}}). Currently this feature only supports Destinations backed by Istio.

func (*VirtualDestinationSpec) DeepCopyInto

func (in *VirtualDestinationSpec) DeepCopyInto(out *VirtualDestinationSpec)

DeepCopyInto for the VirtualDestination.Spec

func (*VirtualDestinationSpec) Descriptor deprecated

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

Deprecated: Use VirtualDestinationSpec.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec) Equal

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

Equal function

func (*VirtualDestinationSpec) GetExportTo

func (m *VirtualDestinationSpec) GetExportTo() isVirtualDestinationSpec_ExportTo

func (*VirtualDestinationSpec) GetFailoverConfig

func (m *VirtualDestinationSpec) GetFailoverConfig() isVirtualDestinationSpec_FailoverConfig

func (*VirtualDestinationSpec) GetHostname

func (x *VirtualDestinationSpec) GetHostname() string

func (*VirtualDestinationSpec) GetLocalized

func (*VirtualDestinationSpec) GetMeshList

func (*VirtualDestinationSpec) GetPort

func (*VirtualDestinationSpec) GetStatic

func (*VirtualDestinationSpec) GetVirtualMesh

func (x *VirtualDestinationSpec) GetVirtualMesh() *v1.ObjectRef

func (*VirtualDestinationSpec) MarshalJSON

func (this *VirtualDestinationSpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VirtualDestinationSpec

func (*VirtualDestinationSpec) ProtoMessage

func (*VirtualDestinationSpec) ProtoMessage()

func (*VirtualDestinationSpec) ProtoReflect

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

func (*VirtualDestinationSpec) Reset

func (x *VirtualDestinationSpec) Reset()

func (*VirtualDestinationSpec) String

func (x *VirtualDestinationSpec) String() string

func (*VirtualDestinationSpec) UnmarshalJSON

func (this *VirtualDestinationSpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VirtualDestinationSpec

type VirtualDestinationSpec_BackingDestinationList

type VirtualDestinationSpec_BackingDestinationList struct {

	// The list of Destinations backing the VirtualDestination, ordered by decreasing priority.
	// All Destinations must be either in the same Mesh or in Meshes that are grouped under a common VirtualMesh.
	// Required, cannot be omitted.
	Destinations []*VirtualDestinationBackingDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// contains filtered or unexported fields
}

Failover priority is determined by an explicitly provided static ordering of Destinations. When a Destination in the list is in an unhealthy state (as determined by its configured outlier detection), requests sent to the VirtualDestination will be routed to the next healthy Destination in the list.

func (*VirtualDestinationSpec_BackingDestinationList) Descriptor deprecated

Deprecated: Use VirtualDestinationSpec_BackingDestinationList.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec_BackingDestinationList) Equal

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

Equal function

func (*VirtualDestinationSpec_BackingDestinationList) GetDestinations

func (*VirtualDestinationSpec_BackingDestinationList) ProtoMessage

func (*VirtualDestinationSpec_BackingDestinationList) ProtoReflect

func (*VirtualDestinationSpec_BackingDestinationList) Reset

func (*VirtualDestinationSpec_BackingDestinationList) String

type VirtualDestinationSpec_LocalityConfig

type VirtualDestinationSpec_LocalityConfig struct {

	// Selectors for the Destinations backing the VirtualDestination.
	// All Destinations must be either in the same mesh or in meshes that are grouped under a common VirtualMesh.
	// Currently only one Destination per cluster can be selected, more than one per cluster will be considered invalid.
	// Required, cannot be omitted.
	DestinationSelectors []*v11.DestinationSelector `protobuf:"bytes,1,rep,name=destination_selectors,json=destinationSelectors,proto3" json:"destination_selectors,omitempty"`
	// Directives describing the locality failover behavior.
	FailoverDirectives []*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective `protobuf:"bytes,2,rep,name=failover_directives,json=failoverDirectives,proto3" json:"failover_directives,omitempty"`
	// Outlier detection to determine the health of the selected services.
	// If not set will default to the following:
	// consecutiveGatewayErrors: 10
	// consecutive5XXErrors: 10
	// interval: 5s
	// baseEjectionTime: 120s
	OutlierDetection *v12.TrafficPolicySpec_Policy_OutlierDetection `protobuf:"bytes,3,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// contains filtered or unexported fields
}

Enables failover based on locality. When a client workload makes a request to the VirtualDestination, Gloo Mesh will first try to direct traffic to the Destination instance geographically closest to the client workload. If outlier detection detects that the closest Destination is in an unhealthy state, requests will instead be routed to a Destination in one of the localities specified in the `to` field.

func (*VirtualDestinationSpec_LocalityConfig) Descriptor deprecated

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

Deprecated: Use VirtualDestinationSpec_LocalityConfig.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec_LocalityConfig) Equal

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

Equal function

func (*VirtualDestinationSpec_LocalityConfig) GetDestinationSelectors

func (x *VirtualDestinationSpec_LocalityConfig) GetDestinationSelectors() []*v11.DestinationSelector

func (*VirtualDestinationSpec_LocalityConfig) GetFailoverDirectives

func (*VirtualDestinationSpec_LocalityConfig) GetOutlierDetection

func (*VirtualDestinationSpec_LocalityConfig) ProtoMessage

func (*VirtualDestinationSpec_LocalityConfig) ProtoMessage()

func (*VirtualDestinationSpec_LocalityConfig) ProtoReflect

func (*VirtualDestinationSpec_LocalityConfig) Reset

func (*VirtualDestinationSpec_LocalityConfig) String

type VirtualDestinationSpec_LocalityConfig_Locality

type VirtualDestinationSpec_LocalityConfig_Locality struct {

	// The locality's region.
	Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	// The locality's zone. Currently this value is not used.
	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
	// The locality's sub-zone. Currently this value is not used.
	SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"`
	// contains filtered or unexported fields
}

A geographic location defined by a region, zone, and sub-zone.

func (*VirtualDestinationSpec_LocalityConfig_Locality) Descriptor deprecated

Deprecated: Use VirtualDestinationSpec_LocalityConfig_Locality.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec_LocalityConfig_Locality) Equal

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

Equal function

func (*VirtualDestinationSpec_LocalityConfig_Locality) GetRegion

func (*VirtualDestinationSpec_LocalityConfig_Locality) GetSubZone

func (*VirtualDestinationSpec_LocalityConfig_Locality) GetZone

func (*VirtualDestinationSpec_LocalityConfig_Locality) ProtoMessage

func (*VirtualDestinationSpec_LocalityConfig_Locality) ProtoReflect

func (*VirtualDestinationSpec_LocalityConfig_Locality) Reset

func (*VirtualDestinationSpec_LocalityConfig_Locality) String

type VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective

type VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective struct {

	// The locality of the client workload.
	From *VirtualDestinationSpec_LocalityConfig_Locality `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
	// The list of Destination localities that can be routed to if the instance local to the client workload is not available.
	To []*VirtualDestinationSpec_LocalityConfig_Locality `protobuf:"bytes,2,rep,name=to,proto3" json:"to,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) Descriptor deprecated

Deprecated: Use VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) Equal

Equal function

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) GetFrom

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) GetTo

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) ProtoMessage

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) ProtoReflect

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) Reset

func (*VirtualDestinationSpec_LocalityConfig_LocalityFailoverDirective) String

type VirtualDestinationSpec_Localized

type VirtualDestinationSpec_Localized struct {
	// Failover priority is determined by the localities of the traffic source and Destination.
	Localized *VirtualDestinationSpec_LocalityConfig `protobuf:"bytes,6,opt,name=localized,proto3,oneof"`
}

type VirtualDestinationSpec_MeshList

type VirtualDestinationSpec_MeshList struct {
	Meshes []*v1.ObjectRef `protobuf:"bytes,1,rep,name=meshes,proto3" json:"meshes,omitempty"`
	// contains filtered or unexported fields
}

A list of Mesh references.

func (*VirtualDestinationSpec_MeshList) Descriptor deprecated

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

Deprecated: Use VirtualDestinationSpec_MeshList.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec_MeshList) Equal

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

Equal function

func (*VirtualDestinationSpec_MeshList) GetMeshes

func (x *VirtualDestinationSpec_MeshList) GetMeshes() []*v1.ObjectRef

func (*VirtualDestinationSpec_MeshList) ProtoMessage

func (*VirtualDestinationSpec_MeshList) ProtoMessage()

func (*VirtualDestinationSpec_MeshList) ProtoReflect

func (*VirtualDestinationSpec_MeshList) Reset

func (*VirtualDestinationSpec_MeshList) String

type VirtualDestinationSpec_MeshList_

type VirtualDestinationSpec_MeshList_ struct {
	// The Meshes that this VirtualDestination will be visible to. If multiple meshes are specified, they must
	// all belong to the same VirtualMesh.
	MeshList *VirtualDestinationSpec_MeshList `protobuf:"bytes,4,opt,name=mesh_list,json=meshList,proto3,oneof"`
}

type VirtualDestinationSpec_Port

type VirtualDestinationSpec_Port struct {

	// REQUIRED: Port number which the VirtualDestination will listen on.
	Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
	// OPTIONAL: Protocol of the requests sent to the VirtualDestination. Must be one of `HTTP`, `HTTPS`, `GRPC`, `HTTP2`, `MONGO`, `TCP`, `TLS`.
	// Default: HTTP
	Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"`
	// REQUIRED: Name of the target_port which will be used
	// All backing services must have the name or number specified by this field.
	//
	// Types that are assignable to TargetPort:
	//	*VirtualDestinationSpec_Port_TargetName
	//	*VirtualDestinationSpec_Port_TargetNumber
	TargetPort isVirtualDestinationSpec_Port_TargetPort `protobuf_oneof:"target_port"`
	// contains filtered or unexported fields
}

VirtualDestination port information. Contains information about which port to listen on, as well as which backend port to target.

func (*VirtualDestinationSpec_Port) Descriptor deprecated

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

Deprecated: Use VirtualDestinationSpec_Port.ProtoReflect.Descriptor instead.

func (*VirtualDestinationSpec_Port) Equal

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

Equal function

func (*VirtualDestinationSpec_Port) GetNumber

func (x *VirtualDestinationSpec_Port) GetNumber() uint32

func (*VirtualDestinationSpec_Port) GetProtocol

func (x *VirtualDestinationSpec_Port) GetProtocol() string

func (*VirtualDestinationSpec_Port) GetTargetName added in v1.0.4

func (x *VirtualDestinationSpec_Port) GetTargetName() string

func (*VirtualDestinationSpec_Port) GetTargetNumber added in v1.0.4

func (x *VirtualDestinationSpec_Port) GetTargetNumber() uint32

func (*VirtualDestinationSpec_Port) GetTargetPort added in v1.0.4

func (m *VirtualDestinationSpec_Port) GetTargetPort() isVirtualDestinationSpec_Port_TargetPort

func (*VirtualDestinationSpec_Port) ProtoMessage

func (*VirtualDestinationSpec_Port) ProtoMessage()

func (*VirtualDestinationSpec_Port) ProtoReflect

func (*VirtualDestinationSpec_Port) Reset

func (x *VirtualDestinationSpec_Port) Reset()

func (*VirtualDestinationSpec_Port) String

func (x *VirtualDestinationSpec_Port) String() string

type VirtualDestinationSpec_Port_TargetName added in v1.0.4

type VirtualDestinationSpec_Port_TargetName struct {
	// If the target_name is specified, the VirtualDestination will attempt to find a port by this name on all backing services
	TargetName string `protobuf:"bytes,3,opt,name=target_name,json=targetName,proto3,oneof"`
}

type VirtualDestinationSpec_Port_TargetNumber added in v1.0.4

type VirtualDestinationSpec_Port_TargetNumber struct {
	// If the target_number is specified, the VirtualDestination will attempt to find a port by this number on all backing services
	TargetNumber uint32 `protobuf:"varint,4,opt,name=target_number,json=targetNumber,proto3,oneof"`
}

type VirtualDestinationSpec_Static

type VirtualDestinationSpec_Static struct {
	// Failover priority is determined by an explicitly provided static ordering of Destinations.
	Static *VirtualDestinationSpec_BackingDestinationList `protobuf:"bytes,5,opt,name=static,proto3,oneof"`
}

type VirtualDestinationSpec_VirtualMesh

type VirtualDestinationSpec_VirtualMesh struct {
	// The VirtualMesh that this VirtualDestination will be visible to.
	VirtualMesh *v1.ObjectRef `protobuf:"bytes,3,opt,name=virtual_mesh,json=virtualMesh,proto3,oneof"`
}

type VirtualDestinationStatus

type VirtualDestinationStatus struct {

	// The most recent generation observed in the the VirtualDestination metadata.
	// If the observedGeneration does not match `metadata.generation`, Gloo Mesh has not processed the most
	// recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// The state of the overall resource, will only show accepted if it has been successfully
	// applied to all exported to Meshes.
	State v11.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the VirtualDestination for each Mesh to which it has been exported to.
	Meshes map[string]*v12.ApprovalStatus `` /* 153-byte string literal not displayed */
	// The Destinations that comprise this VirtualDestination.
	SelectedDestinations []*VirtualDestinationStatus_SelectedDestinations `protobuf:"bytes,4,rep,name=selected_destinations,json=selectedDestinations,proto3" json:"selected_destinations,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors,omitempty"`
	// The set of TrafficPolicies that reference subsets on this VirtualDestination as a traffic shift.
	RequiredSubsets []*v13.RequiredSubsets `protobuf:"bytes,6,rep,name=required_subsets,json=requiredSubsets,proto3" json:"required_subsets,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualDestinationStatus) DeepCopyInto

func (in *VirtualDestinationStatus) DeepCopyInto(out *VirtualDestinationStatus)

DeepCopyInto for the VirtualDestination.Status

func (*VirtualDestinationStatus) Descriptor deprecated

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

Deprecated: Use VirtualDestinationStatus.ProtoReflect.Descriptor instead.

func (*VirtualDestinationStatus) Equal

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

Equal function

func (*VirtualDestinationStatus) GetErrors

func (x *VirtualDestinationStatus) GetErrors() []string

func (*VirtualDestinationStatus) GetMeshes

func (x *VirtualDestinationStatus) GetMeshes() map[string]*v12.ApprovalStatus

func (*VirtualDestinationStatus) GetObservedGeneration

func (x *VirtualDestinationStatus) GetObservedGeneration() int64

func (*VirtualDestinationStatus) GetRequiredSubsets added in v1.1.0

func (x *VirtualDestinationStatus) GetRequiredSubsets() []*v13.RequiredSubsets

func (*VirtualDestinationStatus) GetSelectedDestinations

func (*VirtualDestinationStatus) GetState

func (*VirtualDestinationStatus) MarshalJSON

func (this *VirtualDestinationStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VirtualDestinationStatus

func (*VirtualDestinationStatus) ProtoMessage

func (*VirtualDestinationStatus) ProtoMessage()

func (*VirtualDestinationStatus) ProtoReflect

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

func (*VirtualDestinationStatus) Reset

func (x *VirtualDestinationStatus) Reset()

func (*VirtualDestinationStatus) String

func (x *VirtualDestinationStatus) String() string

func (*VirtualDestinationStatus) UnmarshalJSON

func (this *VirtualDestinationStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VirtualDestinationStatus

type VirtualDestinationStatusWriter

type VirtualDestinationStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given VirtualDestination object.
	UpdateVirtualDestinationStatus(ctx context.Context, obj *VirtualDestination, opts ...client.UpdateOption) error

	// Patch patches the given VirtualDestination object's subresource.
	PatchVirtualDestinationStatus(ctx context.Context, obj *VirtualDestination, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a VirtualDestination object.

type VirtualDestinationStatus_SelectedDestinations

type VirtualDestinationStatus_SelectedDestinations struct {

	// Reference to the Destination object.
	Ref *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
	// The platform-specific destination that the Destination object represents.
	Destination *VirtualDestinationBackingDestination `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualDestinationStatus_SelectedDestinations) Descriptor deprecated

Deprecated: Use VirtualDestinationStatus_SelectedDestinations.ProtoReflect.Descriptor instead.

func (*VirtualDestinationStatus_SelectedDestinations) Equal

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

Equal function

func (*VirtualDestinationStatus_SelectedDestinations) GetDestination

func (*VirtualDestinationStatus_SelectedDestinations) GetRef

func (*VirtualDestinationStatus_SelectedDestinations) ProtoMessage

func (*VirtualDestinationStatus_SelectedDestinations) ProtoReflect

func (*VirtualDestinationStatus_SelectedDestinations) Reset

func (*VirtualDestinationStatus_SelectedDestinations) String

type VirtualDestinationTransitionFunction

type VirtualDestinationTransitionFunction func(existing, desired *VirtualDestination) error

VirtualDestinationTransitionFunction instructs the VirtualDestinationWriter how to transition between an existing VirtualDestination object and a desired on an Upsert

type VirtualDestinationWriter

type VirtualDestinationWriter interface {
	// Create saves the VirtualDestination object.
	CreateVirtualDestination(ctx context.Context, obj *VirtualDestination, opts ...client.CreateOption) error

	// Delete deletes the VirtualDestination object.
	DeleteVirtualDestination(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given VirtualDestination object.
	UpdateVirtualDestination(ctx context.Context, obj *VirtualDestination, opts ...client.UpdateOption) error

	// Patch patches the given VirtualDestination object.
	PatchVirtualDestination(ctx context.Context, obj *VirtualDestination, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all VirtualDestination objects matching the given options.
	DeleteAllOfVirtualDestination(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the VirtualDestination object.
	UpsertVirtualDestination(ctx context.Context, obj *VirtualDestination, transitionFuncs ...VirtualDestinationTransitionFunction) error
}

Writer knows how to create, delete, and update VirtualDestinations.

type VirtualGateway added in v1.1.0

type VirtualGateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualGatewaySpec   `json:"spec,omitempty"`
	Status VirtualGatewayStatus `json:"status,omitempty"`
}

VirtualGateway is the Schema for the virtualGateway API

func (*VirtualGateway) DeepCopy added in v1.1.0

func (in *VirtualGateway) DeepCopy() *VirtualGateway

func (*VirtualGateway) DeepCopyInto added in v1.1.0

func (in *VirtualGateway) DeepCopyInto(out *VirtualGateway)

func (*VirtualGateway) DeepCopyObject added in v1.1.0

func (in *VirtualGateway) DeepCopyObject() runtime.Object

func (VirtualGateway) GVK added in v1.1.0

GVK returns the GroupVersionKind associated with the resource type.

type VirtualGatewayClient added in v1.1.0

type VirtualGatewayClient interface {
	VirtualGatewayReader
	VirtualGatewayWriter
	VirtualGatewayStatusWriter
}

Client knows how to perform CRUD operations on VirtualGateways.

type VirtualGatewayList added in v1.1.0

type VirtualGatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualGateway `json:"items"`
}

VirtualGatewayList contains a list of VirtualGateway

func (*VirtualGatewayList) DeepCopy added in v1.1.0

func (in *VirtualGatewayList) DeepCopy() *VirtualGatewayList

func (*VirtualGatewayList) DeepCopyInto added in v1.1.0

func (in *VirtualGatewayList) DeepCopyInto(out *VirtualGatewayList)

func (*VirtualGatewayList) DeepCopyObject added in v1.1.0

func (in *VirtualGatewayList) DeepCopyObject() runtime.Object

type VirtualGatewayReader added in v1.1.0

type VirtualGatewayReader interface {
	// Get retrieves a VirtualGateway for the given object key
	GetVirtualGateway(ctx context.Context, key client.ObjectKey) (*VirtualGateway, error)

	// List retrieves list of VirtualGateways for a given namespace and list options.
	ListVirtualGateway(ctx context.Context, opts ...client.ListOption) (*VirtualGatewayList, error)
}

Reader knows how to read and list VirtualGateways.

type VirtualGatewaySlice added in v1.1.0

type VirtualGatewaySlice []*VirtualGateway

VirtualGatewaySlice represents a slice of *VirtualGateway

type VirtualGatewaySpec added in v1.1.0

type VirtualGatewaySpec struct {

	// deploy this VirtualGateway to one or more Ingress Gateway workloads
	// {{/* TODO: evaluate supporting multiple ingress gateway deployments per VG */}}
	DeployToIngressGateways *VirtualGatewaySpec_DeployToIngressGateway `` /* 134-byte string literal not displayed */
	// deploy this VirtualGateway to one or more workload sidecars
	// {{/* NOTE: unimplemented */}}
	DeployToSidecars []*v1.WorkloadSelector `protobuf:"bytes,2,rep,name=deploy_to_sidecars,json=deployToSidecars,proto3" json:"deploy_to_sidecars,omitempty"`
	// Each Gateway must implement one or more ConnectionHandlers.
	// A ConnectionHandler instructs the gateway how to handle clients
	// which have connected to the specified bind address.
	// Typically `connectionHandlers` will consist of a single `http` handler
	// which serves HTTP Routes defined in a set of VirtualHosts.
	// Multiple `connectionHandlers` can be specified to provide different behavior
	// on the same Gateway, e.g. one for TCP and one for HTTP traffic.
	ConnectionHandlers []*VirtualGatewaySpec_ConnectionHandler `protobuf:"bytes,3,rep,name=connection_handlers,json=connectionHandlers,proto3" json:"connection_handlers,omitempty"`
	// Options applied to all clients who connect to this gateway
	Options *VirtualGatewaySpec_GatewayOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

VirtualGateway is the top-level object for configuring ingress into a Mesh or VirtualMesh. A single VirtualGateway can apply to multiple deployed ingress pods and sidecars across meshes and clusters contained within a VirtualMesh. VirtualGateways can route traffic to destination services which live in a specific cluster or mesh. This allows VirtualGateways to route traffic from an ingress or sidecar in one mesh to a service in another. In order to perform cross-mesh routing, the Gateway Mesh and Destination mesh must be contained in a single VirtualMesh, with federation enabled.

func (*VirtualGatewaySpec) DeepCopyInto added in v1.1.0

func (in *VirtualGatewaySpec) DeepCopyInto(out *VirtualGatewaySpec)

DeepCopyInto for the VirtualGateway.Spec

func (*VirtualGatewaySpec) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualGatewaySpec.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec) Equal added in v1.1.0

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

Equal function

func (*VirtualGatewaySpec) GetConnectionHandlers added in v1.1.0

func (x *VirtualGatewaySpec) GetConnectionHandlers() []*VirtualGatewaySpec_ConnectionHandler

func (*VirtualGatewaySpec) GetDeployToIngressGateways

func (x *VirtualGatewaySpec) GetDeployToIngressGateways() *VirtualGatewaySpec_DeployToIngressGateway

func (*VirtualGatewaySpec) GetDeployToSidecars

func (x *VirtualGatewaySpec) GetDeployToSidecars() []*v1.WorkloadSelector

func (*VirtualGatewaySpec) GetOptions added in v1.1.0

func (*VirtualGatewaySpec) MarshalJSON added in v1.1.0

func (this *VirtualGatewaySpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VirtualGatewaySpec

func (*VirtualGatewaySpec) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec) ProtoMessage()

func (*VirtualGatewaySpec) ProtoReflect added in v1.1.0

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

func (*VirtualGatewaySpec) Reset added in v1.1.0

func (x *VirtualGatewaySpec) Reset()

func (*VirtualGatewaySpec) String added in v1.1.0

func (x *VirtualGatewaySpec) String() string

func (*VirtualGatewaySpec) UnmarshalJSON added in v1.1.0

func (this *VirtualGatewaySpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VirtualGatewaySpec

type VirtualGatewaySpec_ConnectionHandler added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler struct {

	// Additional options for matching a connection to a specific gateway.
	// This is required when more than one `connectionHandler` is specified for a single gateway.
	// Typically this is used to serve different
	ConnectionMatch *VirtualGatewaySpec_ConnectionHandler_ConnectionMatch `protobuf:"bytes,1,opt,name=connection_match,json=connectionMatch,proto3" json:"connection_match,omitempty"`
	// The type of routes this handler will serve.
	// HttpRoutes creates a listener with an http_connection_manager.
	// TcpRoutes creates a listener with a tcp proxy filter.
	//
	// Types that are assignable to HandlerType:
	//	*VirtualGatewaySpec_ConnectionHandler_Http
	//	*VirtualGatewaySpec_ConnectionHandler_Tcp
	HandlerType isVirtualGatewaySpec_ConnectionHandler_HandlerType `protobuf_oneof:"handler_type"`
	// Top level optional configuration for all routes on the ConnectionHandler.
	ConnectionOptions *VirtualGatewaySpec_ConnectionHandler_ConnectionOptions `protobuf:"bytes,4,opt,name=connection_options,json=connectionOptions,proto3" json:"connection_options,omitempty"`
	// contains filtered or unexported fields
}

Each ConnnectionHandler specifies a `connectionMatch` (required if using multiple ConnectionHandlers) and a set of (HTTP or TCP) routes to serve matched connections.

func (*VirtualGatewaySpec_ConnectionHandler) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualGatewaySpec_ConnectionHandler.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler) Equal added in v1.1.0

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

Equal function

func (*VirtualGatewaySpec_ConnectionHandler) GetConnectionMatch added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) GetConnectionOptions added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) GetHandlerType added in v1.1.0

func (m *VirtualGatewaySpec_ConnectionHandler) GetHandlerType() isVirtualGatewaySpec_ConnectionHandler_HandlerType

func (*VirtualGatewaySpec_ConnectionHandler) GetHttp added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) GetTcp added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) ProtoMessage()

func (*VirtualGatewaySpec_ConnectionHandler) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_ConnectionMatch added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_ConnectionMatch struct {

	// Protocol
	TransportProtocol string `protobuf:"bytes,1,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"`
	// If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining
	// a `connectionMatch`. Those values will be compared against the server names of a new
	// connection, when detected by one of the listener filters.
	//
	// The server name will be matched against all wildcard domains, i.e. `www.example.com`
	// will be first matched against `www.example.com`, then `*.example.com`, then “*.com`.
	//
	// Note that partial wildcards are not supported, and values like `*w.example.com` are invalid.
	ServerNames []string `protobuf:"bytes,2,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_ConnectionMatch.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) GetServerNames added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) GetTransportProtocol added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionMatch) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_ConnectionOptions added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_ConnectionOptions struct {

	// TODO
	TlsContext *VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions `protobuf:"bytes,1,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"`
	// Restricts filter from being added to the corresponding Envoy Listener unless they are explicitly configured
	// in the connection handler options
	StrictFilterManagement bool `` /* 130-byte string literal not displayed */
	// enable PROXY protocol for this connection handler.
	EnableProxyProtocol bool `protobuf:"varint,3,opt,name=enable_proxy_protocol,json=enableProxyProtocol,proto3" json:"enable_proxy_protocol,omitempty"`
	// contains filtered or unexported fields
}

TODO: Fill ConnectionOptions

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_ConnectionOptions.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) GetEnableProxyProtocol added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) GetStrictFilterManagement added in v1.1.0

func (x *VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) GetStrictFilterManagement() bool

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions

type VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions struct {

	// If specified, the route will match against whether or not a certificate is presented.
	// If not specified, certificate presentation status (true or false) will not be considered when route matching.
	Presented *wrappers.BoolValue `protobuf:"bytes,1,opt,name=presented,proto3" json:"presented,omitempty"`
	// If specified, the route will match against whether or not a certificate is validated.
	// If not specified, certificate validation status (true or false) will not be considered when route matching.
	Validated *wrappers.BoolValue `protobuf:"bytes,2,opt,name=validated,proto3" json:"validated,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) Descriptor deprecated

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) Equal

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) GetPresented

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) GetValidated

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) ProtoMessage

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) ProtoReflect

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) Reset

func (*VirtualGatewaySpec_ConnectionHandler_ConnectionOptions_TlsTerminationOptions) String

type VirtualGatewaySpec_ConnectionHandler_Http added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_Http struct {
	Http *VirtualGatewaySpec_ConnectionHandler_HttpRoutes `protobuf:"bytes,2,opt,name=http,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes struct {
	RouteConfig []*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier `protobuf:"bytes,1,rep,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
	// HTTP Listener Options // Root level RouteTable + VirtualHost + routes level
	RouteOptions *VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions `protobuf:"bytes,8,opt,name=route_options,json=routeOptions,proto3" json:"route_options,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_HttpRoutes.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) Equal added in v1.1.0

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

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) GetRouteConfig added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) GetRouteOptions added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions struct {

	// Configure Global CSRF options for clients connected to this Gateway.
	Csrf *csrf.CsrfPolicy `protobuf:"bytes,2,opt,name=csrf,proto3" json:"csrf,omitempty"`
	// Configure Global Rate limit options for clients connected to this Gateway.
	// Rate limits must be configured on specific routes in order to enable rate limiting for a Gateway.
	RateLimit *ratelimit.GatewayRateLimit `protobuf:"bytes,3,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"`
	// Configure the Global Extauth options for clients connected to this Gateway
	Extauth *extauth.GatewayExtauth `protobuf:"bytes,4,opt,name=extauth,proto3" json:"extauth,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) GetCsrf added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) GetExtauth added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) GetRateLimit added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_HttpOptions) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier struct {

	// Types that are assignable to RouteType:
	//	*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_VirtualHostSelector
	//	*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_VirtualHost
	RouteType isVirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_RouteType `protobuf_oneof:"route_type"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) GetRouteType added in v1.1.0

func (m *VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) GetRouteType() isVirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_RouteType

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) GetVirtualHost added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) GetVirtualHostSelector added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_VirtualHost added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_VirtualHost struct {
	// VirtualHost allows in-lining a route table directly in the Gateway Resource, for simple configs using fewer CRDs.
	// Note that Kubernetes admission validation of inline virtual hosts is disabled. For production, the use of `virtualHostSelector` is recommended.
	VirtualHost *VirtualHostSpec `protobuf:"bytes,2,opt,name=virtual_host,json=virtualHost,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_VirtualHostSelector added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_HttpRoutes_RouteSpecifier_VirtualHostSelector struct {
	// RouteSelector is used to specify which VirtualHosts should be attached to this gateway.
	VirtualHostSelector *v11.ObjectSelector `protobuf:"bytes,1,opt,name=virtual_host_selector,json=virtualHostSelector,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_Tcp added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_Tcp struct {
	Tcp *VirtualGatewaySpec_ConnectionHandler_TcpRoutes `protobuf:"bytes,3,opt,name=tcp,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes struct {

	// TCP hosts that the gateway can route to
	TcpHosts []*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost `protobuf:"bytes,1,rep,name=tcp_hosts,json=tcpHosts,proto3" json:"tcp_hosts,omitempty"`
	// TCP Gateway configuration
	Options *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) Equal added in v1.1.0

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

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) GetOptions added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) GetTcpHosts added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_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   *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig `protobuf:"bytes,2,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	Destination *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) GetDestination added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) GetName added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) GetSslConfig

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig struct {

	// Types that are assignable to SslSecrets:
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SecretRef
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslFiles
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_Sds
	SslSecrets isVirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslSecrets `protobuf_oneof:"ssl_secrets"`
	// optional. the SNI domains that should be considered for TLS connections
	SniDomains []string `protobuf:"bytes,4,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           *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_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"`
	// contains filtered or unexported fields
}

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

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) Descriptor deprecated

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) Equal

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetAlpnProtocols

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetParameters

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetSds

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetSecretRef

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetSniDomains

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetSslFiles

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetSslSecrets

func (m *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetSslSecrets() isVirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslSecrets

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) GetVerifySubjectAltName

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) ProtoMessage

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) ProtoReflect

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) Reset

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig) String

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_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
}

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) Descriptor deprecated

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) Equal

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) GetRootCa

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) GetTlsCert

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) GetTlsKey

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) ProtoMessage

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) ProtoReflect

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) Reset

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SSLFiles) String

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_Sds

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

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SecretRef

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_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 *v11.ObjectRef `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslFiles

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

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters struct {
	MinimumProtocolVersion VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion `` /* 270-byte string literal not displayed */
	MaximumProtocolVersion VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion `` /* 270-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 (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) Descriptor deprecated

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) Equal

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) GetCipherSuites

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) GetEcdhCurves

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) ProtoMessage

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) ProtoReflect

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) Reset

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters) String

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion int32
const (
	// Envoy will choose the optimal TLS version.
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_TLS_AUTO VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion = 0
	// TLS 1.0
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_TLSv1_0 VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion = 1
	// TLS 1.1
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_TLSv1_1 VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion = 2
	// TLS 1.2
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_TLSv1_2 VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion = 3
	// TLS 1.3
	VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_TLSv1_3 VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion = 4
)

func (VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion) Descriptor

func (VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion) EnumDescriptor deprecated

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion.Descriptor instead.

func (VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion) Number

func (VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion) String

func (VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_SslConfig_SslParameters_ProtocolVersion) Type

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction struct {

	// Types that are assignable to Destination:
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Static
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Virtual
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Kube
	//	*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_ForwardSniClusterName
	Destination isVirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Destination `protobuf_oneof:"destination"`
	// Relative weight of this destination to others in the same route.
	// If omitted, all destinations in the route will be load balanced between evenly.
	Weight uint32 `protobuf:"varint,5,opt,name=weight,proto3" json:"weight,omitempty"`
	// 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 (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetDestination added in v1.1.0

func (m *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetDestination() isVirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Destination

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetForwardSniClusterName added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetKube added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetStatic added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetVirtual added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) GetWeight added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_ForwardSniClusterName added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_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 VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Kube added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Kube struct {
	// Reference to a Kubernetes Service. Note that the service must exist in the same mesh or virtual mesh (with federation enabled) as
	// each gateway workload which routes to this destination.
	Kube *v11.ClusterObjectRef `protobuf:"bytes,3,opt,name=kube,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Static added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Static struct {
	// Reference to a gloo mesh Static Destination
	Static *v11.ObjectRef `protobuf:"bytes,1,opt,name=static,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Virtual added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpHost_TcpAction_Virtual struct {
	// Reference to a gloo mesh VirtualDestination
	Virtual *v11.ObjectRef `protobuf:"bytes,2,opt,name=virtual,proto3,oneof"`
}

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions struct {
	TcpProxySettings *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings `protobuf:"bytes,1,opt,name=tcp_proxy_settings,json=tcpProxySettings,proto3" json:"tcp_proxy_settings,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) GetTcpProxySettings added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings struct {

	// Contains various settings for Envoy's tcp proxy filter.
	// See here for more information: https://www.envoyproxy.io/docs/envoy/v1.10.0/api-v2/config/filter/network/tcp_proxy/v2/tcp_proxy.proto#envoy-api-msg-config-filter-network-tcp-proxy-v2-tcpproxy
	MaxConnectAttempts *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"`
	IdleTimeout        *duration.Duration    `protobuf:"bytes,2,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// If set, this configures tunneling, e.g. configuration options to tunnel multiple TCP
	// payloads over a shared HTTP tunnel. If this message is absent, the payload
	// will be proxied upstream as per usual.
	TunnelingConfig *VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig `protobuf:"bytes,3,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) GetIdleTimeout added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) GetMaxConnectAttempts added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) GetTunnelingConfig added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings) String added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig added in v1.1.0

type VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig struct {

	// The hostname to send in the synthesized CONNECT headers to the upstream proxy.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// contains filtered or unexported fields
}

Configuration for tunneling TCP over other transports or application layers.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) Descriptor deprecated added in v1.1.0

Deprecated: Use VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) Equal added in v1.1.0

Equal function

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) GetHostname added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) Reset added in v1.1.0

func (*VirtualGatewaySpec_ConnectionHandler_TcpRoutes_TcpOptions_TcpProxySettings_TunnelingConfig) String added in v1.1.0

type VirtualGatewaySpec_DeployToIngressGateway

type VirtualGatewaySpec_DeployToIngressGateway struct {

	// The bind address the gateway should serve traffic on
	// This maps to the Envoy Listener address.
	// Defaults to "::" or "0.0.0.0".
	BindAddress string `protobuf:"bytes,1,opt,name=bind_address,json=bindAddress,proto3" json:"bind_address,omitempty"`
	// The bind port where the gateway workload will listen for connections.
	// This maps to the Envoy Listener port.
	BindPort uint32 `protobuf:"varint,2,opt,name=bind_port,json=bindPort,proto3" json:"bind_port,omitempty"`
	// Select which gateway workloads (Envoy pods / Istio ingress-gateways) this config applies to.
	// Ingress pods selected must be in the same Mesh (or Federated VirtualMesh) as the Destination services
	// being routed to.
	GatewayWorkloads []*v1.WorkloadSelector `protobuf:"bytes,3,rep,name=gateway_workloads,json=gatewayWorkloads,proto3" json:"gateway_workloads,omitempty"`
	// contains filtered or unexported fields
}

Options for deploying the VirtualGateway to an Istio Ingress Gateway

func (*VirtualGatewaySpec_DeployToIngressGateway) Descriptor deprecated

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

Deprecated: Use VirtualGatewaySpec_DeployToIngressGateway.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_DeployToIngressGateway) Equal

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

Equal function

func (*VirtualGatewaySpec_DeployToIngressGateway) GetBindAddress

func (*VirtualGatewaySpec_DeployToIngressGateway) GetBindPort

func (*VirtualGatewaySpec_DeployToIngressGateway) GetGatewayWorkloads

func (*VirtualGatewaySpec_DeployToIngressGateway) ProtoMessage

func (*VirtualGatewaySpec_DeployToIngressGateway) ProtoReflect

func (*VirtualGatewaySpec_DeployToIngressGateway) Reset

func (*VirtualGatewaySpec_DeployToIngressGateway) String

type VirtualGatewaySpec_GatewayOptions added in v1.1.0

type VirtualGatewaySpec_GatewayOptions struct {

	// 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.17.1/api-v3/config/listener/v3/listener.proto)
	PerConnectionBufferLimitBytes *wrappers.UInt32Value `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

TODO: Fill in more options

func (*VirtualGatewaySpec_GatewayOptions) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualGatewaySpec_GatewayOptions.ProtoReflect.Descriptor instead.

func (*VirtualGatewaySpec_GatewayOptions) Equal added in v1.1.0

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

Equal function

func (*VirtualGatewaySpec_GatewayOptions) GetPerConnectionBufferLimitBytes added in v1.1.0

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

func (*VirtualGatewaySpec_GatewayOptions) ProtoMessage added in v1.1.0

func (*VirtualGatewaySpec_GatewayOptions) ProtoMessage()

func (*VirtualGatewaySpec_GatewayOptions) ProtoReflect added in v1.1.0

func (*VirtualGatewaySpec_GatewayOptions) Reset added in v1.1.0

func (*VirtualGatewaySpec_GatewayOptions) String added in v1.1.0

type VirtualGatewayStatus added in v1.1.0

type VirtualGatewayStatus struct {

	// The most recent generation observed in the the VirtualGateway metadata.
	// If the `observedGeneration` does not match `metadata.generation`,
	// Gloo Mesh has not processed the most recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
	// Any warnings found while processing this generation of the resource.
	Warnings             []string                   `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"`
	SelectedGateways     []*SelectedGatewayWorkload `protobuf:"bytes,4,rep,name=selected_gateways,json=selectedGateways,proto3" json:"selected_gateways,omitempty"`
	SelectedVirtualHosts []*v11.ObjectRef           `protobuf:"bytes,5,rep,name=selected_virtual_hosts,json=selectedVirtualHosts,proto3" json:"selected_virtual_hosts,omitempty"`
	// List of Delegated Route tables that this Route table delegates to
	SelectedRouteTables []*v11.ObjectRef `protobuf:"bytes,6,rep,name=selected_route_tables,json=selectedRouteTables,proto3" json:"selected_route_tables,omitempty"`
	// List of Istio Gateway CRs created by this VirtualGateway in each cluster
	CreatedIstioGateways map[string]*v11.ObjectRefList `` /* 211-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*VirtualGatewayStatus) DeepCopyInto added in v1.1.0

func (in *VirtualGatewayStatus) DeepCopyInto(out *VirtualGatewayStatus)

DeepCopyInto for the VirtualGateway.Status

func (*VirtualGatewayStatus) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualGatewayStatus.ProtoReflect.Descriptor instead.

func (*VirtualGatewayStatus) Equal added in v1.1.0

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

Equal function

func (*VirtualGatewayStatus) GetCreatedIstioGateways added in v1.1.0

func (x *VirtualGatewayStatus) GetCreatedIstioGateways() map[string]*v11.ObjectRefList

func (*VirtualGatewayStatus) GetErrors added in v1.1.0

func (x *VirtualGatewayStatus) GetErrors() []string

func (*VirtualGatewayStatus) GetObservedGeneration added in v1.1.0

func (x *VirtualGatewayStatus) GetObservedGeneration() int64

func (*VirtualGatewayStatus) GetSelectedGateways

func (x *VirtualGatewayStatus) GetSelectedGateways() []*SelectedGatewayWorkload

func (*VirtualGatewayStatus) GetSelectedRouteTables added in v1.1.0

func (x *VirtualGatewayStatus) GetSelectedRouteTables() []*v11.ObjectRef

func (*VirtualGatewayStatus) GetSelectedVirtualHosts added in v1.1.0

func (x *VirtualGatewayStatus) GetSelectedVirtualHosts() []*v11.ObjectRef

func (*VirtualGatewayStatus) GetWarnings added in v1.1.0

func (x *VirtualGatewayStatus) GetWarnings() []string

func (*VirtualGatewayStatus) MarshalJSON added in v1.1.0

func (this *VirtualGatewayStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VirtualGatewayStatus

func (*VirtualGatewayStatus) ProtoMessage added in v1.1.0

func (*VirtualGatewayStatus) ProtoMessage()

func (*VirtualGatewayStatus) ProtoReflect added in v1.1.0

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

func (*VirtualGatewayStatus) Reset added in v1.1.0

func (x *VirtualGatewayStatus) Reset()

func (*VirtualGatewayStatus) String added in v1.1.0

func (x *VirtualGatewayStatus) String() string

func (*VirtualGatewayStatus) UnmarshalJSON added in v1.1.0

func (this *VirtualGatewayStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VirtualGatewayStatus

type VirtualGatewayStatusWriter added in v1.1.0

type VirtualGatewayStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given VirtualGateway object.
	UpdateVirtualGatewayStatus(ctx context.Context, obj *VirtualGateway, opts ...client.UpdateOption) error

	// Patch patches the given VirtualGateway object's subresource.
	PatchVirtualGatewayStatus(ctx context.Context, obj *VirtualGateway, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a VirtualGateway object.

type VirtualGatewayTransitionFunction added in v1.1.0

type VirtualGatewayTransitionFunction func(existing, desired *VirtualGateway) error

VirtualGatewayTransitionFunction instructs the VirtualGatewayWriter how to transition between an existing VirtualGateway object and a desired on an Upsert

type VirtualGatewayWriter added in v1.1.0

type VirtualGatewayWriter interface {
	// Create saves the VirtualGateway object.
	CreateVirtualGateway(ctx context.Context, obj *VirtualGateway, opts ...client.CreateOption) error

	// Delete deletes the VirtualGateway object.
	DeleteVirtualGateway(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given VirtualGateway object.
	UpdateVirtualGateway(ctx context.Context, obj *VirtualGateway, opts ...client.UpdateOption) error

	// Patch patches the given VirtualGateway object.
	PatchVirtualGateway(ctx context.Context, obj *VirtualGateway, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all VirtualGateway objects matching the given options.
	DeleteAllOfVirtualGateway(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the VirtualGateway object.
	UpsertVirtualGateway(ctx context.Context, obj *VirtualGateway, transitionFuncs ...VirtualGatewayTransitionFunction) error
}

Writer knows how to create, delete, and update VirtualGateways.

type VirtualHost added in v1.1.0

type VirtualHost struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualHostSpec   `json:"spec,omitempty"`
	Status VirtualHostStatus `json:"status,omitempty"`
}

VirtualHost is the Schema for the virtualHost API

func (*VirtualHost) DeepCopy added in v1.1.0

func (in *VirtualHost) DeepCopy() *VirtualHost

func (*VirtualHost) DeepCopyInto added in v1.1.0

func (in *VirtualHost) DeepCopyInto(out *VirtualHost)

func (*VirtualHost) DeepCopyObject added in v1.1.0

func (in *VirtualHost) DeepCopyObject() runtime.Object

func (VirtualHost) GVK added in v1.1.0

GVK returns the GroupVersionKind associated with the resource type.

type VirtualHostClient added in v1.1.0

type VirtualHostClient interface {
	VirtualHostReader
	VirtualHostWriter
	VirtualHostStatusWriter
}

Client knows how to perform CRUD operations on VirtualHosts.

type VirtualHostList added in v1.1.0

type VirtualHostList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualHost `json:"items"`
}

VirtualHostList contains a list of VirtualHost

func (*VirtualHostList) DeepCopy added in v1.1.0

func (in *VirtualHostList) DeepCopy() *VirtualHostList

func (*VirtualHostList) DeepCopyInto added in v1.1.0

func (in *VirtualHostList) DeepCopyInto(out *VirtualHostList)

func (*VirtualHostList) DeepCopyObject added in v1.1.0

func (in *VirtualHostList) DeepCopyObject() runtime.Object

type VirtualHostOptions added in v1.1.0

type VirtualHostOptions struct {
	TrafficPolicy *v1.TrafficPolicySpec_Policy `protobuf:"bytes,1,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualHostOptions) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualHostOptions.ProtoReflect.Descriptor instead.

func (*VirtualHostOptions) Equal added in v1.1.0

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

Equal function

func (*VirtualHostOptions) GetTrafficPolicy added in v1.1.0

func (x *VirtualHostOptions) GetTrafficPolicy() *v1.TrafficPolicySpec_Policy

func (*VirtualHostOptions) ProtoMessage added in v1.1.0

func (*VirtualHostOptions) ProtoMessage()

func (*VirtualHostOptions) ProtoReflect added in v1.1.0

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

func (*VirtualHostOptions) Reset added in v1.1.0

func (x *VirtualHostOptions) Reset()

func (*VirtualHostOptions) String added in v1.1.0

func (x *VirtualHostOptions) String() string

type VirtualHostReader added in v1.1.0

type VirtualHostReader interface {
	// Get retrieves a VirtualHost for the given object key
	GetVirtualHost(ctx context.Context, key client.ObjectKey) (*VirtualHost, error)

	// List retrieves list of VirtualHosts for a given namespace and list options.
	ListVirtualHost(ctx context.Context, opts ...client.ListOption) (*VirtualHostList, error)
}

Reader knows how to read and list VirtualHosts.

type VirtualHostSlice added in v1.1.0

type VirtualHostSlice []*VirtualHost

VirtualHostSlice represents a slice of *VirtualHost

type VirtualHostSpec added in v1.1.0

type VirtualHostSpec struct {

	// 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 on a gateway can match on “*”. A domain must be unique across all
	// virtual hosts on a gateway 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,1,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,2,rep,name=routes,proto3" json:"routes,omitempty"`
	// Route table options contain additional configuration to be applied to all traffic served by the route table.
	// Some configuration here can be overridden by Route Options.
	// OutlierDetection and TrafficShift isn't supported on the route level.
	Options *VirtualHostOptions `protobuf:"bytes,3,opt,name=options,proto3" json:"options,omitempty"`
	// contains filtered or unexported fields
}

A `VirtualHost` is used to configure routes. It is selected by a `VirtualGateway`, and may be attached to more than one gateway. The `VirtualHost` contains the top-level configuration and route options, such as domains to match against, and any options to be shared by its routes. Routes can send traffic directly to a service, or can delegate to a `RouteTable` to perform further routing decisions.

func (*VirtualHostSpec) DeepCopyInto added in v1.1.0

func (in *VirtualHostSpec) DeepCopyInto(out *VirtualHostSpec)

DeepCopyInto for the VirtualHost.Spec

func (*VirtualHostSpec) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualHostSpec.ProtoReflect.Descriptor instead.

func (*VirtualHostSpec) Equal added in v1.1.0

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

Equal function

func (*VirtualHostSpec) GetDomains added in v1.1.0

func (x *VirtualHostSpec) GetDomains() []string

func (*VirtualHostSpec) GetOptions added in v1.1.0

func (x *VirtualHostSpec) GetOptions() *VirtualHostOptions

func (*VirtualHostSpec) GetRoutes added in v1.1.0

func (x *VirtualHostSpec) GetRoutes() []*Route

func (*VirtualHostSpec) MarshalJSON added in v1.1.0

func (this *VirtualHostSpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VirtualHostSpec

func (*VirtualHostSpec) ProtoMessage added in v1.1.0

func (*VirtualHostSpec) ProtoMessage()

func (*VirtualHostSpec) ProtoReflect added in v1.1.0

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

func (*VirtualHostSpec) Reset added in v1.1.0

func (x *VirtualHostSpec) Reset()

func (*VirtualHostSpec) String added in v1.1.0

func (x *VirtualHostSpec) String() string

func (*VirtualHostSpec) UnmarshalJSON added in v1.1.0

func (this *VirtualHostSpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VirtualHostSpec

type VirtualHostStatus added in v1.1.0

type VirtualHostStatus struct {

	// The most recent generation observed in the the VirtualHost metadata.
	// If the `observedGeneration` does not match `metadata.generation`,
	// Gloo Mesh has not processed the most recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
	// Any warnings found while processing this generation of the resource.
	Warnings []string `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// List of each VirtualGateway which has selected this VirtualHost
	AttachedVirtualGateways []*v11.ObjectRef `` /* 132-byte string literal not displayed */
	// List of RouteTables that this Route table delegates to
	SelectedRouteTables []*v11.ObjectRef `protobuf:"bytes,5,rep,name=selected_route_tables,json=selectedRouteTables,proto3" json:"selected_route_tables,omitempty"`
	// contains filtered or unexported fields
}

func (*VirtualHostStatus) DeepCopyInto added in v1.1.0

func (in *VirtualHostStatus) DeepCopyInto(out *VirtualHostStatus)

DeepCopyInto for the VirtualHost.Status

func (*VirtualHostStatus) Descriptor deprecated added in v1.1.0

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

Deprecated: Use VirtualHostStatus.ProtoReflect.Descriptor instead.

func (*VirtualHostStatus) Equal added in v1.1.0

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

Equal function

func (*VirtualHostStatus) GetAttachedVirtualGateways added in v1.1.0

func (x *VirtualHostStatus) GetAttachedVirtualGateways() []*v11.ObjectRef

func (*VirtualHostStatus) GetErrors added in v1.1.0

func (x *VirtualHostStatus) GetErrors() []string

func (*VirtualHostStatus) GetObservedGeneration added in v1.1.0

func (x *VirtualHostStatus) GetObservedGeneration() int64

func (*VirtualHostStatus) GetSelectedRouteTables added in v1.1.0

func (x *VirtualHostStatus) GetSelectedRouteTables() []*v11.ObjectRef

func (*VirtualHostStatus) GetWarnings added in v1.1.0

func (x *VirtualHostStatus) GetWarnings() []string

func (*VirtualHostStatus) MarshalJSON added in v1.1.0

func (this *VirtualHostStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for VirtualHostStatus

func (*VirtualHostStatus) ProtoMessage added in v1.1.0

func (*VirtualHostStatus) ProtoMessage()

func (*VirtualHostStatus) ProtoReflect added in v1.1.0

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

func (*VirtualHostStatus) Reset added in v1.1.0

func (x *VirtualHostStatus) Reset()

func (*VirtualHostStatus) String added in v1.1.0

func (x *VirtualHostStatus) String() string

func (*VirtualHostStatus) UnmarshalJSON added in v1.1.0

func (this *VirtualHostStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for VirtualHostStatus

type VirtualHostStatusWriter added in v1.1.0

type VirtualHostStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given VirtualHost object.
	UpdateVirtualHostStatus(ctx context.Context, obj *VirtualHost, opts ...client.UpdateOption) error

	// Patch patches the given VirtualHost object's subresource.
	PatchVirtualHostStatus(ctx context.Context, obj *VirtualHost, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a VirtualHost object.

type VirtualHostTransitionFunction added in v1.1.0

type VirtualHostTransitionFunction func(existing, desired *VirtualHost) error

VirtualHostTransitionFunction instructs the VirtualHostWriter how to transition between an existing VirtualHost object and a desired on an Upsert

type VirtualHostWriter added in v1.1.0

type VirtualHostWriter interface {
	// Create saves the VirtualHost object.
	CreateVirtualHost(ctx context.Context, obj *VirtualHost, opts ...client.CreateOption) error

	// Delete deletes the VirtualHost object.
	DeleteVirtualHost(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given VirtualHost object.
	UpdateVirtualHost(ctx context.Context, obj *VirtualHost, opts ...client.UpdateOption) error

	// Patch patches the given VirtualHost object.
	PatchVirtualHost(ctx context.Context, obj *VirtualHost, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all VirtualHost objects matching the given options.
	DeleteAllOfVirtualHost(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the VirtualHost object.
	UpsertVirtualHost(ctx context.Context, obj *VirtualHost, transitionFuncs ...VirtualHostTransitionFunction) error
}

Writer knows how to create, delete, and update VirtualHosts.

type WasmDeployment

type WasmDeployment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   WasmDeploymentSpec   `json:"spec,omitempty"`
	Status WasmDeploymentStatus `json:"status,omitempty"`
}

WasmDeployment is the Schema for the wasmDeployment API

func (*WasmDeployment) DeepCopy

func (in *WasmDeployment) DeepCopy() *WasmDeployment

func (*WasmDeployment) DeepCopyInto

func (in *WasmDeployment) DeepCopyInto(out *WasmDeployment)

func (*WasmDeployment) DeepCopyObject

func (in *WasmDeployment) DeepCopyObject() runtime.Object

func (WasmDeployment) GVK

GVK returns the GroupVersionKind associated with the resource type.

type WasmDeploymentClient

type WasmDeploymentClient interface {
	WasmDeploymentReader
	WasmDeploymentWriter
	WasmDeploymentStatusWriter
}

Client knows how to perform CRUD operations on WasmDeployments.

type WasmDeploymentList

type WasmDeploymentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []WasmDeployment `json:"items"`
}

WasmDeploymentList contains a list of WasmDeployment

func (*WasmDeploymentList) DeepCopy

func (in *WasmDeploymentList) DeepCopy() *WasmDeploymentList

func (*WasmDeploymentList) DeepCopyInto

func (in *WasmDeploymentList) DeepCopyInto(out *WasmDeploymentList)

func (*WasmDeploymentList) DeepCopyObject

func (in *WasmDeploymentList) DeepCopyObject() runtime.Object

type WasmDeploymentReader

type WasmDeploymentReader interface {
	// Get retrieves a WasmDeployment for the given object key
	GetWasmDeployment(ctx context.Context, key client.ObjectKey) (*WasmDeployment, error)

	// List retrieves list of WasmDeployments for a given namespace and list options.
	ListWasmDeployment(ctx context.Context, opts ...client.ListOption) (*WasmDeploymentList, error)
}

Reader knows how to read and list WasmDeployments.

type WasmDeploymentSlice

type WasmDeploymentSlice []*WasmDeployment

WasmDeploymentSlice represents a slice of *WasmDeployment

type WasmDeploymentSpec

type WasmDeploymentSpec struct {

	// Sidecars/Gateways whose Workloads match these selectors will attach the specified WASM Filters.
	// Leave empty to have all workloads in the mesh apply receive the WASM Filter.
	WorkloadSelector []*v1.WorkloadSelector `protobuf:"bytes,1,rep,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"`
	// Specify WASM filter parameters.
	Filters []*WasmFilterSpec `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"`
	// Weight is used to determine the order of WASM Filters when applying
	// multiple WasmDeployments to a single workload.
	// Deployed WASM filters will be sorted in order of
	// highest to lowest weight. WasmDeployments with equal weights will be
	// sorted non-deterministically.
	// Note that all WASM Filters are currently inserted just before the Envoy router filter
	// in the HTTP Connection Manager's HTTP Filter Chain.
	Weight uint32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"`
	// contains filtered or unexported fields
}

Deploys one or more WASM Envoy Filters to selected Sidecars and Gateways in a Mesh.

func (*WasmDeploymentSpec) DeepCopyInto

func (in *WasmDeploymentSpec) DeepCopyInto(out *WasmDeploymentSpec)

DeepCopyInto for the WasmDeployment.Spec

func (*WasmDeploymentSpec) Descriptor deprecated

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

Deprecated: Use WasmDeploymentSpec.ProtoReflect.Descriptor instead.

func (*WasmDeploymentSpec) GetFilters

func (x *WasmDeploymentSpec) GetFilters() []*WasmFilterSpec

func (*WasmDeploymentSpec) GetWeight

func (x *WasmDeploymentSpec) GetWeight() uint32

func (*WasmDeploymentSpec) GetWorkloadSelector

func (x *WasmDeploymentSpec) GetWorkloadSelector() []*v1.WorkloadSelector

func (*WasmDeploymentSpec) MarshalJSON

func (this *WasmDeploymentSpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for WasmDeploymentSpec

func (*WasmDeploymentSpec) ProtoMessage

func (*WasmDeploymentSpec) ProtoMessage()

func (*WasmDeploymentSpec) ProtoReflect

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

func (*WasmDeploymentSpec) Reset

func (x *WasmDeploymentSpec) Reset()

func (*WasmDeploymentSpec) String

func (x *WasmDeploymentSpec) String() string

func (*WasmDeploymentSpec) UnmarshalJSON

func (this *WasmDeploymentSpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for WasmDeploymentSpec

type WasmDeploymentStatus

type WasmDeploymentStatus struct {

	// The most recent generation observed in the the WasmDeployment metadata.
	// if the observedGeneration does not match `metadata.generation`, Gloo Mesh has not processed the most
	// recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// Any errors encountered while processing this generation of the resource.
	// This can include failures to pull a WASM image as well as missing or invalid
	// fields in the spec.
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// The state of the WasmDeployment as it has been applied to each individual Workload.
	WorkloadStates map[string]WasmDeploymentStatus_WorkloadState `` /* 272-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*WasmDeploymentStatus) DeepCopyInto

func (in *WasmDeploymentStatus) DeepCopyInto(out *WasmDeploymentStatus)

DeepCopyInto for the WasmDeployment.Status

func (*WasmDeploymentStatus) Descriptor deprecated

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

Deprecated: Use WasmDeploymentStatus.ProtoReflect.Descriptor instead.

func (*WasmDeploymentStatus) GetError

func (x *WasmDeploymentStatus) GetError() string

func (*WasmDeploymentStatus) GetObservedGeneration

func (x *WasmDeploymentStatus) GetObservedGeneration() int64

func (*WasmDeploymentStatus) GetWorkloadStates

func (*WasmDeploymentStatus) MarshalJSON

func (this *WasmDeploymentStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for WasmDeploymentStatus

func (*WasmDeploymentStatus) ProtoMessage

func (*WasmDeploymentStatus) ProtoMessage()

func (*WasmDeploymentStatus) ProtoReflect

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

func (*WasmDeploymentStatus) Reset

func (x *WasmDeploymentStatus) Reset()

func (*WasmDeploymentStatus) String

func (x *WasmDeploymentStatus) String() string

func (*WasmDeploymentStatus) UnmarshalJSON

func (this *WasmDeploymentStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for WasmDeploymentStatus

type WasmDeploymentStatusWriter

type WasmDeploymentStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given WasmDeployment object.
	UpdateWasmDeploymentStatus(ctx context.Context, obj *WasmDeployment, opts ...client.UpdateOption) error

	// Patch patches the given WasmDeployment object's subresource.
	PatchWasmDeploymentStatus(ctx context.Context, obj *WasmDeployment, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a WasmDeployment object.

type WasmDeploymentStatus_WorkloadState

type WasmDeploymentStatus_WorkloadState int32

WorkloadState is the state of the WasmDeployment resource as it has been applied to an individual Workload.

const (
	// Indicates that filters have not yet been deployed to the target Workload.
	WasmDeploymentStatus_DEPLOYMENT_PENDING WasmDeploymentStatus_WorkloadState = 0
	// Indicates the WASM Filters have been deployed to the target Workload (along with any cluster dependencies).
	WasmDeploymentStatus_FILTERS_DEPLOYED WasmDeploymentStatus_WorkloadState = 1
	// Indicates deploying the WASM Filters to this Workload failed.
	WasmDeploymentStatus_DEPLOYMENT_FAILED WasmDeploymentStatus_WorkloadState = 2
)

func (WasmDeploymentStatus_WorkloadState) Descriptor

func (WasmDeploymentStatus_WorkloadState) Enum

func (WasmDeploymentStatus_WorkloadState) EnumDescriptor deprecated

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

Deprecated: Use WasmDeploymentStatus_WorkloadState.Descriptor instead.

func (WasmDeploymentStatus_WorkloadState) Number

func (WasmDeploymentStatus_WorkloadState) String

func (WasmDeploymentStatus_WorkloadState) Type

type WasmDeploymentTransitionFunction

type WasmDeploymentTransitionFunction func(existing, desired *WasmDeployment) error

WasmDeploymentTransitionFunction instructs the WasmDeploymentWriter how to transition between an existing WasmDeployment object and a desired on an Upsert

type WasmDeploymentWriter

type WasmDeploymentWriter interface {
	// Create saves the WasmDeployment object.
	CreateWasmDeployment(ctx context.Context, obj *WasmDeployment, opts ...client.CreateOption) error

	// Delete deletes the WasmDeployment object.
	DeleteWasmDeployment(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given WasmDeployment object.
	UpdateWasmDeployment(ctx context.Context, obj *WasmDeployment, opts ...client.UpdateOption) error

	// Patch patches the given WasmDeployment object.
	PatchWasmDeployment(ctx context.Context, obj *WasmDeployment, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all WasmDeployment objects matching the given options.
	DeleteAllOfWasmDeployment(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the WasmDeployment object.
	UpsertWasmDeployment(ctx context.Context, obj *WasmDeployment, transitionFuncs ...WasmDeploymentTransitionFunction) error
}

Writer knows how to create, delete, and update WasmDeployments.

type WasmFilterSpec

type WasmFilterSpec struct {

	// Several options are available for providing a source of the WASM filter file.
	// An option must be specified in order to execute the WasmDeployment.
	//
	// Types that are assignable to FilterSource:
	//	*WasmFilterSpec_LocalPathSource
	//	*WasmFilterSpec_HttpUriSource
	//	*WasmFilterSpec_WasmImageSource
	FilterSource isWasmFilterSpec_FilterSource `protobuf_oneof:"filter_source"`
	// Filter/service configuration used to configure or reconfigure a filter
	// (proxy_on_configuration).
	// Several options are available for providing a source of filter config (dynamic and static).
	//
	// Types that are assignable to FilterConfigSource:
	//	*WasmFilterSpec_StaticFilterConfig
	//	*WasmFilterSpec_DynamicFilterConfig
	FilterConfigSource isWasmFilterSpec_FilterConfigSource `protobuf_oneof:"filter_config_source"`
	// The `root id` must match the `root id` defined inside the filter.
	// If the user does not provide this field, Gloo Mesh will attempt to pull the image
	// and set it from the `filter_conf` contained in the image config.
	// Note that if the `filter_source` is not set to `wasm_image_source`, this field is required.
	RootId string `protobuf:"bytes,5,opt,name=root_id,json=rootId,proto3" json:"root_id,omitempty"`
	// An ID which will be used along with a hash of the wasm code
	// (or the name of the registered Null VM plugin) to determine which VM will be used to load the WASM filter.
	// All filters on the same proxy which use the same `vm_id` and code within will use the same VM.
	// May be left blank. Sharing a VM between plugins can reduce memory utilization and make sharing of data easier which may have security implications.
	VmId string `protobuf:"bytes,6,opt,name=vm_id,json=vmId,proto3" json:"vm_id,omitempty"`
	// The specific config generation context to which to attach the filter. Istio
	// generates envoy configuration in the context of a gateway,
	// inbound traffic to sidecar and outbound traffic from sidecar.
	// Uses the Istio default (`ANY`).
	FilterContext v1alpha3.EnvoyFilter_PatchContext `` /* 157-byte string literal not displayed */
	// The filter in the Envoy HTTP Filter Chain immediately before which the WASM filter will be
	// inserted.
	// Defaults to `envoy.router`.
	InsertBeforeFilter string `protobuf:"bytes,9,opt,name=insert_before_filter,json=insertBeforeFilter,proto3" json:"insert_before_filter,omitempty"`
	// contains filtered or unexported fields
}

Specify the WASM Filter to deploy.

func (*WasmFilterSpec) Descriptor deprecated

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

Deprecated: Use WasmFilterSpec.ProtoReflect.Descriptor instead.

func (*WasmFilterSpec) GetDynamicFilterConfig

func (x *WasmFilterSpec) GetDynamicFilterConfig() string

func (*WasmFilterSpec) GetFilterConfigSource

func (m *WasmFilterSpec) GetFilterConfigSource() isWasmFilterSpec_FilterConfigSource

func (*WasmFilterSpec) GetFilterContext

func (x *WasmFilterSpec) GetFilterContext() v1alpha3.EnvoyFilter_PatchContext

func (*WasmFilterSpec) GetFilterSource

func (m *WasmFilterSpec) GetFilterSource() isWasmFilterSpec_FilterSource

func (*WasmFilterSpec) GetHttpUriSource

func (x *WasmFilterSpec) GetHttpUriSource() *UriSource

func (*WasmFilterSpec) GetInsertBeforeFilter

func (x *WasmFilterSpec) GetInsertBeforeFilter() string

func (*WasmFilterSpec) GetLocalPathSource

func (x *WasmFilterSpec) GetLocalPathSource() string

func (*WasmFilterSpec) GetRootId

func (x *WasmFilterSpec) GetRootId() string

func (*WasmFilterSpec) GetStaticFilterConfig

func (x *WasmFilterSpec) GetStaticFilterConfig() *any.Any

func (*WasmFilterSpec) GetVmId

func (x *WasmFilterSpec) GetVmId() string

func (*WasmFilterSpec) GetWasmImageSource

func (x *WasmFilterSpec) GetWasmImageSource() *WasmImageSource

func (*WasmFilterSpec) ProtoMessage

func (*WasmFilterSpec) ProtoMessage()

func (*WasmFilterSpec) ProtoReflect

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

func (*WasmFilterSpec) Reset

func (x *WasmFilterSpec) Reset()

func (*WasmFilterSpec) String

func (x *WasmFilterSpec) String() string

type WasmFilterSpec_DynamicFilterConfig

type WasmFilterSpec_DynamicFilterConfig struct {
	// Provide configuration from a dynamic configuration source.
	// This is used to connect proxies to a user-provided configuration server
	// rather than using the WasmDeployment CR to update filter configuration.
	// NOTE: Not currently implemented. This field serves as a placeholder.
	// passing it to the plugin. `google.protobuf.BytesValue` and
	// `google.protobuf.StringValue` are passed directly without the wrapper.
	// TODO(ilackarms): implement with dynamic filter config source (FCDS) https://github.com/envoyproxy/envoy/issues/7867
	DynamicFilterConfig string `protobuf:"bytes,8,opt,name=dynamic_filter_config,json=dynamicFilterConfig,proto3,oneof"`
}

type WasmFilterSpec_HttpUriSource

type WasmFilterSpec_HttpUriSource struct {
	// Select `http_uri_source` to deploy the filter from an HTTP/S URI accessible
	// to the workload proxy. Note that Gloo Mesh cannot verify
	// whether the target workload proxy containers have HTTP access the given URI.
	// If filters do not load, please inspect the sidecar proxy logs.
	// TODO(ilackarms): see if we can somehow verify the filter exists in the proxy container and surface that on the WasmDeployment status
	// TODO(ilackarms): we may need to provide options for customizing the Cluster given to envoy along with the HTTP Fetch URI. currently Gloo Mesh will create a simple plaintext HTTP cluster from the Host/Port specified in the URI.
	HttpUriSource *UriSource `protobuf:"bytes,2,opt,name=http_uri_source,json=httpUriSource,proto3,oneof"`
}

type WasmFilterSpec_LocalPathSource

type WasmFilterSpec_LocalPathSource struct {
	// Select `local_path_source` to deploy the filter from a file accessible
	// to the workload proxy. Note that Gloo Mesh cannot verify
	// whether the target workload proxy containers contain the given path.
	// If filters do not load, please inspect the sidecar proxy logs.
	// TODO(ilackarms): see if we can somehow verify the filter exists in the proxy container and surface that on the WasmDeployment status
	LocalPathSource string `protobuf:"bytes,1,opt,name=local_path_source,json=localPathSource,proto3,oneof"`
}

type WasmFilterSpec_StaticFilterConfig

type WasmFilterSpec_StaticFilterConfig struct {
	// Provide configuration as a static
	// `google.protobuf.Struct` is serialized as JSON before
	// passing it to the plugin. `google.protobuf.BytesValue` and
	// `google.protobuf.StringValue` are passed directly without the wrapper.
	StaticFilterConfig *any.Any `protobuf:"bytes,4,opt,name=static_filter_config,json=staticFilterConfig,proto3,oneof"`
}

type WasmFilterSpec_WasmImageSource

type WasmFilterSpec_WasmImageSource struct {
	// fetch the image from a [WASM OCI Registry](https://webassemblyhub.io/)
	// Images can be built and pushed to registries using `meshctl` and `wasme`.
	WasmImageSource *WasmImageSource `protobuf:"bytes,3,opt,name=wasm_image_source,json=wasmImageSource,proto3,oneof"`
}

type WasmImageSource

type WasmImageSource struct {

	// The full tag of the wasm image. It must include the registry address at the beginning, e.g. "webassemblyhub.io/ilackarms/helloworld:v0.1".
	WasmImageTag string `protobuf:"bytes,1,opt,name=wasm_image_tag,json=wasmImageTag,proto3" json:"wasm_image_tag,omitempty"`
	// contains filtered or unexported fields
}

Specify options for fetching WASM Filters from a [WASM-compatible OCI Registry](https://webassemblyhub.io/). Images can be built and pushed to registries using `meshctl` and `wasme`.

func (*WasmImageSource) Descriptor deprecated

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

Deprecated: Use WasmImageSource.ProtoReflect.Descriptor instead.

func (*WasmImageSource) GetWasmImageTag

func (x *WasmImageSource) GetWasmImageTag() string

func (*WasmImageSource) ProtoMessage

func (*WasmImageSource) ProtoMessage()

func (*WasmImageSource) ProtoReflect

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

func (*WasmImageSource) Reset

func (x *WasmImageSource) Reset()

func (*WasmImageSource) String

func (x *WasmImageSource) String() string

Directories

Path Synopsis
Definitions for the Kubernetes Controllers Definitions for the multicluster Kubernetes Controllers Definitions for the Kubernetes Controllers
Definitions for the Kubernetes Controllers Definitions for the multicluster Kubernetes Controllers Definitions for the Kubernetes Controllers
mocks
Package mock_controller is a generated GoMock package.
Package mock_controller is a generated GoMock package.
Package mock_v1beta1 is a generated GoMock package.
Package mock_v1beta1 is a generated GoMock package.
mocks
Package mock_v1beta1sets is a generated GoMock package.
Package mock_v1beta1sets is a generated GoMock package.

Jump to

Keyboard shortcuts

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