v1alpha2

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2020 License: Apache-2.0 Imports: 19 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 ApprovalState_name = map[int32]string{
	0: "PENDING",
	1: "ACCEPTED",
	2: "INVALID",
	3: "FAILED",
}
View Source
var ApprovalState_value = map[string]int32{
	"PENDING":  0,
	"ACCEPTED": 1,
	"INVALID":  2,
	"FAILED":   3,
}
View Source
var TrafficPolicySpec_MTLS_Istio_TLSmode_name = map[int32]string{
	0: "DISABLE",
	1: "SIMPLE",
	2: "ISTIO_MUTUAL",
}
View Source
var TrafficPolicySpec_MTLS_Istio_TLSmode_value = map[string]int32{
	"DISABLE":      0,
	"SIMPLE":       1,
	"ISTIO_MUTUAL": 2,
}
View Source
var VirtualMeshSpec_GlobalAccessPolicy_name = map[int32]string{
	0: "MESH_DEFAULT",
	1: "ENABLED",
	2: "DISABLED",
}
View Source
var VirtualMeshSpec_GlobalAccessPolicy_value = map[string]int32{
	"MESH_DEFAULT": 0,
	"ENABLED":      1,
	"DISABLED":     2,
}

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

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*AccessPolicySpec) Equal

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

func (*AccessPolicySpec) GetAllowedMethods

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

func (*AccessPolicySpec) GetAllowedPaths

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

func (*AccessPolicySpec) GetAllowedPorts

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

func (*AccessPolicySpec) GetDestinationSelector

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

func (*AccessPolicySpec) GetSourceSelector

func (m *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) Reset

func (m *AccessPolicySpec) Reset()

func (*AccessPolicySpec) String

func (m *AccessPolicySpec) String() string

func (*AccessPolicySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AccessPolicySpec

func (*AccessPolicySpec) XXX_DiscardUnknown

func (m *AccessPolicySpec) XXX_DiscardUnknown()

func (*AccessPolicySpec) XXX_Marshal

func (m *AccessPolicySpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AccessPolicySpec) XXX_Merge

func (m *AccessPolicySpec) XXX_Merge(src proto.Message)

func (*AccessPolicySpec) XXX_Size

func (m *AccessPolicySpec) XXX_Size() int

func (*AccessPolicySpec) XXX_Unmarshal

func (m *AccessPolicySpec) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*AccessPolicyStatus) DeepCopyInto

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

DeepCopyInto for the AccessPolicy.Status

func (*AccessPolicyStatus) Descriptor

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

func (*AccessPolicyStatus) Equal

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

func (*AccessPolicyStatus) GetErrors

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

func (*AccessPolicyStatus) GetObservedGeneration

func (m *AccessPolicyStatus) GetObservedGeneration() int64

func (*AccessPolicyStatus) GetState

func (m *AccessPolicyStatus) GetState() ApprovalState

func (*AccessPolicyStatus) GetTrafficTargets

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

func (*AccessPolicyStatus) GetWorkloads

func (m *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) Reset

func (m *AccessPolicyStatus) Reset()

func (*AccessPolicyStatus) String

func (m *AccessPolicyStatus) String() string

func (*AccessPolicyStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AccessPolicyStatus

func (*AccessPolicyStatus) XXX_DiscardUnknown

func (m *AccessPolicyStatus) XXX_DiscardUnknown()

func (*AccessPolicyStatus) XXX_Marshal

func (m *AccessPolicyStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AccessPolicyStatus) XXX_Merge

func (m *AccessPolicyStatus) XXX_Merge(src proto.Message)

func (*AccessPolicyStatus) XXX_Size

func (m *AccessPolicyStatus) XXX_Size() int

func (*AccessPolicyStatus) XXX_Unmarshal

func (m *AccessPolicyStatus) XXX_Unmarshal(b []byte) error

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

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

func (ApprovalState) String

func (x ApprovalState) String() string

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*ApprovalStatus) Descriptor

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

func (*ApprovalStatus) Equal

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

func (*ApprovalStatus) GetAcceptanceOrder

func (m *ApprovalStatus) GetAcceptanceOrder() uint32

func (*ApprovalStatus) GetErrors

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

func (*ApprovalStatus) GetState

func (m *ApprovalStatus) GetState() ApprovalState

func (*ApprovalStatus) ProtoMessage

func (*ApprovalStatus) ProtoMessage()

func (*ApprovalStatus) Reset

func (m *ApprovalStatus) Reset()

func (*ApprovalStatus) String

func (m *ApprovalStatus) String() string

func (*ApprovalStatus) XXX_DiscardUnknown

func (m *ApprovalStatus) XXX_DiscardUnknown()

func (*ApprovalStatus) XXX_Marshal

func (m *ApprovalStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ApprovalStatus) XXX_Merge

func (m *ApprovalStatus) XXX_Merge(src proto.Message)

func (*ApprovalStatus) XXX_Size

func (m *ApprovalStatus) XXX_Size() int

func (*ApprovalStatus) XXX_Unmarshal

func (m *ApprovalStatus) XXX_Unmarshal(b []byte) error

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

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"`
	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
	XXX_unrecognized     []byte                                `json:"-"`
	XXX_sizecache        int32                                 `json:"-"`
}

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

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

func (*FailoverServiceSpec) Equal

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

func (*FailoverServiceSpec) GetBackingServices

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

func (*FailoverServiceSpec) GetHostname

func (m *FailoverServiceSpec) GetHostname() string

func (*FailoverServiceSpec) GetMeshes

func (m *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) Reset

func (m *FailoverServiceSpec) Reset()

func (*FailoverServiceSpec) String

func (m *FailoverServiceSpec) String() string

func (*FailoverServiceSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for FailoverServiceSpec

func (*FailoverServiceSpec) XXX_DiscardUnknown

func (m *FailoverServiceSpec) XXX_DiscardUnknown()

func (*FailoverServiceSpec) XXX_Marshal

func (m *FailoverServiceSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FailoverServiceSpec) XXX_Merge

func (m *FailoverServiceSpec) XXX_Merge(src proto.Message)

func (*FailoverServiceSpec) XXX_Size

func (m *FailoverServiceSpec) XXX_Size() int

func (*FailoverServiceSpec) XXX_Unmarshal

func (m *FailoverServiceSpec) XXX_Unmarshal(b []byte) error

type FailoverServiceSpec_BackingService

type FailoverServiceSpec_BackingService struct {
	// Different traffic target types can be selected as backing services.
	//
	// Types that are valid to be assigned to BackingServiceType:
	//	*FailoverServiceSpec_BackingService_KubeService
	BackingServiceType   isFailoverServiceSpec_BackingService_BackingServiceType `protobuf_oneof:"backing_service_type"`
	XXX_NoUnkeyedLiteral struct{}                                                `json:"-"`
	XXX_unrecognized     []byte                                                  `json:"-"`
	XXX_sizecache        int32                                                   `json:"-"`
}

The traffic targets that comprise the FailoverService.

func (*FailoverServiceSpec_BackingService) Descriptor

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

func (*FailoverServiceSpec_BackingService) Equal

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

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

func (*FailoverServiceSpec_BackingService) String

func (*FailoverServiceSpec_BackingService) XXX_DiscardUnknown

func (m *FailoverServiceSpec_BackingService) XXX_DiscardUnknown()

func (*FailoverServiceSpec_BackingService) XXX_Marshal

func (m *FailoverServiceSpec_BackingService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FailoverServiceSpec_BackingService) XXX_Merge

func (*FailoverServiceSpec_BackingService) XXX_OneofWrappers

func (*FailoverServiceSpec_BackingService) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*FailoverServiceSpec_BackingService) XXX_Size

func (*FailoverServiceSpec_BackingService) XXX_Unmarshal

func (m *FailoverServiceSpec_BackingService) XXX_Unmarshal(b []byte) error

type FailoverServiceSpec_BackingService_KubeService

type FailoverServiceSpec_BackingService_KubeService struct {
	KubeService *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof" json:"kube_service,omitempty"`
}

