v1alpha1

package
v1.10.6 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Apache-2.0 Imports: 5 Imported by: 25

Documentation

Overview

Package has auto-generated kube type wrappers for raw types. +k8s:openapi-gen=true +k8s:deepcopy-gen=package +groupName=telemetry.istio.io

Index

Constants

View Source
const (
	// Package-wide consts from generator "register".
	GroupName = "telemetry.istio.io"
)

Variables

View Source
var (
	// Package-wide variables from generator "register".
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes)

	AddToScheme = localSchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Types

type Telemetry

type Telemetry struct {
	v1.TypeMeta `json:",inline"`
	// +optional
	v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// Spec defines the implementation of this definition.
	// +optional
	Spec telemetryv1alpha1.Telemetry `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`

	Status metav1alpha1.IstioStatus `json:"status"`
}

Telemetry defines how the telemetry is generated for workloads within a mesh.

For mesh level configuration, put the resource in root configuration namespace for your Istio installation *without* a workload selector.

For any namespace, including the root configuration namespace, it is only valid to have a single workload selector-less Telemetry resource.

For resources with a workload selector, it is only valid to have one resource selecting any given workload.

Telemetry configuration will use a "shallow merge" semantic for configuration override for each telemetry type (Tracing, Metrics, AccessLogging). For example, Tracing configuration will 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, fields like `custom_tags` will fully replace any values provided by parent configuration.

The hierarchy of Telemetry configuration is as follows: 1. Workload-specific configuration 1. Namespace-specific configuration 1. Root namespace configuration

WARNING: Support for Telemetry policies is under active development and is *not* stable or supported by Istio at this time.

Examples:

Policy to enable random sampling for 10% of traffic: ```yaml apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata:

name: mesh-default
namespace: istio-system

spec:

tracing:
- randomSamplingPercentage: 10.00

```

Policy to disable trace reporting for the "foo" workload (note: tracing context will still be propagated): ```yaml apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata:

name: foo-tracing
namespace: bar

spec:

selector:
  labels:
    service.istio.io/canonical-name: foo
tracing:
- disableSpanReporting: true

```

Policy to select the alternate zipkin provider for trace reporting: ```yaml apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata:

name: foo-tracing-alternate
namespace: baz

spec:

selector:
  labels:
    service.istio.io/canonical-name: foo
tracing:
- providers:
  - name: "zipkin-alternate"
  randomSamplingPercentage: 10.00

```

Policy to add a custom tag from a literal value: ```yaml apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata:

name: mesh-default
namespace: istio-system

spec:

tracing:
- randomSamplingPercentage: 10.00
  customTags:
    my_new_foo_tag:
      literal:
        value: "foo"

```

<!-- crd generation tags +cue-gen:Telemetry:groupName:telemetry.istio.io +cue-gen:Telemetry:version:v1alpha1 +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 -->

func (*Telemetry) DeepCopy

func (in *Telemetry) DeepCopy() *Telemetry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Telemetry.

func (*Telemetry) DeepCopyInto

func (in *Telemetry) DeepCopyInto(out *Telemetry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Telemetry) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TelemetryList

type TelemetryList struct {
	v1.TypeMeta `json:",inline"`
	// +optional
	v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items       []Telemetry `json:"items" protobuf:"bytes,2,rep,name=items"`
}

TelemetryList is a collection of Telemetries.

func (*TelemetryList) DeepCopy

func (in *TelemetryList) DeepCopy() *TelemetryList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryList.

func (*TelemetryList) DeepCopyInto

func (in *TelemetryList) DeepCopyInto(out *TelemetryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TelemetryList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

Jump to

Keyboard shortcuts

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