v1alpha2

package
v1.0.0-beta2 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2021 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the networking.mesh.gloo.solo.io v1alpha2 API group +k8s:deepcopy-gen=package,register +groupName=networking.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.mesh.gloo.solo.io", Version: "v1alpha2"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	TrafficPolicySpec_MTLS_Istio_TLSmode_name = map[int32]string{
		0: "DISABLE",
		1: "SIMPLE",
		2: "ISTIO_MUTUAL",
	}
	TrafficPolicySpec_MTLS_Istio_TLSmode_value = map[string]int32{
		"DISABLE":      0,
		"SIMPLE":       1,
		"ISTIO_MUTUAL": 2,
	}
)

Enum value maps for TrafficPolicySpec_MTLS_Istio_TLSmode.

View Source
var (
	ApprovalState_name = map[int32]string{
		0: "PENDING",
		1: "ACCEPTED",
		2: "INVALID",
		3: "FAILED",
	}
	ApprovalState_value = map[string]int32{
		"PENDING":  0,
		"ACCEPTED": 1,
		"INVALID":  2,
		"FAILED":   3,
	}
)

Enum value maps for ApprovalState.

View Source
var (
	VirtualMeshSpec_GlobalAccessPolicy_name = map[int32]string{
		0: "MESH_DEFAULT",
		1: "ENABLED",
		2: "DISABLED",
	}
	VirtualMeshSpec_GlobalAccessPolicy_value = map[string]int32{
		"MESH_DEFAULT": 0,
		"ENABLED":      1,
		"DISABLED":     2,
	}
)

Enum value maps for VirtualMeshSpec_GlobalAccessPolicy.

View Source
var AccessPolicyGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1alpha2",
	Kind:    "AccessPolicy",
}

GroupVersionKind for AccessPolicy

View Source
var FailoverServiceGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1alpha2",
	Kind:    "FailoverService",
}

GroupVersionKind for FailoverService

View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1alpha2_access_policy_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1alpha2_failover_service_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1alpha2_selectors_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1alpha2_traffic_policy_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1alpha2_validation_state_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1alpha2_virtual_mesh_proto protoreflect.FileDescriptor
View Source
var TrafficPolicyGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1alpha2",
	Kind:    "TrafficPolicy",
}

GroupVersionKind for TrafficPolicy

View Source
var VirtualMeshGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1alpha2",
	Kind:    "VirtualMesh",
}

GroupVersionKind for VirtualMesh

Functions

func AddToScheme

func AddToScheme(s *runtime.Scheme) error

func NewAccessPolicyClient

func NewAccessPolicyClient(client client.Client) *accessPolicyClient

func NewFailoverServiceClient

func NewFailoverServiceClient(client client.Client) *failoverServiceClient

func NewTrafficPolicyClient

func NewTrafficPolicyClient(client client.Client) *trafficPolicyClient

func NewVirtualMeshClient

func NewVirtualMeshClient(client client.Client) *virtualMeshClient

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AccessPolicy

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

	Spec   AccessPolicySpec   `json:"spec,omitempty"`
	Status AccessPolicyStatus `json:"status,omitempty"`
}

AccessPolicy is the Schema for the accessPolicy API

func (*AccessPolicy) DeepCopy

func (in *AccessPolicy) DeepCopy() *AccessPolicy

func (*AccessPolicy) DeepCopyInto

func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy)

func (*AccessPolicy) DeepCopyObject

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

func (AccessPolicy) GVK added in v0.10.5

GVK returns the GroupVersionKind associated with the resource type.

type AccessPolicyClient

type AccessPolicyClient interface {
	AccessPolicyReader
	AccessPolicyWriter
	AccessPolicyStatusWriter
}

Client knows how to perform CRUD operations on AccessPolicys.

type AccessPolicyList

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

AccessPolicyList contains a list of AccessPolicy

func (*AccessPolicyList) DeepCopy

func (in *AccessPolicyList) DeepCopy() *AccessPolicyList

func (*AccessPolicyList) DeepCopyInto

func (in *AccessPolicyList) DeepCopyInto(out *AccessPolicyList)

func (*AccessPolicyList) DeepCopyObject

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

type AccessPolicyReader