func (*FailoverServiceSpec_BackingService_KubeService) Equal

func (this *FailoverServiceSpec_BackingService_KubeService) Equal(that interface{}) bool

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

The port on which the FailoverService listens.

func (*FailoverServiceSpec_Port) Descriptor

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

func (*FailoverServiceSpec_Port) Equal

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

func (*FailoverServiceSpec_Port) GetNumber

func (m *FailoverServiceSpec_Port) GetNumber() uint32

func (*FailoverServiceSpec_Port) GetProtocol

func (m *FailoverServiceSpec_Port) GetProtocol() string

func (*FailoverServiceSpec_Port) ProtoMessage

func (*FailoverServiceSpec_Port) ProtoMessage()

func (*FailoverServiceSpec_Port) Reset

func (m *FailoverServiceSpec_Port) Reset()

func (*FailoverServiceSpec_Port) String

func (m *FailoverServiceSpec_Port) String() string

func (*FailoverServiceSpec_Port) XXX_DiscardUnknown

func (m *FailoverServiceSpec_Port) XXX_DiscardUnknown()

func (*FailoverServiceSpec_Port) XXX_Marshal

func (m *FailoverServiceSpec_Port) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FailoverServiceSpec_Port) XXX_Merge

func (m *FailoverServiceSpec_Port) XXX_Merge(src proto.Message)

func (*FailoverServiceSpec_Port) XXX_Size

func (m *FailoverServiceSpec_Port) XXX_Size() int

func (*FailoverServiceSpec_Port) XXX_Unmarshal

func (m *FailoverServiceSpec_Port) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FailoverServiceStatus) DeepCopyInto

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

DeepCopyInto for the FailoverService.Status

func (*FailoverServiceStatus) Descriptor

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

func (*FailoverServiceStatus) Equal

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

func (*FailoverServiceStatus) GetErrors

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

func (*FailoverServiceStatus) GetMeshes

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

func (*FailoverServiceStatus) GetObservedGeneration

func (m *FailoverServiceStatus) GetObservedGeneration() int64

func (*FailoverServiceStatus) GetState

func (m *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) Reset

func (m *FailoverServiceStatus) Reset()

func (*FailoverServiceStatus) String

func (m *FailoverServiceStatus) String() string

func (*FailoverServiceStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for FailoverServiceStatus

func (*FailoverServiceStatus) XXX_DiscardUnknown

func (m *FailoverServiceStatus) XXX_DiscardUnknown()

func (*FailoverServiceStatus) XXX_Marshal

func (m *FailoverServiceStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FailoverServiceStatus) XXX_Merge

func (m *FailoverServiceStatus) XXX_Merge(src proto.Message)

func (*FailoverServiceStatus) XXX_Size

func (m *FailoverServiceStatus) XXX_Size() int

func (*FailoverServiceStatus) XXX_Unmarshal

func (m *FailoverServiceStatus) XXX_Unmarshal(b []byte) error

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 */
	XXX_NoUnkeyedLiteral   struct{}                                 `json:"-"`
	XXX_unrecognized       []byte                                   `json:"-"`
	XXX_sizecache          int32                                    `json:"-"`
}

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

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

func (*IdentitySelector) Equal

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

func (*IdentitySelector) GetKubeIdentityMatcher

func (m *IdentitySelector) GetKubeIdentityMatcher() *IdentitySelector_KubeIdentityMatcher

func (*IdentitySelector) GetKubeServiceAccountRefs

func (m *IdentitySelector) GetKubeServiceAccountRefs() *IdentitySelector_KubeServiceAccountRefs

func (*IdentitySelector) ProtoMessage

func (*IdentitySelector) ProtoMessage()

func (*IdentitySelector) Reset

func (m *IdentitySelector) Reset()

func (*IdentitySelector) String

func (m *IdentitySelector) String() string

func (*IdentitySelector) XXX_DiscardUnknown

func (m *IdentitySelector) XXX_DiscardUnknown()

func (*IdentitySelector) XXX_Marshal

func (m *IdentitySelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IdentitySelector) XXX_Merge

func (m *IdentitySelector) XXX_Merge(src proto.Message)

func (*IdentitySelector) XXX_Size

func (m *IdentitySelector) XXX_Size() int

func (*IdentitySelector) XXX_Unmarshal

func (m *IdentitySelector) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*IdentitySelector_KubeIdentityMatcher) Descriptor

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

func (*IdentitySelector_KubeIdentityMatcher) Equal

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

func (*IdentitySelector_KubeIdentityMatcher) GetClusters

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

func (*IdentitySelector_KubeIdentityMatcher) GetNamespaces

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

func (*IdentitySelector_KubeIdentityMatcher) ProtoMessage

func (*IdentitySelector_KubeIdentityMatcher) ProtoMessage()

func (*IdentitySelector_KubeIdentityMatcher) Reset

func (*IdentitySelector_KubeIdentityMatcher) String

func (*IdentitySelector_KubeIdentityMatcher) XXX_DiscardUnknown

func (m *IdentitySelector_KubeIdentityMatcher) XXX_DiscardUnknown()

func (*IdentitySelector_KubeIdentityMatcher) XXX_Marshal

func (m *IdentitySelector_KubeIdentityMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IdentitySelector_KubeIdentityMatcher) XXX_Merge

func (*IdentitySelector_KubeIdentityMatcher) XXX_Size

func (*IdentitySelector_KubeIdentityMatcher) XXX_Unmarshal

func (m *IdentitySelector_KubeIdentityMatcher) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (*IdentitySelector_KubeServiceAccountRefs) Descriptor

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

func (*IdentitySelector_KubeServiceAccountRefs) Equal

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

func (*IdentitySelector_KubeServiceAccountRefs) GetServiceAccounts

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

func (*IdentitySelector_KubeServiceAccountRefs) ProtoMessage

func (*IdentitySelector_KubeServiceAccountRefs) Reset

func (*IdentitySelector_KubeServiceAccountRefs) String

func (*IdentitySelector_KubeServiceAccountRefs) XXX_DiscardUnknown

func (m *IdentitySelector_KubeServiceAccountRefs) XXX_DiscardUnknown()

func (*IdentitySelector_KubeServiceAccountRefs) XXX_Marshal

func (m *IdentitySelector_KubeServiceAccountRefs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IdentitySelector_KubeServiceAccountRefs) XXX_Merge

func (*IdentitySelector_KubeServiceAccountRefs) XXX_Size

func (*IdentitySelector_KubeServiceAccountRefs) XXX_Unmarshal

func (m *IdentitySelector_KubeServiceAccountRefs) XXX_Unmarshal(b []byte) error

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

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 *types.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"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

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

func (*TrafficPolicySpec) Equal

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

func (*TrafficPolicySpec) GetCorsPolicy

func (m *TrafficPolicySpec) GetCorsPolicy() *TrafficPolicySpec_CorsPolicy

func (*TrafficPolicySpec) GetDestinationSelector

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

func (*TrafficPolicySpec) GetFaultInjection

func (m *TrafficPolicySpec) GetFaultInjection() *TrafficPolicySpec_FaultInjection

func (*TrafficPolicySpec) GetHeaderManipulation

func (m *TrafficPolicySpec) GetHeaderManipulation() *TrafficPolicySpec_HeaderManipulation

func (*TrafficPolicySpec) GetHttpRequestMatchers

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

func (*TrafficPolicySpec) GetMirror

func (*TrafficPolicySpec) GetMtls

func (*TrafficPolicySpec) GetOutlierDetection

func (m *TrafficPolicySpec) GetOutlierDetection() *TrafficPolicySpec_OutlierDetection

func (*TrafficPolicySpec) GetRequestTimeout

func (m *TrafficPolicySpec) GetRequestTimeout() *types.Duration

func (*TrafficPolicySpec) GetRetries

func (*TrafficPolicySpec) GetSourceSelector

func (m *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) Reset

func (m *TrafficPolicySpec) Reset()

func (*TrafficPolicySpec) String

func (m *TrafficPolicySpec) String() string

