Documentation ¶
Overview ¶
Code generated by protoc-gen-deepcopy. DO NOT EDIT.
Code generated by protoc-gen-jsonshim. DO NOT EDIT.
Index ¶
- Variables
- type AccessLogging
- func (in *AccessLogging) DeepCopy() *AccessLogging
- func (in *AccessLogging) DeepCopyInterface() interface{}
- func (in *AccessLogging) DeepCopyInto(out *AccessLogging)
- func (*AccessLogging) Descriptor() ([]byte, []int)deprecated
- func (x *AccessLogging) GetDisabled() *wrappers.BoolValue
- func (x *AccessLogging) GetFilter() *AccessLogging_Filter
- func (x *AccessLogging) GetMatch() *AccessLogging_LogSelector
- func (x *AccessLogging) GetProviders() []*ProviderRef
- func (this *AccessLogging) MarshalJSON() ([]byte, error)
- func (*AccessLogging) ProtoMessage()
- func (x *AccessLogging) ProtoReflect() protoreflect.Message
- func (x *AccessLogging) Reset()
- func (x *AccessLogging) String() string
- func (this *AccessLogging) UnmarshalJSON(b []byte) error
- type AccessLogging_Filter
- func (in *AccessLogging_Filter) DeepCopy() *AccessLogging_Filter
- func (in *AccessLogging_Filter) DeepCopyInterface() interface{}
- func (in *AccessLogging_Filter) DeepCopyInto(out *AccessLogging_Filter)
- func (*AccessLogging_Filter) Descriptor() ([]byte, []int)deprecated
- func (x *AccessLogging_Filter) GetExpression() string
- func (this *AccessLogging_Filter) MarshalJSON() ([]byte, error)
- func (*AccessLogging_Filter) ProtoMessage()
- func (x *AccessLogging_Filter) ProtoReflect() protoreflect.Message
- func (x *AccessLogging_Filter) Reset()
- func (x *AccessLogging_Filter) String() string
- func (this *AccessLogging_Filter) UnmarshalJSON(b []byte) error
- type AccessLogging_LogSelector
- func (in *AccessLogging_LogSelector) DeepCopy() *AccessLogging_LogSelector
- func (in *AccessLogging_LogSelector) DeepCopyInterface() interface{}
- func (in *AccessLogging_LogSelector) DeepCopyInto(out *AccessLogging_LogSelector)
- func (*AccessLogging_LogSelector) Descriptor() ([]byte, []int)deprecated
- func (x *AccessLogging_LogSelector) GetMode() WorkloadMode
- func (this *AccessLogging_LogSelector) MarshalJSON() ([]byte, error)
- func (*AccessLogging_LogSelector) ProtoMessage()
- func (x *AccessLogging_LogSelector) ProtoReflect() protoreflect.Message
- func (x *AccessLogging_LogSelector) Reset()
- func (x *AccessLogging_LogSelector) String() string
- func (this *AccessLogging_LogSelector) UnmarshalJSON(b []byte) error
- type MetricSelector
- func (in *MetricSelector) DeepCopy() *MetricSelector
- func (in *MetricSelector) DeepCopyInterface() interface{}
- func (in *MetricSelector) DeepCopyInto(out *MetricSelector)
- func (*MetricSelector) Descriptor() ([]byte, []int)deprecated
- func (x *MetricSelector) GetCustomMetric() string
- func (x *MetricSelector) GetMetric() MetricSelector_IstioMetric
- func (m *MetricSelector) GetMetricMatch() isMetricSelector_MetricMatch
- func (x *MetricSelector) GetMode() WorkloadMode
- func (this *MetricSelector) MarshalJSON() ([]byte, error)
- func (*MetricSelector) ProtoMessage()
- func (x *MetricSelector) ProtoReflect() protoreflect.Message
- func (x *MetricSelector) Reset()
- func (x *MetricSelector) String() string
- func (this *MetricSelector) UnmarshalJSON(b []byte) error
- type MetricSelector_CustomMetric
- type MetricSelector_IstioMetric
- func (MetricSelector_IstioMetric) Descriptor() protoreflect.EnumDescriptor
- func (x MetricSelector_IstioMetric) Enum() *MetricSelector_IstioMetric
- func (MetricSelector_IstioMetric) EnumDescriptor() ([]byte, []int)deprecated
- func (x MetricSelector_IstioMetric) Number() protoreflect.EnumNumber
- func (x MetricSelector_IstioMetric) String() string
- func (MetricSelector_IstioMetric) Type() protoreflect.EnumType
- type MetricSelector_Metric
- type Metrics
- func (in *Metrics) DeepCopy() *Metrics
- func (in *Metrics) DeepCopyInterface() interface{}
- func (in *Metrics) DeepCopyInto(out *Metrics)
- func (*Metrics) Descriptor() ([]byte, []int)deprecated
- func (x *Metrics) GetOverrides() []*MetricsOverrides
- func (x *Metrics) GetProviders() []*ProviderRef
- func (x *Metrics) GetReportingInterval() *duration.Duration
- func (this *Metrics) MarshalJSON() ([]byte, error)
- func (*Metrics) ProtoMessage()
- func (x *Metrics) ProtoReflect() protoreflect.Message
- func (x *Metrics) Reset()
- func (x *Metrics) String() string
- func (this *Metrics) UnmarshalJSON(b []byte) error
- type MetricsOverrides
- func (in *MetricsOverrides) DeepCopy() *MetricsOverrides
- func (in *MetricsOverrides) DeepCopyInterface() interface{}
- func (in *MetricsOverrides) DeepCopyInto(out *MetricsOverrides)
- func (*MetricsOverrides) Descriptor() ([]byte, []int)deprecated
- func (x *MetricsOverrides) GetDisabled() *wrappers.BoolValue
- func (x *MetricsOverrides) GetMatch() *MetricSelector
- func (x *MetricsOverrides) GetTagOverrides() map[string]*MetricsOverrides_TagOverride
- func (this *MetricsOverrides) MarshalJSON() ([]byte, error)
- func (*MetricsOverrides) ProtoMessage()
- func (x *MetricsOverrides) ProtoReflect() protoreflect.Message
- func (x *MetricsOverrides) Reset()
- func (x *MetricsOverrides) String() string
- func (this *MetricsOverrides) UnmarshalJSON(b []byte) error
- type MetricsOverrides_TagOverride
- func (in *MetricsOverrides_TagOverride) DeepCopy() *MetricsOverrides_TagOverride
- func (in *MetricsOverrides_TagOverride) DeepCopyInterface() interface{}
- func (in *MetricsOverrides_TagOverride) DeepCopyInto(out *MetricsOverrides_TagOverride)
- func (*MetricsOverrides_TagOverride) Descriptor() ([]byte, []int)deprecated
- func (x *MetricsOverrides_TagOverride) GetOperation() MetricsOverrides_TagOverride_Operation
- func (x *MetricsOverrides_TagOverride) GetValue() string
- func (this *MetricsOverrides_TagOverride) MarshalJSON() ([]byte, error)
- func (*MetricsOverrides_TagOverride) ProtoMessage()
- func (x *MetricsOverrides_TagOverride) ProtoReflect() protoreflect.Message
- func (x *MetricsOverrides_TagOverride) Reset()
- func (x *MetricsOverrides_TagOverride) String() string
- func (this *MetricsOverrides_TagOverride) UnmarshalJSON(b []byte) error
- type MetricsOverrides_TagOverride_Operation
- func (MetricsOverrides_TagOverride_Operation) Descriptor() protoreflect.EnumDescriptor
- func (x MetricsOverrides_TagOverride_Operation) Enum() *MetricsOverrides_TagOverride_Operation
- func (MetricsOverrides_TagOverride_Operation) EnumDescriptor() ([]byte, []int)deprecated
- func (x MetricsOverrides_TagOverride_Operation) Number() protoreflect.EnumNumber
- func (x MetricsOverrides_TagOverride_Operation) String() string
- func (MetricsOverrides_TagOverride_Operation) Type() protoreflect.EnumType
- type ProviderRef
- func (in *ProviderRef) DeepCopy() *ProviderRef
- func (in *ProviderRef) DeepCopyInterface() interface{}
- func (in *ProviderRef) DeepCopyInto(out *ProviderRef)
- func (*ProviderRef) Descriptor() ([]byte, []int)deprecated
- func (x *ProviderRef) GetName() string
- func (this *ProviderRef) MarshalJSON() ([]byte, error)
- func (*ProviderRef) ProtoMessage()
- func (x *ProviderRef) ProtoReflect() protoreflect.Message
- func (x *ProviderRef) Reset()
- func (x *ProviderRef) String() string
- func (this *ProviderRef) UnmarshalJSON(b []byte) error
- type Telemetry
- func (in *Telemetry) DeepCopy() *Telemetry
- func (in *Telemetry) DeepCopyInterface() interface{}
- func (in *Telemetry) DeepCopyInto(out *Telemetry)
- func (*Telemetry) Descriptor() ([]byte, []int)deprecated
- func (x *Telemetry) GetAccessLogging() []*AccessLogging
- func (x *Telemetry) GetMetrics() []*Metrics
- func (x *Telemetry) GetSelector() *v1beta1.WorkloadSelector
- func (x *Telemetry) GetTargetRef() *v1beta1.PolicyTargetReference
- func (x *Telemetry) GetTargetRefs() []*v1beta1.PolicyTargetReference
- func (x *Telemetry) GetTracing() []*Tracing
- func (this *Telemetry) MarshalJSON() ([]byte, error)
- func (*Telemetry) ProtoMessage()
- func (x *Telemetry) ProtoReflect() protoreflect.Message
- func (x *Telemetry) Reset()
- func (x *Telemetry) String() string
- func (this *Telemetry) UnmarshalJSON(b []byte) error
- type Tracing
- func (in *Tracing) DeepCopy() *Tracing
- func (in *Tracing) DeepCopyInterface() interface{}
- func (in *Tracing) DeepCopyInto(out *Tracing)
- func (*Tracing) Descriptor() ([]byte, []int)deprecated
- func (x *Tracing) GetCustomTags() map[string]*Tracing_CustomTag
- func (x *Tracing) GetDisableSpanReporting() *wrappers.BoolValue
- func (x *Tracing) GetMatch() *Tracing_TracingSelector
- func (x *Tracing) GetProviders() []*ProviderRef
- func (x *Tracing) GetRandomSamplingPercentage() *wrappers.DoubleValue
- func (x *Tracing) GetUseRequestIdForTraceSampling() *wrappers.BoolValue
- func (this *Tracing) MarshalJSON() ([]byte, error)
- func (*Tracing) ProtoMessage()
- func (x *Tracing) ProtoReflect() protoreflect.Message
- func (x *Tracing) Reset()
- func (x *Tracing) String() string
- func (this *Tracing) UnmarshalJSON(b []byte) error
- type Tracing_CustomTag
- func (in *Tracing_CustomTag) DeepCopy() *Tracing_CustomTag
- func (in *Tracing_CustomTag) DeepCopyInterface() interface{}
- func (in *Tracing_CustomTag) DeepCopyInto(out *Tracing_CustomTag)
- func (*Tracing_CustomTag) Descriptor() ([]byte, []int)deprecated
- func (x *Tracing_CustomTag) GetEnvironment() *Tracing_Environment
- func (x *Tracing_CustomTag) GetHeader() *Tracing_RequestHeader
- func (x *Tracing_CustomTag) GetLiteral() *Tracing_Literal
- func (m *Tracing_CustomTag) GetType() isTracing_CustomTag_Type
- func (this *Tracing_CustomTag) MarshalJSON() ([]byte, error)
- func (*Tracing_CustomTag) ProtoMessage()
- func (x *Tracing_CustomTag) ProtoReflect() protoreflect.Message
- func (x *Tracing_CustomTag) Reset()
- func (x *Tracing_CustomTag) String() string
- func (this *Tracing_CustomTag) UnmarshalJSON(b []byte) error
- type Tracing_CustomTag_Environment
- type Tracing_CustomTag_Header
- type Tracing_CustomTag_Literal
- type Tracing_Environment
- func (in *Tracing_Environment) DeepCopy() *Tracing_Environment
- func (in *Tracing_Environment) DeepCopyInterface() interface{}
- func (in *Tracing_Environment) DeepCopyInto(out *Tracing_Environment)
- func (*Tracing_Environment) Descriptor() ([]byte, []int)deprecated
- func (x *Tracing_Environment) GetDefaultValue() string
- func (x *Tracing_Environment) GetName() string
- func (this *Tracing_Environment) MarshalJSON() ([]byte, error)
- func (*Tracing_Environment) ProtoMessage()
- func (x *Tracing_Environment) ProtoReflect() protoreflect.Message
- func (x *Tracing_Environment) Reset()
- func (x *Tracing_Environment) String() string
- func (this *Tracing_Environment) UnmarshalJSON(b []byte) error
- type Tracing_Literal
- func (in *Tracing_Literal) DeepCopy() *Tracing_Literal
- func (in *Tracing_Literal) DeepCopyInterface() interface{}
- func (in *Tracing_Literal) DeepCopyInto(out *Tracing_Literal)
- func (*Tracing_Literal) Descriptor() ([]byte, []int)deprecated
- func (x *Tracing_Literal) GetValue() string
- func (this *Tracing_Literal) MarshalJSON() ([]byte, error)
- func (*Tracing_Literal) ProtoMessage()
- func (x *Tracing_Literal) ProtoReflect() protoreflect.Message
- func (x *Tracing_Literal) Reset()
- func (x *Tracing_Literal) String() string
- func (this *Tracing_Literal) UnmarshalJSON(b []byte) error
- type Tracing_RequestHeader
- func (in *Tracing_RequestHeader) DeepCopy() *Tracing_RequestHeader
- func (in *Tracing_RequestHeader) DeepCopyInterface() interface{}
- func (in *Tracing_RequestHeader) DeepCopyInto(out *Tracing_RequestHeader)
- func (*Tracing_RequestHeader) Descriptor() ([]byte, []int)deprecated
- func (x *Tracing_RequestHeader) GetDefaultValue() string
- func (x *Tracing_RequestHeader) GetName() string
- func (this *Tracing_RequestHeader) MarshalJSON() ([]byte, error)
- func (*Tracing_RequestHeader) ProtoMessage()
- func (x *Tracing_RequestHeader) ProtoReflect() protoreflect.Message
- func (x *Tracing_RequestHeader) Reset()
- func (x *Tracing_RequestHeader) String() string
- func (this *Tracing_RequestHeader) UnmarshalJSON(b []byte) error
- type Tracing_TracingSelector
- func (in *Tracing_TracingSelector) DeepCopy() *Tracing_TracingSelector
- func (in *Tracing_TracingSelector) DeepCopyInterface() interface{}
- func (in *Tracing_TracingSelector) DeepCopyInto(out *Tracing_TracingSelector)
- func (*Tracing_TracingSelector) Descriptor() ([]byte, []int)deprecated
- func (x *Tracing_TracingSelector) GetMode() WorkloadMode
- func (this *Tracing_TracingSelector) MarshalJSON() ([]byte, error)
- func (*Tracing_TracingSelector) ProtoMessage()
- func (x *Tracing_TracingSelector) ProtoReflect() protoreflect.Message
- func (x *Tracing_TracingSelector) Reset()
- func (x *Tracing_TracingSelector) String() string
- func (this *Tracing_TracingSelector) UnmarshalJSON(b []byte) error
- type WorkloadMode
- func (WorkloadMode) Descriptor() protoreflect.EnumDescriptor
- func (x WorkloadMode) Enum() *WorkloadMode
- func (WorkloadMode) EnumDescriptor() ([]byte, []int)deprecated
- func (x WorkloadMode) Number() protoreflect.EnumNumber
- func (x WorkloadMode) String() string
- func (WorkloadMode) Type() protoreflect.EnumType
Constants ¶
This section is empty.
Variables ¶
var ( WorkloadMode_name = map[int32]string{ 0: "CLIENT_AND_SERVER", 1: "CLIENT", 2: "SERVER", } WorkloadMode_value = map[string]int32{ "CLIENT_AND_SERVER": 0, "CLIENT": 1, "SERVER": 2, } )
Enum value maps for WorkloadMode.
var ( MetricSelector_IstioMetric_name = map[int32]string{ 0: "ALL_METRICS", 1: "REQUEST_COUNT", 2: "REQUEST_DURATION", 3: "REQUEST_SIZE", 4: "RESPONSE_SIZE", 5: "TCP_OPENED_CONNECTIONS", 6: "TCP_CLOSED_CONNECTIONS", 7: "TCP_SENT_BYTES", 8: "TCP_RECEIVED_BYTES", 9: "GRPC_REQUEST_MESSAGES", 10: "GRPC_RESPONSE_MESSAGES", } MetricSelector_IstioMetric_value = map[string]int32{ "ALL_METRICS": 0, "REQUEST_COUNT": 1, "REQUEST_DURATION": 2, "REQUEST_SIZE": 3, "RESPONSE_SIZE": 4, "TCP_OPENED_CONNECTIONS": 5, "TCP_CLOSED_CONNECTIONS": 6, "TCP_SENT_BYTES": 7, "TCP_RECEIVED_BYTES": 8, "GRPC_REQUEST_MESSAGES": 9, "GRPC_RESPONSE_MESSAGES": 10, } )
Enum value maps for MetricSelector_IstioMetric.
var ( MetricsOverrides_TagOverride_Operation_name = map[int32]string{ 0: "UPSERT", 1: "REMOVE", } MetricsOverrides_TagOverride_Operation_value = map[string]int32{ "UPSERT": 0, "REMOVE": 1, } )
Enum value maps for MetricsOverrides_TagOverride_Operation.
var ( TelemetryMarshaler = &jsonpb.Marshaler{} TelemetryUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true} )
var File_telemetry_v1alpha1_telemetry_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type AccessLogging ¶
type AccessLogging struct { // Allows tailoring of logging behavior to specific conditions. Match *AccessLogging_LogSelector `protobuf:"bytes,4,opt,name=match,proto3" json:"match,omitempty"` // Optional. Name of providers to which this configuration should apply. // If a provider is not specified, the [default logging // provider](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-DefaultProviders) will be used. Providers []*ProviderRef `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"` // Controls logging. If set to true, no access logs will be generated for // impacted workloads (for the specified providers). // NOTE: currently default behavior will be controlled by the provider(s) // selected above. Customization controls will be added to this API in // future releases. Disabled *wrappers.BoolValue `protobuf:"bytes,2,opt,name=disabled,proto3" json:"disabled,omitempty"` // Optional. If specified, this filter will be used to select specific // requests/connections for logging. // +cue-gen:Telemetry:releaseChannel:extended Filter *AccessLogging_Filter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // contains filtered or unexported fields }
Access logging defines the workload-level overrides for access log generation. It can be used to select provider or enable/disable access log generation for a workload.
func (*AccessLogging) DeepCopy ¶
func (in *AccessLogging) DeepCopy() *AccessLogging
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogging. Required by controller-gen.
func (*AccessLogging) DeepCopyInterface ¶
func (in *AccessLogging) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogging. Required by controller-gen.
func (*AccessLogging) DeepCopyInto ¶
func (in *AccessLogging) DeepCopyInto(out *AccessLogging)
DeepCopyInto supports using AccessLogging within kubernetes types, where deepcopy-gen is used.
func (*AccessLogging) Descriptor
deprecated
func (*AccessLogging) Descriptor() ([]byte, []int)
Deprecated: Use AccessLogging.ProtoReflect.Descriptor instead.
func (*AccessLogging) GetDisabled ¶
func (x *AccessLogging) GetDisabled() *wrappers.BoolValue
func (*AccessLogging) GetFilter ¶
func (x *AccessLogging) GetFilter() *AccessLogging_Filter
func (*AccessLogging) GetMatch ¶
func (x *AccessLogging) GetMatch() *AccessLogging_LogSelector
func (*AccessLogging) GetProviders ¶
func (x *AccessLogging) GetProviders() []*ProviderRef
func (*AccessLogging) MarshalJSON ¶
func (this *AccessLogging) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for AccessLogging
func (*AccessLogging) ProtoMessage ¶
func (*AccessLogging) ProtoMessage()
func (*AccessLogging) ProtoReflect ¶
func (x *AccessLogging) ProtoReflect() protoreflect.Message
func (*AccessLogging) Reset ¶
func (x *AccessLogging) Reset()
func (*AccessLogging) String ¶
func (x *AccessLogging) String() string
func (*AccessLogging) UnmarshalJSON ¶
func (this *AccessLogging) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for AccessLogging
type AccessLogging_Filter ¶
type AccessLogging_Filter struct { // CEL expression for selecting when requests/connections should be logged. // // Examples: // // - `response.code >= 400` // - `connection.mtls && request.url_path.contains('v1beta3')` // - `!has(request.useragent) || !(request.useragent.startsWith("Amazon-Route53-Health-Check-Service"))` Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` // contains filtered or unexported fields }
Allows specification of an access log filter.
func (*AccessLogging_Filter) DeepCopy ¶
func (in *AccessLogging_Filter) DeepCopy() *AccessLogging_Filter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogging_Filter. Required by controller-gen.
func (*AccessLogging_Filter) DeepCopyInterface ¶
func (in *AccessLogging_Filter) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogging_Filter. Required by controller-gen.
func (*AccessLogging_Filter) DeepCopyInto ¶
func (in *AccessLogging_Filter) DeepCopyInto(out *AccessLogging_Filter)
DeepCopyInto supports using AccessLogging_Filter within kubernetes types, where deepcopy-gen is used.
func (*AccessLogging_Filter) Descriptor
deprecated
func (*AccessLogging_Filter) Descriptor() ([]byte, []int)
Deprecated: Use AccessLogging_Filter.ProtoReflect.Descriptor instead.
func (*AccessLogging_Filter) GetExpression ¶
func (x *AccessLogging_Filter) GetExpression() string
func (*AccessLogging_Filter) MarshalJSON ¶
func (this *AccessLogging_Filter) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for AccessLogging_Filter
func (*AccessLogging_Filter) ProtoMessage ¶
func (*AccessLogging_Filter) ProtoMessage()
func (*AccessLogging_Filter) ProtoReflect ¶
func (x *AccessLogging_Filter) ProtoReflect() protoreflect.Message
func (*AccessLogging_Filter) Reset ¶
func (x *AccessLogging_Filter) Reset()
func (*AccessLogging_Filter) String ¶
func (x *AccessLogging_Filter) String() string
func (*AccessLogging_Filter) UnmarshalJSON ¶
func (this *AccessLogging_Filter) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for AccessLogging_Filter
type AccessLogging_LogSelector ¶
type AccessLogging_LogSelector struct { // This determines whether or not to apply the access logging configuration // based on the direction of traffic relative to the proxied workload. Mode WorkloadMode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.telemetry.v1alpha1.WorkloadMode" json:"mode,omitempty"` // contains filtered or unexported fields }
LogSelector provides a coarse-grained ability to configure logging behavior based on certain traffic metadata (such as traffic direction). LogSelector applies to traffic metadata which is not represented in the attribute set currently supported by [filters](https://istio.io/latest/docs/reference/config/telemetry/#AccessLogging-Filter). It allows control planes to limit the configuration sent to individual workloads. Finer-grained logging behavior can be further configured via `filter`.
func (*AccessLogging_LogSelector) DeepCopy ¶
func (in *AccessLogging_LogSelector) DeepCopy() *AccessLogging_LogSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogging_LogSelector. Required by controller-gen.
func (*AccessLogging_LogSelector) DeepCopyInterface ¶
func (in *AccessLogging_LogSelector) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new AccessLogging_LogSelector. Required by controller-gen.
func (*AccessLogging_LogSelector) DeepCopyInto ¶
func (in *AccessLogging_LogSelector) DeepCopyInto(out *AccessLogging_LogSelector)
DeepCopyInto supports using AccessLogging_LogSelector within kubernetes types, where deepcopy-gen is used.
func (*AccessLogging_LogSelector) Descriptor
deprecated
func (*AccessLogging_LogSelector) Descriptor() ([]byte, []int)
Deprecated: Use AccessLogging_LogSelector.ProtoReflect.Descriptor instead.
func (*AccessLogging_LogSelector) GetMode ¶
func (x *AccessLogging_LogSelector) GetMode() WorkloadMode
func (*AccessLogging_LogSelector) MarshalJSON ¶
func (this *AccessLogging_LogSelector) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for AccessLogging_LogSelector
func (*AccessLogging_LogSelector) ProtoMessage ¶
func (*AccessLogging_LogSelector) ProtoMessage()
func (*AccessLogging_LogSelector) ProtoReflect ¶
func (x *AccessLogging_LogSelector) ProtoReflect() protoreflect.Message
func (*AccessLogging_LogSelector) Reset ¶
func (x *AccessLogging_LogSelector) Reset()
func (*AccessLogging_LogSelector) String ¶
func (x *AccessLogging_LogSelector) String() string
func (*AccessLogging_LogSelector) UnmarshalJSON ¶
func (this *AccessLogging_LogSelector) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for AccessLogging_LogSelector
type MetricSelector ¶
type MetricSelector struct { // Controls which metric(s) are selected by the selector. // // Types that are assignable to MetricMatch: // // *MetricSelector_Metric // *MetricSelector_CustomMetric MetricMatch isMetricSelector_MetricMatch `protobuf_oneof:"metric_match"` // Controls which mode of metrics generation is selected: `CLIENT`, `SERVER`, // or `CLIENT_AND_SERVER`. Mode WorkloadMode `protobuf:"varint,3,opt,name=mode,proto3,enum=istio.telemetry.v1alpha1.WorkloadMode" json:"mode,omitempty"` // contains filtered or unexported fields }
Provides a mechanism for matching metrics for the application of override behaviors.
func (*MetricSelector) DeepCopy ¶
func (in *MetricSelector) DeepCopy() *MetricSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSelector. Required by controller-gen.
func (*MetricSelector) DeepCopyInterface ¶
func (in *MetricSelector) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetricSelector. Required by controller-gen.
func (*MetricSelector) DeepCopyInto ¶
func (in *MetricSelector) DeepCopyInto(out *MetricSelector)
DeepCopyInto supports using MetricSelector within kubernetes types, where deepcopy-gen is used.
func (*MetricSelector) Descriptor
deprecated
func (*MetricSelector) Descriptor() ([]byte, []int)
Deprecated: Use MetricSelector.ProtoReflect.Descriptor instead.
func (*MetricSelector) GetCustomMetric ¶
func (x *MetricSelector) GetCustomMetric() string
func (*MetricSelector) GetMetric ¶
func (x *MetricSelector) GetMetric() MetricSelector_IstioMetric
func (*MetricSelector) GetMetricMatch ¶
func (m *MetricSelector) GetMetricMatch() isMetricSelector_MetricMatch
func (*MetricSelector) GetMode ¶
func (x *MetricSelector) GetMode() WorkloadMode
func (*MetricSelector) MarshalJSON ¶
func (this *MetricSelector) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for MetricSelector
func (*MetricSelector) ProtoMessage ¶
func (*MetricSelector) ProtoMessage()
func (*MetricSelector) ProtoReflect ¶
func (x *MetricSelector) ProtoReflect() protoreflect.Message
func (*MetricSelector) Reset ¶
func (x *MetricSelector) Reset()
func (*MetricSelector) String ¶
func (x *MetricSelector) String() string
func (*MetricSelector) UnmarshalJSON ¶
func (this *MetricSelector) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for MetricSelector
type MetricSelector_CustomMetric ¶
type MetricSelector_CustomMetric struct { // Allows free-form specification of a metric. No validation of custom // metrics is provided. // +kubebuilder:validation:MinLength=1 CustomMetric string `protobuf:"bytes,2,opt,name=custom_metric,json=customMetric,proto3,oneof"` }
type MetricSelector_IstioMetric ¶
type MetricSelector_IstioMetric int32
Curated list of known metric types that is supported by Istio metric providers. See also: https://istio.io/latest/docs/reference/config/metrics/#metrics
const ( // Use of this enum indicates that the override should apply to all Istio // default metrics. MetricSelector_ALL_METRICS MetricSelector_IstioMetric = 0 // Counter of requests to/from an application, generated for HTTP, HTTP/2, // and GRPC traffic. // // The Prometheus provider exports this metric as: `istio_requests_total`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/request_count` (SERVER mode) // - `istio.io/service/client/request_count` (CLIENT mode) MetricSelector_REQUEST_COUNT MetricSelector_IstioMetric = 1 // Histogram of request durations, generated for HTTP, HTTP/2, and GRPC // traffic. // // The Prometheus provider exports this metric as: // `istio_request_duration_milliseconds`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/response_latencies` (SERVER mode) // - `istio.io/service/client/roundtrip_latencies` (CLIENT mode) MetricSelector_REQUEST_DURATION MetricSelector_IstioMetric = 2 // Histogram of request body sizes, generated for HTTP, HTTP/2, and GRPC // traffic. // // The Prometheus provider exports this metric as: `istio_request_bytes`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/request_bytes` (SERVER mode) // - `istio.io/service/client/request_bytes` (CLIENT mode) MetricSelector_REQUEST_SIZE MetricSelector_IstioMetric = 3 // Histogram of response body sizes, generated for HTTP, HTTP/2, and GRPC // traffic. // // The Prometheus provider exports this metric as: `istio_response_bytes`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/response_bytes` (SERVER mode) // - `istio.io/service/client/response_bytes` (CLIENT mode) MetricSelector_RESPONSE_SIZE MetricSelector_IstioMetric = 4 // Counter of TCP connections opened over lifetime of workload. // // The Prometheus provider exports this metric as: // `istio_tcp_connections_opened_total`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/connection_open_count` (SERVER mode) // - `istio.io/service/client/connection_open_count` (CLIENT mode) MetricSelector_TCP_OPENED_CONNECTIONS MetricSelector_IstioMetric = 5 // Counter of TCP connections closed over lifetime of workload. // // The Prometheus provider exports this metric as: // `istio_tcp_connections_closed_total`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/connection_close_count` (SERVER mode) // - `istio.io/service/client/connection_close_count` (CLIENT mode) MetricSelector_TCP_CLOSED_CONNECTIONS MetricSelector_IstioMetric = 6 // Counter of bytes sent during a response over a TCP connection. // // The Prometheus provider exports this metric as: // `istio_tcp_sent_bytes_total`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/sent_bytes_count` (SERVER mode) // - `istio.io/service/client/sent_bytes_count` (CLIENT mode) MetricSelector_TCP_SENT_BYTES MetricSelector_IstioMetric = 7 // Counter of bytes received during a request over a TCP connection. // // The Prometheus provider exports this metric as: // `istio_tcp_received_bytes_total`. // // The Stackdriver provider exports this metric as: // // - `istio.io/service/server/received_bytes_count` (SERVER mode) // - `istio.io/service/client/received_bytes_count` (CLIENT mode) MetricSelector_TCP_RECEIVED_BYTES MetricSelector_IstioMetric = 8 // Counter incremented for every gRPC messages sent from a client. // // The Prometheus provider exports this metric as: // `istio_request_messages_total` MetricSelector_GRPC_REQUEST_MESSAGES MetricSelector_IstioMetric = 9 // Counter incremented for every gRPC messages sent from a server. // // The Prometheus provider exports this metric as: // `istio_response_messages_total` MetricSelector_GRPC_RESPONSE_MESSAGES MetricSelector_IstioMetric = 10 )
func (MetricSelector_IstioMetric) Descriptor ¶
func (MetricSelector_IstioMetric) Descriptor() protoreflect.EnumDescriptor
func (MetricSelector_IstioMetric) Enum ¶
func (x MetricSelector_IstioMetric) Enum() *MetricSelector_IstioMetric
func (MetricSelector_IstioMetric) EnumDescriptor
deprecated
func (MetricSelector_IstioMetric) EnumDescriptor() ([]byte, []int)
Deprecated: Use MetricSelector_IstioMetric.Descriptor instead.
func (MetricSelector_IstioMetric) Number ¶
func (x MetricSelector_IstioMetric) Number() protoreflect.EnumNumber
func (MetricSelector_IstioMetric) String ¶
func (x MetricSelector_IstioMetric) String() string
func (MetricSelector_IstioMetric) Type ¶
func (MetricSelector_IstioMetric) Type() protoreflect.EnumType
type MetricSelector_Metric ¶
type MetricSelector_Metric struct { // One of the well-known [Istio Standard Metrics](https://istio.io/latest/docs/reference/config/metrics/). Metric MetricSelector_IstioMetric `protobuf:"varint,1,opt,name=metric,proto3,enum=istio.telemetry.v1alpha1.MetricSelector_IstioMetric,oneof"` }
type Metrics ¶
type Metrics struct { // Optional. Name of providers to which this configuration should apply. // If a provider is not specified, the [default metrics // provider](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-DefaultProviders) will be // used. Providers []*ProviderRef `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"` // Optional. Ordered list of overrides to metrics generation behavior. // // Specified overrides will be applied in order. They will be applied on // top of inherited overrides from other resources in the hierarchy in the // following order: // 1. Mesh-scoped overrides // 2. Namespace-scoped overrides // 3. Workload-scoped overrides // // Because overrides are applied in order, users are advised to order their // overrides from least specific to most specific matches. That is, it is // a best practice to list any universal overrides first, with tailored // overrides following them. Overrides []*MetricsOverrides `protobuf:"bytes,2,rep,name=overrides,proto3" json:"overrides,omitempty"` // Optional. Reporting interval allows configuration of the time between calls out to for metrics reporting. // This currently only supports TCP metrics but we may use this for long duration HTTP streams in the future. // The default duration is `5s`. // +cue-gen:Telemetry:releaseChannel:extended ReportingInterval *duration.Duration `protobuf:"bytes,3,opt,name=reporting_interval,json=reportingInterval,proto3" json:"reporting_interval,omitempty"` // contains filtered or unexported fields }
Metrics defines the workload-level overrides for metrics generation behavior within a mesh. It can be used to enable/disable metrics generation, as well as to customize the dimensions of the generated metrics.
func (*Metrics) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics. Required by controller-gen.
func (*Metrics) DeepCopyInterface ¶
func (in *Metrics) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Metrics. Required by controller-gen.
func (*Metrics) DeepCopyInto ¶
DeepCopyInto supports using Metrics within kubernetes types, where deepcopy-gen is used.
func (*Metrics) Descriptor
deprecated
func (*Metrics) GetOverrides ¶
func (x *Metrics) GetOverrides() []*MetricsOverrides
func (*Metrics) GetProviders ¶
func (x *Metrics) GetProviders() []*ProviderRef
func (*Metrics) GetReportingInterval ¶
func (*Metrics) MarshalJSON ¶
MarshalJSON is a custom marshaler for Metrics
func (*Metrics) ProtoMessage ¶
func (*Metrics) ProtoMessage()
func (*Metrics) ProtoReflect ¶
func (x *Metrics) ProtoReflect() protoreflect.Message
func (*Metrics) UnmarshalJSON ¶
UnmarshalJSON is a custom unmarshaler for Metrics
type MetricsOverrides ¶
type MetricsOverrides struct { // Match allows providing the scope of the override. It can be used to select // individual metrics, as well as the workload modes (server, client, or both) // in which the metrics will be generated. // // If match is not specified, the overrides will apply to *all* metrics for // *both* modes of operation (client and server). Match *MetricSelector `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"` // Optional. Must explicitly set this to `true` to turn off metrics reporting // for the listed metrics. If disabled has been set to `true` in a parent // configuration, it must explicitly be set to `false` to turn metrics // reporting on in the workloads selected by the Telemetry resource. Disabled *wrappers.BoolValue `protobuf:"bytes,2,opt,name=disabled,proto3" json:"disabled,omitempty"` // Optional. Collection of tag names and tag expressions to override in the // selected metric(s). // The key in the map is the name of the tag. // The value in the map is the operation to perform on the the tag. // WARNING: some providers may not support adding/removing tags. // See also: https://istio.io/latest/docs/reference/config/metrics/#labels TagOverrides map[string]*MetricsOverrides_TagOverride `` /* 185-byte string literal not displayed */ // contains filtered or unexported fields }
MetricsOverrides defines custom metric generation behavior for an individual metric or the set of all standard metrics.
func (*MetricsOverrides) DeepCopy ¶
func (in *MetricsOverrides) DeepCopy() *MetricsOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsOverrides. Required by controller-gen.
func (*MetricsOverrides) DeepCopyInterface ¶
func (in *MetricsOverrides) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetricsOverrides. Required by controller-gen.
func (*MetricsOverrides) DeepCopyInto ¶
func (in *MetricsOverrides) DeepCopyInto(out *MetricsOverrides)
DeepCopyInto supports using MetricsOverrides within kubernetes types, where deepcopy-gen is used.
func (*MetricsOverrides) Descriptor
deprecated
func (*MetricsOverrides) Descriptor() ([]byte, []int)
Deprecated: Use MetricsOverrides.ProtoReflect.Descriptor instead.
func (*MetricsOverrides) GetDisabled ¶
func (x *MetricsOverrides) GetDisabled() *wrappers.BoolValue
func (*MetricsOverrides) GetMatch ¶
func (x *MetricsOverrides) GetMatch() *MetricSelector
func (*MetricsOverrides) GetTagOverrides ¶
func (x *MetricsOverrides) GetTagOverrides() map[string]*MetricsOverrides_TagOverride
func (*MetricsOverrides) MarshalJSON ¶
func (this *MetricsOverrides) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for MetricsOverrides
func (*MetricsOverrides) ProtoMessage ¶
func (*MetricsOverrides) ProtoMessage()
func (*MetricsOverrides) ProtoReflect ¶
func (x *MetricsOverrides) ProtoReflect() protoreflect.Message
func (*MetricsOverrides) Reset ¶
func (x *MetricsOverrides) Reset()
func (*MetricsOverrides) String ¶
func (x *MetricsOverrides) String() string
func (*MetricsOverrides) UnmarshalJSON ¶
func (this *MetricsOverrides) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for MetricsOverrides
type MetricsOverrides_TagOverride ¶
type MetricsOverrides_TagOverride struct { // Operation controls whether or not to update/add a tag, or to remove it. Operation MetricsOverrides_TagOverride_Operation `` /* 141-byte string literal not displayed */ // Value is only considered if the operation is `UPSERT`. // Values are [CEL expressions](https://opensource.google/projects/cel) over // attributes. Examples include: `string(destination.port)` and // `request.host`. Istio exposes all standard [Envoy // attributes](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes). // Additionally, Istio exposes node metadata as attributes. // More information is provided in the [customization // docs](https://istio.io/latest/docs/tasks/observability/metrics/customize-metrics/#use-expressions-for-values). Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
TagOverride specifies an operation to perform on a metric dimension (also known as a `label`). Tags may be added, removed, or have their default values overridden. +kubebuilder:validation:XValidation:message="value must be set when operation is UPSERT",rule="((has(self.operation) ? self.operation : ”) == 'UPSERT') ? self.value != ” : true" +kubebuilder:validation:XValidation:message="value must not be set when operation is REMOVE",rule="((has(self.operation) ? self.operation : ”) == 'REMOVE') ? !has(self.value) : true"
func (*MetricsOverrides_TagOverride) DeepCopy ¶
func (in *MetricsOverrides_TagOverride) DeepCopy() *MetricsOverrides_TagOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsOverrides_TagOverride. Required by controller-gen.
func (*MetricsOverrides_TagOverride) DeepCopyInterface ¶
func (in *MetricsOverrides_TagOverride) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new MetricsOverrides_TagOverride. Required by controller-gen.
func (*MetricsOverrides_TagOverride) DeepCopyInto ¶
func (in *MetricsOverrides_TagOverride) DeepCopyInto(out *MetricsOverrides_TagOverride)
DeepCopyInto supports using MetricsOverrides_TagOverride within kubernetes types, where deepcopy-gen is used.
func (*MetricsOverrides_TagOverride) Descriptor
deprecated
func (*MetricsOverrides_TagOverride) Descriptor() ([]byte, []int)
Deprecated: Use MetricsOverrides_TagOverride.ProtoReflect.Descriptor instead.
func (*MetricsOverrides_TagOverride) GetOperation ¶
func (x *MetricsOverrides_TagOverride) GetOperation() MetricsOverrides_TagOverride_Operation
func (*MetricsOverrides_TagOverride) GetValue ¶
func (x *MetricsOverrides_TagOverride) GetValue() string
func (*MetricsOverrides_TagOverride) MarshalJSON ¶
func (this *MetricsOverrides_TagOverride) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for MetricsOverrides_TagOverride
func (*MetricsOverrides_TagOverride) ProtoMessage ¶
func (*MetricsOverrides_TagOverride) ProtoMessage()
func (*MetricsOverrides_TagOverride) ProtoReflect ¶
func (x *MetricsOverrides_TagOverride) ProtoReflect() protoreflect.Message
func (*MetricsOverrides_TagOverride) Reset ¶
func (x *MetricsOverrides_TagOverride) Reset()
func (*MetricsOverrides_TagOverride) String ¶
func (x *MetricsOverrides_TagOverride) String() string
func (*MetricsOverrides_TagOverride) UnmarshalJSON ¶
func (this *MetricsOverrides_TagOverride) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for MetricsOverrides_TagOverride
type MetricsOverrides_TagOverride_Operation ¶
type MetricsOverrides_TagOverride_Operation int32
const ( // Insert or Update the tag with the provided value expression. The // `value` field MUST be specified if `UPSERT` is used as the operation. MetricsOverrides_TagOverride_UPSERT MetricsOverrides_TagOverride_Operation = 0 // Specifies that the tag should not be included in the metric when // generated. MetricsOverrides_TagOverride_REMOVE MetricsOverrides_TagOverride_Operation = 1 )
func (MetricsOverrides_TagOverride_Operation) Descriptor ¶
func (MetricsOverrides_TagOverride_Operation) Descriptor() protoreflect.EnumDescriptor
func (MetricsOverrides_TagOverride_Operation) EnumDescriptor
deprecated
func (MetricsOverrides_TagOverride_Operation) EnumDescriptor() ([]byte, []int)
Deprecated: Use MetricsOverrides_TagOverride_Operation.Descriptor instead.
func (MetricsOverrides_TagOverride_Operation) Number ¶
func (x MetricsOverrides_TagOverride_Operation) Number() protoreflect.EnumNumber
func (MetricsOverrides_TagOverride_Operation) String ¶
func (x MetricsOverrides_TagOverride_Operation) String() string
func (MetricsOverrides_TagOverride_Operation) Type ¶
func (MetricsOverrides_TagOverride_Operation) Type() protoreflect.EnumType
type ProviderRef ¶
type ProviderRef struct { // Required. Name of Telemetry provider in [MeshConfig](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-ExtensionProvider). // +kubebuilder:validation:MinLength=1 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
Used to bind Telemetry configuration to specific providers for targeted customization.
func (*ProviderRef) DeepCopy ¶
func (in *ProviderRef) DeepCopy() *ProviderRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderRef. Required by controller-gen.
func (*ProviderRef) DeepCopyInterface ¶
func (in *ProviderRef) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ProviderRef. Required by controller-gen.
func (*ProviderRef) DeepCopyInto ¶
func (in *ProviderRef) DeepCopyInto(out *ProviderRef)
DeepCopyInto supports using ProviderRef within kubernetes types, where deepcopy-gen is used.
func (*ProviderRef) Descriptor
deprecated
func (*ProviderRef) Descriptor() ([]byte, []int)
Deprecated: Use ProviderRef.ProtoReflect.Descriptor instead.
func (*ProviderRef) GetName ¶
func (x *ProviderRef) GetName() string
func (*ProviderRef) MarshalJSON ¶
func (this *ProviderRef) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for ProviderRef
func (*ProviderRef) ProtoMessage ¶
func (*ProviderRef) ProtoMessage()
func (*ProviderRef) ProtoReflect ¶
func (x *ProviderRef) ProtoReflect() protoreflect.Message
func (*ProviderRef) Reset ¶
func (x *ProviderRef) Reset()
func (*ProviderRef) String ¶
func (x *ProviderRef) String() string
func (*ProviderRef) UnmarshalJSON ¶
func (this *ProviderRef) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for ProviderRef
type Telemetry ¶
type Telemetry struct { // Optional. The selector decides where to apply the policy. // If not set, the policy will be applied to all workloads in the // same namespace as the policy. // // At most one of `selector` or `targetRefs` can be set for a given policy. Selector *v1beta1.WorkloadSelector `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` // $hide_from_docs TargetRef *v1beta1.PolicyTargetReference `protobuf:"bytes,5,opt,name=targetRef,proto3" json:"targetRef,omitempty"` // Optional. The targetRefs specifies a list of resources the policy should be // applied to. The targeted resources specified will determine which workloads // the policy applies to. // // Currently, the following resource attachment types are supported: // * `kind: Gateway` with `group: gateway.networking.k8s.io` in the same namespace. // * `kind: Service` with `group: ""` or `group: "core"` in the same namespace. This type is only supported for waypoints. // // If not set, the policy is applied as defined by the selector. // At most one of the selector and targetRefs can be set. // // NOTE: If you are using the `targetRefs` field in a multi-revision environment with Istio versions prior to 1.22, // it is highly recommended that you pin the policy to a revision running 1.22+ via the `istio.io/rev` label. // This is to prevent proxies connected to older control planes (that don't know about the `targetRefs` field) // from misinterpreting the policy as namespace-wide during the upgrade process. // // NOTE: Waypoint proxies are required to use this field for policies to apply; `selector` policies will be ignored. // +kubebuilder:validation:MaxItems=16 TargetRefs []*v1beta1.PolicyTargetReference `protobuf:"bytes,6,rep,name=targetRefs,proto3" json:"targetRefs,omitempty"` // Optional. Tracing configures the tracing behavior for all // selected workloads. Tracing []*Tracing `protobuf:"bytes,2,rep,name=tracing,proto3" json:"tracing,omitempty"` // Optional. Metrics configures the metrics behavior for all // selected workloads. Metrics []*Metrics `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` // Optional. Access logging configures the access logging behavior for all // selected workloads. AccessLogging []*AccessLogging `protobuf:"bytes,4,rep,name=access_logging,json=accessLogging,proto3" json:"access_logging,omitempty"` // contains filtered or unexported fields }
<!-- crd generation tags +cue-gen:Telemetry:groupName:telemetry.istio.io +cue-gen:Telemetry:versions:v1alpha1,v1 +cue-gen:Telemetry:storageVersion +cue-gen:Telemetry:annotations:helm.sh/resource-policy=keep +cue-gen:Telemetry:labels:app=istio-pilot,chart=istio,istio=telemetry,heritage=Tiller,release=istio +cue-gen:Telemetry:subresource:status +cue-gen:Telemetry:scope:Namespaced +cue-gen:Telemetry:resource:categories=istio-io,telemetry-istio-io,shortNames=telemetry,plural=telemetries +cue-gen:Telemetry:preserveUnknownFields:false +cue-gen:Telemetry:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" -->
<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=telemetry.istio.io/v1alpha1 +genclient +k8s:deepcopy-gen=true --> +kubebuilder:validation:XValidation:message="only one of targetRefs or selector can be set",rule="(has(self.selector)?1:0)+(has(self.targetRef)?1:0)+(has(self.targetRefs)?1:0)<=1"
func (*Telemetry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Telemetry. Required by controller-gen.
func (*Telemetry) DeepCopyInterface ¶
func (in *Telemetry) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Telemetry. Required by controller-gen.
func (*Telemetry) DeepCopyInto ¶
DeepCopyInto supports using Telemetry within kubernetes types, where deepcopy-gen is used.
func (*Telemetry) Descriptor
deprecated
func (*Telemetry) GetAccessLogging ¶
func (x *Telemetry) GetAccessLogging() []*AccessLogging
func (*Telemetry) GetMetrics ¶
func (*Telemetry) GetSelector ¶
func (x *Telemetry) GetSelector() *v1beta1.WorkloadSelector
func (*Telemetry) GetTargetRef ¶ added in v1.20.0
func (x *Telemetry) GetTargetRef() *v1beta1.PolicyTargetReference
func (*Telemetry) GetTargetRefs ¶ added in v1.22.0
func (x *Telemetry) GetTargetRefs() []*v1beta1.PolicyTargetReference
func (*Telemetry) GetTracing ¶
func (*Telemetry) MarshalJSON ¶
MarshalJSON is a custom marshaler for Telemetry
func (*Telemetry) ProtoMessage ¶
func (*Telemetry) ProtoMessage()
func (*Telemetry) ProtoReflect ¶
func (x *Telemetry) ProtoReflect() protoreflect.Message
func (*Telemetry) UnmarshalJSON ¶
UnmarshalJSON is a custom unmarshaler for Telemetry
type Tracing ¶
type Tracing struct { // Allows tailoring of behavior to specific conditions. Match *Tracing_TracingSelector `protobuf:"bytes,7,opt,name=match,proto3" json:"match,omitempty"` // Optional. Name of provider(s) to use for span reporting. If a provider is // not specified, the [default tracing // provider](https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-DefaultProviders) will be // used. NOTE: At the moment, only a single provider can be specified in a // given Tracing rule. Providers []*ProviderRef `protobuf:"bytes,2,rep,name=providers,proto3" json:"providers,omitempty"` // Controls the rate at which traffic will be selected for tracing if no // prior sampling decision has been made. If a prior sampling decision has // been made, that decision will be respected. However, if no sampling // decision has been made (example: no `x-b3-sampled` tracing header was // present in the requests), the traffic will be selected for telemetry // generation at the percentage specified. // // Defaults to 0%. Valid values [0.00-100.00]. Can be specified in 0.01% // increments. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 RandomSamplingPercentage *wrappers.DoubleValue `` /* 135-byte string literal not displayed */ // Controls span reporting. If set to true, no spans will be reported for // impacted workloads. This does NOT impact context propagation or trace // sampling behavior. DisableSpanReporting *wrappers.BoolValue `protobuf:"bytes,4,opt,name=disable_span_reporting,json=disableSpanReporting,proto3" json:"disable_span_reporting,omitempty"` // Optional. Configures additional custom tags to the generated trace spans. CustomTags map[string]*Tracing_CustomTag `` /* 179-byte string literal not displayed */ // This value is true by default; Envoy decides whether or not to sample based // on the value of the Request ID generated by Ingress in distributed tracing. // The format of this Request ID is specific to Envoy, and if the Request ID // generated by the proxy that receives user traffic first is not specific to // Envoy, Envoy will break the trace because it cannot interpret the Request // ID. By setting this value to false, we can prevent Envoy from sampling // based on the Request ID. As a result, the trace will not be broken even if // the Request ID is not in the Envoy format. [Trace Context // Propagation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing#trace-context-propagation) // provides more information on Request ID handling. // $hide_from_docs // +cue-gen:Telemetry:releaseChannel:extended UseRequestIdForTraceSampling *wrappers.BoolValue `` /* 153-byte string literal not displayed */ // contains filtered or unexported fields }
Tracing configures tracing behavior for workloads within a mesh. It can be used to enable/disable tracing, as well as to set sampling rates and custom tag extraction.
Tracing configuration support overrides of the fields `providers`, `random_sampling_percentage`, `disable_span_reporting`, and `custom_tags` at each level in the configuration hierarchy, with missing values filled in from parent resources. However, when specified, `custom_tags` will fully replace any values provided by parent configuration.
func (*Tracing) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing. Required by controller-gen.
func (*Tracing) DeepCopyInterface ¶
func (in *Tracing) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Tracing. Required by controller-gen.
func (*Tracing) DeepCopyInto ¶
DeepCopyInto supports using Tracing within kubernetes types, where deepcopy-gen is used.
func (*Tracing) Descriptor
deprecated
func (*Tracing) GetCustomTags ¶
func (x *Tracing) GetCustomTags() map[string]*Tracing_CustomTag
func (*Tracing) GetDisableSpanReporting ¶
func (*Tracing) GetMatch ¶
func (x *Tracing) GetMatch() *Tracing_TracingSelector
func (*Tracing) GetProviders ¶
func (x *Tracing) GetProviders() []*ProviderRef
func (*Tracing) GetRandomSamplingPercentage ¶
func (x *Tracing) GetRandomSamplingPercentage() *wrappers.DoubleValue
func (*Tracing) GetUseRequestIdForTraceSampling ¶
func (*Tracing) MarshalJSON ¶
MarshalJSON is a custom marshaler for Tracing
func (*Tracing) ProtoMessage ¶
func (*Tracing) ProtoMessage()
func (*Tracing) ProtoReflect ¶
func (x *Tracing) ProtoReflect() protoreflect.Message
func (*Tracing) UnmarshalJSON ¶
UnmarshalJSON is a custom unmarshaler for Tracing
type Tracing_CustomTag ¶
type Tracing_CustomTag struct { // Types that are assignable to Type: // // *Tracing_CustomTag_Literal // *Tracing_CustomTag_Environment // *Tracing_CustomTag_Header Type isTracing_CustomTag_Type `protobuf_oneof:"type"` // contains filtered or unexported fields }
CustomTag defines a tag to be added to a trace span that is based on an operator-supplied value. This value can either be a hard-coded value, a value taken from an environment variable known to the sidecar proxy, or from a request header.
NOTE: when specified, `custom_tags` will fully replace any values provided by parent configuration.
func (*Tracing_CustomTag) DeepCopy ¶
func (in *Tracing_CustomTag) DeepCopy() *Tracing_CustomTag
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_CustomTag. Required by controller-gen.
func (*Tracing_CustomTag) DeepCopyInterface ¶
func (in *Tracing_CustomTag) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_CustomTag. Required by controller-gen.
func (*Tracing_CustomTag) DeepCopyInto ¶
func (in *Tracing_CustomTag) DeepCopyInto(out *Tracing_CustomTag)
DeepCopyInto supports using Tracing_CustomTag within kubernetes types, where deepcopy-gen is used.
func (*Tracing_CustomTag) Descriptor
deprecated
func (*Tracing_CustomTag) Descriptor() ([]byte, []int)
Deprecated: Use Tracing_CustomTag.ProtoReflect.Descriptor instead.
func (*Tracing_CustomTag) GetEnvironment ¶
func (x *Tracing_CustomTag) GetEnvironment() *Tracing_Environment
func (*Tracing_CustomTag) GetHeader ¶
func (x *Tracing_CustomTag) GetHeader() *Tracing_RequestHeader
func (*Tracing_CustomTag) GetLiteral ¶
func (x *Tracing_CustomTag) GetLiteral() *Tracing_Literal
func (*Tracing_CustomTag) GetType ¶
func (m *Tracing_CustomTag) GetType() isTracing_CustomTag_Type
func (*Tracing_CustomTag) MarshalJSON ¶
func (this *Tracing_CustomTag) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for Tracing_CustomTag
func (*Tracing_CustomTag) ProtoMessage ¶
func (*Tracing_CustomTag) ProtoMessage()
func (*Tracing_CustomTag) ProtoReflect ¶
func (x *Tracing_CustomTag) ProtoReflect() protoreflect.Message
func (*Tracing_CustomTag) Reset ¶
func (x *Tracing_CustomTag) Reset()
func (*Tracing_CustomTag) String ¶
func (x *Tracing_CustomTag) String() string
func (*Tracing_CustomTag) UnmarshalJSON ¶
func (this *Tracing_CustomTag) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for Tracing_CustomTag
type Tracing_CustomTag_Environment ¶
type Tracing_CustomTag_Environment struct { // Environment adds the value of an environment variable to each span. Environment *Tracing_Environment `protobuf:"bytes,2,opt,name=environment,proto3,oneof"` }
type Tracing_CustomTag_Header ¶
type Tracing_CustomTag_Header struct { // RequestHeader adds the value of an header from the request to each // span. Header *Tracing_RequestHeader `protobuf:"bytes,3,opt,name=header,proto3,oneof"` // TODO: add support for Metadata tags }
type Tracing_CustomTag_Literal ¶
type Tracing_CustomTag_Literal struct { // Literal adds the same, hard-coded value to each span. Literal *Tracing_Literal `protobuf:"bytes,1,opt,name=literal,proto3,oneof"` }
type Tracing_Environment ¶
type Tracing_Environment struct { // Name of the environment variable from which to extract the tag value. // +kubebuilder:validation:MinLength=1 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. If the environment variable is not found, this value will be // used instead. DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // contains filtered or unexported fields }
func (*Tracing_Environment) DeepCopy ¶
func (in *Tracing_Environment) DeepCopy() *Tracing_Environment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_Environment. Required by controller-gen.
func (*Tracing_Environment) DeepCopyInterface ¶
func (in *Tracing_Environment) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_Environment. Required by controller-gen.
func (*Tracing_Environment) DeepCopyInto ¶
func (in *Tracing_Environment) DeepCopyInto(out *Tracing_Environment)
DeepCopyInto supports using Tracing_Environment within kubernetes types, where deepcopy-gen is used.
func (*Tracing_Environment) Descriptor
deprecated
func (*Tracing_Environment) Descriptor() ([]byte, []int)
Deprecated: Use Tracing_Environment.ProtoReflect.Descriptor instead.
func (*Tracing_Environment) GetDefaultValue ¶
func (x *Tracing_Environment) GetDefaultValue() string
func (*Tracing_Environment) GetName ¶
func (x *Tracing_Environment) GetName() string
func (*Tracing_Environment) MarshalJSON ¶
func (this *Tracing_Environment) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for Tracing_Environment
func (*Tracing_Environment) ProtoMessage ¶
func (*Tracing_Environment) ProtoMessage()
func (*Tracing_Environment) ProtoReflect ¶
func (x *Tracing_Environment) ProtoReflect() protoreflect.Message
func (*Tracing_Environment) Reset ¶
func (x *Tracing_Environment) Reset()
func (*Tracing_Environment) String ¶
func (x *Tracing_Environment) String() string
func (*Tracing_Environment) UnmarshalJSON ¶
func (this *Tracing_Environment) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for Tracing_Environment
type Tracing_Literal ¶
type Tracing_Literal struct { // The tag value to use. // +kubebuilder:validation:MinLength=1 Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*Tracing_Literal) DeepCopy ¶
func (in *Tracing_Literal) DeepCopy() *Tracing_Literal
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_Literal. Required by controller-gen.
func (*Tracing_Literal) DeepCopyInterface ¶
func (in *Tracing_Literal) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_Literal. Required by controller-gen.
func (*Tracing_Literal) DeepCopyInto ¶
func (in *Tracing_Literal) DeepCopyInto(out *Tracing_Literal)
DeepCopyInto supports using Tracing_Literal within kubernetes types, where deepcopy-gen is used.
func (*Tracing_Literal) Descriptor
deprecated
func (*Tracing_Literal) Descriptor() ([]byte, []int)
Deprecated: Use Tracing_Literal.ProtoReflect.Descriptor instead.
func (*Tracing_Literal) GetValue ¶
func (x *Tracing_Literal) GetValue() string
func (*Tracing_Literal) MarshalJSON ¶
func (this *Tracing_Literal) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for Tracing_Literal
func (*Tracing_Literal) ProtoMessage ¶
func (*Tracing_Literal) ProtoMessage()
func (*Tracing_Literal) ProtoReflect ¶
func (x *Tracing_Literal) ProtoReflect() protoreflect.Message
func (*Tracing_Literal) Reset ¶
func (x *Tracing_Literal) Reset()
func (*Tracing_Literal) String ¶
func (x *Tracing_Literal) String() string
func (*Tracing_Literal) UnmarshalJSON ¶
func (this *Tracing_Literal) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for Tracing_Literal
type Tracing_RequestHeader ¶
type Tracing_RequestHeader struct { // Name of the header from which to extract the tag value. // +kubebuilder:validation:MinLength=1 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. If the header is not found, this value will be // used instead. DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` // contains filtered or unexported fields }
func (*Tracing_RequestHeader) DeepCopy ¶
func (in *Tracing_RequestHeader) DeepCopy() *Tracing_RequestHeader
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_RequestHeader. Required by controller-gen.
func (*Tracing_RequestHeader) DeepCopyInterface ¶
func (in *Tracing_RequestHeader) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_RequestHeader. Required by controller-gen.
func (*Tracing_RequestHeader) DeepCopyInto ¶
func (in *Tracing_RequestHeader) DeepCopyInto(out *Tracing_RequestHeader)
DeepCopyInto supports using Tracing_RequestHeader within kubernetes types, where deepcopy-gen is used.
func (*Tracing_RequestHeader) Descriptor
deprecated
func (*Tracing_RequestHeader) Descriptor() ([]byte, []int)
Deprecated: Use Tracing_RequestHeader.ProtoReflect.Descriptor instead.
func (*Tracing_RequestHeader) GetDefaultValue ¶
func (x *Tracing_RequestHeader) GetDefaultValue() string
func (*Tracing_RequestHeader) GetName ¶
func (x *Tracing_RequestHeader) GetName() string
func (*Tracing_RequestHeader) MarshalJSON ¶
func (this *Tracing_RequestHeader) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for Tracing_RequestHeader
func (*Tracing_RequestHeader) ProtoMessage ¶
func (*Tracing_RequestHeader) ProtoMessage()
func (*Tracing_RequestHeader) ProtoReflect ¶
func (x *Tracing_RequestHeader) ProtoReflect() protoreflect.Message
func (*Tracing_RequestHeader) Reset ¶
func (x *Tracing_RequestHeader) Reset()
func (*Tracing_RequestHeader) String ¶
func (x *Tracing_RequestHeader) String() string
func (*Tracing_RequestHeader) UnmarshalJSON ¶
func (this *Tracing_RequestHeader) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for Tracing_RequestHeader
type Tracing_TracingSelector ¶
type Tracing_TracingSelector struct { // This determines whether or not to apply the tracing configuration // based on the direction of traffic relative to the proxied workload. Mode WorkloadMode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.telemetry.v1alpha1.WorkloadMode" json:"mode,omitempty"` // contains filtered or unexported fields }
TracingSelector provides a coarse-grained ability to configure tracing behavior based on certain traffic metadata (such as traffic direction).
func (*Tracing_TracingSelector) DeepCopy ¶
func (in *Tracing_TracingSelector) DeepCopy() *Tracing_TracingSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_TracingSelector. Required by controller-gen.
func (*Tracing_TracingSelector) DeepCopyInterface ¶
func (in *Tracing_TracingSelector) DeepCopyInterface() interface{}
DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Tracing_TracingSelector. Required by controller-gen.
func (*Tracing_TracingSelector) DeepCopyInto ¶
func (in *Tracing_TracingSelector) DeepCopyInto(out *Tracing_TracingSelector)
DeepCopyInto supports using Tracing_TracingSelector within kubernetes types, where deepcopy-gen is used.
func (*Tracing_TracingSelector) Descriptor
deprecated
func (*Tracing_TracingSelector) Descriptor() ([]byte, []int)
Deprecated: Use Tracing_TracingSelector.ProtoReflect.Descriptor instead.
func (*Tracing_TracingSelector) GetMode ¶
func (x *Tracing_TracingSelector) GetMode() WorkloadMode
func (*Tracing_TracingSelector) MarshalJSON ¶
func (this *Tracing_TracingSelector) MarshalJSON() ([]byte, error)
MarshalJSON is a custom marshaler for Tracing_TracingSelector
func (*Tracing_TracingSelector) ProtoMessage ¶
func (*Tracing_TracingSelector) ProtoMessage()
func (*Tracing_TracingSelector) ProtoReflect ¶
func (x *Tracing_TracingSelector) ProtoReflect() protoreflect.Message
func (*Tracing_TracingSelector) Reset ¶
func (x *Tracing_TracingSelector) Reset()
func (*Tracing_TracingSelector) String ¶
func (x *Tracing_TracingSelector) String() string
func (*Tracing_TracingSelector) UnmarshalJSON ¶
func (this *Tracing_TracingSelector) UnmarshalJSON(b []byte) error
UnmarshalJSON is a custom unmarshaler for Tracing_TracingSelector
type WorkloadMode ¶
type WorkloadMode int32
WorkloadMode allows selection of the role of the underlying workload in network traffic. A workload is considered as acting as a `SERVER` if it is the destination of the traffic (that is, traffic direction, from the perspective of the workload is *inbound*). If the workload is the source of the network traffic, it is considered to be in `CLIENT` mode (traffic is *outbound* from the workload).
const ( // Selects for scenarios when the workload is either the // source or destination of the network traffic. WorkloadMode_CLIENT_AND_SERVER WorkloadMode = 0 // Selects for scenarios when the workload is the // source of the network traffic. WorkloadMode_CLIENT WorkloadMode = 1 // Selects for scenarios when the workload is the // destination of the network traffic. WorkloadMode_SERVER WorkloadMode = 2 )
func (WorkloadMode) Descriptor ¶
func (WorkloadMode) Descriptor() protoreflect.EnumDescriptor
func (WorkloadMode) Enum ¶
func (x WorkloadMode) Enum() *WorkloadMode
func (WorkloadMode) EnumDescriptor
deprecated
func (WorkloadMode) EnumDescriptor() ([]byte, []int)
Deprecated: Use WorkloadMode.Descriptor instead.
func (WorkloadMode) Number ¶
func (x WorkloadMode) Number() protoreflect.EnumNumber
func (WorkloadMode) String ¶
func (x WorkloadMode) String() string
func (WorkloadMode) Type ¶
func (WorkloadMode) Type() protoreflect.EnumType