selectorv1

package
v0.1.2-rc.1 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2022 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Overview

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var File_aperture_common_selector_v1_selector_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ControlPoint

type ControlPoint struct {

	// @gotags: validate:"required"
	//
	// Types that are assignable to Controlpoint:
	//	*ControlPoint_Feature
	//	*ControlPoint_Traffic
	Controlpoint isControlPoint_Controlpoint `protobuf_oneof:"controlpoint" validate:"required"`
	// contains filtered or unexported fields
}

Identifies control point within a service that the rule or policy should apply to. Controlpoint is either a library feature name or one of ingress/egress traffic control point.

func (*ControlPoint) DeepCopy added in v0.1.2

func (in *ControlPoint) DeepCopy() *ControlPoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPoint. Required by controller-gen.

func (*ControlPoint) DeepCopyInterface added in v0.1.2

func (in *ControlPoint) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ControlPoint. Required by controller-gen.

func (*ControlPoint) DeepCopyInto added in v0.1.2

func (in *ControlPoint) DeepCopyInto(out *ControlPoint)

DeepCopyInto supports using ControlPoint within kubernetes types, where deepcopy-gen is used.

func (*ControlPoint) Descriptor deprecated

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

Deprecated: Use ControlPoint.ProtoReflect.Descriptor instead.

func (*ControlPoint) GetControlpoint

func (m *ControlPoint) GetControlpoint() isControlPoint_Controlpoint

func (*ControlPoint) GetFeature

func (x *ControlPoint) GetFeature() string

func (*ControlPoint) GetTraffic

func (x *ControlPoint) GetTraffic() string

func (*ControlPoint) MarshalJSON

func (msg *ControlPoint) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ControlPoint) ProtoMessage

func (*ControlPoint) ProtoMessage()

func (*ControlPoint) ProtoReflect

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

func (*ControlPoint) Reset

func (x *ControlPoint) Reset()

func (*ControlPoint) String

func (x *ControlPoint) String() string

func (*ControlPoint) UnmarshalJSON

func (msg *ControlPoint) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ControlPoint_Feature

type ControlPoint_Feature struct {
	// Name of FlunxNinja library's feature.
	// Feature corresponds to a block of code that can be "switched off" which usually is a "named opentelemetry's Span".
	//
	// Note: Flowcontrol only.
	Feature string `protobuf:"bytes,1,opt,name=feature,proto3,oneof" validate:"required"` //@gotags: validate:"required"
}

type ControlPoint_Traffic

type ControlPoint_Traffic struct {
	// Type of traffic service, either "ingress" or "egress".
	// Apply the policy to the whole incoming/outgoing traffic of a service.
	// Usually powered by integration with a proxy (like envoy) or a web framework.
	//
	// * Flowcontrol: Blockable atom here is a single HTTP-transaction.
	// * Classification: Apply the classification rules to every incoming/outgoing request and attach the resulting flow labels to baggage and telemetry.
	Traffic string `protobuf:"bytes,2,opt,name=traffic,proto3,oneof" validate:"required,oneof=ingress egress"` // @gotags: validate:"required,oneof=ingress egress"
}

type Selector

type Selector struct {

	// Describes where this selector applies to.
	AgentGroup string `protobuf:"bytes,1,opt,name=agent_group,json=agentGroup,proto3" json:"agent_group,omitempty" default:"default"` // @gotags: default:"default"
	// The service (name) of the entities.
	// In k8s, this is the FQDN of the Service object.
	//
	// Note: Entity may belong to multiple services.
	Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`
	// Describes control point within the entity where the policy should apply to.
	ControlPoint *ControlPoint `protobuf:"bytes,3,opt,name=control_point,json=controlPoint,proto3" json:"control_point,omitempty" validate:"required"` // @gotags: validate:"required"
	// Label matcher allows to add _additional_ condition on
	// [flow labels](/concepts/flow-control/label/label.md)
	// must also be satisfied (in addition to service+control point matching)
	//
	// :::note
	// [Classifiers](#v1-classifier) _can_ use flow labels created by some other
	// classifier, but only if they were created at some previous control point
	// (and propagated in baggage).
	//
	// This limitation doesn't apply to selectors of other entities, like
	// FluxMeters or actuators. It's valid to create a flow label on a control
	// point using classifier, and immediately use it for matching on the same
	// control point.
	// :::
	LabelMatcher *v1.LabelMatcher `protobuf:"bytes,4,opt,name=label_matcher,json=labelMatcher,proto3" json:"label_matcher,omitempty"`
	// contains filtered or unexported fields
}

Describes where a rule or actuation component should apply to

Example: ```yaml selector:

service: service1.default.svc.cluster.local
control_point:
  traffic: ingress # Allowed values are `ingress` and `egress`.
label_matcher:
  match_labels:
    user_tier: gold
  match_expressions:
    - key: query
      operator: In
      values:
        - insert
        - delete
    - label: user_agent
      regex: ^(?!.*Chrome).*Safari

```

func (*Selector) DeepCopy added in v0.1.2

func (in *Selector) DeepCopy() *Selector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector. Required by controller-gen.

func (*Selector) DeepCopyInterface added in v0.1.2

func (in *Selector) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Selector. Required by controller-gen.

func (*Selector) DeepCopyInto added in v0.1.2

func (in *Selector) DeepCopyInto(out *Selector)

DeepCopyInto supports using Selector within kubernetes types, where deepcopy-gen is used.

func (*Selector) Descriptor deprecated

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

Deprecated: Use Selector.ProtoReflect.Descriptor instead.

func (*Selector) GetAgentGroup

func (x *Selector) GetAgentGroup() string

func (*Selector) GetControlPoint

func (x *Selector) GetControlPoint() *ControlPoint

func (*Selector) GetLabelMatcher

func (x *Selector) GetLabelMatcher() *v1.LabelMatcher

func (*Selector) GetService

func (x *Selector) GetService() string

func (*Selector) MarshalJSON

func (msg *Selector) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Selector) ProtoMessage

func (*Selector) ProtoMessage()

func (*Selector) ProtoReflect

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

func (*Selector) Reset

func (x *Selector) Reset()

func (*Selector) String

func (x *Selector) String() string

func (*Selector) UnmarshalJSON

func (msg *Selector) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

Jump to

Keyboard shortcuts

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