func (*TrafficPolicySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TrafficPolicySpec

func (*TrafficPolicySpec) XXX_DiscardUnknown

func (m *TrafficPolicySpec) XXX_DiscardUnknown()

func (*TrafficPolicySpec) XXX_Marshal

func (m *TrafficPolicySpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec) XXX_Merge

func (m *TrafficPolicySpec) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec) XXX_Size

func (m *TrafficPolicySpec) XXX_Size() int

func (*TrafficPolicySpec) XXX_Unmarshal

func (m *TrafficPolicySpec) XXX_Unmarshal(b []byte) error

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 *types.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     *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*TrafficPolicySpec_CorsPolicy) Descriptor

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

func (*TrafficPolicySpec_CorsPolicy) Equal

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

func (*TrafficPolicySpec_CorsPolicy) GetAllowCredentials

func (m *TrafficPolicySpec_CorsPolicy) GetAllowCredentials() *types.BoolValue

func (*TrafficPolicySpec_CorsPolicy) GetAllowHeaders

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

func (*TrafficPolicySpec_CorsPolicy) GetAllowMethods

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

func (*TrafficPolicySpec_CorsPolicy) GetAllowOrigins

func (*TrafficPolicySpec_CorsPolicy) GetExposeHeaders

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

func (*TrafficPolicySpec_CorsPolicy) GetMaxAge

func (*TrafficPolicySpec_CorsPolicy) ProtoMessage

func (*TrafficPolicySpec_CorsPolicy) ProtoMessage()

func (*TrafficPolicySpec_CorsPolicy) Reset

func (m *TrafficPolicySpec_CorsPolicy) Reset()

func (*TrafficPolicySpec_CorsPolicy) String

func (*TrafficPolicySpec_CorsPolicy) XXX_DiscardUnknown

func (m *TrafficPolicySpec_CorsPolicy) XXX_DiscardUnknown()

func (*TrafficPolicySpec_CorsPolicy) XXX_Marshal

func (m *TrafficPolicySpec_CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_CorsPolicy) XXX_Merge

func (m *TrafficPolicySpec_CorsPolicy) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_CorsPolicy) XXX_Size

func (m *TrafficPolicySpec_CorsPolicy) XXX_Size() int

func (*TrafficPolicySpec_CorsPolicy) XXX_Unmarshal

func (m *TrafficPolicySpec_CorsPolicy) XXX_Unmarshal(b []byte) error

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 valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*TrafficPolicySpec_FaultInjection) Equal

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

func (*TrafficPolicySpec_FaultInjection) GetAbort

func (*TrafficPolicySpec_FaultInjection) GetExponentialDelay

func (m *TrafficPolicySpec_FaultInjection) GetExponentialDelay() *types.Duration

func (*TrafficPolicySpec_FaultInjection) GetFaultInjectionType

func (m *TrafficPolicySpec_FaultInjection) GetFaultInjectionType() isTrafficPolicySpec_FaultInjection_FaultInjectionType

func (*TrafficPolicySpec_FaultInjection) GetFixedDelay

func (m *TrafficPolicySpec_FaultInjection) GetFixedDelay() *types.Duration

func (*TrafficPolicySpec_FaultInjection) GetPercentage

func (m *TrafficPolicySpec_FaultInjection) GetPercentage() float64

func (*TrafficPolicySpec_FaultInjection) ProtoMessage

func (*TrafficPolicySpec_FaultInjection) ProtoMessage()

func (*TrafficPolicySpec_FaultInjection) Reset

func (*TrafficPolicySpec_FaultInjection) String

func (*TrafficPolicySpec_FaultInjection) XXX_DiscardUnknown

func (m *TrafficPolicySpec_FaultInjection) XXX_DiscardUnknown()

func (*TrafficPolicySpec_FaultInjection) XXX_Marshal

func (m *TrafficPolicySpec_FaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_FaultInjection) XXX_Merge

func (*TrafficPolicySpec_FaultInjection) XXX_OneofWrappers

func (*TrafficPolicySpec_FaultInjection) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*TrafficPolicySpec_FaultInjection) XXX_Size

func (m *TrafficPolicySpec_FaultInjection) XXX_Size() int

func (*TrafficPolicySpec_FaultInjection) XXX_Unmarshal

func (m *TrafficPolicySpec_FaultInjection) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*TrafficPolicySpec_FaultInjection_Abort) Equal

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

func (*TrafficPolicySpec_FaultInjection_Abort) GetHttpStatus

func (m *TrafficPolicySpec_FaultInjection_Abort) GetHttpStatus() int32

func (*TrafficPolicySpec_FaultInjection_Abort) ProtoMessage

func (*TrafficPolicySpec_FaultInjection_Abort) Reset

func (*TrafficPolicySpec_FaultInjection_Abort) String

func (*TrafficPolicySpec_FaultInjection_Abort) XXX_DiscardUnknown

func (m *TrafficPolicySpec_FaultInjection_Abort) XXX_DiscardUnknown()

func (*TrafficPolicySpec_FaultInjection_Abort) XXX_Marshal

func (m *TrafficPolicySpec_FaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_FaultInjection_Abort) XXX_Merge

func (*TrafficPolicySpec_FaultInjection_Abort) XXX_Size

func (*TrafficPolicySpec_FaultInjection_Abort) XXX_Unmarshal

func (m *TrafficPolicySpec_FaultInjection_Abort) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_FaultInjection_Abort_

type TrafficPolicySpec_FaultInjection_Abort_ struct {
	Abort *TrafficPolicySpec_FaultInjection_Abort `protobuf:"bytes,3,opt,name=abort,proto3,oneof" json:"abort,omitempty"`
}

func (*TrafficPolicySpec_FaultInjection_Abort_) Equal

func (this *TrafficPolicySpec_FaultInjection_Abort_) Equal(that interface{}) bool

type TrafficPolicySpec_FaultInjection_ExponentialDelay

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

func (*TrafficPolicySpec_FaultInjection_ExponentialDelay) Equal

func (this *TrafficPolicySpec_FaultInjection_ExponentialDelay) Equal(that interface{}) bool

type TrafficPolicySpec_FaultInjection_FixedDelay

type TrafficPolicySpec_FaultInjection_FixedDelay struct {
	FixedDelay *types.Duration `protobuf:"bytes,1,opt,name=fixed_delay,json=fixedDelay,proto3,oneof" json:"fixed_delay,omitempty"`
}

func (*TrafficPolicySpec_FaultInjection_FixedDelay) Equal

func (this *TrafficPolicySpec_FaultInjection_FixedDelay) Equal(that interface{}) bool

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 */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Manipulate request and response headers.

func (*TrafficPolicySpec_HeaderManipulation) Descriptor

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

func (*TrafficPolicySpec_HeaderManipulation) Equal

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

func (*TrafficPolicySpec_HeaderManipulation) GetAppendRequestHeaders

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

func (*TrafficPolicySpec_HeaderManipulation) GetAppendResponseHeaders

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

func (*TrafficPolicySpec_HeaderManipulation) GetRemoveRequestHeaders

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

func (*TrafficPolicySpec_HeaderManipulation) GetRemoveResponseHeaders

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

func (*TrafficPolicySpec_HeaderManipulation) ProtoMessage

func (*TrafficPolicySpec_HeaderManipulation) ProtoMessage()

func (*TrafficPolicySpec_HeaderManipulation) Reset

func (*TrafficPolicySpec_HeaderManipulation) String

func (*TrafficPolicySpec_HeaderManipulation) XXX_DiscardUnknown

func (m *TrafficPolicySpec_HeaderManipulation) XXX_DiscardUnknown()

func (*TrafficPolicySpec_HeaderManipulation) XXX_Marshal

func (m *TrafficPolicySpec_HeaderManipulation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_HeaderManipulation) XXX_Merge

func (*TrafficPolicySpec_HeaderManipulation) XXX_Size

func (*TrafficPolicySpec_HeaderManipulation) XXX_Unmarshal