type AccessPolicyReader interface {
	// Get retrieves a AccessPolicy for the given object key
	GetAccessPolicy(ctx context.Context, key client.ObjectKey) (*AccessPolicy, error)

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

Reader knows how to read and list AccessPolicys.

type AccessPolicySlice

type AccessPolicySlice []*AccessPolicy

AccessPolicySlice represents a slice of *AccessPolicy

type AccessPolicySpec

type AccessPolicySpec struct {

	//
	//Requests originating from these pods will have the rule applied.
	//Leave empty to have all pods in the mesh apply these policies.
	//
	//Note that access control policies are mapped to source pods by their
	//service account. If other pods share the same service account,
	//this access control rule will apply to those pods as well.
	//
	//For fine-grained access control policies, ensure that your
	//service accounts properly reflect the desired
	//boundary for your access control policies.
	SourceSelector []*IdentitySelector `protobuf:"bytes,2,rep,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty"`
	//
	//Requests destined for these pods will have the rule applied.
	//Leave empty to apply to all destination pods in the mesh.
	DestinationSelector []*TrafficTargetSelector `protobuf:"bytes,3,rep,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"`
	//
	//Optional. A list of HTTP paths or gRPC methods to allow.
	//gRPC methods must be presented as fully-qualified name in the form of
	//"/packageName.serviceName/methodName" and are case sensitive.
	//Exact match, prefix match, and suffix match are supported for paths.
	//For example, the path "/books/review" matches
	//"/books/review" (exact match), "*books/" (suffix match), or "/books*" (prefix match).
	//
	//If not specified, allow any path.
	AllowedPaths []string `protobuf:"bytes,4,rep,name=allowed_paths,json=allowedPaths,proto3" json:"allowed_paths,omitempty"`
	//
	//Optional. A list of HTTP methods to allow (e.g., "GET", "POST").
	//It is ignored in gRPC case because the value is always "POST".
	//If not specified, allows any method.
	AllowedMethods []types.HttpMethodValue `` /* 161-byte string literal not displayed */
	//
	//Optional. A list of ports which to allow.
	//If not set any port is allowed.
	AllowedPorts []uint32 `protobuf:"varint,6,rep,packed,name=allowed_ports,json=allowedPorts,proto3" json:"allowed_ports,omitempty"`
	// contains filtered or unexported fields
}

Access control policies apply ALLOW policies to communication in a mesh. Access control policies specify the following: ALLOW those requests that: originate from from **source workload**, target the **destination target**, and match the indicated request criteria (allowed_paths, allowed_methods, allowed_ports). Enforcement of access control is determined by the [VirtualMesh's GlobalAccessPolicy]({{% versioned_link_path fromRoot="/reference/api/virtual_mesh/#networking.mesh.gloo.solo.io.VirtualMeshSpec.GlobalAccessPolicy" %}})

func (*AccessPolicySpec) DeepCopyInto

func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec)

DeepCopyInto for the AccessPolicy.Spec

func (*AccessPolicySpec) Descriptor deprecated

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

Deprecated: Use AccessPolicySpec.ProtoReflect.Descriptor instead.

func (*AccessPolicySpec) Equal

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

Equal function

func (*AccessPolicySpec) GetAllowedMethods

func (x *AccessPolicySpec) GetAllowedMethods() []types.HttpMethodValue

func (*AccessPolicySpec) GetAllowedPaths

func (x *AccessPolicySpec) GetAllowedPaths() []string

func (*AccessPolicySpec) GetAllowedPorts

func (x *AccessPolicySpec) GetAllowedPorts() []uint32

func (*AccessPolicySpec) GetDestinationSelector

func (x *AccessPolicySpec) GetDestinationSelector() []*TrafficTargetSelector

func (*AccessPolicySpec) GetSourceSelector

func (x *AccessPolicySpec) GetSourceSelector() []*IdentitySelector

func (*AccessPolicySpec) MarshalJSON

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

MarshalJSON is a custom marshaler for AccessPolicySpec

func (*AccessPolicySpec) ProtoMessage

func (*AccessPolicySpec) ProtoMessage()

func (*AccessPolicySpec) ProtoReflect added in v0.10.8

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

func (*AccessPolicySpec) Reset

func (x *AccessPolicySpec) Reset()

func (*AccessPolicySpec) String

func (x *AccessPolicySpec) String() string

func (*AccessPolicySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AccessPolicySpec

type AccessPolicyStatus

type AccessPolicyStatus struct {

	// The most recent generation observed in the the AccessPolicy metadata.
	// If the observedGeneration does not match generation, the controller has not received 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.
	// It will only show accepted if it has been successfully
	// applied to all target meshes.
	State ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=networking.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the AccessPolicy for each TrafficTarget to which it has been applied.
	// An AccessPolicy may be Accepted for some TrafficTargets and rejected for others.
	TrafficTargets map[string]*ApprovalStatus `` /* 191-byte string literal not displayed */
	// The list of Workloads to which this policy has been applied.
	Workloads []string `protobuf:"bytes,4,rep,name=workloads,proto3" json:"workloads,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func (*AccessPolicyStatus) DeepCopyInto

func (in *AccessPolicyStatus) DeepCopyInto(out *AccessPolicyStatus)

DeepCopyInto for the AccessPolicy.Status

func (*AccessPolicyStatus) Descriptor deprecated

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

Deprecated: Use AccessPolicyStatus.ProtoReflect.Descriptor instead.

func (*AccessPolicyStatus) Equal

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

Equal function

func (*AccessPolicyStatus) GetErrors

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

func (*AccessPolicyStatus) GetObservedGeneration

func (x *AccessPolicyStatus) GetObservedGeneration() int64

func (*AccessPolicyStatus) GetState

func (x *AccessPolicyStatus) GetState() ApprovalState

func (*AccessPolicyStatus) GetTrafficTargets

func (x *AccessPolicyStatus) GetTrafficTargets() map[string]*ApprovalStatus

func (*AccessPolicyStatus) GetWorkloads

func (x *AccessPolicyStatus) GetWorkloads() []string

func (*AccessPolicyStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for AccessPolicyStatus

func (*AccessPolicyStatus) ProtoMessage

func (*AccessPolicyStatus) ProtoMessage()

func (*AccessPolicyStatus) ProtoReflect added in v0.10.8

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

func (*AccessPolicyStatus) Reset

func (x *AccessPolicyStatus) Reset()

func (*AccessPolicyStatus) String

func (x *AccessPolicyStatus) String() string

func (*AccessPolicyStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AccessPolicyStatus

type AccessPolicyStatusWriter

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

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

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

type AccessPolicyTransitionFunction

type AccessPolicyTransitionFunction func(existing, desired *AccessPolicy) error

AccessPolicyTransitionFunction instructs the AccessPolicyWriter how to transition between an existing AccessPolicy object and a desired on an Upsert

type AccessPolicyWriter

type AccessPolicyWriter interface {
	// Create saves the AccessPolicy object.
	CreateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.CreateOption) error

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

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

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

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

	// Create or Update the AccessPolicy object.
	UpsertAccessPolicy(ctx context.Context, obj *AccessPolicy, transitionFuncs ...AccessPolicyTransitionFunction) error
}

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

type ApprovalState

type ApprovalState int32

State of a Policy resource reflected in the status by Gloo Mesh while processing a resource.

const (
	// Resources are in a Pending state before they have been processed by Gloo Mesh.
	ApprovalState_PENDING ApprovalState = 0
	// Resources are in a Accepted state when they are valid and have been applied successfully to
	// the Gloo Mesh configuration.
	ApprovalState_ACCEPTED ApprovalState = 1
	// Resources are in an Invalid state when they contain incorrect configuration parameters,
	// such as missing required values or invalid resource references.
	// An invalid state can also result when a resource's configuration is valid
	// but conflicts with another resource which was accepted in an earlier point in time.
	ApprovalState_INVALID ApprovalState = 2
	// Resources are in a Failed state when they contain correct configuration parameters,
	// but the server encountered an error trying to synchronize the system to
	// the desired state.
	ApprovalState_FAILED ApprovalState = 3
)

func (ApprovalState) Descriptor added in v0.10.8

func (ApprovalState) Enum added in v0.10.8

func (x ApprovalState) Enum() *ApprovalState

func (ApprovalState) EnumDescriptor deprecated

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

Deprecated: Use ApprovalState.Descriptor instead.

func (ApprovalState) Number added in v0.10.8

func (ApprovalState) String

func (x ApprovalState) String() string

func (ApprovalState) Type added in v0.10.8

type ApprovalStatus

type ApprovalStatus struct {

	// AcceptanceOrder represents the order in which the Policy
	// was accepted and applied to a discovery resource. The first accepted policy
	// will have an acceptance_order of 0, the second 1, etc.
	// When conflicts are detected in the system,
	// the Policy with the lowest acceptance_order
	// will be chosen (and all other conflicting policies will be rejected).
	AcceptanceOrder uint32 `protobuf:"varint,1,opt,name=acceptance_order,json=acceptanceOrder,proto3" json:"acceptance_order,omitempty"`
	// The result of attempting to apply the policy to the discovery resource,
	// reported by the Policy controller (mesh-networking).
	State ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=networking.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// Any errors observed which prevented the resource from being Accepted.
	Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

The approval status of a policy that has been applied to a discovery resource.

func (*ApprovalStatus) Descriptor deprecated

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

Deprecated: Use ApprovalStatus.ProtoReflect.Descriptor instead.

func (*ApprovalStatus) Equal

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

Equal function

func (*ApprovalStatus) GetAcceptanceOrder

func (x *ApprovalStatus) GetAcceptanceOrder() uint32

func (*ApprovalStatus) GetErrors

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

func (*ApprovalStatus) GetState

func (x *ApprovalStatus) GetState() ApprovalState

func (*ApprovalStatus) ProtoMessage

func (*ApprovalStatus) ProtoMessage()

func (*ApprovalStatus) ProtoReflect added in v0.10.8

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

func (*ApprovalStatus) Reset

func (x *ApprovalStatus) Reset()

func (*ApprovalStatus) String

func (x *ApprovalStatus) String() string

type Clientset

type Clientset interface {
	// clienset for the networking.mesh.gloo.solo.io/v1alpha2/v1alpha2 APIs
	TrafficPolicies() TrafficPolicyClient
	// clienset for the networking.mesh.gloo.solo.io/v1alpha2/v1alpha2 APIs
	AccessPolicies() AccessPolicyClient
	// clienset for the networking.mesh.gloo.solo.io/v1alpha2/v1alpha2 APIs
	VirtualMeshes() VirtualMeshClient
	// clienset for the networking.mesh.gloo.solo.io/v1alpha2/v1alpha2 APIs
	FailoverServices() FailoverServiceClient
}

clienset for the networking.mesh.gloo.solo.io/v1alpha2 APIs

func NewClientset

func NewClientset(client client.Client) Clientset

func NewClientsetFromConfig

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

type FailoverService

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

	Spec   FailoverServiceSpec   `json:"spec,omitempty"`
	Status FailoverServiceStatus `json:"status,omitempty"`
}

FailoverService is the Schema for the failoverService API

func (*FailoverService) DeepCopy

func (in *FailoverService) DeepCopy() *FailoverService

func (*FailoverService) DeepCopyInto

func (in *FailoverService) DeepCopyInto(out *FailoverService)

func (*FailoverService) DeepCopyObject

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

func (FailoverService) GVK added in v0.10.5

GVK returns the GroupVersionKind associated with the resource type.

type FailoverServiceClient

Client knows how to perform CRUD operations on FailoverServices.

type FailoverServiceList

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

FailoverServiceList contains a list of FailoverService

func (*FailoverServiceList) DeepCopy

func (in *FailoverServiceList) DeepCopy() *FailoverServiceList

func (*FailoverServiceList) DeepCopyInto

func (in *FailoverServiceList) DeepCopyInto(out *FailoverServiceList)

func (*FailoverServiceList) DeepCopyObject

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

type FailoverServiceReader

type FailoverServiceReader interface {
	// Get retrieves a FailoverService for the given object key
	GetFailoverService(ctx context.Context, key client.ObjectKey) (*FailoverService, error)

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

Reader knows how to read and list FailoverServices.

type FailoverServiceSlice

type FailoverServiceSlice []*FailoverService

FailoverServiceSlice represents a slice of *FailoverService

type FailoverServiceSpec

type FailoverServiceSpec struct {

	//
	//The DNS name of the FailoverService. Must be unique within the service mesh instance
	//since it is used as the hostname with which clients communicate.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// The port on which the FailoverService listens.
	Port *FailoverServiceSpec_Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"`
	// The meshes that this FailoverService will be visible to.
	Meshes []*v1.ObjectRef `protobuf:"bytes,3,rep,name=meshes,proto3" json:"meshes,omitempty"`
	//
	//The list of services backing the FailoverService, ordered by decreasing priority.
	//All services must be backed by either the same service mesh instance or
	//backed by service meshes that are grouped under a common VirtualMesh.
	BackingServices []*FailoverServiceSpec_BackingService `protobuf:"bytes,4,rep,name=backing_services,json=backingServices,proto3" json:"backing_services,omitempty"`
	// contains filtered or unexported fields
}

A FailoverService creates a new hostname to which services can send requests. Requests will be routed based on a list of backing traffic targets ordered by decreasing priority. When outlier detection detects that a traffic target in the list is in an unhealthy state, requests sent to the FailoverService will be routed to the next healthy traffic target in the list. For each traffic target referenced in the FailoverService's BackingServices list, outlier detection must be configured using a TrafficPolicy.

Currently this feature only supports Services backed by Istio.

func (*FailoverServiceSpec) DeepCopyInto

func (in *FailoverServiceSpec) DeepCopyInto(out *FailoverServiceSpec)

DeepCopyInto for the FailoverService.Spec

func (*FailoverServiceSpec) Descriptor deprecated

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

Deprecated: Use FailoverServiceSpec.ProtoReflect.Descriptor instead.

func (*FailoverServiceSpec) Equal

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

Equal function

func (*FailoverServiceSpec) GetBackingServices

func (x *FailoverServiceSpec) GetBackingServices() []*FailoverServiceSpec_BackingService

func (*FailoverServiceSpec) GetHostname

func (x *FailoverServiceSpec) GetHostname() string

func (*FailoverServiceSpec) GetMeshes

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

func (*FailoverServiceSpec) GetPort

func (*FailoverServiceSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for FailoverServiceSpec

func (*FailoverServiceSpec) ProtoMessage

func (*FailoverServiceSpec) ProtoMessage()

func (*FailoverServiceSpec) ProtoReflect added in v0.10.8

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

func (*FailoverServiceSpec) Reset

func (x *FailoverServiceSpec) Reset()

func (*FailoverServiceSpec) String

func (x *FailoverServiceSpec) String() string

func (*FailoverServiceSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for FailoverServiceSpec

type FailoverServiceSpec_BackingService

type FailoverServiceSpec_BackingService struct {

	// Different traffic target types can be selected as backing services.
	//
	// Types that are assignable to BackingServiceType:
	//	*FailoverServiceSpec_BackingService_KubeService
	BackingServiceType isFailoverServiceSpec_BackingService_BackingServiceType `protobuf_oneof:"backing_service_type"`
	// contains filtered or unexported fields
}

The traffic targets that comprise the FailoverService.

func (*FailoverServiceSpec_BackingService) Descriptor deprecated

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

Deprecated: Use FailoverServiceSpec_BackingService.ProtoReflect.Descriptor instead.

func (*FailoverServiceSpec_BackingService) Equal

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

Equal function

func (*FailoverServiceSpec_BackingService) GetBackingServiceType

func (m *FailoverServiceSpec_BackingService) GetBackingServiceType() isFailoverServiceSpec_BackingService_BackingServiceType

func (*FailoverServiceSpec_BackingService) GetKubeService

func (*FailoverServiceSpec_BackingService) ProtoMessage

func (*FailoverServiceSpec_BackingService) ProtoMessage()

func (*FailoverServiceSpec_BackingService) ProtoReflect added in v0.10.8

func (*FailoverServiceSpec_BackingService) Reset

func (*FailoverServiceSpec_BackingService) String

type FailoverServiceSpec_BackingService_KubeService

type FailoverServiceSpec_BackingService_KubeService struct {
	// Name/namespace/cluster of a kubernetes service.
	KubeService *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof"`
}

type FailoverServiceSpec_Port

type FailoverServiceSpec_Port struct {

	// Port number.
	Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
	// Protocol of the requests sent to the FailoverService, must be one of HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS.
	Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"`
	// contains filtered or unexported fields
}

The port on which the FailoverService listens.

func (*FailoverServiceSpec_Port) Descriptor deprecated

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

Deprecated: Use FailoverServiceSpec_Port.ProtoReflect.Descriptor instead.

func (*FailoverServiceSpec_Port) Equal

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

Equal function

func (*FailoverServiceSpec_Port) GetNumber

func (x *FailoverServiceSpec_Port) GetNumber() uint32

func (*FailoverServiceSpec_Port) GetProtocol

func (x *FailoverServiceSpec_Port) GetProtocol() string

func (*FailoverServiceSpec_Port) ProtoMessage

func (*FailoverServiceSpec_Port) ProtoMessage()

func (*FailoverServiceSpec_Port) ProtoReflect added in v0.10.8

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

func (*FailoverServiceSpec_Port) Reset

func (x *FailoverServiceSpec_Port) Reset()

func (*FailoverServiceSpec_Port) String

func (x *FailoverServiceSpec_Port) String() string

type FailoverServiceStatus

type FailoverServiceStatus struct {

	//
	//The most recent generation observed in the the FailoverService metadata.
	//If the observedGeneration does not match generation, the controller has not received 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 target meshes.
	State ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=networking.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the FailoverService for each Mesh to which it has been applied.
	Meshes map[string]*ApprovalStatus `` /* 153-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 (*FailoverServiceStatus) DeepCopyInto

func (in *FailoverServiceStatus) DeepCopyInto(out *FailoverServiceStatus)

DeepCopyInto for the FailoverService.Status

func (*FailoverServiceStatus) Descriptor deprecated

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

Deprecated: Use FailoverServiceStatus.ProtoReflect.Descriptor instead.

func (*FailoverServiceStatus) Equal

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

Equal function

func (*FailoverServiceStatus) GetErrors

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

func (*FailoverServiceStatus) GetMeshes

func (x *FailoverServiceStatus) GetMeshes() map[string]*ApprovalStatus

func (*FailoverServiceStatus) GetObservedGeneration

func (x *FailoverServiceStatus) GetObservedGeneration() int64

func (*FailoverServiceStatus) GetState

func (x *FailoverServiceStatus) GetState() ApprovalState

func (*FailoverServiceStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for FailoverServiceStatus

func (*FailoverServiceStatus) ProtoMessage

func (*FailoverServiceStatus) ProtoMessage()

func (*FailoverServiceStatus) ProtoReflect added in v0.10.8

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

func (*FailoverServiceStatus) Reset

func (x *FailoverServiceStatus) Reset()

func (*FailoverServiceStatus) String

func (x *FailoverServiceStatus) String() string

func (*FailoverServiceStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for FailoverServiceStatus

type FailoverServiceStatusWriter

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

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

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

type FailoverServiceTransitionFunction

type FailoverServiceTransitionFunction func(existing, desired *FailoverService) error

FailoverServiceTransitionFunction instructs the FailoverServiceWriter how to transition between an existing FailoverService object and a desired on an Upsert

type FailoverServiceWriter

type FailoverServiceWriter interface {
	// Create saves the FailoverService object.
	CreateFailoverService(ctx context.Context, obj *FailoverService, opts ...client.CreateOption) error

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

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

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

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

	// Create or Update the FailoverService object.
	UpsertFailoverService(ctx context.Context, obj *FailoverService, transitionFuncs ...FailoverServiceTransitionFunction) error
}

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

type IdentitySelector

type IdentitySelector struct {

	// A KubeIdentityMatcher matches request identities based on the k8s namespace and cluster.
	KubeIdentityMatcher *IdentitySelector_KubeIdentityMatcher `protobuf:"bytes,1,opt,name=kube_identity_matcher,json=kubeIdentityMatcher,proto3" json:"kube_identity_matcher,omitempty"`
	// KubeServiceAccountRefs matches request identities based on the k8s service account of request.
	KubeServiceAccountRefs *IdentitySelector_KubeServiceAccountRefs `` /* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

Selector capable of selecting specific service identities. Useful for binding policy rules. Either (namespaces, cluster, service_account_names) or service_accounts can be specified. If all fields are omitted, any source identity is permitted.

func (*IdentitySelector) Descriptor deprecated

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

Deprecated: Use IdentitySelector.ProtoReflect.Descriptor instead.

func (*IdentitySelector) Equal

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

Equal function

func (*IdentitySelector) GetKubeIdentityMatcher

func (x *IdentitySelector) GetKubeIdentityMatcher() *IdentitySelector_KubeIdentityMatcher

func (*IdentitySelector) GetKubeServiceAccountRefs

func (x *IdentitySelector) GetKubeServiceAccountRefs() *IdentitySelector_KubeServiceAccountRefs

func (*IdentitySelector) ProtoMessage

func (*IdentitySelector) ProtoMessage()

func (*IdentitySelector) ProtoReflect added in v0.10.8

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

func (*IdentitySelector) Reset

func (x *IdentitySelector) Reset()

func (*IdentitySelector) String

func (x *IdentitySelector) String() string

type IdentitySelector_KubeIdentityMatcher

type IdentitySelector_KubeIdentityMatcher struct {

	//
	//If specified, match k8s identity if it exists in one of the specified namespaces.
	//When used in a networking policy, omission matches any namespace.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any namespace.
	Namespaces []string `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"`
	//
	//If specified, match k8s identity if it exists in one of the specified clusters.
	//When used in a networking policy, omission matches any cluster.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any cluster.
	Clusters []string `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"`
	// contains filtered or unexported fields
}

func (*IdentitySelector_KubeIdentityMatcher) Descriptor deprecated

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

Deprecated: Use IdentitySelector_KubeIdentityMatcher.ProtoReflect.Descriptor instead.

func (*IdentitySelector_KubeIdentityMatcher) Equal

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

Equal function

func (*IdentitySelector_KubeIdentityMatcher) GetClusters

func (x *IdentitySelector_KubeIdentityMatcher) GetClusters() []string

func (*IdentitySelector_KubeIdentityMatcher) GetNamespaces

func (x *IdentitySelector_KubeIdentityMatcher) GetNamespaces() []string

func (*IdentitySelector_KubeIdentityMatcher) ProtoMessage

func (*IdentitySelector_KubeIdentityMatcher) ProtoMessage()

func (*IdentitySelector_KubeIdentityMatcher) ProtoReflect added in v0.10.8

func (*IdentitySelector_KubeIdentityMatcher) Reset

func (*IdentitySelector_KubeIdentityMatcher) String

type IdentitySelector_KubeServiceAccountRefs

type IdentitySelector_KubeServiceAccountRefs struct {

	//
	//Match k8s ServiceAccounts by direct reference.
	//When used in a networking policy, omission of any field (name, namespace, or clusterName) allows matching any value for that field.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any value for the given field.
	ServiceAccounts []*v1.ClusterObjectRef `protobuf:"bytes,1,rep,name=service_accounts,json=serviceAccounts,proto3" json:"service_accounts,omitempty"`
	// contains filtered or unexported fields
}

func (*IdentitySelector_KubeServiceAccountRefs) Descriptor deprecated

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

Deprecated: Use IdentitySelector_KubeServiceAccountRefs.ProtoReflect.Descriptor instead.

func (*IdentitySelector_KubeServiceAccountRefs) Equal

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

Equal function

func (*IdentitySelector_KubeServiceAccountRefs) GetServiceAccounts

func (x *IdentitySelector_KubeServiceAccountRefs) GetServiceAccounts() []*v1.ClusterObjectRef

func (*IdentitySelector_KubeServiceAccountRefs) ProtoMessage

func (*IdentitySelector_KubeServiceAccountRefs) ProtoReflect added in v0.10.8

func (*IdentitySelector_KubeServiceAccountRefs) Reset

func (*IdentitySelector_KubeServiceAccountRefs) String

type MulticlusterAccessPolicyClient

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

Provides AccessPolicyClients for multiple clusters.

func NewMulticlusterAccessPolicyClient

func NewMulticlusterAccessPolicyClient(client multicluster.Client) MulticlusterAccessPolicyClient

type MulticlusterClientset

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

MulticlusterClientset for the networking.mesh.gloo.solo.io/v1alpha2 APIs

func NewMulticlusterClientset

func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset

type MulticlusterFailoverServiceClient

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

Provides FailoverServiceClients for multiple clusters.

func NewMulticlusterFailoverServiceClient

func NewMulticlusterFailoverServiceClient(client multicluster.Client) MulticlusterFailoverServiceClient

type MulticlusterTrafficPolicyClient

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

Provides TrafficPolicyClients for multiple clusters.

func NewMulticlusterTrafficPolicyClient

func NewMulticlusterTrafficPolicyClient(client multicluster.Client) MulticlusterTrafficPolicyClient

type MulticlusterVirtualMeshClient

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

Provides VirtualMeshClients for multiple clusters.

func NewMulticlusterVirtualMeshClient

func NewMulticlusterVirtualMeshClient(client multicluster.Client) MulticlusterVirtualMeshClient

type TrafficPolicy

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

	Spec   TrafficPolicySpec   `json:"spec,omitempty"`
	Status TrafficPolicyStatus `json:"status,omitempty"`
}

TrafficPolicy is the Schema for the trafficPolicy API

func (*TrafficPolicy) DeepCopy

func (in *TrafficPolicy) DeepCopy() *TrafficPolicy

func (*TrafficPolicy) DeepCopyInto

func (in *TrafficPolicy) DeepCopyInto(out *TrafficPolicy)

func (*TrafficPolicy) DeepCopyObject

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

func (TrafficPolicy) GVK added in v0.10.5

GVK returns the GroupVersionKind associated with the resource type.

type TrafficPolicyClient

type TrafficPolicyClient interface {
	TrafficPolicyReader
	TrafficPolicyWriter
	TrafficPolicyStatusWriter
}

Client knows how to perform CRUD operations on TrafficPolicys.

type TrafficPolicyList

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

TrafficPolicyList contains a list of TrafficPolicy

func (*TrafficPolicyList) DeepCopy

func (in *TrafficPolicyList) DeepCopy() *TrafficPolicyList

func (*TrafficPolicyList) DeepCopyInto

func (in *TrafficPolicyList) DeepCopyInto(out *TrafficPolicyList)

func (*TrafficPolicyList) DeepCopyObject

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

type TrafficPolicyReader

type TrafficPolicyReader interface {
	// Get retrieves a TrafficPolicy for the given object key
	GetTrafficPolicy(ctx context.Context, key client.ObjectKey) (*TrafficPolicy, error)

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

Reader knows how to read and list TrafficPolicys.

type TrafficPolicySlice

type TrafficPolicySlice []*TrafficPolicy

TrafficPolicySlice represents a slice of *TrafficPolicy

type TrafficPolicySpec

type TrafficPolicySpec struct {

	//
	//Requests originating from these workloads will have the rule applied.
	//Leave empty to have all workloads in the mesh apply these rules.
	//
	//Note: Source Selectors are ignored when TrafficPolicies are
	//applied to pods in a Linkerd mesh. TrafficPolicies will apply to
	//all selected destinations in Linkerd, regardless of the source.
	//
	//Note: If using the TrafficTargetSelector.Matcher, specifying clusters is currently not supported in Istio.
	SourceSelector []*WorkloadSelector `protobuf:"bytes,1,rep,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty"`
	//
	//Requests destined for these k8s services will have the rule applied.
	//Leave empty to apply to all destination k8s services in the mesh.
	DestinationSelector []*TrafficTargetSelector `protobuf:"bytes,2,rep,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"`
	//
	//If specified, this rule will only apply to http requests matching these conditions.
	//Within a single matcher, all conditions must be satisfied for a match to occur.
	//Between matchers, at least one matcher must be satisfied for the TrafficPolicy to apply.
	//NB: Linkerd only supports matching on Request Path and Method.
	HttpRequestMatchers []*TrafficPolicySpec_HttpMatcher `protobuf:"bytes,3,rep,name=http_request_matchers,json=httpRequestMatchers,proto3" json:"http_request_matchers,omitempty"`
	//
	//Enables traffic shifting, i.e. to reroute requests to a different service,
	//to a subset of pods based on their label, and/or split traffic between multiple services.
	TrafficShift *TrafficPolicySpec_MultiDestination `protobuf:"bytes,4,opt,name=traffic_shift,json=trafficShift,proto3" json:"traffic_shift,omitempty"`
	// Enable fault injection on requests.
	FaultInjection *TrafficPolicySpec_FaultInjection `protobuf:"bytes,5,opt,name=fault_injection,json=faultInjection,proto3" json:"fault_injection,omitempty"`
	// Set a timeout on requests.
	RequestTimeout *duration.Duration `protobuf:"bytes,6,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	// Set a retry policy on requests.
	Retries *TrafficPolicySpec_RetryPolicy `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"`
	//
	//Set a Cross-Origin Resource Sharing policy (CORS) for requests. Refer to
	//https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
	//for further details about cross origin resource sharing.
	CorsPolicy *TrafficPolicySpec_CorsPolicy `protobuf:"bytes,8,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"`
	// Mirror HTTP traffic to a another destination. Traffic will still be sent to its original destination as normal.
	Mirror *TrafficPolicySpec_Mirror `protobuf:"bytes,9,opt,name=mirror,proto3" json:"mirror,omitempty"`
	// Manipulate request and response headers.
	HeaderManipulation *TrafficPolicySpec_HeaderManipulation `protobuf:"bytes,10,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	//
	//Configure outlier detection on the targeted services.
	//Setting this field requires an empty source_selector because it must apply to all traffic.
	OutlierDetection *TrafficPolicySpec_OutlierDetection `protobuf:"bytes,11,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// Configure mTLS settings. If specified will override global default defined in Settings.
	Mtls *TrafficPolicySpec_MTLS `protobuf:"bytes,12,opt,name=mtls,proto3" json:"mtls,omitempty"`
	// contains filtered or unexported fields
}

A Traffic Policy applies some L7 routing features to an existing mesh. Traffic Policies specify the following for all requests: - originating from from **source workload** - sent to **destination targets** - matching one or more **request matcher**

func (*TrafficPolicySpec) DeepCopyInto

func (in *TrafficPolicySpec) DeepCopyInto(out *TrafficPolicySpec)

DeepCopyInto for the TrafficPolicy.Spec

func (*TrafficPolicySpec) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec) Equal

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

Equal function

func (*TrafficPolicySpec) GetCorsPolicy

func (x *TrafficPolicySpec) GetCorsPolicy() *TrafficPolicySpec_CorsPolicy

func (*TrafficPolicySpec) GetDestinationSelector

func (x *TrafficPolicySpec) GetDestinationSelector() []*TrafficTargetSelector

func (*TrafficPolicySpec) GetFaultInjection

func (x *TrafficPolicySpec) GetFaultInjection() *TrafficPolicySpec_FaultInjection

func (*TrafficPolicySpec) GetHeaderManipulation

func (x *TrafficPolicySpec) GetHeaderManipulation() *TrafficPolicySpec_HeaderManipulation

func (*TrafficPolicySpec) GetHttpRequestMatchers

func (x *TrafficPolicySpec) GetHttpRequestMatchers() []*TrafficPolicySpec_HttpMatcher

func (*TrafficPolicySpec) GetMirror

func (*TrafficPolicySpec) GetMtls

func (*TrafficPolicySpec) GetOutlierDetection

func (x *TrafficPolicySpec) GetOutlierDetection() *TrafficPolicySpec_OutlierDetection

func (*TrafficPolicySpec) GetRequestTimeout

func (x *TrafficPolicySpec) GetRequestTimeout() *duration.Duration

func (*TrafficPolicySpec) GetRetries

func (*TrafficPolicySpec) GetSourceSelector

func (x *TrafficPolicySpec) GetSourceSelector() []*WorkloadSelector

func (*TrafficPolicySpec) GetTrafficShift

func (*TrafficPolicySpec) MarshalJSON

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

MarshalJSON is a custom marshaler for TrafficPolicySpec

func (*TrafficPolicySpec) ProtoMessage

func (*TrafficPolicySpec) ProtoMessage()

func (*TrafficPolicySpec) ProtoReflect added in v0.10.8

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

func (*TrafficPolicySpec) Reset

func (x *TrafficPolicySpec) Reset()

func (*TrafficPolicySpec) String

func (x *TrafficPolicySpec) String() string

func (*TrafficPolicySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TrafficPolicySpec

type TrafficPolicySpec_CorsPolicy

type TrafficPolicySpec_CorsPolicy struct {

	//
	//String patterns that match allowed origins.
	//An origin is allowed if any of the string matchers match.
	//If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
	AllowOrigins []*TrafficPolicySpec_StringMatch `protobuf:"bytes,7,rep,name=allow_origins,json=allowOrigins,proto3" json:"allow_origins,omitempty"`
	//
	//List of HTTP methods allowed to access the resource. The content will
	//be serialized into the Access-Control-Allow-Methods header.
	AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"`
	//
	//List of HTTP headers that can be used when requesting the
	//resource. Serialized to Access-Control-Allow-Headers header.
	AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"`
	//
	//A white list of HTTP headers that the browsers are allowed to
	//access. Serialized into Access-Control-Expose-Headers header.
	ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
	//
	//Specifies how long the results of a preflight request can be
	//cached. Translates to the `Access-Control-Max-Age` header.
	MaxAge *duration.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
	//
	//Indicates whether the caller is allowed to send the actual request
	//(not the preflight) using credentials. Translates to
	//`Access-Control-Allow-Credentials` header.
	AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficPolicySpec_CorsPolicy) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_CorsPolicy.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_CorsPolicy) Equal

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

Equal function

func (*TrafficPolicySpec_CorsPolicy) GetAllowCredentials

func (x *TrafficPolicySpec_CorsPolicy) GetAllowCredentials() *wrappers.BoolValue

func (*TrafficPolicySpec_CorsPolicy) GetAllowHeaders

func (x *TrafficPolicySpec_CorsPolicy) GetAllowHeaders() []string

func (*TrafficPolicySpec_CorsPolicy) GetAllowMethods

func (x *TrafficPolicySpec_CorsPolicy) GetAllowMethods() []string

func (*TrafficPolicySpec_CorsPolicy) GetAllowOrigins

func (*TrafficPolicySpec_CorsPolicy) GetExposeHeaders

func (x *TrafficPolicySpec_CorsPolicy) GetExposeHeaders() []string

func (*TrafficPolicySpec_CorsPolicy) GetMaxAge

func (*TrafficPolicySpec_CorsPolicy) ProtoMessage

func (*TrafficPolicySpec_CorsPolicy) ProtoMessage()

func (*TrafficPolicySpec_CorsPolicy) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_CorsPolicy) Reset

func (x *TrafficPolicySpec_CorsPolicy) Reset()

func (*TrafficPolicySpec_CorsPolicy) String

type TrafficPolicySpec_FaultInjection

type TrafficPolicySpec_FaultInjection struct {

	//
	//The _fixedDelay_ field is used to indicate the amount of delay in seconds.
	//The optional _percentage_ field can be used to only delay a certain
	//percentage of requests. If left unspecified, all request will be delayed.
	//
	// Types that are assignable to FaultInjectionType:
	//	*TrafficPolicySpec_FaultInjection_FixedDelay
	//	*TrafficPolicySpec_FaultInjection_ExponentialDelay
	//	*TrafficPolicySpec_FaultInjection_Abort_
	FaultInjectionType isTrafficPolicySpec_FaultInjection_FaultInjectionType `protobuf_oneof:"fault_injection_type"`
	// Percentage of requests to be faulted with the error code provided. Values range between 0 and 100
	Percentage float64 `protobuf:"fixed64,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
	// contains filtered or unexported fields
}

FaultInjection can be used to specify one or more faults to inject while forwarding http requests to the destination specified in a route. Faults include aborting the Http request from downstream service, and/or delaying proxying of requests. A fault rule MUST HAVE delay or abort.

func (*TrafficPolicySpec_FaultInjection) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_FaultInjection.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_FaultInjection) Equal

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

Equal function

func (*TrafficPolicySpec_FaultInjection) GetAbort

func (*TrafficPolicySpec_FaultInjection) GetExponentialDelay

func (x *TrafficPolicySpec_FaultInjection) GetExponentialDelay() *duration.Duration

func (*TrafficPolicySpec_FaultInjection) GetFaultInjectionType

func (m *TrafficPolicySpec_FaultInjection) GetFaultInjectionType() isTrafficPolicySpec_FaultInjection_FaultInjectionType

func (*TrafficPolicySpec_FaultInjection) GetFixedDelay

func (*TrafficPolicySpec_FaultInjection) GetPercentage

func (x *TrafficPolicySpec_FaultInjection) GetPercentage() float64

func (*TrafficPolicySpec_FaultInjection) ProtoMessage

func (*TrafficPolicySpec_FaultInjection) ProtoMessage()

func (*TrafficPolicySpec_FaultInjection) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_FaultInjection) Reset

func (*TrafficPolicySpec_FaultInjection) String

type TrafficPolicySpec_FaultInjection_Abort

type TrafficPolicySpec_FaultInjection_Abort struct {

	// REQUIRED. HTTP status code to use to abort the Http request.
	HttpStatus int32 `protobuf:"varint,4,opt,name=http_status,json=httpStatus,proto3" json:"http_status,omitempty"`
	// contains filtered or unexported fields
}

The _httpStatus_ field is used to indicate the HTTP status code to return to the caller. The optional _percentage_ field can be used to only abort a certain percentage of requests. If not specified, all requests are aborted.

func (*TrafficPolicySpec_FaultInjection_Abort) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_FaultInjection_Abort.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_FaultInjection_Abort) Equal

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

Equal function

func (*TrafficPolicySpec_FaultInjection_Abort) GetHttpStatus

func (x *TrafficPolicySpec_FaultInjection_Abort) GetHttpStatus() int32

func (*TrafficPolicySpec_FaultInjection_Abort) ProtoMessage

func (*TrafficPolicySpec_FaultInjection_Abort) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_FaultInjection_Abort) Reset

func (*TrafficPolicySpec_FaultInjection_Abort) String

type TrafficPolicySpec_FaultInjection_Abort_

type TrafficPolicySpec_FaultInjection_Abort_ struct {
	//
	//Abort Http request attempts and return error codes back to downstream
	//service, giving the impression that the upstream service is faulty.
	Abort *TrafficPolicySpec_FaultInjection_Abort `protobuf:"bytes,3,opt,name=abort,proto3,oneof"`
}

type TrafficPolicySpec_FaultInjection_ExponentialDelay

type TrafficPolicySpec_FaultInjection_ExponentialDelay struct {
	// $hide_from_docs
	ExponentialDelay *duration.Duration `protobuf:"bytes,2,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"`
}

type TrafficPolicySpec_FaultInjection_FixedDelay

type TrafficPolicySpec_FaultInjection_FixedDelay struct {
	//
	//Add a fixed delay before forwarding the request. Format:
	//1h/1m/1s/1ms. MUST be >=1ms.
	FixedDelay *duration.Duration `protobuf:"bytes,1,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"`
}

type TrafficPolicySpec_HeaderManipulation

type TrafficPolicySpec_HeaderManipulation struct {

	// HTTP headers to remove before returning a response to the caller.
	RemoveResponseHeaders []string `` /* 127-byte string literal not displayed */
	// Additional HTTP headers to add before returning a response to the caller.
	AppendResponseHeaders map[string]string `` /* 215-byte string literal not displayed */
	// HTTP headers to remove before forwarding a request to the destination service.
	RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"`
	// Additional HTTP headers to add before forwarding a request to the destination service.
	AppendRequestHeaders map[string]string `` /* 212-byte string literal not displayed */
	// contains filtered or unexported fields
}

Manipulate request and response headers.

func (*TrafficPolicySpec_HeaderManipulation) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_HeaderManipulation.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_HeaderManipulation) Equal

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

Equal function

func (*TrafficPolicySpec_HeaderManipulation) GetAppendRequestHeaders

func (x *TrafficPolicySpec_HeaderManipulation) GetAppendRequestHeaders() map[string]string

func (*TrafficPolicySpec_HeaderManipulation) GetAppendResponseHeaders

func (x *TrafficPolicySpec_HeaderManipulation) GetAppendResponseHeaders() map[string]string

func (*TrafficPolicySpec_HeaderManipulation) GetRemoveRequestHeaders

func (x *TrafficPolicySpec_HeaderManipulation) GetRemoveRequestHeaders() []string

func (*TrafficPolicySpec_HeaderManipulation) GetRemoveResponseHeaders

func (x *TrafficPolicySpec_HeaderManipulation) GetRemoveResponseHeaders() []string

func (*TrafficPolicySpec_HeaderManipulation) ProtoMessage

func (*TrafficPolicySpec_HeaderManipulation) ProtoMessage()

func (*TrafficPolicySpec_HeaderManipulation) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_HeaderManipulation) Reset

func (*TrafficPolicySpec_HeaderManipulation) String

type TrafficPolicySpec_HttpMatcher

type TrafficPolicySpec_HttpMatcher struct {

	// Types that are assignable to PathSpecifier:
	//	*TrafficPolicySpec_HttpMatcher_Prefix
	//	*TrafficPolicySpec_HttpMatcher_Exact
	//	*TrafficPolicySpec_HttpMatcher_Regex
	PathSpecifier isTrafficPolicySpec_HttpMatcher_PathSpecifier `protobuf_oneof:"path_specifier"`
	// Specifies a set of headers which requests must match in entirety (all headers must match).
	Headers []*v1alpha1.HeaderMatcher `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty"`
	//
	//Specifies a set of URL query parameters which requests must match in entirety (all query params must match).
	//The router will check the query string from the *path* header against all the specified query parameters
	QueryParameters []*TrafficPolicySpec_QueryParameterMatcher `protobuf:"bytes,7,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"`
	// HTTP Method/Verb to match on. If none specified, the matcher will ignore the HTTP Method
	Method *TrafficPolicySpec_HttpMethod `protobuf:"bytes,8,opt,name=method,proto3" json:"method,omitempty"`
	// contains filtered or unexported fields
}

Parameters for matching routes. All specified conditions must be satisfied for a match to occur.

func (*TrafficPolicySpec_HttpMatcher) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_HttpMatcher.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_HttpMatcher) Equal

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

Equal function

func (*TrafficPolicySpec_HttpMatcher) GetExact

func (x *TrafficPolicySpec_HttpMatcher) GetExact() string

func (*TrafficPolicySpec_HttpMatcher) GetHeaders

func (*TrafficPolicySpec_HttpMatcher) GetMethod

func (*TrafficPolicySpec_HttpMatcher) GetPathSpecifier

func (m *TrafficPolicySpec_HttpMatcher) GetPathSpecifier() isTrafficPolicySpec_HttpMatcher_PathSpecifier

func (*TrafficPolicySpec_HttpMatcher) GetPrefix

func (x *TrafficPolicySpec_HttpMatcher) GetPrefix() string

func (*TrafficPolicySpec_HttpMatcher) GetQueryParameters

func (*TrafficPolicySpec_HttpMatcher) GetRegex

func (x *TrafficPolicySpec_HttpMatcher) GetRegex() string

func (*TrafficPolicySpec_HttpMatcher) ProtoMessage

func (*TrafficPolicySpec_HttpMatcher) ProtoMessage()

func (*TrafficPolicySpec_HttpMatcher) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_HttpMatcher) Reset

