v1beta1

package
v1.1.0-beta10 Latest Latest
Warning

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

Go to latest
Published: May 28, 2021 License: Apache-2.0 Imports: 31 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 (
	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_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_wasm_deployment_proto protoreflect.FileDescriptor
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 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 NewServiceDependencyClient added in v1.1.0

func NewServiceDependencyClient(client client.Client) *serviceDependencyClient

func NewVirtualDestinationClient

func NewVirtualDestinationClient(client client.Client) *virtualDestinationClient

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
	VirtualDestinations() VirtualDestinationClient
	// 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 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 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 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 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.v1alpha2.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 folling:
	// 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 VirutalDestination 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 infomation. 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.DestinationStatus_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 (*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 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 accesss 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