func (m *TrafficPolicySpec_HeaderManipulation) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_HeaderMatcher

type TrafficPolicySpec_HeaderMatcher struct {
	// Specifies the name of the header in the request.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	//
	//Specifies the value of the header. If the value is absent a request that
	//has the name header will match, regardless of the header’s value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// Specifies whether the header value should be treated as regex or not.
	Regex bool `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"`
	//
	//If set to true, the result of the match will be inverted. Defaults to false.
	//
	//Examples:
	// name=foo, invert_match=true: matches if no header named `foo` is present
	// name=foo, value=bar, invert_match=true: matches if no header named `foo` with value `bar` is present
	// name=foo, value=“\d{3}“, regex=true, invert_match=true: matches if no header named `foo` with a value consisting of three integers is present
	InvertMatch          bool     `protobuf:"varint,4,opt,name=invert_match,json=invertMatch,proto3" json:"invert_match,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TrafficPolicySpec_HeaderMatcher) Descriptor

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

func (*TrafficPolicySpec_HeaderMatcher) Equal

func (this *TrafficPolicySpec_HeaderMatcher) Equal(that interface{}) bool

func (*TrafficPolicySpec_HeaderMatcher) GetInvertMatch

func (m *TrafficPolicySpec_HeaderMatcher) GetInvertMatch() bool

func (*TrafficPolicySpec_HeaderMatcher) GetName

func (*TrafficPolicySpec_HeaderMatcher) GetRegex

func (m *TrafficPolicySpec_HeaderMatcher) GetRegex() bool

func (*TrafficPolicySpec_HeaderMatcher) GetValue

func (*TrafficPolicySpec_HeaderMatcher) ProtoMessage

func (*TrafficPolicySpec_HeaderMatcher) ProtoMessage()

func (*TrafficPolicySpec_HeaderMatcher) Reset

func (*TrafficPolicySpec_HeaderMatcher) String

func (*TrafficPolicySpec_HeaderMatcher) XXX_DiscardUnknown

func (m *TrafficPolicySpec_HeaderMatcher) XXX_DiscardUnknown()

func (*TrafficPolicySpec_HeaderMatcher) XXX_Marshal

func (m *TrafficPolicySpec_HeaderMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_HeaderMatcher) XXX_Merge

func (m *TrafficPolicySpec_HeaderMatcher) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_HeaderMatcher) XXX_Size

func (m *TrafficPolicySpec_HeaderMatcher) XXX_Size() int

func (*TrafficPolicySpec_HeaderMatcher) XXX_Unmarshal

func (m *TrafficPolicySpec_HeaderMatcher) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_HttpMatcher

type TrafficPolicySpec_HttpMatcher struct {
	// Types that are valid to be assigned 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 []*TrafficPolicySpec_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"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

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

func (*TrafficPolicySpec_HttpMatcher) Descriptor

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

func (*TrafficPolicySpec_HttpMatcher) Equal

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

func (*TrafficPolicySpec_HttpMatcher) GetExact

func (m *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 (m *TrafficPolicySpec_HttpMatcher) GetPrefix() string

func (*TrafficPolicySpec_HttpMatcher) GetQueryParameters

func (*TrafficPolicySpec_HttpMatcher) GetRegex

func (m *TrafficPolicySpec_HttpMatcher) GetRegex() string

func (*TrafficPolicySpec_HttpMatcher) ProtoMessage

func (*TrafficPolicySpec_HttpMatcher) ProtoMessage()

func (*TrafficPolicySpec_HttpMatcher) Reset

func (m *TrafficPolicySpec_HttpMatcher) Reset()

func (*TrafficPolicySpec_HttpMatcher) String

func (*TrafficPolicySpec_HttpMatcher) XXX_DiscardUnknown

func (m *TrafficPolicySpec_HttpMatcher) XXX_DiscardUnknown()

func (*TrafficPolicySpec_HttpMatcher) XXX_Marshal

func (m *TrafficPolicySpec_HttpMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_HttpMatcher) XXX_Merge

func (m *TrafficPolicySpec_HttpMatcher) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_HttpMatcher) XXX_OneofWrappers

func (*TrafficPolicySpec_HttpMatcher) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*TrafficPolicySpec_HttpMatcher) XXX_Size

func (m *TrafficPolicySpec_HttpMatcher) XXX_Size() int

func (*TrafficPolicySpec_HttpMatcher) XXX_Unmarshal

func (m *TrafficPolicySpec_HttpMatcher) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_HttpMatcher_Exact

type TrafficPolicySpec_HttpMatcher_Exact struct {
	Exact string `protobuf:"bytes,2,opt,name=exact,proto3,oneof" json:"exact,omitempty"`
}

func (*TrafficPolicySpec_HttpMatcher_Exact) Equal

func (this *TrafficPolicySpec_HttpMatcher_Exact) Equal(that interface{}) bool

type TrafficPolicySpec_HttpMatcher_Prefix

type TrafficPolicySpec_HttpMatcher_Prefix struct {
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"`
}

func (*TrafficPolicySpec_HttpMatcher_Prefix) Equal

func (this *TrafficPolicySpec_HttpMatcher_Prefix) Equal(that interface{}) bool

type TrafficPolicySpec_HttpMatcher_Regex

type TrafficPolicySpec_HttpMatcher_Regex struct {
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof" json:"regex,omitempty"`
}

func (*TrafficPolicySpec_HttpMatcher_Regex) Equal

func (this *TrafficPolicySpec_HttpMatcher_Regex) Equal(that interface{}) bool

type TrafficPolicySpec_HttpMethod

type TrafficPolicySpec_HttpMethod struct {
	Method               types1.HttpMethodValue `protobuf:"varint,1,opt,name=method,proto3,enum=networking.mesh.gloo.solo.io.HttpMethodValue" json:"method,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

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

func (*TrafficPolicySpec_HttpMethod) Descriptor

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

func (*TrafficPolicySpec_HttpMethod) Equal

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

func (*TrafficPolicySpec_HttpMethod) GetMethod

func (*TrafficPolicySpec_HttpMethod) ProtoMessage

func (*TrafficPolicySpec_HttpMethod) ProtoMessage()

func (*TrafficPolicySpec_HttpMethod) Reset

func (m *TrafficPolicySpec_HttpMethod) Reset()

func (*TrafficPolicySpec_HttpMethod) String

func (*TrafficPolicySpec_HttpMethod) XXX_DiscardUnknown

func (m *TrafficPolicySpec_HttpMethod) XXX_DiscardUnknown()

func (*TrafficPolicySpec_HttpMethod) XXX_Marshal

func (m *TrafficPolicySpec_HttpMethod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_HttpMethod) XXX_Merge

func (m *TrafficPolicySpec_HttpMethod) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_HttpMethod) XXX_Size

func (m *TrafficPolicySpec_HttpMethod) XXX_Size() int

func (*TrafficPolicySpec_HttpMethod) XXX_Unmarshal

func (m *TrafficPolicySpec_HttpMethod) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_MTLS

type TrafficPolicySpec_MTLS struct {
	// Istio TLS settings
	Istio                *TrafficPolicySpec_MTLS_Istio `protobuf:"bytes,1,opt,name=istio,proto3" json:"istio,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

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

func (*TrafficPolicySpec_MTLS) Descriptor

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

func (*TrafficPolicySpec_MTLS) Equal

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

func (*TrafficPolicySpec_MTLS) GetIstio

func (*TrafficPolicySpec_MTLS) ProtoMessage

func (*TrafficPolicySpec_MTLS) ProtoMessage()

func (*TrafficPolicySpec_MTLS) Reset

func (m *TrafficPolicySpec_MTLS) Reset()

func (*TrafficPolicySpec_MTLS) String

func (m *TrafficPolicySpec_MTLS) String() string

func (*TrafficPolicySpec_MTLS) XXX_DiscardUnknown

func (m *TrafficPolicySpec_MTLS) XXX_DiscardUnknown()

func (*TrafficPolicySpec_MTLS) XXX_Marshal

func (m *TrafficPolicySpec_MTLS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_MTLS) XXX_Merge

func (m *TrafficPolicySpec_MTLS) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_MTLS) XXX_Size