func (x *TrafficPolicySpec_HttpMatcher) Reset()

func (*TrafficPolicySpec_HttpMatcher) String

type TrafficPolicySpec_HttpMatcher_Exact

type TrafficPolicySpec_HttpMatcher_Exact struct {
	//
	//If specified, the route is an exact path rule meaning that the path must
	//exactly match the *:path* header once the query string is removed.
	Exact string `protobuf:"bytes,2,opt,name=exact,proto3,oneof"`
}

type TrafficPolicySpec_HttpMatcher_Prefix

type TrafficPolicySpec_HttpMatcher_Prefix struct {
	//
	//If specified, the route is a prefix rule meaning that the prefix must
	//match the beginning of the *:path* header.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof"`
}

type TrafficPolicySpec_HttpMatcher_Regex

type TrafficPolicySpec_HttpMatcher_Regex struct {
	//
	//If specified, the route is a regular expression rule meaning that the
	//regex must match the *:path* header once the query string is removed. The entire path
	//(without the query string) must match the regex. The rule will not match if only a
	//sub-sequence of the *:path* header matches the regex. The regex grammar is defined `here
	//<http://en.cppreference.com/w/cpp/regex/ecmascript>`_.
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

type TrafficPolicySpec_HttpMethod

type TrafficPolicySpec_HttpMethod struct {
	Method types.HttpMethodValue `protobuf:"varint,1,opt,name=method,proto3,enum=networking.mesh.gloo.solo.io.HttpMethodValue" json:"method,omitempty"`
	// contains filtered or unexported fields
}

Express an optional HttpMethod by wrapping it in a nillable message.

func (*TrafficPolicySpec_HttpMethod) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_HttpMethod.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_HttpMethod) Equal

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

