Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the operator v1alpha1 API group +kubebuilder:object:generate=true +groupName=operator.dash0.com
Index ¶
- Constants
- Variables
- type Authorization
- type ConditionType
- type Dash0Configuration
- type Dash0Monitoring
- func (d *Dash0Monitoring) At(list client.ObjectList, index int) dash0common.Dash0Resource
- func (in *Dash0Monitoring) DeepCopy() *Dash0Monitoring
- func (in *Dash0Monitoring) DeepCopyInto(out *Dash0Monitoring)
- func (in *Dash0Monitoring) DeepCopyObject() runtime.Object
- func (d *Dash0Monitoring) EnsureResourceIsMarkedAsAboutToBeDeleted()
- func (d *Dash0Monitoring) EnsureResourceIsMarkedAsAvailable()
- func (d *Dash0Monitoring) EnsureResourceIsMarkedAsDegraded(reason string, message string)
- func (d *Dash0Monitoring) Get() client.Object
- func (d *Dash0Monitoring) GetCreationTimestamp() metav1.Time
- func (d *Dash0Monitoring) GetListReceiver() client.ObjectList
- func (d *Dash0Monitoring) GetName() string
- func (d *Dash0Monitoring) GetNaturalLanguageResourceTypeName() string
- func (d *Dash0Monitoring) GetReceiver() client.Object
- func (d *Dash0Monitoring) GetResourceTypeName() string
- func (d *Dash0Monitoring) GetUid() types.UID
- func (d *Dash0Monitoring) IsAvailable() bool
- func (d *Dash0Monitoring) IsClusterResource() bool
- func (d *Dash0Monitoring) IsMarkedForDeletion() bool
- func (d *Dash0Monitoring) Items(list client.ObjectList) []client.Object
- func (d *Dash0Monitoring) ReadInstrumentWorkloadsSetting() InstrumentWorkloadsMode
- func (d *Dash0Monitoring) RequestToName(ctrl.Request) string
- func (d *Dash0Monitoring) SetAvailableConditionToUnknown()
- type Dash0MonitoringList
- type Dash0MonitoringSpec
- type Dash0MonitoringStatus
- type Dash0OperatorConfiguration
- func (d *Dash0OperatorConfiguration) At(list client.ObjectList, index int) dash0common.Dash0Resource
- func (in *Dash0OperatorConfiguration) DeepCopy() *Dash0OperatorConfiguration
- func (in *Dash0OperatorConfiguration) DeepCopyInto(out *Dash0OperatorConfiguration)
- func (in *Dash0OperatorConfiguration) DeepCopyObject() runtime.Object
- func (d *Dash0OperatorConfiguration) EnsureResourceIsMarkedAsAboutToBeDeleted()
- func (d *Dash0OperatorConfiguration) EnsureResourceIsMarkedAsAvailable()
- func (d *Dash0OperatorConfiguration) EnsureResourceIsMarkedAsDegraded(reason string, message string)
- func (d *Dash0OperatorConfiguration) Get() client.Object
- func (d *Dash0OperatorConfiguration) GetCreationTimestamp() metav1.Time
- func (d *Dash0OperatorConfiguration) GetDash0AuthorizationIfConfigured() *Authorization
- func (d *Dash0OperatorConfiguration) GetListReceiver() client.ObjectList
- func (d *Dash0OperatorConfiguration) GetName() string
- func (d *Dash0OperatorConfiguration) GetNaturalLanguageResourceTypeName() string
- func (d *Dash0OperatorConfiguration) GetReceiver() client.Object
- func (d *Dash0OperatorConfiguration) GetResourceTypeName() string
- func (d *Dash0OperatorConfiguration) GetUid() types.UID
- func (d *Dash0OperatorConfiguration) HasDash0ApiAccessConfigured() bool
- func (d *Dash0OperatorConfiguration) IsAvailable() bool
- func (d *Dash0OperatorConfiguration) IsClusterResource() bool
- func (d *Dash0OperatorConfiguration) IsMarkedForDeletion() bool
- func (d *Dash0OperatorConfiguration) Items(list client.ObjectList) []client.Object
- func (d *Dash0OperatorConfiguration) RequestToName(ctrl.Request) string
- func (d *Dash0OperatorConfiguration) SetAvailableConditionToUnknown()
- type Dash0OperatorConfigurationList
- type Dash0OperatorConfigurationSpec
- type Dash0OperatorConfigurationStatus
- type Export
- type GrpcConfiguration
- type Header
- type HttpConfiguration
- type InstrumentWorkloadsMode
- type OtlpEncoding
- type PersesDashboardSynchronizationResults
- type PrometheusRuleSynchronizationResult
- type SecretRef
- type SelfMonitoring
- type SynchronizationStatus
Constants ¶
const (
MonitoringFinalizerId = "operator.dash0.com/dash0-monitoring-finalizer"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "operator.dash0.com", 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 Authorization ¶
type Authorization struct { // The Dash0 authorization token. This property is optional, but either this property or the SecretRef property has // to be provided. If both are provided, the token will be used and SecretRef will be ignored. The authorization // token for your Dash0 organization can be copied from https://app.dash0.com -> organization settings -> // "Auth Tokens". // // +kubebuilder:validation:Optional Token *string `json:"token"` // either token or secret ref, with token taking precedence // A reference to a Kubernetes secret containing the Dash0 authorization token. This property is optional, and is // ignored if the token property is set. The authorization token for your Dash0 organization can be copied from // https://app.dash0.com -> organization settings -> "Auth Tokens". // // +kubebuilder:validation:Optional SecretRef *SecretRef `json:"secretRef"` }
Authorization contains the authorization settings for Dash0.
+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1
func (*Authorization) DeepCopy ¶
func (in *Authorization) DeepCopy() *Authorization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authorization.
func (*Authorization) DeepCopyInto ¶
func (in *Authorization) DeepCopyInto(out *Authorization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
const ( ConditionTypeAvailable ConditionType = "Available" ConditionTypeDegraded ConditionType = "Degraded" )
type Dash0Configuration ¶
type Dash0Configuration struct { // The URL of the Dash0 ingress endpoint to which telemetry data will be sent. This property is mandatory. The value // needs to be the OTLP/gRPC endpoint of your Dash0 organization. The correct OTLP/gRPC endpoint can be copied fom // https://app.dash0.com -> organization settings -> "Endpoints". The correct endpoint value will always start with // `ingress.` and end in `dash0.com:4317`. // // +kubebuilder:validation:Required Endpoint string `json:"endpoint"` // The name of the Dash0 dataset to which telemetry data will be sent. This property is optional. If omitted, the // dataset "default" will be used. // // +kubebuilder:default=default Dataset string `json:"dataset,omitempty"` // Mandatory authorization settings for sending data to Dash0. // // +kubebuilder:validation:Required Authorization Authorization `json:"authorization"` // The base URL of the Dash0 API to talk to. This is not where telemetry will be sent, but it is used for managing // dashboards and check rules via the operator. This property is optional. The value needs to be the API endpoint // of your Dash0 organization. The correct API endpoint can be copied fom https://app.dash0.com -> organization // settings -> "Endpoints" -> "API". The correct endpoint value will always start with "https://api." and end in // ".dash0.com" // // +kubebuilder:validation:Optional ApiEndpoint string `json:"apiEndpoint,omitempty"` }
Dash0Configuration describes to which Dash0 ingress endpoint telemetry data will be sent.
func (*Dash0Configuration) DeepCopy ¶
func (in *Dash0Configuration) DeepCopy() *Dash0Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0Configuration.
func (*Dash0Configuration) DeepCopyInto ¶
func (in *Dash0Configuration) DeepCopyInto(out *Dash0Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dash0Monitoring ¶
type Dash0Monitoring struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:default={instrumentWorkloads: "all", prometheusScrapingEnabled: true} Spec Dash0MonitoringSpec `json:"spec,omitempty"` Status Dash0MonitoringStatus `json:"status,omitempty"` }
Dash0Monitoring is the schema for the Dash0Monitoring API
+kubebuilder:object:root=true +kubebuilder:subresource:status +groupName=operator.dash0.com
func (*Dash0Monitoring) At ¶
func (d *Dash0Monitoring) At(list client.ObjectList, index int) dash0common.Dash0Resource
func (*Dash0Monitoring) DeepCopy ¶
func (in *Dash0Monitoring) DeepCopy() *Dash0Monitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0Monitoring.
func (*Dash0Monitoring) DeepCopyInto ¶
func (in *Dash0Monitoring) DeepCopyInto(out *Dash0Monitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dash0Monitoring) DeepCopyObject ¶
func (in *Dash0Monitoring) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Dash0Monitoring) EnsureResourceIsMarkedAsAboutToBeDeleted ¶
func (d *Dash0Monitoring) EnsureResourceIsMarkedAsAboutToBeDeleted()
func (*Dash0Monitoring) EnsureResourceIsMarkedAsAvailable ¶
func (d *Dash0Monitoring) EnsureResourceIsMarkedAsAvailable()
func (*Dash0Monitoring) EnsureResourceIsMarkedAsDegraded ¶
func (d *Dash0Monitoring) EnsureResourceIsMarkedAsDegraded( reason string, message string, )
func (*Dash0Monitoring) Get ¶
func (d *Dash0Monitoring) Get() client.Object
func (*Dash0Monitoring) GetCreationTimestamp ¶
func (d *Dash0Monitoring) GetCreationTimestamp() metav1.Time
func (*Dash0Monitoring) GetListReceiver ¶
func (d *Dash0Monitoring) GetListReceiver() client.ObjectList
func (*Dash0Monitoring) GetName ¶
func (d *Dash0Monitoring) GetName() string
func (*Dash0Monitoring) GetNaturalLanguageResourceTypeName ¶
func (d *Dash0Monitoring) GetNaturalLanguageResourceTypeName() string
func (*Dash0Monitoring) GetReceiver ¶
func (d *Dash0Monitoring) GetReceiver() client.Object
func (*Dash0Monitoring) GetResourceTypeName ¶
func (d *Dash0Monitoring) GetResourceTypeName() string
func (*Dash0Monitoring) GetUid ¶
func (d *Dash0Monitoring) GetUid() types.UID
func (*Dash0Monitoring) IsAvailable ¶
func (d *Dash0Monitoring) IsAvailable() bool
func (*Dash0Monitoring) IsClusterResource ¶
func (d *Dash0Monitoring) IsClusterResource() bool
func (*Dash0Monitoring) IsMarkedForDeletion ¶
func (d *Dash0Monitoring) IsMarkedForDeletion() bool
func (*Dash0Monitoring) Items ¶
func (d *Dash0Monitoring) Items(list client.ObjectList) []client.Object
func (*Dash0Monitoring) ReadInstrumentWorkloadsSetting ¶
func (d *Dash0Monitoring) ReadInstrumentWorkloadsSetting() InstrumentWorkloadsMode
func (*Dash0Monitoring) RequestToName ¶
func (d *Dash0Monitoring) RequestToName(ctrl.Request) string
func (*Dash0Monitoring) SetAvailableConditionToUnknown ¶
func (d *Dash0Monitoring) SetAvailableConditionToUnknown()
type Dash0MonitoringList ¶
type Dash0MonitoringList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Dash0Monitoring `json:"items"` }
Dash0MonitoringList contains a list of Dash0Monitoring resources.
func (*Dash0MonitoringList) DeepCopy ¶
func (in *Dash0MonitoringList) DeepCopy() *Dash0MonitoringList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0MonitoringList.
func (*Dash0MonitoringList) DeepCopyInto ¶
func (in *Dash0MonitoringList) DeepCopyInto(out *Dash0MonitoringList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dash0MonitoringList) DeepCopyObject ¶
func (in *Dash0MonitoringList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Dash0MonitoringSpec ¶
type Dash0MonitoringSpec struct { // The configuration of the observability backend to which telemetry data will be sent. This property is optional. // If not set, the operator will use the default export configuration from the cluster-wide // Dash0OperatorConfiguration resource, if present. If no Dash0OperatorConfiguration resource has been created for // the cluster, or if the Dash0OperatorConfiguration resource does not have at least one export defined, creating a // Dash0Monitoring resource without export settings will result in an error. // // The export can either be Dash0 or another OTLP-compatible backend. You can also combine up to three exporters // (i.e. Dash0 plus gRPC plus HTTP). This allows sending the same data to two or three targets simultaneously. When // the export setting is present, it has to contain at least one exporter. // // +kubebuilder:validation:Optional Export *Export `json:"export"` // Global opt-out for workload instrumentation for the target namespace. There are three possible settings: `all`, // `created-and-updated` and `none`. By default, the setting `all` is assumed. // // If set to `all` (or omitted), the operator will: // * instrument existing workloads in the target namespace (i.e. workloads already running in the namespace) when // the Dash0 monitoring resource is deployed, // * instrument existing workloads or update the instrumentation of already instrumented workloads in the target // namespace when the Dash0 operator is first started or restarted (for example when updating the // operator), // * instrument new workloads in the target namespace when they are deployed, and // * instrument changed workloads in the target namespace when changes are applied to them. // Note that the first two actions (instrumenting existing workloads) will result in restarting the pods of the // affected workloads. // // If set to `created-and-updated`, the operator will not instrument existing workloads in the target namespace. // Instead, it will only: // * instrument new workloads in the target namespace when they are deployed, and // * instrument changed workloads in the target namespace when changes are applied to them. // This setting is useful if you want to avoid pod restarts as a side effect of deploying the Dash0 monitoring // resource or restarting the Dash0 operator. // // You can opt out of instrumenting workloads entirely by setting this option to `none`. With // `instrumentWorkloads: none`, workloads in the target namespace will never be instrumented to send telemetry to // Dash0. // // If this setting is omitted, the value `all` is assumed and new/updated as well as existing Kubernetes workloads // will be intrumented by the operator to send telemetry to Dash0, as described above. // // More fine-grained per-workload control over instrumentation is available by setting the label // dash0.com/enable=false on individual workloads. // // +kubebuilder:default=all InstrumentWorkloads InstrumentWorkloadsMode `json:"instrumentWorkloads,omitempty"` // If enabled, the operator will watch Perses dashboard resources in this namespace and create corresponding // dashboards in Dash0 via the Dash0 API. // See https://github.com/dash0hq/dash0-operator/blob/main/helm-chart/dash0-operator/README.md#managing-dash0-dashboards-with-the-operator // for details. This setting is optional, it defaults to true. // // +kubebuilder:default=true SynchronizePersesDashboards *bool `json:"synchronizePersesDashboards,omitempty"` // If enabled, the operator will watch Prometheus rule resources in this namespace and create corresponding check // rules in Dash0 via the Dash0 API. // See https://github.com/dash0hq/dash0-operator/blob/main/helm-chart/dash0-operator/README.md#managing-dash0-check-rules-with-the-operator // for details. This setting is optional, it defaults to true. // // +kubebuilder:default=true SynchronizePrometheusRules *bool `json:"synchronizePrometheusRules,omitempty"` // If enabled, the operator will configure its OpenTelemetry collector to scrape metrics from pods in the namespace // of this Dash0Monitoring resource according to their prometheus.io/scrape annotations via the OpenTelemetry // Prometheus receiver. This setting is optional, it defaults to true. // // +kubebuilder:default=true PrometheusScrapingEnabled *bool `json:"prometheusScrapingEnabled,omitempty"` }
Dash0MonitoringSpec describes the details of monitoring a single Kubernetes namespace with Dash0 and sending telemetry to an observability backend.
func (*Dash0MonitoringSpec) DeepCopy ¶
func (in *Dash0MonitoringSpec) DeepCopy() *Dash0MonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0MonitoringSpec.
func (*Dash0MonitoringSpec) DeepCopyInto ¶
func (in *Dash0MonitoringSpec) DeepCopyInto(out *Dash0MonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dash0MonitoringStatus ¶
type Dash0MonitoringStatus struct { Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // The spec.instrumentWorkloads setting that has been observed in the previous reconcile cycle. // +kubebuilder:validation:Optional PreviousInstrumentWorkloads InstrumentWorkloadsMode `json:"previousInstrumentWorkloads,omitempty"` // Shows results of synchronizing Perses dashboard resources in this namespace via the Dash0 API. // +kubebuilder:validation:Optional PersesDashboardSynchronizationResults map[string]PersesDashboardSynchronizationResults `json:"persesDashboardSynchronizationResults,omitempty"` // Shows results of synchronizing Prometheus rule resources in this namespace via the Dash0 API. // +kubebuilder:validation:Optional PrometheusRuleSynchronizationResults map[string]PrometheusRuleSynchronizationResult `json:"prometheusRuleSynchronizationResults,omitempty"` }
Dash0MonitoringStatus defines the observed state of the Dash0Monitoring monitoring resource.
func (*Dash0MonitoringStatus) DeepCopy ¶
func (in *Dash0MonitoringStatus) DeepCopy() *Dash0MonitoringStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0MonitoringStatus.
func (*Dash0MonitoringStatus) DeepCopyInto ¶
func (in *Dash0MonitoringStatus) DeepCopyInto(out *Dash0MonitoringStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dash0OperatorConfiguration ¶
type Dash0OperatorConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec Dash0OperatorConfigurationSpec `json:"spec,omitempty"` Status Dash0OperatorConfigurationStatus `json:"status,omitempty"` }
Dash0OperatorConfiguration is the schema for the Dash0OperatorConfiguration API
+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status +groupName=operator.dash0.com
func (*Dash0OperatorConfiguration) At ¶
func (d *Dash0OperatorConfiguration) At(list client.ObjectList, index int) dash0common.Dash0Resource
func (*Dash0OperatorConfiguration) DeepCopy ¶
func (in *Dash0OperatorConfiguration) DeepCopy() *Dash0OperatorConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0OperatorConfiguration.
func (*Dash0OperatorConfiguration) DeepCopyInto ¶
func (in *Dash0OperatorConfiguration) DeepCopyInto(out *Dash0OperatorConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dash0OperatorConfiguration) DeepCopyObject ¶
func (in *Dash0OperatorConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Dash0OperatorConfiguration) EnsureResourceIsMarkedAsAboutToBeDeleted ¶
func (d *Dash0OperatorConfiguration) EnsureResourceIsMarkedAsAboutToBeDeleted()
func (*Dash0OperatorConfiguration) EnsureResourceIsMarkedAsAvailable ¶
func (d *Dash0OperatorConfiguration) EnsureResourceIsMarkedAsAvailable()
func (*Dash0OperatorConfiguration) EnsureResourceIsMarkedAsDegraded ¶
func (d *Dash0OperatorConfiguration) EnsureResourceIsMarkedAsDegraded( reason string, message string, )
func (*Dash0OperatorConfiguration) Get ¶
func (d *Dash0OperatorConfiguration) Get() client.Object
func (*Dash0OperatorConfiguration) GetCreationTimestamp ¶
func (d *Dash0OperatorConfiguration) GetCreationTimestamp() metav1.Time
func (*Dash0OperatorConfiguration) GetDash0AuthorizationIfConfigured ¶
func (d *Dash0OperatorConfiguration) GetDash0AuthorizationIfConfigured() *Authorization
func (*Dash0OperatorConfiguration) GetListReceiver ¶
func (d *Dash0OperatorConfiguration) GetListReceiver() client.ObjectList
func (*Dash0OperatorConfiguration) GetName ¶
func (d *Dash0OperatorConfiguration) GetName() string
func (*Dash0OperatorConfiguration) GetNaturalLanguageResourceTypeName ¶
func (d *Dash0OperatorConfiguration) GetNaturalLanguageResourceTypeName() string
func (*Dash0OperatorConfiguration) GetReceiver ¶
func (d *Dash0OperatorConfiguration) GetReceiver() client.Object
func (*Dash0OperatorConfiguration) GetResourceTypeName ¶
func (d *Dash0OperatorConfiguration) GetResourceTypeName() string
func (*Dash0OperatorConfiguration) GetUid ¶
func (d *Dash0OperatorConfiguration) GetUid() types.UID
func (*Dash0OperatorConfiguration) HasDash0ApiAccessConfigured ¶
func (d *Dash0OperatorConfiguration) HasDash0ApiAccessConfigured() bool
func (*Dash0OperatorConfiguration) IsAvailable ¶
func (d *Dash0OperatorConfiguration) IsAvailable() bool
func (*Dash0OperatorConfiguration) IsClusterResource ¶
func (d *Dash0OperatorConfiguration) IsClusterResource() bool
func (*Dash0OperatorConfiguration) IsMarkedForDeletion ¶
func (d *Dash0OperatorConfiguration) IsMarkedForDeletion() bool
func (*Dash0OperatorConfiguration) Items ¶
func (d *Dash0OperatorConfiguration) Items(list client.ObjectList) []client.Object
func (*Dash0OperatorConfiguration) RequestToName ¶
func (d *Dash0OperatorConfiguration) RequestToName(ctrl.Request) string
func (*Dash0OperatorConfiguration) SetAvailableConditionToUnknown ¶
func (d *Dash0OperatorConfiguration) SetAvailableConditionToUnknown()
type Dash0OperatorConfigurationList ¶
type Dash0OperatorConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Dash0OperatorConfiguration `json:"items"` }
Dash0OperatorConfigurationList contains a list of Dash0OperatorConfiguration resources.
func (*Dash0OperatorConfigurationList) DeepCopy ¶
func (in *Dash0OperatorConfigurationList) DeepCopy() *Dash0OperatorConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0OperatorConfigurationList.
func (*Dash0OperatorConfigurationList) DeepCopyInto ¶
func (in *Dash0OperatorConfigurationList) DeepCopyInto(out *Dash0OperatorConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dash0OperatorConfigurationList) DeepCopyObject ¶
func (in *Dash0OperatorConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Dash0OperatorConfigurationSpec ¶
type Dash0OperatorConfigurationSpec struct { // The configuration of the default observability backend to which telemetry data will be sent by the operator, as // well as the backend that will receive the operator's self-monitoring data. This property is mandatory. // This can either be Dash0 or another OTLP-compatible backend. You can also combine up to three exporters (i.e. // Dash0 plus gRPC plus HTTP). This allows sending the same data to two or three targets simultaneously. At least // one exporter has to be defined. // // Please note that self-monitoring data is only sent to one backend, with Dash0 taking precedence over gRPC and // HTTP, and gRPC taking precedence over HTTP if multiple exports are defined. Furthermore, HTTP export with JSON // encoding is not supported for self-monitoring telemetry. // // +kubebuilder:validation:Required Export *Export `json:"export,omitempty"` // Global opt-out for self-monitoring for this operator // +kubebuilder:default={enabled: true} SelfMonitoring SelfMonitoring `json:"selfMonitoring,omitempty"` // If enabled, the operator will collect Kubernetes infrastructure metrics. This setting is optional, it defaults // to true. // // +kubebuilder:default=true KubernetesInfrastructureMetricsCollectionEnabled *bool `json:"kubernetesInfrastructureMetricsCollectionEnabled,omitempty"` }
Dash0OperatorConfigurationSpec describes cluster-wide configuration settings for the Dash0 operator.
func (*Dash0OperatorConfigurationSpec) DeepCopy ¶
func (in *Dash0OperatorConfigurationSpec) DeepCopy() *Dash0OperatorConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0OperatorConfigurationSpec.
func (*Dash0OperatorConfigurationSpec) DeepCopyInto ¶
func (in *Dash0OperatorConfigurationSpec) DeepCopyInto(out *Dash0OperatorConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dash0OperatorConfigurationStatus ¶
type Dash0OperatorConfigurationStatus struct {
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
Dash0OperatorConfigurationStatus defines the observed state of the Dash0 operator configuration resource.
func (*Dash0OperatorConfigurationStatus) DeepCopy ¶
func (in *Dash0OperatorConfigurationStatus) DeepCopy() *Dash0OperatorConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dash0OperatorConfigurationStatus.
func (*Dash0OperatorConfigurationStatus) DeepCopyInto ¶
func (in *Dash0OperatorConfigurationStatus) DeepCopyInto(out *Dash0OperatorConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Export ¶
type Export struct { // The configuration of the Dash0 ingress endpoint to which telemetry data will be sent. // // +kubebuilder:validation:Optional Dash0 *Dash0Configuration `json:"dash0,omitempty"` // The settings for an exporter to send telemetry to an arbitrary OTLP-compatible receiver via HTTP. // // +kubebuilder:validation:Optional Http *HttpConfiguration `json:"http,omitempty"` // The settings for an exporter to send telemetry to an arbitrary OTLP-compatible receiver via gRPC. // // +kubebuilder:validation:Optional Grpc *GrpcConfiguration `json:"grpc,omitempty"` }
Export describes the observability backend to which telemetry data will be sent. This can either be Dash0 or another OTLP-compatible backend. You can also combine up to three exporters (i.e. Dash0 plus gRPC plus HTTP). This allows sending the same data to two or three targets simultaneously. At least one exporter has to be defined.
+kubebuilder:validation:MinProperties=1
func (*Export) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Export.
func (*Export) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrpcConfiguration ¶
type GrpcConfiguration struct { // The URL of the OTLP-compatible receiver to which telemetry data will be sent. This property is mandatory. // // +kubebuilder:validation:Required Endpoint string `json:"endpoint"` // Additional headers to be sent with each gRPC request, for example for authorization. This property is optional. // // +kubebuilder:validation:Optional Headers []Header `json:"headers,omitempty"` }
GrpcConfiguration descibe the settings for an exporter to send telemetry to an arbitrary OTLP-compatible receiver via gRPC.
func (*GrpcConfiguration) DeepCopy ¶
func (in *GrpcConfiguration) DeepCopy() *GrpcConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcConfiguration.
func (*GrpcConfiguration) DeepCopyInto ¶
func (in *GrpcConfiguration) DeepCopyInto(out *GrpcConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Header ¶
type Header struct { // +kubebuilder:validation:Required Name string `json:"name"` // +kubebuilder:validation:Required Value string `json:"value"` }
func (*Header) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Header.
func (*Header) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HttpConfiguration ¶
type HttpConfiguration struct { // The URL of the OTLP-compatible receiver to which telemetry data will be sent. This property is mandatory. // // +kubebuilder:validation:Required Endpoint string `json:"endpoint"` // Additional headers to be sent with each HTTP request, for example for authorization. This property is optional. // // +kubebuilder:validation:Optional Headers []Header `json:"headers,omitempty"` // The encoding of the OTLP data when sent via HTTP. Can be either proto or json, defaults to proto. // // +kubebuilder:default=proto Encoding OtlpEncoding `json:"encoding,omitempty"` }
HttpConfiguration describe the settings for an exporter to send telemetry to an arbitrary OTLP-compatible receiver via HTTP.
func (*HttpConfiguration) DeepCopy ¶
func (in *HttpConfiguration) DeepCopy() *HttpConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpConfiguration.
func (*HttpConfiguration) DeepCopyInto ¶
func (in *HttpConfiguration) DeepCopyInto(out *HttpConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstrumentWorkloadsMode ¶
type InstrumentWorkloadsMode string
InstrumentWorkloadsMode describes when exactly workloads will be instrumented. Only one of the following modes may be specified. If none of the following policies is specified, the default one is All. See Dash0MonitoringSpec#InstrumentWorkloads for more details.
+kubebuilder:validation:Enum=all;created-and-updated;none
const ( // All allows instrumenting existing as well as new and updated workloads. All InstrumentWorkloadsMode = "all" // CreatedAndUpdated disables instrumenting existing workloads, but new and updated workloads will be instrumented. CreatedAndUpdated InstrumentWorkloadsMode = "created-and-updated" // None will disable instrumentation of workloads entirely for a namespace. None InstrumentWorkloadsMode = "none" )
type OtlpEncoding ¶
type OtlpEncoding string
OtlpEncoding describes the encoding of the OTLP data when sent via HTTP.
+kubebuilder:validation:Enum=proto;json
const ( Proto OtlpEncoding = "proto" Json OtlpEncoding = "json" )
type PersesDashboardSynchronizationResults ¶
type PersesDashboardSynchronizationResults struct { SynchronizationStatus SynchronizationStatus `json:"synchronizationStatus"` SynchronizedAt metav1.Time `json:"synchronizedAt"` SynchronizationError string `json:"synchronizationError,omitempty"` ValidationIssues []string `json:"validationIssues,omitempty"` }
func (*PersesDashboardSynchronizationResults) DeepCopy ¶
func (in *PersesDashboardSynchronizationResults) DeepCopy() *PersesDashboardSynchronizationResults
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersesDashboardSynchronizationResults.
func (*PersesDashboardSynchronizationResults) DeepCopyInto ¶
func (in *PersesDashboardSynchronizationResults) DeepCopyInto(out *PersesDashboardSynchronizationResults)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleSynchronizationResult ¶
type PrometheusRuleSynchronizationResult struct { SynchronizationStatus SynchronizationStatus `json:"synchronizationStatus"` SynchronizedAt metav1.Time `json:"synchronizedAt"` AlertingRulesTotal int `json:"alertingRulesTotal"` SynchronizedRulesTotal int `json:"synchronizedRulesTotal"` SynchronizedRules []string `json:"synchronizedRules,omitempty"` SynchronizationErrorsTotal int `json:"synchronizationErrorsTotal"` SynchronizationErrors map[string]string `json:"synchronizationErrors,omitempty"` InvalidRulesTotal int `json:"invalidRulesTotal"` InvalidRules map[string][]string `json:"invalidRules,omitempty"` }
func (*PrometheusRuleSynchronizationResult) DeepCopy ¶
func (in *PrometheusRuleSynchronizationResult) DeepCopy() *PrometheusRuleSynchronizationResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleSynchronizationResult.
func (*PrometheusRuleSynchronizationResult) DeepCopyInto ¶
func (in *PrometheusRuleSynchronizationResult) DeepCopyInto(out *PrometheusRuleSynchronizationResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretRef ¶
type SecretRef struct { // The name of the secret containing the Dash0 authorization token. Defaults to "dash0-authorization-secret". // +kubebuilder:default=dash0-authorization-secret Name string `json:"name"` // The key of the value which contains the Dash0 authorization token. Defaults to "token" // +kubebuilder:default=token Key string `json:"key"` }
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SelfMonitoring ¶
type SelfMonitoring struct { // If enabled, the operator will collect self-monitoring telemetry and send it to the Dash0 Insights dataset of // the configured Dash0 backend. This setting is optional, it defaults to true. // // +kubebuilder:default=true Enabled *bool `json:"enabled"` }
SelfMonitoring describes how the operator will report telemetry about its working to the backend.
func (*SelfMonitoring) DeepCopy ¶
func (in *SelfMonitoring) DeepCopy() *SelfMonitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfMonitoring.
func (*SelfMonitoring) DeepCopyInto ¶
func (in *SelfMonitoring) DeepCopyInto(out *SelfMonitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SynchronizationStatus ¶
type SynchronizationStatus string
SynchronizationStatus describes the result of synchronizing a third-party Kubernetes resource (Perses dashboard, Prometheus rule) to the Dash0 API.
+kubebuilder:validation:Enum=successful;partially-successful;failed
const ( // Successful means all items have been synchronized. Successful SynchronizationStatus = "successful" // PartiallySuccessful means some items have been synchronized and for some the synchronization has failed. PartiallySuccessful SynchronizationStatus = "partially-successful" // Failed means synchronization has failed for all items. Failed SynchronizationStatus = "failed" )