func (m *TrafficPolicySpec_MTLS) XXX_Size() int

func (*TrafficPolicySpec_MTLS) XXX_Unmarshal

func (m *TrafficPolicySpec_MTLS) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_MTLS_Istio

type TrafficPolicySpec_MTLS_Istio struct {
	// TLS connection mode
	TlsMode              TrafficPolicySpec_MTLS_Istio_TLSmode `` /* 154-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

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

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

func (*TrafficPolicySpec_MTLS_Istio) Equal

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

func (*TrafficPolicySpec_MTLS_Istio) GetTlsMode

func (*TrafficPolicySpec_MTLS_Istio) ProtoMessage

func (*TrafficPolicySpec_MTLS_Istio) ProtoMessage()

func (*TrafficPolicySpec_MTLS_Istio) Reset

func (m *TrafficPolicySpec_MTLS_Istio) Reset()

func (*TrafficPolicySpec_MTLS_Istio) String

func (*TrafficPolicySpec_MTLS_Istio) XXX_DiscardUnknown

func (m *TrafficPolicySpec_MTLS_Istio) XXX_DiscardUnknown()

func (*TrafficPolicySpec_MTLS_Istio) XXX_Marshal

func (m *TrafficPolicySpec_MTLS_Istio) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_MTLS_Istio) XXX_Merge

func (m *TrafficPolicySpec_MTLS_Istio) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_MTLS_Istio) XXX_Size

func (m *TrafficPolicySpec_MTLS_Istio) XXX_Size() int

func (*TrafficPolicySpec_MTLS_Istio) XXX_Unmarshal

func (m *TrafficPolicySpec_MTLS_Istio) XXX_Unmarshal(b []byte) error

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

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

func (TrafficPolicySpec_MTLS_Istio_TLSmode) String

type TrafficPolicySpec_Mirror

type TrafficPolicySpec_Mirror struct {
	// Different destination types can be selected mirroring traffic.
	//
	// Types that are valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TrafficPolicySpec_Mirror) Descriptor

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

func (*TrafficPolicySpec_Mirror) Equal

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

func (*TrafficPolicySpec_Mirror) GetDestinationType

func (m *TrafficPolicySpec_Mirror) GetDestinationType() isTrafficPolicySpec_Mirror_DestinationType

func (*TrafficPolicySpec_Mirror) GetKubeService

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

func (*TrafficPolicySpec_Mirror) GetPercentage

func (m *TrafficPolicySpec_Mirror) GetPercentage() float64

func (*TrafficPolicySpec_Mirror) GetPort

func (m *TrafficPolicySpec_Mirror) GetPort() uint32

func (*TrafficPolicySpec_Mirror) ProtoMessage

func (*TrafficPolicySpec_Mirror) ProtoMessage()

func (*TrafficPolicySpec_Mirror) Reset

func (m *TrafficPolicySpec_Mirror) Reset()

func (*TrafficPolicySpec_Mirror) String

func (m *TrafficPolicySpec_Mirror) String() string

func (*TrafficPolicySpec_Mirror) XXX_DiscardUnknown

func (m *TrafficPolicySpec_Mirror) XXX_DiscardUnknown()

func (*TrafficPolicySpec_Mirror) XXX_Marshal

func (m *TrafficPolicySpec_Mirror) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_Mirror) XXX_Merge

func (m *TrafficPolicySpec_Mirror) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_Mirror) XXX_OneofWrappers

func (*TrafficPolicySpec_Mirror) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*TrafficPolicySpec_Mirror) XXX_Size

func (m *TrafficPolicySpec_Mirror) XXX_Size() int

func (*TrafficPolicySpec_Mirror) XXX_Unmarshal

func (m *TrafficPolicySpec_Mirror) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_Mirror_KubeService

type TrafficPolicySpec_Mirror_KubeService struct {
	KubeService *v1.ClusterObjectRef `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof" json:"kube_service,omitempty"`
}

func (*TrafficPolicySpec_Mirror_KubeService) Equal

func (this *TrafficPolicySpec_Mirror_KubeService) Equal(that interface{}) bool

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"`
	XXX_NoUnkeyedLiteral struct{}                                                  `json:"-"`
	XXX_unrecognized     []byte                                                    `json:"-"`
	XXX_sizecache        int32                                                     `json:"-"`
}

func (*TrafficPolicySpec_MultiDestination) Descriptor

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

func (*TrafficPolicySpec_MultiDestination) Equal

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

func (*TrafficPolicySpec_MultiDestination) GetDestinations

func (*TrafficPolicySpec_MultiDestination) ProtoMessage

func (*TrafficPolicySpec_MultiDestination) ProtoMessage()

func (*TrafficPolicySpec_MultiDestination) Reset

func (*TrafficPolicySpec_MultiDestination) String

func (*TrafficPolicySpec_MultiDestination) XXX_DiscardUnknown

func (m *TrafficPolicySpec_MultiDestination) XXX_DiscardUnknown()

func (*TrafficPolicySpec_MultiDestination) XXX_Marshal

func (m *TrafficPolicySpec_MultiDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_MultiDestination) XXX_Merge

func (*TrafficPolicySpec_MultiDestination) XXX_Size

func (*TrafficPolicySpec_MultiDestination) XXX_Unmarshal

func (m *TrafficPolicySpec_MultiDestination) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_MultiDestination_WeightedDestination

type TrafficPolicySpec_MultiDestination_WeightedDestination struct {
	// The different destination types can be selected for a traffic shift.
	//
	// Types that are valid to be assigned to DestinationType:
	//	*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService
	//	*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) Descriptor

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) Equal

func (this *TrafficPolicySpec_MultiDestination_WeightedDestination) Equal(that interface{}) bool

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

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) String

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_DiscardUnknown

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_Marshal

func (m *TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_Merge

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_OneofWrappers

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_Size

func (*TrafficPolicySpec_MultiDestination_WeightedDestination) XXX_Unmarshal

type TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService

type TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService struct {
	FailoverService *TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination `protobuf:"bytes,3,opt,name=failover_service,json=failoverService,proto3,oneof" json:"failover_service,omitempty"`
}

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverService) Equal

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 */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

A traffic shift destination that references a FailoverService.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) Descriptor

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) Equal

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

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) String

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) XXX_DiscardUnknown

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) XXX_Marshal

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) XXX_Merge

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) XXX_Size

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_FailoverServiceDestination) XXX_Unmarshal

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A traffic shift destination which lives in kubernetes.

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) Descriptor

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) Equal

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

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) String

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) XXX_DiscardUnknown

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) XXX_Marshal

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) XXX_Merge

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) XXX_Size

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination) XXX_Unmarshal

type TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService

type TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService struct {
	KubeService *TrafficPolicySpec_MultiDestination_WeightedDestination_KubeDestination `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof" json:"kube_service,omitempty"`
}

func (*TrafficPolicySpec_MultiDestination_WeightedDestination_KubeService) Equal

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 *types.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 *types.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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*TrafficPolicySpec_OutlierDetection) Equal

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

func (*TrafficPolicySpec_OutlierDetection) GetBaseEjectionTime

func (m *TrafficPolicySpec_OutlierDetection) GetBaseEjectionTime() *types.Duration

func (*TrafficPolicySpec_OutlierDetection) GetConsecutiveErrors

func (m *TrafficPolicySpec_OutlierDetection) GetConsecutiveErrors() uint32

func (*TrafficPolicySpec_OutlierDetection) GetInterval

func (*TrafficPolicySpec_OutlierDetection) GetMaxEjectionPercent

func (m *TrafficPolicySpec_OutlierDetection) GetMaxEjectionPercent() uint32

func (*TrafficPolicySpec_OutlierDetection) ProtoMessage

func (*TrafficPolicySpec_OutlierDetection) ProtoMessage()

func (*TrafficPolicySpec_OutlierDetection) Reset

func (*TrafficPolicySpec_OutlierDetection) String