Equal function

func (*TrafficPolicySpec_HttpMethod) GetMethod

func (*TrafficPolicySpec_HttpMethod) ProtoMessage

func (*TrafficPolicySpec_HttpMethod) ProtoMessage()

func (*TrafficPolicySpec_HttpMethod) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_HttpMethod) Reset

func (x *TrafficPolicySpec_HttpMethod) Reset()

func (*TrafficPolicySpec_HttpMethod) String

type TrafficPolicySpec_MTLS

type TrafficPolicySpec_MTLS struct {

	// Istio TLS settings
	Istio *TrafficPolicySpec_MTLS_Istio `protobuf:"bytes,1,opt,name=istio,proto3" json:"istio,omitempty"`
	// contains filtered or unexported fields
}

Configure mTLS settings on traffic targets. If specified this overrides the global default defined in Settings.

func (*TrafficPolicySpec_MTLS) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_MTLS.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MTLS) Equal

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

Equal function

func (*TrafficPolicySpec_MTLS) GetIstio

func (*TrafficPolicySpec_MTLS) ProtoMessage

func (*TrafficPolicySpec_MTLS) ProtoMessage()

func (*TrafficPolicySpec_MTLS) ProtoReflect added in v0.10.8

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

func (*TrafficPolicySpec_MTLS) Reset

