v1alpha1

package
v0.38.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group. +kubebuilder:object:generate=true +groupName=opentelemetry.io

Index

Constants

This section is empty.

Variables

View Source
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

This section is empty.

Types

type Mode

type Mode string

Mode represents how the collector should be deployed (deployment vs. daemonset) +kubebuilder:validation:Enum=daemonset;deployment;sidecar;statefulset

const (
	// ModeDaemonSet specifies that the collector should be deployed as a Kubernetes DaemonSet.
	ModeDaemonSet Mode = "daemonset"

	// ModeDeployment specifies that the collector should be deployed as a Kubernetes Deployment.
	ModeDeployment Mode = "deployment"

	// ModeSidecar specifies that the collector should be deployed as a sidecar to pods.
	ModeSidecar Mode = "sidecar"

	// ModeStatefulSet specifies that the collector should be deployed as a Kubernetes StatefulSet.
	ModeStatefulSet Mode = "statefulset"
)

type OpenTelemetryCollector

type OpenTelemetryCollector struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OpenTelemetryCollectorSpec   `json:"spec,omitempty"`
	Status OpenTelemetryCollectorStatus `json:"status,omitempty"`
}

OpenTelemetryCollector is the Schema for the opentelemetrycollectors API.

func (*OpenTelemetryCollector) DeepCopy

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

func (*OpenTelemetryCollector) DeepCopyInto

func (in *OpenTelemetryCollector) DeepCopyInto(out *OpenTelemetryCollector)

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

func (*OpenTelemetryCollector) DeepCopyObject

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

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

func (*OpenTelemetryCollector) Default

func (r *OpenTelemetryCollector) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*OpenTelemetryCollector) SetupWebhookWithManager

func (r *OpenTelemetryCollector) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OpenTelemetryCollector) ValidateCreate

func (r *OpenTelemetryCollector) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OpenTelemetryCollector) ValidateDelete

func (r *OpenTelemetryCollector) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OpenTelemetryCollector) ValidateUpdate

func (r *OpenTelemetryCollector) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OpenTelemetryCollectorList

type OpenTelemetryCollectorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OpenTelemetryCollector `json:"items"`
}

OpenTelemetryCollectorList contains a list of OpenTelemetryCollector.

func (*OpenTelemetryCollectorList) DeepCopy

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

func (*OpenTelemetryCollectorList) DeepCopyInto

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

func (*OpenTelemetryCollectorList) DeepCopyObject

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

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

type OpenTelemetryCollectorSpec

type OpenTelemetryCollectorSpec struct {
	// Config is the raw JSON to be used as the collector's configuration. Refer to the OpenTelemetry Collector documentation for details.
	// +required
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Config string `json:"config,omitempty"`

	// Args is the set of arguments to pass to the OpenTelemetry Collector binary
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Args map[string]string `json:"args,omitempty"`

	// Replicas is the number of pod instances for the underlying OpenTelemetry Collector
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePullPolicy indicates the pull policy to be used for retrieving the container image (Always, Never, IfNotPresent)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Image indicates the container image to use for the OpenTelemetry Collector.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Image string `json:"image,omitempty"`

	// TargetAllocator indicates a value which determines whether to spawn a target allocation resource or not.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	TargetAllocator OpenTelemetryTargetAllocatorSpec `json:"targetAllocator,omitempty"`

	// Mode represents how the collector should be deployed (deployment, daemonset, statefulset or sidecar)
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Mode Mode `json:"mode,omitempty"`

	// ServiceAccount indicates the name of an existing service account to use with this instance.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	ServiceAccount string `json:"serviceAccount,omitempty"`

	// SecurityContext will be set as the container security context.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	SecurityContext *v1.SecurityContext `json:"securityContext,omitempty"`

	// HostNetwork indicates if the pod should run in the host networking namespace.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	HostNetwork bool `json:"hostNetwork,omitempty"`

	// VolumeClaimTemplates will provide stable storage using PersistentVolumes. Only available when the mode=statefulset.
	// +optional
	// +listType=atomic
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`

	// VolumeMounts represents the mount points to use in the underlying collector deployment(s)
	// +optional
	// +listType=atomic
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`

	// Volumes represents which volumes to use in the underlying collector deployment(s).
	// +optional
	// +listType=atomic
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Volumes []v1.Volume `json:"volumes,omitempty"`

	// Ports allows a set of ports to be exposed by the underlying v1.Service. By default, the operator
	// will attempt to infer the required ports by parsing the .Spec.Config property but this property can be
	// used to open aditional ports that can't be inferred by the operator, like for custom receivers.
	// +optional
	// +listType=atomic
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Ports []v1.ServicePort `json:"ports,omitempty"`

	// ENV vars to set on the OpenTelemetry Collector's Pods. These can then in certain cases be
	// consumed in the config file for the Collector.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Env []v1.EnvVar `json:"env,omitempty"`

	// List of sources to populate environment variables on the OpenTelemetry Collector's Pods.
	// These can then in certain cases be consumed in the config file for the Collector.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	EnvFrom []v1.EnvFromSource `json:"envFrom,omitempty"`

	// Resources to set on the OpenTelemetry Collector pods.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// Toleration to schedule OpenTelemetry Collector pods.
	// This is only relevant to daemonsets, statefulsets and deployments
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// PodAnnotations is the set of annotations that will be attached to
	// Collector and Target Allocator pods.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
}

OpenTelemetryCollectorSpec defines the desired state of OpenTelemetryCollector.

func (*OpenTelemetryCollectorSpec) DeepCopy

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

func (*OpenTelemetryCollectorSpec) DeepCopyInto

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

type OpenTelemetryCollectorStatus

type OpenTelemetryCollectorStatus struct {
	// Replicas is currently not being set and might be removed in the next version.
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// Version of the managed OpenTelemetry Collector (operand)
	// +optional
	Version string `json:"version,omitempty"`

	// Messages about actions performed by the operator on this resource.
	// +optional
	// +listType=atomic
	Messages []string `json:"messages,omitempty"`
}

OpenTelemetryCollectorStatus defines the observed state of OpenTelemetryCollector.

func (*OpenTelemetryCollectorStatus) DeepCopy

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

func (*OpenTelemetryCollectorStatus) DeepCopyInto

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

type OpenTelemetryTargetAllocatorSpec

type OpenTelemetryTargetAllocatorSpec struct {
	// Enabled indicates whether to use a target allocation mechanism for Prometheus targets or not.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Image indicates the container image to use for the OpenTelemetry TargetAllocator.
	// +optional
	Image string `json:"image,omitempty"`
}

OpenTelemetryTargetAllocatorSpec defines the configurations for the Prometheus target allocator.

func (*OpenTelemetryTargetAllocatorSpec) DeepCopy

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

func (*OpenTelemetryTargetAllocatorSpec) DeepCopyInto

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

Jump to

Keyboard shortcuts

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