func (*TrafficPolicySpec_OutlierDetection) XXX_DiscardUnknown

func (m *TrafficPolicySpec_OutlierDetection) XXX_DiscardUnknown()

func (*TrafficPolicySpec_OutlierDetection) XXX_Marshal

func (m *TrafficPolicySpec_OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_OutlierDetection) XXX_Merge

func (*TrafficPolicySpec_OutlierDetection) XXX_Size

func (*TrafficPolicySpec_OutlierDetection) XXX_Unmarshal

func (m *TrafficPolicySpec_OutlierDetection) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*TrafficPolicySpec_QueryParameterMatcher) Equal

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

func (*TrafficPolicySpec_QueryParameterMatcher) GetName

func (*TrafficPolicySpec_QueryParameterMatcher) GetRegex

func (*TrafficPolicySpec_QueryParameterMatcher) GetValue

func (*TrafficPolicySpec_QueryParameterMatcher) ProtoMessage

func (*TrafficPolicySpec_QueryParameterMatcher) Reset

func (*TrafficPolicySpec_QueryParameterMatcher) String

func (*TrafficPolicySpec_QueryParameterMatcher) XXX_DiscardUnknown

func (m *TrafficPolicySpec_QueryParameterMatcher) XXX_DiscardUnknown()

func (*TrafficPolicySpec_QueryParameterMatcher) XXX_Marshal

func (m *TrafficPolicySpec_QueryParameterMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_QueryParameterMatcher) XXX_Merge

func (*TrafficPolicySpec_QueryParameterMatcher) XXX_Size

func (*TrafficPolicySpec_QueryParameterMatcher) XXX_Unmarshal

func (m *TrafficPolicySpec_QueryParameterMatcher) XXX_Unmarshal(b []byte) error

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        *types.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

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

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

func (*TrafficPolicySpec_RetryPolicy) Equal

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

func (*TrafficPolicySpec_RetryPolicy) GetAttempts

func (m *TrafficPolicySpec_RetryPolicy) GetAttempts() int32

func (*TrafficPolicySpec_RetryPolicy) GetPerTryTimeout

func (m *TrafficPolicySpec_RetryPolicy) GetPerTryTimeout() *types.Duration

func (*TrafficPolicySpec_RetryPolicy) ProtoMessage

func (*TrafficPolicySpec_RetryPolicy) ProtoMessage()

func (*TrafficPolicySpec_RetryPolicy) Reset

func (m *TrafficPolicySpec_RetryPolicy) Reset()

func (*TrafficPolicySpec_RetryPolicy) String

func (*TrafficPolicySpec_RetryPolicy) XXX_DiscardUnknown

func (m *TrafficPolicySpec_RetryPolicy) XXX_DiscardUnknown()

func (*TrafficPolicySpec_RetryPolicy) XXX_Marshal

func (m *TrafficPolicySpec_RetryPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_RetryPolicy) XXX_Merge

func (m *TrafficPolicySpec_RetryPolicy) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_RetryPolicy) XXX_Size

func (m *TrafficPolicySpec_RetryPolicy) XXX_Size() int

func (*TrafficPolicySpec_RetryPolicy) XXX_Unmarshal

func (m *TrafficPolicySpec_RetryPolicy) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_StringMatch

type TrafficPolicySpec_StringMatch struct {
	// Types that are valid to be assigned to MatchType:
	//	*TrafficPolicySpec_StringMatch_Exact
	//	*TrafficPolicySpec_StringMatch_Prefix
	//	*TrafficPolicySpec_StringMatch_Regex
	MatchType            isTrafficPolicySpec_StringMatch_MatchType `protobuf_oneof:"match_type"`
	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
	XXX_unrecognized     []byte                                    `json:"-"`
	XXX_sizecache        int32                                     `json:"-"`
}

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

func (*TrafficPolicySpec_StringMatch) Descriptor

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

func (*TrafficPolicySpec_StringMatch) Equal

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

func (*TrafficPolicySpec_StringMatch) GetExact

func (m *TrafficPolicySpec_StringMatch) GetExact() string

func (*TrafficPolicySpec_StringMatch) GetMatchType

func (m *TrafficPolicySpec_StringMatch) GetMatchType() isTrafficPolicySpec_StringMatch_MatchType

func (*TrafficPolicySpec_StringMatch) GetPrefix

func (m *TrafficPolicySpec_StringMatch) GetPrefix() string

func (*TrafficPolicySpec_StringMatch) GetRegex

func (m *TrafficPolicySpec_StringMatch) GetRegex() string

func (*TrafficPolicySpec_StringMatch) ProtoMessage

func (*TrafficPolicySpec_StringMatch) ProtoMessage()

func (*TrafficPolicySpec_StringMatch) Reset

func (m *TrafficPolicySpec_StringMatch) Reset()

func (*TrafficPolicySpec_StringMatch) String

func (*TrafficPolicySpec_StringMatch) XXX_DiscardUnknown

func (m *TrafficPolicySpec_StringMatch) XXX_DiscardUnknown()

func (*TrafficPolicySpec_StringMatch) XXX_Marshal

func (m *TrafficPolicySpec_StringMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicySpec_StringMatch) XXX_Merge

func (m *TrafficPolicySpec_StringMatch) XXX_Merge(src proto.Message)

func (*TrafficPolicySpec_StringMatch) XXX_OneofWrappers

func (*TrafficPolicySpec_StringMatch) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*TrafficPolicySpec_StringMatch) XXX_Size

func (m *TrafficPolicySpec_StringMatch) XXX_Size() int

func (*TrafficPolicySpec_StringMatch) XXX_Unmarshal

func (m *TrafficPolicySpec_StringMatch) XXX_Unmarshal(b []byte) error

type TrafficPolicySpec_StringMatch_Exact

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

func (*TrafficPolicySpec_StringMatch_Exact) Equal

func (this *TrafficPolicySpec_StringMatch_Exact) Equal(that interface{}) bool

type TrafficPolicySpec_StringMatch_Prefix

type TrafficPolicySpec_StringMatch_Prefix struct {
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"`
}

func (*TrafficPolicySpec_StringMatch_Prefix) Equal

func (this *TrafficPolicySpec_StringMatch_Prefix) Equal(that interface{}) bool

type TrafficPolicySpec_StringMatch_Regex

type TrafficPolicySpec_StringMatch_Regex struct {
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof" json:"regex,omitempty"`
}

func (*TrafficPolicySpec_StringMatch_Regex) Equal

func (this *TrafficPolicySpec_StringMatch_Regex) Equal(that interface{}) bool

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TrafficPolicyStatus) DeepCopyInto

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

DeepCopyInto for the TrafficPolicy.Status

func (*TrafficPolicyStatus) Descriptor

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

func (*TrafficPolicyStatus) Equal

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

func (*TrafficPolicyStatus) GetErrors

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

func (*TrafficPolicyStatus) GetObservedGeneration

func (m *TrafficPolicyStatus) GetObservedGeneration() int64

func (*TrafficPolicyStatus) GetState

func (m *TrafficPolicyStatus) GetState() ApprovalState

func (*TrafficPolicyStatus) GetTrafficTargets

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

func (*TrafficPolicyStatus) GetWorkloads

func (m *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) Reset

func (m *TrafficPolicyStatus) Reset()

func (*TrafficPolicyStatus) String

func (m *TrafficPolicyStatus) String() string

func (*TrafficPolicyStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TrafficPolicyStatus

func (*TrafficPolicyStatus) XXX_DiscardUnknown

func (m *TrafficPolicyStatus) XXX_DiscardUnknown()

func (*TrafficPolicyStatus) XXX_Marshal

func (m *TrafficPolicyStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficPolicyStatus) XXX_Merge

func (m *TrafficPolicyStatus) XXX_Merge(src proto.Message)

func (*TrafficPolicyStatus) XXX_Size

func (m *TrafficPolicyStatus) XXX_Size() int

func (*TrafficPolicyStatus) XXX_Unmarshal

func (m *TrafficPolicyStatus) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
	XXX_unrecognized     []byte                                 `json:"-"`
	XXX_sizecache        int32                                  `json:"-"`
}

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