func (x *TrafficPolicySpec_MTLS) Reset()

func (*TrafficPolicySpec_MTLS) String

func (x *TrafficPolicySpec_MTLS) String() string

type TrafficPolicySpec_MTLS_Istio

type TrafficPolicySpec_MTLS_Istio struct {

	// TLS connection mode
	TlsMode TrafficPolicySpec_MTLS_Istio_TLSmode `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

Istio TLS settings Map onto the enums defined here https://github.com/istio/api/blob/00636152b9d9254b614828a65723840282a177d3/networking/v1beta1/destination_rule.proto#L886

func (*TrafficPolicySpec_MTLS_Istio) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_MTLS_Istio.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MTLS_Istio) Equal

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

Equal function

func (*TrafficPolicySpec_MTLS_Istio) GetTlsMode

func (*TrafficPolicySpec_MTLS_Istio) ProtoMessage

func (*TrafficPolicySpec_MTLS_Istio) ProtoMessage()

func (*TrafficPolicySpec_MTLS_Istio) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_MTLS_Istio) Reset

func (x *TrafficPolicySpec_MTLS_Istio) Reset()

func (*TrafficPolicySpec_MTLS_Istio) String

type TrafficPolicySpec_MTLS_Istio_TLSmode

type TrafficPolicySpec_MTLS_Istio_TLSmode int32

TLS connection mode

const (
	// Do not setup a TLS connection to the upstream endpoint.
	TrafficPolicySpec_MTLS_Istio_DISABLE TrafficPolicySpec_MTLS_Istio_TLSmode = 0
	// Originate a TLS connection to the upstream endpoint.
	TrafficPolicySpec_MTLS_Istio_SIMPLE TrafficPolicySpec_MTLS_Istio_TLSmode = 1
	// Secure connections to the upstream using mutual TLS by presenting
	// client certificates for authentication.
	// This mode uses certificates generated
	// automatically by Istio for mTLS authentication. When this mode is
	// used, all other fields in `ClientTLSSettings` should be empty.
	TrafficPolicySpec_MTLS_Istio_ISTIO_MUTUAL TrafficPolicySpec_MTLS_Istio_TLSmode = 2
)

func (TrafficPolicySpec_MTLS_Istio_TLSmode) Descriptor added in v0.10.8

func (TrafficPolicySpec_MTLS_Istio_TLSmode) Enum added in v0.10.8

func (TrafficPolicySpec_MTLS_Istio_TLSmode) EnumDescriptor deprecated

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

Deprecated: Use TrafficPolicySpec_MTLS_Istio_TLSmode.Descriptor instead.

func (TrafficPolicySpec_MTLS_Istio_TLSmode) Number added in v0.10.8

func (TrafficPolicySpec_MTLS_Istio_TLSmode) String

func (TrafficPolicySpec_MTLS_Istio_TLSmode) Type added in v0.10.8

type TrafficPolicySpec_Mirror

type TrafficPolicySpec_Mirror struct {

	// Different destination types can be selected mirroring traffic.
	//
	// Types that are assignable to DestinationType:
	//	*TrafficPolicySpec_Mirror_KubeService
	DestinationType isTrafficPolicySpec_Mirror_DestinationType `protobuf_oneof:"destination_type"`
	//
	//Percentage of traffic to mirror. If absent, 100% will be mirrored.
	//Values range between 0 and 100
	Percentage float64 `protobuf:"fixed64,2,opt,name=percentage,proto3" json:"percentage,omitempty"`
	// Port on the destination k8s service to receive traffic. If multiple are found, and none are specified,
	// then the configuration will be considered invalid.
	Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficPolicySpec_Mirror) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Mirror.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Mirror) Equal

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

Equal function

func (*TrafficPolicySpec_Mirror) GetDestinationType

func (m *TrafficPolicySpec_Mirror) GetDestinationType() isTrafficPolicySpec_Mirror_DestinationType

func (*TrafficPolicySpec_Mirror) GetKubeService

func (x *TrafficPolicySpec_Mirror) GetKubeService() *v1.ClusterObjectRef

func (*TrafficPolicySpec_Mirror) GetPercentage

func (x *TrafficPolicySpec_Mirror) GetPercentage() float64

func (*TrafficPolicySpec_Mirror) GetPort

func (x *TrafficPolicySpec_Mirror) GetPort() uint32

func (*TrafficPolicySpec_Mirror) ProtoMessage

func (*TrafficPolicySpec_Mirror) ProtoMessage()

func (*TrafficPolicySpec_Mirror) ProtoReflect added in v0.10.8

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

func (*TrafficPolicySpec_Mirror) Reset

func (x *TrafficPolicySpec_Mirror) Reset()

func (*TrafficPolicySpec_Mirror) String

func (x *TrafficPolicySpec_Mirror) String() string

type TrafficPolicySpec_Mirror_KubeService

type TrafficPolicySpec_Mirror_KubeService struct {
	// Name/namespace/cluster of a kubernetes service.
	KubeService *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof"`
}

type TrafficPolicySpec_MultiDestination

type TrafficPolicySpec_MultiDestination struct {

	// A traffic shift destination.
	Destinations []*TrafficPolicySpec_MultiDestination_WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficPolicySpec_MultiDestination) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_MultiDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MultiDestination) Equal

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

Equal function

func (*TrafficPolicySpec_MultiDestination) GetDestinations

func (*TrafficPolicySpec_MultiDestination) ProtoMessage

func (*TrafficPolicySpec_MultiDestination) ProtoMessage()

func (*TrafficPolicySpec_MultiDestination) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_MultiDestination) Reset

func (*TrafficPolicySpec_MultiDestination) String

type TrafficPolicySpec_MultiDestination_WeightedDestination

type TrafficPolicySpec_MultiDestination_WeightedDestination struct {

	// The different destination types can be selected for a traffic shift.
	//
	// Types that are assignable to DestinationType:
	//	*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService
	//	*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService
	//	*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestination
	DestinationType isTrafficPolicySpec_MultiDestination_WeightedDestination_DestinationType `protobuf_oneof:"destination_type"`
	// Weights across all of the destinations must sum to 100. Each is interpreted as a percent from 0-100.
	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_MultiDestination_WeightedDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) Equal

Equal function

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) GetDestinationType

func (m *TrafficPolicySpec_MultiDestination_WeightedDestination) GetDestinationType() isTrafficPolicySpec_MultiDestination_WeightedDestination_DestinationType

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) GetKubeService

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) GetWeight

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) ProtoMessage

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) Reset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) String

type TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService

type TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService struct {
	// A traffic shift destination targeting a FailoverService.
	FailoverService *TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination `protobuf:"bytes,3,opt,name=failover_service,json=failoverService,proto3,oneof"`
}

type TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination

type TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination struct {

	// The name of the FailoverService.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the FailoverService.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Subset routing is currently only supported for Istio backing services.
	Subset map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

A traffic shift destination that references a FailoverService.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) Equal

Equal function

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) GetName

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) GetNamespace

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) GetSubset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) ProtoMessage

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) Reset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) String

type TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination

type TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination struct {

	// The name of the destination service.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the destination service.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// The cluster of the destination k8s service (as it is registered with Gloo Mesh).
	ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// Subset routing is currently only supported on Istio.
	Subset map[string]string `` /* 153-byte string literal not displayed */
	// Port on the destination k8s service to receive traffic. Required if the service exposes more than one port.
	Port uint32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

A traffic shift destination which lives in kubernetes.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) Equal

Equal function

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) GetClusterName

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) GetName

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) GetNamespace

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) GetPort

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) GetSubset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) ProtoMessage

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) Reset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) String

type TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService

type TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService struct {
	// The use kubeService to shift traffic a Kubernetes Service/subset.
	KubeService *TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof"`
}

type TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestination

type TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestination struct {
	// A traffic shift destination targeting a VirtualDestination.
	VirtualDestination *TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference `protobuf:"bytes,4,opt,name=virtual_destination,json=virtualDestination,proto3,oneof"`
}

type TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference

type TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference struct {

	// The name of the VirtualDestination.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the VirtualDestination.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Subset routing is currently only supported for Istio backing services.
	Subset map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

A traffic shift destination that references a VirtualDestination.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) Equal

Equal function

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) GetName

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) GetNamespace

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) GetSubset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) ProtoMessage

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) ProtoReflect

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) Reset

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_VirtualDestinationReference) String

type TrafficPolicySpec_OutlierDetection

type TrafficPolicySpec_OutlierDetection struct {

	// Number of errors before a host is ejected from the connection pool. Defaults to 5.
	ConsecutiveErrors uint32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"`
	// Time interval between ejection sweep analysis. Format: 1h/1m/1s/1ms. MUST BE >=1ms. Defaults to 10s.
	Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
	// Minimum ejection duration. Format: 1h/1m/1s/1ms. MUST BE >=1ms. Defaults to 30s.
	BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// Maximum % of hosts in the load balancing pool for the upstream service that can be ejected,
	// but will eject at least one host regardless of the value. MUST BE >= 0 and <= 100.
	// Defaults to 100%, allowing all hosts to be ejected from the pool.
	MaxEjectionPercent uint32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// contains filtered or unexported fields
}

Configure outlier detection settings on targeted services. If set, source selectors must be empty. Outlier detection settings apply to all incoming traffic.

func (*TrafficPolicySpec_OutlierDetection) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_OutlierDetection.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_OutlierDetection) Equal

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

Equal function

func (*TrafficPolicySpec_OutlierDetection) GetBaseEjectionTime

func (x *TrafficPolicySpec_OutlierDetection) GetBaseEjectionTime() *duration.Duration

func (*TrafficPolicySpec_OutlierDetection) GetConsecutiveErrors

func (x *TrafficPolicySpec_OutlierDetection) GetConsecutiveErrors() uint32

func (*TrafficPolicySpec_OutlierDetection) GetInterval

func (*TrafficPolicySpec_OutlierDetection) GetMaxEjectionPercent

func (x *TrafficPolicySpec_OutlierDetection) GetMaxEjectionPercent() uint32

func (*TrafficPolicySpec_OutlierDetection) ProtoMessage

func (*TrafficPolicySpec_OutlierDetection) ProtoMessage()

func (*TrafficPolicySpec_OutlierDetection) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_OutlierDetection) Reset

func (*TrafficPolicySpec_OutlierDetection) String

type TrafficPolicySpec_QueryParameterMatcher

type TrafficPolicySpec_QueryParameterMatcher struct {

	//
	//Specifies the name of a key that must be present in the requested
	//path*'s query string.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	//
	//Specifies the value of the key. If the value is absent, a request
	//that contains the key in its query string will match, whether the
	//key appears with a value (e.g., "?debug=true") or not (e.g., "?debug")
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	//
	//Specifies whether the query parameter value is a regular expression.
	//Defaults to false. The entire query parameter value (i.e., the part to
	//the right of the equals sign in "key=value") must match the regex.
	//E.g., the regex "\d+$" will match "123" but not "a123" or "123a".
	Regex bool `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"`
	// contains filtered or unexported fields
}

Query parameter matching treats the query string of a request's :path header as an ampersand-separated list of keys and/or key=value elements.

func (*TrafficPolicySpec_QueryParameterMatcher) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_QueryParameterMatcher.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_QueryParameterMatcher) Equal

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

Equal function

func (*TrafficPolicySpec_QueryParameterMatcher) GetName

func (*TrafficPolicySpec_QueryParameterMatcher) GetRegex

func (*TrafficPolicySpec_QueryParameterMatcher) GetValue

func (*TrafficPolicySpec_QueryParameterMatcher) ProtoMessage

func (*TrafficPolicySpec_QueryParameterMatcher) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_QueryParameterMatcher) Reset

func (*TrafficPolicySpec_QueryParameterMatcher) String

type TrafficPolicySpec_RetryPolicy

type TrafficPolicySpec_RetryPolicy struct {

	// Number of retries for a given request
	Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"`
	// Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
	PerTryTimeout *duration.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
	// contains filtered or unexported fields
}

RetryPolicy contains mesh-specific retry configuration. Different meshes support different Retry features. Gloo Mesh's RetryPolicy exposes config for multiple meshes simultaneously, allowing the same TrafficPolicy to apply retries to different mesh types. The configuration applied to the target mesh will use the corresponding config for each type, while other config types will be ignored.

func (*TrafficPolicySpec_RetryPolicy) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_RetryPolicy.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_RetryPolicy) Equal

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

Equal function

func (*TrafficPolicySpec_RetryPolicy) GetAttempts

func (x *TrafficPolicySpec_RetryPolicy) GetAttempts() int32

func (*TrafficPolicySpec_RetryPolicy) GetPerTryTimeout

func (x *TrafficPolicySpec_RetryPolicy) GetPerTryTimeout() *duration.Duration

func (*TrafficPolicySpec_RetryPolicy) ProtoMessage

func (*TrafficPolicySpec_RetryPolicy) ProtoMessage()

func (*TrafficPolicySpec_RetryPolicy) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_RetryPolicy) Reset

func (x *TrafficPolicySpec_RetryPolicy) Reset()

func (*TrafficPolicySpec_RetryPolicy) String

type TrafficPolicySpec_StringMatch

type TrafficPolicySpec_StringMatch struct {

	// Types that are assignable to MatchType:
	//	*TrafficPolicySpec_StringMatch_Exact
	//	*TrafficPolicySpec_StringMatch_Prefix
	//	*TrafficPolicySpec_StringMatch_Regex
	MatchType isTrafficPolicySpec_StringMatch_MatchType `protobuf_oneof:"match_type"`
	// contains filtered or unexported fields
}

Describes how to match a given string in HTTP headers. Match is case-sensitive.

func (*TrafficPolicySpec_StringMatch) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_StringMatch.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_StringMatch) Equal

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

Equal function

func (*TrafficPolicySpec_StringMatch) GetExact

func (x *TrafficPolicySpec_StringMatch) GetExact() string

func (*TrafficPolicySpec_StringMatch) GetMatchType

func (m *TrafficPolicySpec_StringMatch) GetMatchType() isTrafficPolicySpec_StringMatch_MatchType

func (*TrafficPolicySpec_StringMatch) GetPrefix

func (x *TrafficPolicySpec_StringMatch) GetPrefix() string

func (*TrafficPolicySpec_StringMatch) GetRegex

func (x *TrafficPolicySpec_StringMatch) GetRegex() string

func (*TrafficPolicySpec_StringMatch) ProtoMessage

func (*TrafficPolicySpec_StringMatch) ProtoMessage()

func (*TrafficPolicySpec_StringMatch) ProtoReflect added in v0.10.8

func (*TrafficPolicySpec_StringMatch) Reset

func (x *TrafficPolicySpec_StringMatch) Reset()

func (*TrafficPolicySpec_StringMatch) String

type TrafficPolicySpec_StringMatch_Exact

type TrafficPolicySpec_StringMatch_Exact struct {
	// Exact string match.
	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
}

type TrafficPolicySpec_StringMatch_Prefix

type TrafficPolicySpec_StringMatch_Prefix struct {
	// Prefix-based match.
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
}

type TrafficPolicySpec_StringMatch_Regex

type TrafficPolicySpec_StringMatch_Regex struct {
	// ECMAscript style regex-based match.
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

type TrafficPolicyStatus

type TrafficPolicyStatus struct {

	// The most recent generation observed in the the TrafficPolicy metadata.
	// if the observedGeneration does not match generation, the controller has not received 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.
	// It will only show accepted if it has been successfully
	// applied to all target meshes.
	State ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=networking.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the TrafficPolicy for each TrafficTarget to which it has been applied.
	// A TrafficPolicy may be Accepted for some TrafficTargets and rejected for others.
	TrafficTargets map[string]*ApprovalStatus `` /* 191-byte string literal not displayed */
	// The list of Workloads to which this policy has been applied.
	Workloads []string `protobuf:"bytes,4,rep,name=workloads,proto3" json:"workloads,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficPolicyStatus) DeepCopyInto

func (in *TrafficPolicyStatus) DeepCopyInto(out *TrafficPolicyStatus)

DeepCopyInto for the TrafficPolicy.Status

func (*TrafficPolicyStatus) Descriptor deprecated

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

Deprecated: Use TrafficPolicyStatus.ProtoReflect.Descriptor instead.

func (*TrafficPolicyStatus) Equal

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

Equal function

func (*TrafficPolicyStatus) GetErrors

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

func (*TrafficPolicyStatus) GetObservedGeneration

func (x *TrafficPolicyStatus) GetObservedGeneration() int64

func (*TrafficPolicyStatus) GetState

func (x *TrafficPolicyStatus) GetState() ApprovalState

func (*TrafficPolicyStatus) GetTrafficTargets

func (x *TrafficPolicyStatus) GetTrafficTargets() map[string]*ApprovalStatus

func (*TrafficPolicyStatus) GetWorkloads

func (x *TrafficPolicyStatus) GetWorkloads() []string

func (*TrafficPolicyStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for TrafficPolicyStatus

func (*TrafficPolicyStatus) ProtoMessage

func (*TrafficPolicyStatus) ProtoMessage()

func (*TrafficPolicyStatus) ProtoReflect added in v0.10.8

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

func (*TrafficPolicyStatus) Reset

func (x *TrafficPolicyStatus) Reset()

func (*TrafficPolicyStatus) String

func (x *TrafficPolicyStatus) String() string

func (*TrafficPolicyStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TrafficPolicyStatus

type TrafficPolicyStatusWriter

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

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

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

type TrafficPolicyTransitionFunction

type TrafficPolicyTransitionFunction func(existing, desired *TrafficPolicy) error

TrafficPolicyTransitionFunction instructs the TrafficPolicyWriter how to transition between an existing TrafficPolicy object and a desired on an Upsert

type TrafficPolicyWriter

type TrafficPolicyWriter interface {
	// Create saves the TrafficPolicy object.
	CreateTrafficPolicy(ctx context.Context, obj *TrafficPolicy, opts ...client.CreateOption) error

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

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

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

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

	// Create or Update the TrafficPolicy object.
	UpsertTrafficPolicy(ctx context.Context, obj *TrafficPolicy, transitionFuncs ...TrafficPolicyTransitionFunction) error
}

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

type TrafficTargetSelector

type TrafficTargetSelector struct {

	// A KubeServiceMatcher matches kubernetes services by their labels, namespaces, and/or clusters.
	KubeServiceMatcher *TrafficTargetSelector_KubeServiceMatcher `protobuf:"bytes,1,opt,name=kube_service_matcher,json=kubeServiceMatcher,proto3" json:"kube_service_matcher,omitempty"`
	// Match individual k8s Services by direct reference.
	KubeServiceRefs *TrafficTargetSelector_KubeServiceRefs `protobuf:"bytes,2,opt,name=kube_service_refs,json=kubeServiceRefs,proto3" json:"kube_service_refs,omitempty"`
	// contains filtered or unexported fields
}

Select TrafficTargets using one or more platform-specific selection objects.

func (*TrafficTargetSelector) Descriptor deprecated

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

Deprecated: Use TrafficTargetSelector.ProtoReflect.Descriptor instead.

func (*TrafficTargetSelector) Equal

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

Equal function

func (*TrafficTargetSelector) GetKubeServiceMatcher

func (*TrafficTargetSelector) GetKubeServiceRefs

func (*TrafficTargetSelector) ProtoMessage

func (*TrafficTargetSelector) ProtoMessage()

func (*TrafficTargetSelector) ProtoReflect added in v0.10.8

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

func (*TrafficTargetSelector) Reset

func (x *TrafficTargetSelector) Reset()

func (*TrafficTargetSelector) String

func (x *TrafficTargetSelector) String() string

type TrafficTargetSelector_KubeServiceMatcher

type TrafficTargetSelector_KubeServiceMatcher struct {

	//
	//If specified, all labels must exist on k8s Service.
	//When used in a networking policy, omission matches any labels.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any label key and/or value.
	Labels map[string]string `` /* 153-byte string literal not displayed */
	//
	//If specified, match k8s Services if they exist in one of the specified namespaces.
	//When used in a networking policy, omission matches any namespace.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any namespace.
	Namespaces []string `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"`
	//
	//If specified, match k8s Services if they exist in one of the specified clusters.
	//When used in a networking policy, omission matches any cluster.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any cluster.
	Clusters []string `protobuf:"bytes,3,rep,name=clusters,proto3" json:"clusters,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficTargetSelector_KubeServiceMatcher) Descriptor deprecated

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

Deprecated: Use TrafficTargetSelector_KubeServiceMatcher.ProtoReflect.Descriptor instead.

func (*TrafficTargetSelector_KubeServiceMatcher) Equal

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

Equal function

func (*TrafficTargetSelector_KubeServiceMatcher) GetClusters

func (*TrafficTargetSelector_KubeServiceMatcher) GetLabels

func (*TrafficTargetSelector_KubeServiceMatcher) GetNamespaces

func (x *TrafficTargetSelector_KubeServiceMatcher) GetNamespaces() []string

func (*TrafficTargetSelector_KubeServiceMatcher) ProtoMessage

func (*TrafficTargetSelector_KubeServiceMatcher) ProtoReflect added in v0.10.8

func (*TrafficTargetSelector_KubeServiceMatcher) Reset

func (*TrafficTargetSelector_KubeServiceMatcher) String

type TrafficTargetSelector_KubeServiceRefs

type TrafficTargetSelector_KubeServiceRefs struct {

	//
	//Match k8s Services by direct reference.
	//When used in a networking policy, omission of any field (name, namespace, or clusterName) allows matching any value for that field.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any value for the given field.
	Services []*v1.ClusterObjectRef `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficTargetSelector_KubeServiceRefs) Descriptor deprecated

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

Deprecated: Use TrafficTargetSelector_KubeServiceRefs.ProtoReflect.Descriptor instead.

func (*TrafficTargetSelector_KubeServiceRefs) Equal

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

Equal function

func (*TrafficTargetSelector_KubeServiceRefs) GetServices

func (*TrafficTargetSelector_KubeServiceRefs) ProtoMessage

func (*TrafficTargetSelector_KubeServiceRefs) ProtoMessage()

func (*TrafficTargetSelector_KubeServiceRefs) ProtoReflect added in v0.10.8

func (*TrafficTargetSelector_KubeServiceRefs) Reset

func (*TrafficTargetSelector_KubeServiceRefs) String

type VirtualMesh

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

	Spec   VirtualMeshSpec   `json:"spec,omitempty"`
	Status VirtualMeshStatus `json:"status,omitempty"`
}

