Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group. +kubebuilder:object:generate=true +groupName=opentelemetry.io
Index ¶
- Variables
- func SetupInstrumentationWebhook(mgr ctrl.Manager, cfg config.Config) error
- type ApacheHttpd
- type Defaults
- type DotNet
- type Exporter
- type Extensions
- type Go
- type Instrumentation
- type InstrumentationList
- type InstrumentationSpec
- type InstrumentationStatus
- type InstrumentationWebhook
- func (w InstrumentationWebhook) Default(ctx context.Context, obj runtime.Object) error
- func (w InstrumentationWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (w InstrumentationWebhook) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (w InstrumentationWebhook) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type Java
- type Nginx
- type NodeJS
- type OpenTelemetryTargetAllocatorAllocationStrategy
- type Propagator
- type Python
- type Resource
- type Sampler
- type SamplerType
- type TLS
- type UpgradeStrategy
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "opentelemetry.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
Types ¶
type ApacheHttpd ¶
type ApacheHttpd struct {
// Image is a container image with Apache SDK and auto-instrumentation.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines Apache HTTPD specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Attrs defines Apache HTTPD agent specific attributes. The precedence is:
// `agent default attributes` > `instrument spec attributes` .
// Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module
// +optional
Attrs []corev1.EnvVar `json:"attrs,omitempty"`
// Apache HTTPD server version. One of 2.4 or 2.2. Default is 2.4
// +optional
Version string `json:"version,omitempty"`
// Location of Apache HTTPD server configuration.
// Needed only if different from default "/usr/local/apache2/conf"
// +optional
ConfigPath string `json:"configPath,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}
ApacheHttpd defines Apache SDK and instrumentation configuration.
func (*ApacheHttpd) DeepCopy ¶
func (in *ApacheHttpd) DeepCopy() *ApacheHttpd
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApacheHttpd.
func (*ApacheHttpd) DeepCopyInto ¶
func (in *ApacheHttpd) DeepCopyInto(out *ApacheHttpd)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Defaults ¶
type Defaults struct {
// UseLabelsForResourceAttributes defines whether to use common labels for resource attributes:
// - `app.kubernetes.io/name` becomes `service.name`
// - `app.kubernetes.io/version` becomes `service.version`
// - `app.kubernetes.io/part-of` becomes `service.namespace`
UseLabelsForResourceAttributes bool `json:"useLabelsForResourceAttributes,omitempty"`
}
Defaults defines default values for the instrumentation.
func (*Defaults) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Defaults.
func (*Defaults) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DotNet ¶
type DotNet struct {
// Image is a container image with DotNet SDK and auto-instrumentation.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines DotNet specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}
DotNet defines DotNet SDK and instrumentation configuration.
func (*DotNet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DotNet.
func (*DotNet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Exporter ¶
type Exporter struct {
// Endpoint is address of the collector with OTLP endpoint.
// If the endpoint defines https:// scheme TLS has to be specified.
// +optional
Endpoint string `json:"endpoint,omitempty"`
// TLS defines certificates for TLS.
// TLS needs to be enabled by specifying https:// scheme in the Endpoint.
TLS *TLS `json:"tls,omitempty"`
}
Exporter defines OTLP exporter configuration.
func (*Exporter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Exporter.
func (*Exporter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Extensions ¶
type Extensions struct {
// Image is a container image with extensions auto-instrumentation JAR.
Image string `json:"image"`
// Dir is a directory with extensions auto-instrumentation JAR.
Dir string `json:"dir"`
}
func (*Extensions) DeepCopy ¶
func (in *Extensions) DeepCopy() *Extensions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extensions.
func (*Extensions) DeepCopyInto ¶
func (in *Extensions) DeepCopyInto(out *Extensions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Go ¶
type Go struct {
// Image is a container image with Go SDK and auto-instrumentation.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines Go specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}
func (*Go) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Go.
func (*Go) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Instrumentation ¶
type Instrumentation struct {
Status InstrumentationStatus `json:"status,omitempty"`
metav1.TypeMeta `json:",inline"`
Spec InstrumentationSpec `json:"spec,omitempty"`
metav1.ObjectMeta `json:"metadata,omitempty"`
}
Instrumentation is the spec for OpenTelemetry instrumentation.
func (*Instrumentation) DeepCopy ¶
func (in *Instrumentation) DeepCopy() *Instrumentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instrumentation.
func (*Instrumentation) DeepCopyInto ¶
func (in *Instrumentation) DeepCopyInto(out *Instrumentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Instrumentation) DeepCopyObject ¶
func (in *Instrumentation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstrumentationList ¶
type InstrumentationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Instrumentation `json:"items"`
}
InstrumentationList contains a list of Instrumentation.
func (*InstrumentationList) DeepCopy ¶
func (in *InstrumentationList) DeepCopy() *InstrumentationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstrumentationList.
func (*InstrumentationList) DeepCopyInto ¶
func (in *InstrumentationList) DeepCopyInto(out *InstrumentationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstrumentationList) DeepCopyObject ¶
func (in *InstrumentationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstrumentationSpec ¶
type InstrumentationSpec struct {
// Exporter defines exporter configuration.
// +optional
Exporter `json:"exporter,omitempty"`
// Resource defines the configuration for the resource attributes, as defined by the OpenTelemetry specification.
// +optional
Resource Resource `json:"resource,omitempty"`
// Propagators defines inter-process context propagation configuration.
// Values in this list will be set in the OTEL_PROPAGATORS env var.
// Enum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none
// +optional
Propagators []Propagator `json:"propagators,omitempty"`
// Sampler defines sampling configuration.
// +optional
Sampler `json:"sampler,omitempty"`
// Defaults defines default values for the instrumentation.
Defaults Defaults `json:"defaults,omitempty"`
// Env defines common env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Java defines configuration for java auto-instrumentation.
// +optional
Java Java `json:"java,omitempty"`
// NodeJS defines configuration for nodejs auto-instrumentation.
// +optional
NodeJS NodeJS `json:"nodejs,omitempty"`
// Python defines configuration for python auto-instrumentation.
// +optional
Python Python `json:"python,omitempty"`
// DotNet defines configuration for DotNet auto-instrumentation.
// +optional
DotNet DotNet `json:"dotnet,omitempty"`
// Go defines configuration for Go auto-instrumentation.
// When using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the
// Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation.
// Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged.
// +optional
Go Go `json:"go,omitempty"`
// ApacheHttpd defines configuration for Apache HTTPD auto-instrumentation.
// +optional
ApacheHttpd ApacheHttpd `json:"apacheHttpd,omitempty"`
// Nginx defines configuration for Nginx auto-instrumentation.
// +optional
Nginx Nginx `json:"nginx,omitempty"`
}
InstrumentationSpec defines the desired state of OpenTelemetry SDK and instrumentation.
func (*InstrumentationSpec) DeepCopy ¶
func (in *InstrumentationSpec) DeepCopy() *InstrumentationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstrumentationSpec.
func (*InstrumentationSpec) DeepCopyInto ¶
func (in *InstrumentationSpec) DeepCopyInto(out *InstrumentationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstrumentationStatus ¶
type InstrumentationStatus struct {
}
InstrumentationStatus defines status of the instrumentation.
func (*InstrumentationStatus) DeepCopy ¶
func (in *InstrumentationStatus) DeepCopy() *InstrumentationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstrumentationStatus.
func (*InstrumentationStatus) DeepCopyInto ¶
func (in *InstrumentationStatus) DeepCopyInto(out *InstrumentationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstrumentationWebhook ¶
type InstrumentationWebhook struct {
// contains filtered or unexported fields
}
func (InstrumentationWebhook) ValidateCreate ¶
func (InstrumentationWebhook) ValidateDelete ¶
func (InstrumentationWebhook) ValidateUpdate ¶
type Java ¶
type Java struct {
// Image is a container image with javaagent auto-instrumentation JAR.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines java specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// Extensions defines java specific extensions.
// All extensions are copied to a single directory; if a JAR with the same name exists, it will be overwritten.
// +optional
Extensions []Extensions `json:"extensions,omitempty"`
}
Java defines Java SDK and instrumentation configuration.
func (*Java) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Java.
func (*Java) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Nginx ¶
type Nginx struct {
// Image is a container image with Nginx SDK and auto-instrumentation.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines Nginx specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Attrs defines Nginx agent specific attributes. The precedence order is:
// `agent default attributes` > `instrument spec attributes` .
// Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module
// +optional
Attrs []corev1.EnvVar `json:"attrs,omitempty"`
// Location of Nginx configuration file.
// Needed only if different from default "/etx/nginx/nginx.conf"
// +optional
ConfigFile string `json:"configFile,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}
Nginx defines Nginx SDK and instrumentation configuration.
func (*Nginx) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nginx.
func (*Nginx) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeJS ¶
type NodeJS struct {
// Image is a container image with NodeJS SDK and auto-instrumentation.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines nodejs specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}
NodeJS defines NodeJS SDK and instrumentation configuration.
func (*NodeJS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeJS.
func (*NodeJS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenTelemetryTargetAllocatorAllocationStrategy ¶
type OpenTelemetryTargetAllocatorAllocationStrategy string
OpenTelemetryTargetAllocatorAllocationStrategy represent which strategy to distribute target to each collector +kubebuilder:validation:Enum=least-weighted;consistent-hashing;per-node
const ( // OpenTelemetryTargetAllocatorAllocationStrategyLeastWeighted targets will be distributed to collector with fewer targets currently assigned. OpenTelemetryTargetAllocatorAllocationStrategyLeastWeighted OpenTelemetryTargetAllocatorAllocationStrategy = "least-weighted" // OpenTelemetryTargetAllocatorAllocationStrategyConsistentHashing targets will be consistently added to collectors, which allows a high-availability setup. OpenTelemetryTargetAllocatorAllocationStrategyConsistentHashing OpenTelemetryTargetAllocatorAllocationStrategy = "consistent-hashing" // OpenTelemetryTargetAllocatorAllocationStrategyPerNode targets will be assigned to the collector on the node they reside on (use only with daemon set). OpenTelemetryTargetAllocatorAllocationStrategyPerNode OpenTelemetryTargetAllocatorAllocationStrategy = "per-node" )
type Propagator ¶
type Propagator string
Propagator represents the propagation type. +kubebuilder:validation:Enum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none
const ( // TraceContext represents W3C Trace Context. TraceContext Propagator = "tracecontext" // Baggage represents W3C Baggage. Baggage Propagator = "baggage" // B3 represents B3 Single. B3 Propagator = "b3" // B3Multi represents B3 Multi. B3Multi Propagator = "b3multi" // Jaeger represents Jaeger. Jaeger Propagator = "jaeger" // XRay represents AWS X-Ray. XRay Propagator = "xray" // OTTrace represents OT Trace. OTTrace Propagator = "ottrace" // None represents automatically configured propagator. None Propagator = "none" )
type Python ¶
type Python struct {
// Image is a container image with Python SDK and auto-instrumentation.
// +optional
Image string `json:"image,omitempty"`
// VolumeClaimTemplate defines a ephemeral volume used for auto-instrumentation.
// If omitted, an emptyDir is used with size limit VolumeSizeLimit
VolumeClaimTemplate corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
// VolumeSizeLimit defines size limit for volume used for auto-instrumentation.
// The default size is 200Mi.
VolumeSizeLimit *resource.Quantity `json:"volumeLimitSize,omitempty"`
// Env defines python specific env vars. There are four layers for env vars' definitions and
// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.
// If the former var had been defined, then the other vars would be ignored.
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Resources describes the compute resource requirements.
// +optional
Resources corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}
Python defines Python SDK and instrumentation configuration.
func (*Python) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Python.
func (*Python) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct {
// Attributes defines attributes that are added to the resource.
// For example environment: dev
// +optional
Attributes map[string]string `json:"resourceAttributes,omitempty"`
// AddK8sUIDAttributes defines whether K8s UID attributes should be collected (e.g. k8s.deployment.uid).
// +optional
AddK8sUIDAttributes bool `json:"addK8sUIDAttributes,omitempty"`
}
Resource defines the configuration for the resource attributes, as defined by the OpenTelemetry specification. See also: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.8.0/specification/overview.md#resources
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Sampler ¶
type Sampler struct {
// Type defines sampler type.
// The value will be set in the OTEL_TRACES_SAMPLER env var.
// The value can be for instance parentbased_always_on, parentbased_always_off, parentbased_traceidratio...
// +optional
Type SamplerType `json:"type,omitempty"`
// Argument defines sampler argument.
// The value depends on the sampler type.
// For instance for parentbased_traceidratio sampler type it is a number in range [0..1] e.g. 0.25.
// The value will be set in the OTEL_TRACES_SAMPLER_ARG env var.
// +optional
Argument string `json:"argument,omitempty"`
}
Sampler defines sampling configuration.
func (*Sampler) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sampler.
func (*Sampler) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SamplerType ¶
type SamplerType string
SamplerType represents sampler type. +kubebuilder:validation:Enum=always_on;always_off;traceidratio;parentbased_always_on;parentbased_always_off;parentbased_traceidratio;jaeger_remote;xray
const ( // AlwaysOn represents AlwaysOnSampler. AlwaysOn SamplerType = "always_on" // AlwaysOff represents AlwaysOffSampler. AlwaysOff SamplerType = "always_off" // TraceIDRatio represents TraceIdRatioBased. TraceIDRatio SamplerType = "traceidratio" // ParentBasedAlwaysOn represents ParentBased(root=AlwaysOnSampler). ParentBasedAlwaysOn SamplerType = "parentbased_always_on" // ParentBasedAlwaysOff represents ParentBased(root=AlwaysOffSampler). ParentBasedAlwaysOff SamplerType = "parentbased_always_off" // ParentBasedTraceIDRatio represents ParentBased(root=TraceIdRatioBased). ParentBasedTraceIDRatio SamplerType = "parentbased_traceidratio" // JaegerRemote represents JaegerRemoteSampler. JaegerRemote SamplerType = "jaeger_remote" // ParentBasedJaegerRemote represents ParentBased(root=JaegerRemoteSampler). ParentBasedJaegerRemote SamplerType = "parentbased_jaeger_remote" // XRay represents AWS X-Ray Centralized Sampling. XRaySampler SamplerType = "xray" )
type TLS ¶
type TLS struct {
// SecretName defines secret name that will be used to configure TLS on the exporter.
// It is user responsibility to create the secret in the namespace of the workload.
// The secret must contain client certificate (Cert) and private key (Key).
// The CA certificate might be defined in the secret or in the config map.
SecretName string `json:"secretName,omitempty"`
// ConfigMapName defines configmap name with CA certificate. If it is not defined CA certificate will be
// used from the secret defined in SecretName.
ConfigMapName string `json:"configMapName,omitempty"`
// CA defines the key of certificate (e.g. ca.crt) in the configmap map, secret or absolute path to a certificate.
// The absolute path can be used when certificate is already present on the workload filesystem e.g.
// /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
CA string `json:"ca_file,omitempty"`
// Cert defines the key (e.g. tls.crt) of the client certificate in the secret or absolute path to a certificate.
// The absolute path can be used when certificate is already present on the workload filesystem.
Cert string `json:"cert_file,omitempty"`
// Key defines a key (e.g. tls.key) of the private key in the secret or absolute path to a certificate.
// The absolute path can be used when certificate is already present on the workload filesystem.
Key string `json:"key_file,omitempty"`
}
TLS defines TLS configuration for exporter.
func (*TLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLS.
func (*TLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeStrategy ¶
type UpgradeStrategy string
UpgradeStrategy represents how the operator will handle upgrades to the CR when a newer version of the operator is deployed +kubebuilder:validation:Enum=automatic;none
const ( // UpgradeStrategyAutomatic specifies that the operator will automatically apply upgrades to the CR. UpgradeStrategyAutomatic UpgradeStrategy = "automatic" // UpgradeStrategyNone specifies that the operator will not apply any upgrades to the CR. UpgradeStrategyNone UpgradeStrategy = "none" )