func (*TrafficTargetSelector) Descriptor

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

func (*TrafficTargetSelector) Equal

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

func (*TrafficTargetSelector) GetKubeServiceMatcher

func (*TrafficTargetSelector) GetKubeServiceRefs

func (*TrafficTargetSelector) ProtoMessage

func (*TrafficTargetSelector) ProtoMessage()

func (*TrafficTargetSelector) Reset

func (m *TrafficTargetSelector) Reset()

func (*TrafficTargetSelector) String

func (m *TrafficTargetSelector) String() string

func (*TrafficTargetSelector) XXX_DiscardUnknown

func (m *TrafficTargetSelector) XXX_DiscardUnknown()

func (*TrafficTargetSelector) XXX_Marshal

func (m *TrafficTargetSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficTargetSelector) XXX_Merge

func (m *TrafficTargetSelector) XXX_Merge(src proto.Message)

func (*TrafficTargetSelector) XXX_Size

func (m *TrafficTargetSelector) XXX_Size() int

func (*TrafficTargetSelector) XXX_Unmarshal

func (m *TrafficTargetSelector) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TrafficTargetSelector_KubeServiceMatcher) Descriptor

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

func (*TrafficTargetSelector_KubeServiceMatcher) Equal

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

func (*TrafficTargetSelector_KubeServiceMatcher) GetClusters

func (*TrafficTargetSelector_KubeServiceMatcher) GetLabels

func (*TrafficTargetSelector_KubeServiceMatcher) GetNamespaces

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

func (*TrafficTargetSelector_KubeServiceMatcher) ProtoMessage

func (*TrafficTargetSelector_KubeServiceMatcher) Reset

func (*TrafficTargetSelector_KubeServiceMatcher) String

func (*TrafficTargetSelector_KubeServiceMatcher) XXX_DiscardUnknown

func (m *TrafficTargetSelector_KubeServiceMatcher) XXX_DiscardUnknown()

func (*TrafficTargetSelector_KubeServiceMatcher) XXX_Marshal

func (m *TrafficTargetSelector_KubeServiceMatcher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficTargetSelector_KubeServiceMatcher) XXX_Merge

func (*TrafficTargetSelector_KubeServiceMatcher) XXX_Size

func (*TrafficTargetSelector_KubeServiceMatcher) XXX_Unmarshal

func (m *TrafficTargetSelector_KubeServiceMatcher) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (*TrafficTargetSelector_KubeServiceRefs) Descriptor

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

func (*TrafficTargetSelector_KubeServiceRefs) Equal

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

func (*TrafficTargetSelector_KubeServiceRefs) GetServices

func (*TrafficTargetSelector_KubeServiceRefs) ProtoMessage

func (*TrafficTargetSelector_KubeServiceRefs) ProtoMessage()

func (*TrafficTargetSelector_KubeServiceRefs) Reset

func (*TrafficTargetSelector_KubeServiceRefs) String

func (*TrafficTargetSelector_KubeServiceRefs) XXX_DiscardUnknown

func (m *TrafficTargetSelector_KubeServiceRefs) XXX_DiscardUnknown()

func (*TrafficTargetSelector_KubeServiceRefs) XXX_Marshal

func (m *TrafficTargetSelector_KubeServiceRefs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TrafficTargetSelector_KubeServiceRefs) XXX_Merge

func (*TrafficTargetSelector_KubeServiceRefs) XXX_Size

func (*TrafficTargetSelector_KubeServiceRefs) XXX_Unmarshal

func (m *TrafficTargetSelector_KubeServiceRefs) XXX_Unmarshal(b []byte) error

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

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 */
	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
	XXX_unrecognized     []byte                             `json:"-"`
	XXX_sizecache        int32                              `json:"-"`
}

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

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

func (*VirtualMeshSpec) Equal

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

func (*VirtualMeshSpec) GetFederation

func (m *VirtualMeshSpec) GetFederation() *VirtualMeshSpec_Federation

func (*VirtualMeshSpec) GetGlobalAccessPolicy

func (m *VirtualMeshSpec) GetGlobalAccessPolicy() VirtualMeshSpec_GlobalAccessPolicy

func (*VirtualMeshSpec) GetMeshes

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

func (*VirtualMeshSpec) GetMtlsConfig

func (m *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) Reset

func (m *VirtualMeshSpec) Reset()

func (*VirtualMeshSpec) String

func (m *VirtualMeshSpec) String() string

func (*VirtualMeshSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for VirtualMeshSpec

func (*VirtualMeshSpec) XXX_DiscardUnknown

func (m *VirtualMeshSpec) XXX_DiscardUnknown()

func (*VirtualMeshSpec) XXX_Marshal

func (m *VirtualMeshSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec) XXX_Merge

func (m *VirtualMeshSpec) XXX_Merge(src proto.Message)

func (*VirtualMeshSpec) XXX_Size

func (m *VirtualMeshSpec) XXX_Size() int

func (*VirtualMeshSpec) XXX_Unmarshal

func (m *VirtualMeshSpec) XXX_Unmarshal(b []byte) error

type VirtualMeshSpec_Federation

type VirtualMeshSpec_Federation struct {
	// The "mode" in which to federate traffic targets within this virtual mesh.
	//
	// Types that are valid to be assigned to Mode:
	//	*VirtualMeshSpec_Federation_Permissive
	Mode                 isVirtualMeshSpec_Federation_Mode `protobuf_oneof:"mode"`
	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
	XXX_unrecognized     []byte                            `json:"-"`
	XXX_sizecache        int32                             `json:"-"`
}

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

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

func (*VirtualMeshSpec_Federation) Equal

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

func (*VirtualMeshSpec_Federation) GetMode

func (m *VirtualMeshSpec_Federation) GetMode() isVirtualMeshSpec_Federation_Mode

func (*VirtualMeshSpec_Federation) GetPermissive

func (m *VirtualMeshSpec_Federation) GetPermissive() *types.Empty

func (*VirtualMeshSpec_Federation) ProtoMessage

func (*VirtualMeshSpec_Federation) ProtoMessage()

func (*VirtualMeshSpec_Federation) Reset

func (m *VirtualMeshSpec_Federation) Reset()

func (*VirtualMeshSpec_Federation) String

func (m *VirtualMeshSpec_Federation) String() string

func (*VirtualMeshSpec_Federation) XXX_DiscardUnknown

func (m *VirtualMeshSpec_Federation) XXX_DiscardUnknown()

func (*VirtualMeshSpec_Federation) XXX_Marshal

func (m *VirtualMeshSpec_Federation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec_Federation) XXX_Merge

func (m *VirtualMeshSpec_Federation) XXX_Merge(src proto.Message)

func (*VirtualMeshSpec_Federation) XXX_OneofWrappers

func (*VirtualMeshSpec_Federation) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*VirtualMeshSpec_Federation) XXX_Size

func (m *VirtualMeshSpec_Federation) XXX_Size() int

func (*VirtualMeshSpec_Federation) XXX_Unmarshal

func (m *VirtualMeshSpec_Federation) XXX_Unmarshal(b []byte) error

type VirtualMeshSpec_Federation_Permissive

type VirtualMeshSpec_Federation_Permissive struct {
	Permissive *types.Empty `protobuf:"bytes,1,opt,name=permissive,proto3,oneof" json:"permissive,omitempty"`
}

func (*VirtualMeshSpec_Federation_Permissive) Equal

func (this *VirtualMeshSpec_Federation_Permissive) Equal(that interface{}) bool

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

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

func (VirtualMeshSpec_GlobalAccessPolicy) String

type VirtualMeshSpec_MTLSConfig