VirtualMesh is the Schema for the virtualMesh API

func (*VirtualMesh) DeepCopy

func (in *VirtualMesh) DeepCopy() *VirtualMesh

func (*VirtualMesh) DeepCopyInto

func (in *VirtualMesh) DeepCopyInto(out *VirtualMesh)

func (*VirtualMesh) DeepCopyObject

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

func (VirtualMesh) GVK added in v0.10.5

GVK returns the GroupVersionKind associated with the resource type.

type VirtualMeshClient

type VirtualMeshClient interface {
	VirtualMeshReader
	VirtualMeshWriter
	VirtualMeshStatusWriter
}

Client knows how to perform CRUD operations on VirtualMeshs.

type VirtualMeshList

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

VirtualMeshList contains a list of VirtualMesh

func (*VirtualMeshList) DeepCopy

func (in *VirtualMeshList) DeepCopy() *VirtualMeshList

func (*VirtualMeshList) DeepCopyInto

func (in *VirtualMeshList) DeepCopyInto(out *VirtualMeshList)

func (*VirtualMeshList) DeepCopyObject

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

type VirtualMeshReader

type VirtualMeshReader interface {
	// Get retrieves a VirtualMesh for the given object key
	GetVirtualMesh(ctx context.Context, key client.ObjectKey) (*VirtualMesh, error)

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

Reader knows how to read and list VirtualMeshs.

type VirtualMeshSlice

type VirtualMeshSlice []*VirtualMesh

VirtualMeshSlice represents a slice of *VirtualMesh

type VirtualMeshSpec

type VirtualMeshSpec struct {

	// The meshes contained in this virtual mesh.
	Meshes []*v1.ObjectRef `protobuf:"bytes,1,rep,name=meshes,proto3" json:"meshes,omitempty"`
	// Configuration options for managing Mutual-TLS mTLS in a virtual mesh.Sets
	// a shared Certificate Authority across the defined meshes.
	MtlsConfig *VirtualMeshSpec_MTLSConfig `protobuf:"bytes,2,opt,name=mtls_config,json=mtlsConfig,proto3" json:"mtls_config,omitempty"`
	// Determine how to expose traffic targets to cross-mesh traffic using Service Federation.
	Federation *VirtualMeshSpec_Federation `protobuf:"bytes,3,opt,name=federation,proto3" json:"federation,omitempty"`
	// Sets an Access Policy for the whole mesh.
	GlobalAccessPolicy VirtualMeshSpec_GlobalAccessPolicy `` /* 187-byte string literal not displayed */
	// contains filtered or unexported fields
}

A VirtualMesh represents a logical grouping of meshes for shared configuration and cross-mesh interoperability.

VirtualMeshes are used to configure things like shared trust roots (for mTLS) and federation of traffic targets (for cross-cluster networking).

Currently, VirtualMeshes can only be constructed from Istio meshes.

func (*VirtualMeshSpec) DeepCopyInto

func (in *VirtualMeshSpec) DeepCopyInto(out *VirtualMeshSpec)

DeepCopyInto for the VirtualMesh.Spec

func (*VirtualMeshSpec) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec) Equal

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

Equal function

func (*VirtualMeshSpec) GetFederation

func (x *VirtualMeshSpec) GetFederation() *VirtualMeshSpec_Federation

func (*VirtualMeshSpec) GetGlobalAccessPolicy

func (x *VirtualMeshSpec) GetGlobalAccessPolicy() VirtualMeshSpec_GlobalAccessPolicy

func (*VirtualMeshSpec) GetMeshes

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

func (*VirtualMeshSpec) GetMtlsConfig

func (x *VirtualMeshSpec) GetMtlsConfig() *VirtualMeshSpec_MTLSConfig

func (*VirtualMeshSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for VirtualMeshSpec

func (*VirtualMeshSpec) ProtoMessage

func (*VirtualMeshSpec) ProtoMessage()

func (*VirtualMeshSpec) ProtoReflect added in v0.10.8

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

func (*VirtualMeshSpec) Reset

func (x *VirtualMeshSpec) Reset()

func (*VirtualMeshSpec) String

func (x *VirtualMeshSpec) String() string

func (*VirtualMeshSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for VirtualMeshSpec

type VirtualMeshSpec_Federation

type VirtualMeshSpec_Federation struct {

	// The "mode" in which to federate traffic targets within this virtual mesh.
	//
	// Types that are assignable to Mode:
	//	*VirtualMeshSpec_Federation_Permissive
	Mode isVirtualMeshSpec_Federation_Mode `protobuf_oneof:"mode"`
	// If true, all multicluster traffic will be routed directly to the service endpoints of the traffic targets,
	// rather than through an ingress gateway.
	// NOTE: This feature will not work if the clusters are not pre-configured to live on the same network.
	FlatNetwork bool `protobuf:"varint,2,opt,name=flat_network,json=flatNetwork,proto3" json:"flat_network,omitempty"`
	// Configure the suffix for hostnames of traffic targets federated within this virtual mesh.
	// Currently this is only supported for Istio with smart DNS proxying enabled.
	// If any meshes do not have smart DNS proxying enabled, setting this field results in an error.
	// If omitted, the hostname suffix defaults to "global".
	HostnameSuffix string `protobuf:"bytes,3,opt,name=hostname_suffix,json=hostnameSuffix,proto3" json:"hostname_suffix,omitempty"`
	// contains filtered or unexported fields
}

In Gloo Mesh, "federation" refers to the ability to expose traffic targets with a global DNS name for traffic originating from any workload within the virtual mesh.

func (*VirtualMeshSpec_Federation) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_Federation.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_Federation) Equal

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

Equal function

func (*VirtualMeshSpec_Federation) GetFlatNetwork added in v0.12.0

func (x *VirtualMeshSpec_Federation) GetFlatNetwork() bool

func (*VirtualMeshSpec_Federation) GetHostnameSuffix added in v0.12.0

func (x *VirtualMeshSpec_Federation) GetHostnameSuffix() string

func (*VirtualMeshSpec_Federation) GetMode

func (m *VirtualMeshSpec_Federation) GetMode() isVirtualMeshSpec_Federation_Mode

func (*VirtualMeshSpec_Federation) GetPermissive

func (x *VirtualMeshSpec_Federation) GetPermissive() *empty.Empty

func (*VirtualMeshSpec_Federation) ProtoMessage

func (*VirtualMeshSpec_Federation) ProtoMessage()

func (*VirtualMeshSpec_Federation) ProtoReflect added in v0.10.8

func (*VirtualMeshSpec_Federation) Reset

func (x *VirtualMeshSpec_Federation) Reset()

func (*VirtualMeshSpec_Federation) String

func (x *VirtualMeshSpec_Federation) String() string

type VirtualMeshSpec_Federation_Permissive

type VirtualMeshSpec_Federation_Permissive struct {
	// Select permissive mode to expose all traffic targets in a
	// VirtualMesh to cross-cluster traffic from all workloads
	// in that Virtual Mesh.
	Permissive *empty.Empty `protobuf:"bytes,1,opt,name=permissive,proto3,oneof"`
}

type VirtualMeshSpec_GlobalAccessPolicy

type VirtualMeshSpec_GlobalAccessPolicy int32

If ENABLED, by default disallow traffic to all Services in the VirtualMesh unless explicitly allowed through AccessControlPolicies. If DISABLED, by default allow traffic to all Services in the VirtualMesh. If MESH_DEFAULT, the default value depends on the type service mesh: Istio: false Appmesh: true

const (
	VirtualMeshSpec_MESH_DEFAULT VirtualMeshSpec_GlobalAccessPolicy = 0
	VirtualMeshSpec_ENABLED      VirtualMeshSpec_GlobalAccessPolicy = 1
	VirtualMeshSpec_DISABLED     VirtualMeshSpec_GlobalAccessPolicy = 2
)

func (VirtualMeshSpec_GlobalAccessPolicy) Descriptor added in v0.10.8

func (VirtualMeshSpec_GlobalAccessPolicy) Enum added in v0.10.8

func (VirtualMeshSpec_GlobalAccessPolicy) EnumDescriptor deprecated

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

Deprecated: Use VirtualMeshSpec_GlobalAccessPolicy.Descriptor instead.

func (VirtualMeshSpec_GlobalAccessPolicy) Number added in v0.10.8

func (VirtualMeshSpec_GlobalAccessPolicy) String

func (VirtualMeshSpec_GlobalAccessPolicy) Type added in v0.10.8

type VirtualMeshSpec_MTLSConfig

type VirtualMeshSpec_MTLSConfig struct {

	// Select a trust model in order to establish trust between mTLS-secured meshes.
	//
	// Types that are assignable to TrustModel:
	//	*VirtualMeshSpec_MTLSConfig_Shared
	//	*VirtualMeshSpec_MTLSConfig_Limited
	TrustModel isVirtualMeshSpec_MTLSConfig_TrustModel `protobuf_oneof:"trust_model"`
	// Allow Gloo Mesh to restart mesh pods when certificates are rotated.
	// If this option is not explicitly enabled,
	// users must restart the pods manually for the new certificates to be picked up.
	// `meshctl` provides the command `meshctl mesh restart` to simplify this process.
	AutoRestartPods bool `protobuf:"varint,3,opt,name=auto_restart_pods,json=autoRestartPods,proto3" json:"auto_restart_pods,omitempty"`
	// contains filtered or unexported fields
}

Mutual TLS Config for a Virtual Mesh. This includes options for configuring Mutual TLS within an indvidual mesh, as well as enabling mTLS across Meshes by establishing cross-mesh trust.

func (*VirtualMeshSpec_MTLSConfig) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_MTLSConfig.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_MTLSConfig) Equal

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