type VirtualMeshSpec_MTLSConfig struct {
	// Select a trust model in order to establish trust between mTLS-secured meshes.
	//
	// Types that are valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*VirtualMeshSpec_MTLSConfig) Equal

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

func (*VirtualMeshSpec_MTLSConfig) GetAutoRestartPods

func (m *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) Reset

func (m *VirtualMeshSpec_MTLSConfig) Reset()

func (*VirtualMeshSpec_MTLSConfig) String

func (m *VirtualMeshSpec_MTLSConfig) String() string

func (*VirtualMeshSpec_MTLSConfig) XXX_DiscardUnknown

func (m *VirtualMeshSpec_MTLSConfig) XXX_DiscardUnknown()

func (*VirtualMeshSpec_MTLSConfig) XXX_Marshal

func (m *VirtualMeshSpec_MTLSConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec_MTLSConfig) XXX_Merge

func (m *VirtualMeshSpec_MTLSConfig) XXX_Merge(src proto.Message)

func (*VirtualMeshSpec_MTLSConfig) XXX_OneofWrappers

func (*VirtualMeshSpec_MTLSConfig) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*VirtualMeshSpec_MTLSConfig) XXX_Size

func (m *VirtualMeshSpec_MTLSConfig) XXX_Size() int

func (*VirtualMeshSpec_MTLSConfig) XXX_Unmarshal

func (m *VirtualMeshSpec_MTLSConfig) XXX_Unmarshal(b []byte) error

type VirtualMeshSpec_MTLSConfig_Limited

type VirtualMeshSpec_MTLSConfig_Limited struct {
	Limited *VirtualMeshSpec_MTLSConfig_LimitedTrust `protobuf:"bytes,2,opt,name=limited,proto3,oneof" json:"limited,omitempty"`
}

func (*VirtualMeshSpec_MTLSConfig_Limited) Equal

func (this *VirtualMeshSpec_MTLSConfig_Limited) Equal(that interface{}) bool

type VirtualMeshSpec_MTLSConfig_LimitedTrust

type VirtualMeshSpec_MTLSConfig_LimitedTrust struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Equal

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

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Reset

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) String

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_DiscardUnknown

func (m *VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_DiscardUnknown()

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_Marshal

func (m *VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_Merge

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_Size

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_Unmarshal

func (m *VirtualMeshSpec_MTLSConfig_LimitedTrust) XXX_Unmarshal(b []byte) error

type VirtualMeshSpec_MTLSConfig_Shared

type VirtualMeshSpec_MTLSConfig_Shared struct {
	Shared *VirtualMeshSpec_MTLSConfig_SharedTrust `protobuf:"bytes,1,opt,name=shared,proto3,oneof" json:"shared,omitempty"`
}

func (*VirtualMeshSpec_MTLSConfig_Shared) Equal

func (this *VirtualMeshSpec_MTLSConfig_Shared) Equal(that interface{}) bool

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 */
	XXX_NoUnkeyedLiteral     struct{}                                  `json:"-"`
	XXX_unrecognized         []byte                                    `json:"-"`
	XXX_sizecache            int32                                     `json:"-"`
}

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

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

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Equal

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

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) GetRootCertificateAuthority

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Reset

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) String

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_DiscardUnknown

func (m *VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_DiscardUnknown()

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_Marshal

func (m *VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_Merge

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_Size

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_Unmarshal

func (m *VirtualMeshSpec_MTLSConfig_SharedTrust) XXX_Unmarshal(b []byte) error

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 valid to be assigned to CaSource:
	//	*VirtualMeshSpec_RootCertificateAuthority_Generated
	//	*VirtualMeshSpec_RootCertificateAuthority_Secret
	CaSource             isVirtualMeshSpec_RootCertificateAuthority_CaSource `protobuf_oneof:"ca_source"`
	XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
	XXX_unrecognized     []byte                                              `json:"-"`
	XXX_sizecache        int32                                               `json:"-"`
}

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

func (*VirtualMeshSpec_RootCertificateAuthority) Descriptor

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

func (*VirtualMeshSpec_RootCertificateAuthority) Equal

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

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

func (*VirtualMeshSpec_RootCertificateAuthority) String

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_DiscardUnknown

func (m *VirtualMeshSpec_RootCertificateAuthority) XXX_DiscardUnknown()

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_Marshal

func (m *VirtualMeshSpec_RootCertificateAuthority) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_Merge

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_OneofWrappers

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_Size

func (*VirtualMeshSpec_RootCertificateAuthority) XXX_Unmarshal

func (m *VirtualMeshSpec_RootCertificateAuthority) XXX_Unmarshal(b []byte) error

type VirtualMeshSpec_RootCertificateAuthority_Generated

type VirtualMeshSpec_RootCertificateAuthority_Generated struct {
	Generated *VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert `protobuf:"bytes,1,opt,name=generated,proto3,oneof" json:"generated,omitempty"`
}

func (*VirtualMeshSpec_RootCertificateAuthority_Generated) Equal

func (this *VirtualMeshSpec_RootCertificateAuthority_Generated) Equal(that interface{}) bool

type VirtualMeshSpec_RootCertificateAuthority_Secret

type VirtualMeshSpec_RootCertificateAuthority_Secret struct {
	Secret *v1.ObjectRef `protobuf:"bytes,2,opt,name=secret,proto3,oneof" json:"secret,omitempty"`
}

func (*VirtualMeshSpec_RootCertificateAuthority_Secret) Equal

func (this *VirtualMeshSpec_RootCertificateAuthority_Secret) Equal(that interface{}) bool

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Descriptor

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Equal

func (this *VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Equal(that interface{}) bool

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetOrgName

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetRsaKeySizeBytes

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetTtlDays

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) ProtoMessage

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Reset

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) String

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) XXX_DiscardUnknown

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) XXX_Marshal

func (m *VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) XXX_Merge

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) XXX_Size

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) XXX_Unmarshal

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 */
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (*VirtualMeshStatus) DeepCopyInto

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

DeepCopyInto for the VirtualMesh.Status

func (*VirtualMeshStatus) Descriptor

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

func (*VirtualMeshStatus) Equal

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

func (*VirtualMeshStatus) GetErrors

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

func (*VirtualMeshStatus) GetMeshes

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

func (*VirtualMeshStatus) GetObservedGeneration

func (m *VirtualMeshStatus) GetObservedGeneration() int64

func (*VirtualMeshStatus) GetState

func (m *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) Reset

func (m *VirtualMeshStatus) Reset()

func (*VirtualMeshStatus) String

func (m *VirtualMeshStatus) String() string

func (*VirtualMeshStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for VirtualMeshStatus

func (*VirtualMeshStatus) XXX_DiscardUnknown

func (m *VirtualMeshStatus) XXX_DiscardUnknown()

func (*VirtualMeshStatus) XXX_Marshal

func (m *VirtualMeshStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*VirtualMeshStatus) XXX_Merge

func (m *VirtualMeshStatus) XXX_Merge(src proto.Message)

func (*VirtualMeshStatus) XXX_Size

func (m *VirtualMeshStatus) XXX_Size() int

func (*VirtualMeshStatus) XXX_Unmarshal

func (m *VirtualMeshStatus) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*WorkloadSelector) Descriptor

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

func (*WorkloadSelector) Equal

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

func (*WorkloadSelector) GetClusters

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

func (*WorkloadSelector) GetLabels

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

func (*WorkloadSelector) GetNamespaces

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

func (*WorkloadSelector) ProtoMessage

func (*WorkloadSelector) ProtoMessage()

func (*WorkloadSelector) Reset

func (m *WorkloadSelector) Reset()

func (*WorkloadSelector) String

func (m *WorkloadSelector) String() string

func (*WorkloadSelector) XXX_DiscardUnknown

func (m *WorkloadSelector) XXX_DiscardUnknown()

func (*WorkloadSelector) XXX_Marshal

func (m *WorkloadSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WorkloadSelector) XXX_Merge

func (m *WorkloadSelector) XXX_Merge(src proto.Message)

func (*WorkloadSelector) XXX_Size

func (m *WorkloadSelector) XXX_Size() int

func (*WorkloadSelector) XXX_Unmarshal

func (m *WorkloadSelector) XXX_Unmarshal(b []byte) error

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