Equal function

func (*VirtualMeshSpec_MTLSConfig) GetAutoRestartPods

func (x *VirtualMeshSpec_MTLSConfig) GetAutoRestartPods() bool

func (*VirtualMeshSpec_MTLSConfig) GetLimited

func (*VirtualMeshSpec_MTLSConfig) GetShared

func (*VirtualMeshSpec_MTLSConfig) GetTrustModel

func (m *VirtualMeshSpec_MTLSConfig) GetTrustModel() isVirtualMeshSpec_MTLSConfig_TrustModel

func (*VirtualMeshSpec_MTLSConfig) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig) ProtoMessage()

func (*VirtualMeshSpec_MTLSConfig) ProtoReflect added in v0.10.8

func (*VirtualMeshSpec_MTLSConfig) Reset

func (x *VirtualMeshSpec_MTLSConfig) Reset()

func (*VirtualMeshSpec_MTLSConfig) String

func (x *VirtualMeshSpec_MTLSConfig) String() string

type VirtualMeshSpec_MTLSConfig_Limited

type VirtualMeshSpec_MTLSConfig_Limited struct {
	// Limited trust (selectively allow communication between workloads and traffic targets in the grouped Meshes).
	Limited *VirtualMeshSpec_MTLSConfig_LimitedTrust `protobuf:"bytes,2,opt,name=limited,proto3,oneof"`
}

type VirtualMeshSpec_MTLSConfig_LimitedTrust

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

Limited trust is a virtual mesh trust model which does not require all meshes sharing the same root certificate or identity model. But rather, the limited trust creates trust between meshes running on different clusters by connecting their ingress/egress gateways with a common cert/identity. In this model all requests between different have the following request path when communicating between clusters

cluster 1 MTLS shared MTLS cluster 2 MTLS client/workload <-----------> egress gateway <----------> ingress gateway <--------------> server

This approach has the downside of not maintaining identity from client to server, but allows for ad-hoc addition of additional clusters into a virtual mesh.

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_MTLSConfig_LimitedTrust.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Equal

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

Equal function

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) ProtoReflect added in v0.10.8

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Reset

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) String

type VirtualMeshSpec_MTLSConfig_Shared

type VirtualMeshSpec_MTLSConfig_Shared struct {
	// Shared trust (allow communication between any workloads and traffic targets in the grouped Meshes).
	Shared *VirtualMeshSpec_MTLSConfig_SharedTrust `protobuf:"bytes,1,opt,name=shared,proto3,oneof"`
}

type VirtualMeshSpec_MTLSConfig_SharedTrust

type VirtualMeshSpec_MTLSConfig_SharedTrust struct {

	// Configure a Root Certificate Authority which will be shared by the
	// members of the virtual mesh.
	// If this is not provided, a self-signed certificate will be used
	// by Gloo Mesh to establish shared trust for the purposes of failover and federation.
	RootCertificateAuthority *VirtualMeshSpec_RootCertificateAuthority `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

Shared trust is a virtual mesh trust model requiring a shared root certificate, as well as shared identity between all entities which wish to communicate within the virtual mesh.

The best current example of this would be the replicated control planes example from Istio: https://preliminary.istio.io/docs/setup/install/multicluster/gateways/

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_MTLSConfig_SharedTrust.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Equal

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

Equal function

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) GetRootCertificateAuthority

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) ProtoReflect added in v0.10.8

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Reset

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) String

type VirtualMeshSpec_RootCertificateAuthority

type VirtualMeshSpec_RootCertificateAuthority struct {

	// Select a source for the Root CA data which Gloo Mesh will use for the Virtual Mesh.
	//
	// Types that are assignable to CaSource:
	//	*VirtualMeshSpec_RootCertificateAuthority_Generated
	//	*VirtualMeshSpec_RootCertificateAuthority_Secret
	CaSource isVirtualMeshSpec_RootCertificateAuthority_CaSource `protobuf_oneof:"ca_source"`
	// contains filtered or unexported fields
}

RootCertificateAuthority defines parameters for configuring the root CA for a Virtual Mesh.

func (*VirtualMeshSpec_RootCertificateAuthority) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_RootCertificateAuthority.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_RootCertificateAuthority) Equal

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

Equal function

func (*VirtualMeshSpec_RootCertificateAuthority) GetCaSource

func (m *VirtualMeshSpec_RootCertificateAuthority) GetCaSource() isVirtualMeshSpec_RootCertificateAuthority_CaSource

func (*VirtualMeshSpec_RootCertificateAuthority) GetGenerated

func (*VirtualMeshSpec_RootCertificateAuthority) GetSecret

func (*VirtualMeshSpec_RootCertificateAuthority) ProtoMessage

func (*VirtualMeshSpec_RootCertificateAuthority) ProtoReflect added in v0.10.8

func (*VirtualMeshSpec_RootCertificateAuthority) Reset

func (*VirtualMeshSpec_RootCertificateAuthority) String

type VirtualMeshSpec_RootCertificateAuthority_Generated

type VirtualMeshSpec_RootCertificateAuthority_Generated struct {
	// Generate a self-signed root certificate with the given options.
	Generated *VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert `protobuf:"bytes,1,opt,name=generated,proto3,oneof"`
}

type VirtualMeshSpec_RootCertificateAuthority_Secret

type VirtualMeshSpec_RootCertificateAuthority_Secret struct {
	// Use a root certificate provided in a Kubernetes Secret.
	// [Secrets provided in this way must follow a specified format, documented here.]({{% versioned_link_path fromRoot="/guides/federate_identity/" %}})
	Secret *v1.ObjectRef `protobuf:"bytes,2,opt,name=secret,proto3,oneof"`
}

type VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert

type VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert struct {

	// Number of days before root cert expires. Defaults to 365.
	TtlDays uint32 `protobuf:"varint,1,opt,name=ttl_days,json=ttlDays,proto3" json:"ttl_days,omitempty"`
	// Size in bytes of the root cert's private key. Defaults to 4096.
	RsaKeySizeBytes uint32 `protobuf:"varint,2,opt,name=rsa_key_size_bytes,json=rsaKeySizeBytes,proto3" json:"rsa_key_size_bytes,omitempty"`
	// Root cert organization name. Defaults to "gloo-mesh".
	OrgName string `protobuf:"bytes,3,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"`
	// contains filtered or unexported fields
}

Configuration for generating a self-signed root certificate. Uses the X.509 format, RFC5280.

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Descriptor deprecated

Deprecated: Use VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Equal

Equal function

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetOrgName

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetRsaKeySizeBytes

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetTtlDays

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) ProtoMessage

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) ProtoReflect added in v0.10.8

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Reset

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) String

type VirtualMeshStatus

type VirtualMeshStatus struct {

	// The most recent generation observed in the the VirtualMesh metadata.
	// If the observedGeneration does not match generation, the controller has not received 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. It will only show accepted if it has been successfully
	// applied to all target meshes.
	State ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=networking.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"`
	// The status of the VirtualMesh for each Mesh to which it has been applied.
	// A VirtualMesh may be Accepted for some Meshes and rejected for others.
	Meshes map[string]*ApprovalStatus `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*VirtualMeshStatus) DeepCopyInto

func (in *VirtualMeshStatus) DeepCopyInto(out *VirtualMeshStatus)

DeepCopyInto for the VirtualMesh.Status

func (*VirtualMeshStatus) Descriptor deprecated

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

Deprecated: Use VirtualMeshStatus.ProtoReflect.Descriptor instead.

func (*VirtualMeshStatus) Equal

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

Equal function

func (*VirtualMeshStatus) GetErrors

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

func (*VirtualMeshStatus) GetMeshes

func (x *VirtualMeshStatus) GetMeshes() map[string]*ApprovalStatus

func (*VirtualMeshStatus) GetObservedGeneration

func (x *VirtualMeshStatus) GetObservedGeneration() int64

func (*VirtualMeshStatus) GetState

func (x *VirtualMeshStatus) GetState() ApprovalState

func (*VirtualMeshStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for VirtualMeshStatus

func (*VirtualMeshStatus) ProtoMessage

func (*VirtualMeshStatus) ProtoMessage()

func (*VirtualMeshStatus) ProtoReflect added in v0.10.8

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

func (*VirtualMeshStatus) Reset

func (x *VirtualMeshStatus) Reset()

func (*VirtualMeshStatus) String

func (x *VirtualMeshStatus) String() string

func (*VirtualMeshStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for VirtualMeshStatus

type VirtualMeshStatusWriter

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

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

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

type VirtualMeshTransitionFunction

type VirtualMeshTransitionFunction func(existing, desired *VirtualMesh) error

VirtualMeshTransitionFunction instructs the VirtualMeshWriter how to transition between an existing VirtualMesh object and a desired on an Upsert

type VirtualMeshWriter

type VirtualMeshWriter interface {
	// Create saves the VirtualMesh object.
	CreateVirtualMesh(ctx context.Context, obj *VirtualMesh, opts ...client.CreateOption) error

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

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

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

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

	// Create or Update the VirtualMesh object.
	UpsertVirtualMesh(ctx context.Context, obj *VirtualMesh, transitionFuncs ...VirtualMeshTransitionFunction) error
}

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

type WorkloadSelector

type WorkloadSelector struct {

	//
	//If specified, all labels must exist on k8s workload.
	//When used in a networking policy, omission matches any labels.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any label key and/or value.
	Labels map[string]string `` /* 153-byte string literal not displayed */
	//
	//If specified, match k8s workloads if they exist in one of the specified namespaces.
	//When used in a networking policy, omission matches any namespace.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any namespace.
	Namespaces []string `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces,omitempty"`
	//
	//If specified, match k8s workloads if they exist in one of the specified clusters.
	//When used in a networking policy, omission matches any cluster.
	//When used in a Role, a wildcard `"*"` must be explicitly used to match any cluster.
	Clusters []string `protobuf:"bytes,3,rep,name=clusters,proto3" json:"clusters,omitempty"`
	// contains filtered or unexported fields
}

Select Kubernetes workloads directly using label namespace and/or cluster criteria. See comments on the fields for detailed semantics.

func (*WorkloadSelector) Descriptor deprecated

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

Deprecated: Use WorkloadSelector.ProtoReflect.Descriptor instead.

func (*WorkloadSelector) Equal

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

Equal function

func (*WorkloadSelector) GetClusters

func (x *WorkloadSelector) GetClusters() []string

func (*WorkloadSelector) GetLabels

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

func (*WorkloadSelector) GetNamespaces

func (x *WorkloadSelector) GetNamespaces() []string

func (*WorkloadSelector) ProtoMessage

func (*WorkloadSelector) ProtoMessage()

func (*WorkloadSelector) ProtoReflect added in v0.10.8

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

func (*WorkloadSelector) Reset

func (x *WorkloadSelector) Reset()

func (*WorkloadSelector) String

func (x *WorkloadSelector) 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_v1alpha2 is a generated GoMock package.
Package mock_v1alpha2 is a generated GoMock package.
mocks
Package mock_v1alpha2sets is a generated GoMock package.
Package mock_v1alpha2sets is a generated GoMock package.

Jump to

Keyboard shortcuts

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