Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the tempo v1alpha1 API group. +kubebuilder:object:generate=true +groupName=tempo.grafana.com
Package v1alpha1 contains API Schema definitions for the tempo v1alpha1 API group. +kubebuilder:object:generate=true +groupName=tempo.grafana.com
Index ¶
- Variables
- type AuthenticationSpec
- type AuthorizationSpec
- type ComponentStatus
- type ConditionReason
- type ConditionStatus
- type ExtraConfigSpec
- type GrafanaConfigSpec
- type HashRingSpec
- type IngestionLimitSpec
- type IngressSpec
- type IngressType
- type JaegerQueryAuthenticationSpec
- type JaegerQueryMonitor
- type JaegerQuerySpec
- type LimitSpec
- type ManagementStateType
- type MemberListSpec
- type MetricsConfigSpec
- type ModeType
- type MonolithicComponentStatus
- type MonolithicIngestionOTLPProtocolsGRPCSpec
- type MonolithicIngestionOTLPProtocolsHTTPSpec
- type MonolithicIngestionOTLPSpec
- type MonolithicIngestionSpec
- type MonolithicJaegerUIIngressSpec
- type MonolithicJaegerUIRouteSpec
- type MonolithicJaegerUISpec
- type MonolithicMultitenancySpec
- type MonolithicObservabilityGrafanaDataSourceSpec
- type MonolithicObservabilityGrafanaSpec
- type MonolithicObservabilityMetricsPrometheusRulesSpec
- type MonolithicObservabilityMetricsServiceMonitorsSpec
- type MonolithicObservabilityMetricsSpec
- type MonolithicObservabilitySpec
- type MonolithicSchedulerSpec
- type MonolithicStorageSpec
- type MonolithicTracesObjectStorageSpec
- type MonolithicTracesStorageBackend
- type MonolithicTracesStorageS3Spec
- type MonolithicTracesStorageSpec
- type OIDCSpec
- type ObjectStorageSecretSpec
- type ObjectStorageSecretType
- type ObjectStorageSpec
- type ObservabilitySpec
- type PermissionType
- type PodStatusMap
- type QueryLimit
- type RateLimitSpec
- type Resources
- type RetentionConfig
- type RetentionSpec
- type RoleBindingsSpec
- type RoleSpec
- type RouteSpec
- type SearchSpec
- type Subject
- type SubjectKind
- type TLSRouteTerminationType
- type TLSSpec
- type TempoComponentSpec
- type TempoDistributorSpec
- type TempoGatewaySpec
- type TempoMonolithic
- func (in *TempoMonolithic) DeepCopy() *TempoMonolithic
- func (in *TempoMonolithic) DeepCopyInto(out *TempoMonolithic)
- func (in *TempoMonolithic) DeepCopyObject() runtime.Object
- func (r *TempoMonolithic) Default(ctrlConfig configv1alpha1.ProjectConfig)
- func (tempo *TempoMonolithic) GetOperatorVersion() string
- func (tempo *TempoMonolithic) GetStatus() any
- func (tempo *TempoMonolithic) SetOperatorVersion(v string)
- func (tempo *TempoMonolithic) SetStatus(s any)
- func (tempo *TempoMonolithic) SetTempoVersion(v string)
- type TempoMonolithicList
- type TempoMonolithicSpec
- type TempoMonolithicStatus
- type TempoQueryFrontendSpec
- type TempoStack
- func (in *TempoStack) DeepCopy() *TempoStack
- func (in *TempoStack) DeepCopyInto(out *TempoStack)
- func (in *TempoStack) DeepCopyObject() runtime.Object
- func (tempo *TempoStack) GetOperatorVersion() string
- func (tempo *TempoStack) GetStatus() any
- func (tempo *TempoStack) SetOperatorVersion(v string)
- func (tempo *TempoStack) SetStatus(s any)
- func (tempo *TempoStack) SetTempoVersion(v string)
- type TempoStackList
- type TempoStackSpec
- type TempoStackStatus
- type TempoTemplateSpec
- type TenantSecretSpec
- type TenantsSpec
- type TracingConfigSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "tempo.grafana.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 )
var AllStatusConditions = []ConditionStatus{ConditionReady, ConditionFailed, ConditionPending, ConditionConfigurationError}
AllStatusConditions lists all possible status conditions.
Functions ¶
This section is empty.
Types ¶
type AuthenticationSpec ¶
type AuthenticationSpec struct { // TenantName defines a human readable, unique name of the tenant. // The value of this field must be specified in the X-Scope-OrgID header and in the resources field of a ClusterRole to identify the tenant. // // +required // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant Name" TenantName string `json:"tenantName"` // TenantID defines a universally unique identifier of the tenant. // Unlike the tenantName, which must be unique at a given time, the tenantId must be unique over the entire lifetime of the Tempo deployment. // Tempo uses this ID to prefix objects in the object storage. // // +required // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant ID" TenantID string `json:"tenantId"` // OIDC defines the spec for the OIDC tenant's authentication. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OIDC Configuration" OIDC *OIDCSpec `json:"oidc,omitempty"` }
AuthenticationSpec defines the oidc configuration per tenant for tempo Gateway component.
func (*AuthenticationSpec) DeepCopy ¶
func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationSpec.
func (*AuthenticationSpec) DeepCopyInto ¶
func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthorizationSpec ¶
type AuthorizationSpec struct { // Roles defines a set of permissions to interact with a tenant. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Static Roles" Roles []RoleSpec `json:"roles"` // RoleBindings defines configuration to bind a set of roles to a set of subjects. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Static Role Bindings" RoleBindings []RoleBindingsSpec `json:"roleBindings"` }
AuthorizationSpec defines the opa, role bindings and roles configuration per tenant for tempo Gateway component.
func (*AuthorizationSpec) DeepCopy ¶
func (in *AuthorizationSpec) DeepCopy() *AuthorizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorizationSpec.
func (*AuthorizationSpec) DeepCopyInto ¶
func (in *AuthorizationSpec) DeepCopyInto(out *AuthorizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentStatus ¶
type ComponentStatus struct { // Compactor is a map to the pod status of the compactor pod. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Compactor",order=5 Compactor PodStatusMap `json:"compactor"` // Distributor is a map to the per pod status of the distributor deployment // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Distributor",order=1 Distributor PodStatusMap `json:"distributor"` // Ingester is a map to the per pod status of the ingester statefulset // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Ingester",order=2 Ingester PodStatusMap `json:"ingester"` // Querier is a map to the per pod status of the querier deployment // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Querier",order=3 Querier PodStatusMap `json:"querier"` // QueryFrontend is a map to the per pod status of the query frontend deployment // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Query Frontend",order=4 QueryFrontend PodStatusMap `json:"queryFrontend"` // Gateway is a map to the per pod status of the query frontend deployment // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses",displayName="Gateway",order=6 Gateway PodStatusMap `json:"gateway"` }
ComponentStatus defines the status of each component.
func (*ComponentStatus) DeepCopy ¶
func (in *ComponentStatus) DeepCopy() *ComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatus.
func (*ComponentStatus) DeepCopyInto ¶
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionReason ¶
type ConditionReason string
ConditionReason defines possible reasons for each condition.
const ( // ReasonReady defines a healthy tempo instance. ReasonReady ConditionReason = "Ready" // ReasonInvalidStorageConfig defines that the object storage configuration is invalid (missing or incomplete storage secret). ReasonInvalidStorageConfig ConditionReason = "InvalidStorageConfig" // ReasonFailedComponents when all/some Tempo components fail to roll out. ReasonFailedComponents ConditionReason = "FailedComponents" // ReasonPendingComponents when all/some Tempo components pending dependencies. ReasonPendingComponents ConditionReason = "PendingComponents" // ReasonCouldNotGetOpenShiftBaseDomain when operator cannot get OpenShift base domain, that is used for OAuth redirect URL. ReasonCouldNotGetOpenShiftBaseDomain ConditionReason = "CouldNotGetOpenShiftBaseDomain" // ReasonCouldNotGetOpenShiftTLSPolicy when operator cannot get OpenShift TLS security cluster policy. ReasonCouldNotGetOpenShiftTLSPolicy ConditionReason = "CouldNotGetOpenShiftTLSPolicy" // ReasonMissingGatewayTenantSecret when operator cannot get Secret containing sensitive Gateway information. ReasonMissingGatewayTenantSecret ConditionReason = "ReasonMissingGatewayTenantSecret" // ReasonInvalidTenantsConfiguration when the tenant configuration provided is invalid. ReasonInvalidTenantsConfiguration ConditionReason = "InvalidTenantsConfiguration" // ReasonFailedReconciliation when the operator failed to reconcile. ReasonFailedReconciliation ConditionReason = "FailedReconciliation" // ReasonFailedUpgrade when the operator failed to upgrade an instance. ReasonFailedUpgrade ConditionReason = "FailedUpgrade" )
type ConditionStatus ¶
type ConditionStatus string
ConditionStatus defines the status of a condition (e.g. ready, failed, pending or configuration error).
const ( // ConditionReady defines that all components are ready. ConditionReady ConditionStatus = "Ready" // ConditionFailed defines that one or more components are in a failed state. ConditionFailed ConditionStatus = "Failed" // ConditionPending defines that one or more components are in a pending state. ConditionPending ConditionStatus = "Pending" // ConditionConfigurationError defines that there is a configuration error. ConditionConfigurationError ConditionStatus = "ConfigurationError" )
type ExtraConfigSpec ¶ added in v0.7.0
type ExtraConfigSpec struct { // Tempo defines any extra Tempo configuration, which will be merged with the operator's generated Tempo configuration // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tempo Extra Configurations" Tempo apiextensionsv1.JSON `json:"tempo,omitempty"` }
ExtraConfigSpec defines extra configurations for tempo that will be merged with the operator generated, configurations defined here has precedence and could override generated config.
func (*ExtraConfigSpec) DeepCopy ¶ added in v0.7.0
func (in *ExtraConfigSpec) DeepCopy() *ExtraConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraConfigSpec.
func (*ExtraConfigSpec) DeepCopyInto ¶ added in v0.7.0
func (in *ExtraConfigSpec) DeepCopyInto(out *ExtraConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrafanaConfigSpec ¶ added in v0.7.0
type GrafanaConfigSpec struct { // CreateDatasource specifies if a Grafana Datasource should be created for Tempo. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Create Datasource for Tempo" CreateDatasource bool `json:"createDatasource,omitempty"` // InstanceSelector specifies the Grafana instance where the datasource should be created. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Create CreateDatasource for Tempo" InstanceSelector metav1.LabelSelector `json:"instanceSelector,omitempty"` }
GrafanaConfigSpec defines configuration for Grafana.
func (*GrafanaConfigSpec) DeepCopy ¶ added in v0.7.0
func (in *GrafanaConfigSpec) DeepCopy() *GrafanaConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaConfigSpec.
func (*GrafanaConfigSpec) DeepCopyInto ¶ added in v0.7.0
func (in *GrafanaConfigSpec) DeepCopyInto(out *GrafanaConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HashRingSpec ¶ added in v0.7.0
type HashRingSpec struct { // MemberList configuration spec // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Memberlist Config" MemberList MemberListSpec `json:"memberlist,omitempty"` }
HashRingSpec defines the hash ring configuration.
func (*HashRingSpec) DeepCopy ¶ added in v0.7.0
func (in *HashRingSpec) DeepCopy() *HashRingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashRingSpec.
func (*HashRingSpec) DeepCopyInto ¶ added in v0.7.0
func (in *HashRingSpec) DeepCopyInto(out *HashRingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngestionLimitSpec ¶
type IngestionLimitSpec struct { // IngestionBurstSizeBytes defines the burst size (bytes) used in ingestion. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Ingestion Burst Size in Bytes" IngestionBurstSizeBytes *int `json:"ingestionBurstSizeBytes,omitempty"` // IngestionRateLimitBytes defines the Per-user ingestion rate limit (bytes) used in ingestion. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Ingestion Rate Limit in Bytes" IngestionRateLimitBytes *int `json:"ingestionRateLimitBytes,omitempty"` // MaxBytesPerTrace defines the maximum number of bytes of an acceptable trace. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Max Bytes per Trace" MaxBytesPerTrace *int `json:"maxBytesPerTrace,omitempty"` // MaxTracesPerUser defines the maximum number of traces a user can send. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Max Traces per User" MaxTracesPerUser *int `json:"maxTracesPerUser,omitempty"` }
IngestionLimitSpec defines the limits applied at the ingestion path.
func (*IngestionLimitSpec) DeepCopy ¶
func (in *IngestionLimitSpec) DeepCopy() *IngestionLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngestionLimitSpec.
func (*IngestionLimitSpec) DeepCopyInto ¶
func (in *IngestionLimitSpec) DeepCopyInto(out *IngestionLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressSpec ¶
type IngressSpec struct { // Type defines the type of Ingress for the Jaeger Query UI. // Currently ingress, route and none are supported. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Type" Type IngressType `json:"type,omitempty"` // Annotations defines the annotations of the Ingress object. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Annotations" Annotations map[string]string `json:"annotations,omitempty"` // Host defines the hostname of the Ingress object. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Host" Host string `json:"host,omitempty"` // IngressClassName defines the name of an IngressClass cluster resource. // Defines which ingress controller serves this ingress resource. // +optional IngressClassName *string `json:"ingressClassName,omitempty"` // Route defines the options for the OpenShift route. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Route Configuration" Route RouteSpec `json:"route,omitempty"` }
IngressSpec defines Jaeger Query Ingress options.
func (*IngressSpec) DeepCopy ¶
func (in *IngressSpec) DeepCopy() *IngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSpec.
func (*IngressSpec) DeepCopyInto ¶
func (in *IngressSpec) DeepCopyInto(out *IngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressType ¶
type IngressType string
IngressType represents how a service should be exposed (ingress vs route). +kubebuilder:validation:Enum=ingress;route
const ( // IngressTypeNone specifies that no ingress or route entry should be created. IngressTypeNone IngressType = "" // IngressTypeIngress specifies that an ingress entry should be created. IngressTypeIngress IngressType = "ingress" // IngressTypeRoute specifies that a route entry should be created. IngressTypeRoute IngressType = "route" )
type JaegerQueryAuthenticationSpec ¶ added in v0.11.0
type JaegerQueryAuthenticationSpec struct { // Defines if the authentication will be enabled for jaeger UI. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // SAR defines the SAR to be used in the oauth-proxy // default is "{"namespace": "<tempo_stack_namespace>", "resource": "pods", "verb": "get"} // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="SAR" SAR string `json:"sar,omitempty"` // Resources defines the compute resource requirements of the OAuth Proxy container. // The OAuth Proxy performs authentication and authorization of incoming requests to Jaeger UI when multi-tenancy is disabled. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources",xDescriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
JaegerQueryAuthenticationSpec defines options applied to proxy sidecar that controls the authentication of the jaeger UI.
func (*JaegerQueryAuthenticationSpec) DeepCopy ¶ added in v0.11.0
func (in *JaegerQueryAuthenticationSpec) DeepCopy() *JaegerQueryAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerQueryAuthenticationSpec.
func (*JaegerQueryAuthenticationSpec) DeepCopyInto ¶ added in v0.11.0
func (in *JaegerQueryAuthenticationSpec) DeepCopyInto(out *JaegerQueryAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JaegerQueryMonitor ¶ added in v0.5.0
type JaegerQueryMonitor struct { // Enabled enables the monitor tab in the Jaeger console. // The PrometheusEndpoint must be configured to enable this feature. // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // PrometheusEndpoint defines the endpoint to the Prometheus instance that contains the span rate, error, and duration (RED) metrics. // For instance on OpenShift this is set to https://thanos-querier.openshift-monitoring.svc.cluster.local:9091 // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Prometheus endpoint" PrometheusEndpoint string `json:"prometheusEndpoint"` }
JaegerQueryMonitor defines configuration for the service monitoring tab in the Jaeger console. The monitoring tab uses Prometheus to query span RED metrics. This feature requires running OpenTelemetry collector with spanmetricsconnector - https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/spanmetricsconnector which derives span RED metrics from spans and exports the metrics to Prometheus.
func (*JaegerQueryMonitor) DeepCopy ¶ added in v0.5.0
func (in *JaegerQueryMonitor) DeepCopy() *JaegerQueryMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerQueryMonitor.
func (*JaegerQueryMonitor) DeepCopyInto ¶ added in v0.5.0
func (in *JaegerQueryMonitor) DeepCopyInto(out *JaegerQueryMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JaegerQuerySpec ¶
type JaegerQuerySpec struct { // Enabled defines if the Jaeger Query component should be created. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Jaeger Query UI",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // Ingress defines the options for the Jaeger Query ingress. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger Query UI Ingress Settings" Ingress IngressSpec `json:"ingress,omitempty"` // MonitorTab defines the monitor tab configuration. // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger Query UI Monitor Tab Settings" MonitorTab JaegerQueryMonitor `json:"monitorTab"` // Resources defines resources for this component, this will override the calculated resources derived from total // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources" Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // ServicesQueryDuration defines how long the services will be available in the services list // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ServicesQueryDuration" ServicesQueryDuration *metav1.Duration `json:"servicesQueryDuration,omitempty"` // Authentication defines the options for the oauth proxy used to protect jaeger UI // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger UI authentication configuration" Authentication *JaegerQueryAuthenticationSpec `json:"authentication,omitempty"` }
JaegerQuerySpec defines Jaeger Query options.
func (*JaegerQuerySpec) DeepCopy ¶
func (in *JaegerQuerySpec) DeepCopy() *JaegerQuerySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerQuerySpec.
func (*JaegerQuerySpec) DeepCopyInto ¶
func (in *JaegerQuerySpec) DeepCopyInto(out *JaegerQuerySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LimitSpec ¶
type LimitSpec struct { // PerTenant is used to define rate limits per tenant. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant Limits" PerTenant map[string]RateLimitSpec `json:"perTenant,omitempty"` // Global is used to define global rate limits. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Global Limit" Global RateLimitSpec `json:"global"` }
LimitSpec defines Global and PerTenant rate limits.
func (*LimitSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LimitSpec.
func (*LimitSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagementStateType ¶
type ManagementStateType string
ManagementStateType defines the type for CR management states.
+kubebuilder:validation:Enum=Managed;Unmanaged
const ( // ManagementStateManaged when the TempoStack custom resource should be // reconciled by the operator. ManagementStateManaged ManagementStateType = "Managed" // ManagementStateUnmanaged when the TempoStack custom resource should not be // reconciled by the operator. ManagementStateUnmanaged ManagementStateType = "Unmanaged" )
type MemberListSpec ¶ added in v0.7.0
type MemberListSpec struct { // EnableIPv6 enables IPv6 support for the memberlist based hash ring. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch",displayName="Enable IPv6" EnableIPv6 *bool `json:"enableIPv6,omitempty"` }
MemberListSpec defines the configuration for the memberlist based hash ring.
func (*MemberListSpec) DeepCopy ¶ added in v0.7.0
func (in *MemberListSpec) DeepCopy() *MemberListSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberListSpec.
func (*MemberListSpec) DeepCopyInto ¶ added in v0.7.0
func (in *MemberListSpec) DeepCopyInto(out *MemberListSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricsConfigSpec ¶
type MetricsConfigSpec struct { // CreateServiceMonitors specifies if ServiceMonitors should be created for Tempo components. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Create ServiceMonitors for Tempo components" CreateServiceMonitors bool `json:"createServiceMonitors,omitempty"` // CreatePrometheusRules specifies if Prometheus rules for alerts should be created for Tempo components. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Create PrometheusRules for Tempo components" CreatePrometheusRules bool `json:"createPrometheusRules,omitempty"` }
MetricsConfigSpec defines a metrics config.
func (*MetricsConfigSpec) DeepCopy ¶
func (in *MetricsConfigSpec) DeepCopy() *MetricsConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsConfigSpec.
func (*MetricsConfigSpec) DeepCopyInto ¶
func (in *MetricsConfigSpec) DeepCopyInto(out *MetricsConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModeType ¶
type ModeType string
ModeType is the authentication/authorization mode in which Tempo Gateway will be configured.
+kubebuilder:validation:Enum=static;openshift
const ( // ModeStatic mode asserts the Authorization Spec's Roles and RoleBindings // using an in-process OpenPolicyAgent Rego authorizer. ModeStatic ModeType = "static" // ModeOpenShift mode uses TokenReview API for authentication and subject access review for authorization. ModeOpenShift ModeType = "openshift" )
type MonolithicComponentStatus ¶ added in v0.9.0
type MonolithicComponentStatus struct { // Tempo is a map of the pod status of the Tempo pods. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Tempo",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:podStatuses" Tempo PodStatusMap `json:"tempo"` }
MonolithicComponentStatus defines the status of each component.
func (*MonolithicComponentStatus) DeepCopy ¶ added in v0.9.0
func (in *MonolithicComponentStatus) DeepCopy() *MonolithicComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicComponentStatus.
func (*MonolithicComponentStatus) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicComponentStatus) DeepCopyInto(out *MonolithicComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicIngestionOTLPProtocolsGRPCSpec ¶ added in v0.8.0
type MonolithicIngestionOTLPProtocolsGRPCSpec struct { // Enabled defines if OTLP over gRPC is enabled. // Default: enabled. // // +kubebuilder:validation:Required // +kubebuilder:default=true // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // TLS defines the TLS configuration for OTLP/gRPC ingestion. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS" TLS *TLSSpec `json:"tls,omitempty"` }
MonolithicIngestionOTLPProtocolsGRPCSpec defines the settings for OTLP ingestion over GRPC.
func (*MonolithicIngestionOTLPProtocolsGRPCSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicIngestionOTLPProtocolsGRPCSpec) DeepCopy() *MonolithicIngestionOTLPProtocolsGRPCSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicIngestionOTLPProtocolsGRPCSpec.
func (*MonolithicIngestionOTLPProtocolsGRPCSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicIngestionOTLPProtocolsGRPCSpec) DeepCopyInto(out *MonolithicIngestionOTLPProtocolsGRPCSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicIngestionOTLPProtocolsHTTPSpec ¶ added in v0.8.0
type MonolithicIngestionOTLPProtocolsHTTPSpec struct { // Enabled defines if OTLP over HTTP is enabled. // Default: enabled. // // +kubebuilder:validation:Required // +kubebuilder:default=true // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // TLS defines the TLS configuration for OTLP/HTTP ingestion. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS" TLS *TLSSpec `json:"tls,omitempty"` }
MonolithicIngestionOTLPProtocolsHTTPSpec defines the settings for OTLP ingestion over HTTP.
func (*MonolithicIngestionOTLPProtocolsHTTPSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicIngestionOTLPProtocolsHTTPSpec) DeepCopy() *MonolithicIngestionOTLPProtocolsHTTPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicIngestionOTLPProtocolsHTTPSpec.
func (*MonolithicIngestionOTLPProtocolsHTTPSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicIngestionOTLPProtocolsHTTPSpec) DeepCopyInto(out *MonolithicIngestionOTLPProtocolsHTTPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicIngestionOTLPSpec ¶ added in v0.8.0
type MonolithicIngestionOTLPSpec struct { // GRPC defines the OTLP over gRPC configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="gRPC" GRPC *MonolithicIngestionOTLPProtocolsGRPCSpec `json:"grpc,omitempty"` // HTTP defines the OTLP over HTTP configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="HTTP" HTTP *MonolithicIngestionOTLPProtocolsHTTPSpec `json:"http,omitempty"` }
MonolithicIngestionOTLPSpec defines the settings for OTLP ingestion.
func (*MonolithicIngestionOTLPSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicIngestionOTLPSpec) DeepCopy() *MonolithicIngestionOTLPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicIngestionOTLPSpec.
func (*MonolithicIngestionOTLPSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicIngestionOTLPSpec) DeepCopyInto(out *MonolithicIngestionOTLPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicIngestionSpec ¶ added in v0.8.0
type MonolithicIngestionSpec struct { // OTLP defines the ingestion configuration for the OTLP protocol. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="OTLP" OTLP *MonolithicIngestionOTLPSpec `json:"otlp,omitempty"` }
MonolithicIngestionSpec defines the ingestion settings.
func (*MonolithicIngestionSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicIngestionSpec) DeepCopy() *MonolithicIngestionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicIngestionSpec.
func (*MonolithicIngestionSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicIngestionSpec) DeepCopyInto(out *MonolithicIngestionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicJaegerUIIngressSpec ¶ added in v0.8.0
type MonolithicJaegerUIIngressSpec struct { // Enabled defines if an Ingress object should be created for Jaeger UI. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // Annotations defines the annotations of the Ingress object. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Annotations" Annotations map[string]string `json:"annotations,omitempty"` // Host defines the hostname of the Ingress object. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hostname" Host string `json:"host,omitempty"` // IngressClassName defines the name of an IngressClass cluster resource. // Defines which ingress controller serves this ingress resource. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingress Class Name" IngressClassName *string `json:"ingressClassName,omitempty"` }
MonolithicJaegerUIIngressSpec defines the settings for the Jaeger UI ingress.
func (*MonolithicJaegerUIIngressSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicJaegerUIIngressSpec) DeepCopy() *MonolithicJaegerUIIngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicJaegerUIIngressSpec.
func (*MonolithicJaegerUIIngressSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicJaegerUIIngressSpec) DeepCopyInto(out *MonolithicJaegerUIIngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicJaegerUIRouteSpec ¶ added in v0.8.0
type MonolithicJaegerUIRouteSpec struct { // Enabled defines if a Route object should be created for Jaeger UI. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // Annotations defines the annotations of the Route object. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Annotations" Annotations map[string]string `json:"annotations,omitempty"` // Host defines the hostname of the Route object. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Hostname" Host string `json:"host,omitempty"` // Termination specifies the termination type. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS Termination" Termination TLSRouteTerminationType `json:"termination,omitempty"` }
MonolithicJaegerUIRouteSpec defines the settings for the Jaeger UI route.
func (*MonolithicJaegerUIRouteSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicJaegerUIRouteSpec) DeepCopy() *MonolithicJaegerUIRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicJaegerUIRouteSpec.
func (*MonolithicJaegerUIRouteSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicJaegerUIRouteSpec) DeepCopyInto(out *MonolithicJaegerUIRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicJaegerUISpec ¶ added in v0.8.0
type MonolithicJaegerUISpec struct { // Enabled defines if the Jaeger UI component should be created. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // Resources defines the compute resource requirements of the Jaeger UI container. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources",order=2,xDescriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Ingress defines the Ingress configuration for the Jaeger UI. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingress",order=3 Ingress *MonolithicJaegerUIIngressSpec `json:"ingress,omitempty"` // Route defines the OpenShift route configuration for the Jaeger UI. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Route",order=4 Route *MonolithicJaegerUIRouteSpec `json:"route,omitempty"` // Authentication defines the options for the oauth proxy used to protect jaeger UI // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger UI authentication configuration",order=5 Authentication *JaegerQueryAuthenticationSpec `json:"authentication,omitempty"` // ServicesQueryDuration defines how long the services will be available in the services list // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ServicesQueryDuration",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" ServicesQueryDuration *metav1.Duration `json:"servicesQueryDuration,omitempty"` }
MonolithicJaegerUISpec defines the settings for the Jaeger UI.
func (*MonolithicJaegerUISpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicJaegerUISpec) DeepCopy() *MonolithicJaegerUISpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicJaegerUISpec.
func (*MonolithicJaegerUISpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicJaegerUISpec) DeepCopyInto(out *MonolithicJaegerUISpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicMultitenancySpec ¶ added in v0.10.0
type MonolithicMultitenancySpec struct { // Enabled defines if multi-tenancy is enabled. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` TenantsSpec `json:",inline"` // Resources defines the compute resource requirements of the gateway container. // The gateway performs authentication and authorization of incoming requests when multi-tenancy is enabled. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources",xDescriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
MonolithicMultitenancySpec defines the multi-tenancy settings for Tempo.
func (*MonolithicMultitenancySpec) DeepCopy ¶ added in v0.10.0
func (in *MonolithicMultitenancySpec) DeepCopy() *MonolithicMultitenancySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicMultitenancySpec.
func (*MonolithicMultitenancySpec) DeepCopyInto ¶ added in v0.10.0
func (in *MonolithicMultitenancySpec) DeepCopyInto(out *MonolithicMultitenancySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonolithicMultitenancySpec) IsGatewayEnabled ¶ added in v0.10.0
func (m *MonolithicMultitenancySpec) IsGatewayEnabled() bool
IsGatewayEnabled checks if the gateway component should be enabled.
type MonolithicObservabilityGrafanaDataSourceSpec ¶ added in v0.9.0
type MonolithicObservabilityGrafanaDataSourceSpec struct { // Enabled defines if a Grafana data source should be created for this Tempo deployment. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // InstanceSelector defines the Grafana instance where the data source should be created. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Instance Selector",xDescriptors="urn:alm:descriptor:com.tectonic.ui:selector:grafana.integreatly.org:v1beta1:Grafana" InstanceSelector *metav1.LabelSelector `json:"instanceSelector,omitempty"` }
MonolithicObservabilityGrafanaDataSourceSpec defines the Grafana data source configuration of the Tempo deployment.
func (*MonolithicObservabilityGrafanaDataSourceSpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicObservabilityGrafanaDataSourceSpec) DeepCopy() *MonolithicObservabilityGrafanaDataSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicObservabilityGrafanaDataSourceSpec.
func (*MonolithicObservabilityGrafanaDataSourceSpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicObservabilityGrafanaDataSourceSpec) DeepCopyInto(out *MonolithicObservabilityGrafanaDataSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicObservabilityGrafanaSpec ¶ added in v0.9.0
type MonolithicObservabilityGrafanaSpec struct { // DataSource defines the Grafana data source configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Grafana data source" DataSource *MonolithicObservabilityGrafanaDataSourceSpec `json:"dataSource,omitempty"` }
MonolithicObservabilityGrafanaSpec defines the Grafana configuration of the Tempo deployment.
func (*MonolithicObservabilityGrafanaSpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicObservabilityGrafanaSpec) DeepCopy() *MonolithicObservabilityGrafanaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicObservabilityGrafanaSpec.
func (*MonolithicObservabilityGrafanaSpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicObservabilityGrafanaSpec) DeepCopyInto(out *MonolithicObservabilityGrafanaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicObservabilityMetricsPrometheusRulesSpec ¶ added in v0.9.0
type MonolithicObservabilityMetricsPrometheusRulesSpec struct { // Enabled defines if PrometheusRule objects should be created for this Tempo deployment. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` }
MonolithicObservabilityMetricsPrometheusRulesSpec defines the PrometheusRules settings.
func (*MonolithicObservabilityMetricsPrometheusRulesSpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicObservabilityMetricsPrometheusRulesSpec) DeepCopy() *MonolithicObservabilityMetricsPrometheusRulesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicObservabilityMetricsPrometheusRulesSpec.
func (*MonolithicObservabilityMetricsPrometheusRulesSpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicObservabilityMetricsPrometheusRulesSpec) DeepCopyInto(out *MonolithicObservabilityMetricsPrometheusRulesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicObservabilityMetricsServiceMonitorsSpec ¶ added in v0.9.0
type MonolithicObservabilityMetricsServiceMonitorsSpec struct { // Enabled defines if ServiceMonitor objects should be created for this Tempo deployment. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` }
MonolithicObservabilityMetricsServiceMonitorsSpec defines the ServiceMonitor settings.
func (*MonolithicObservabilityMetricsServiceMonitorsSpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicObservabilityMetricsServiceMonitorsSpec) DeepCopy() *MonolithicObservabilityMetricsServiceMonitorsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicObservabilityMetricsServiceMonitorsSpec.
func (*MonolithicObservabilityMetricsServiceMonitorsSpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicObservabilityMetricsServiceMonitorsSpec) DeepCopyInto(out *MonolithicObservabilityMetricsServiceMonitorsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicObservabilityMetricsSpec ¶ added in v0.9.0
type MonolithicObservabilityMetricsSpec struct { // ServiceMonitors defines the ServiceMonitor configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Service Monitors" ServiceMonitors *MonolithicObservabilityMetricsServiceMonitorsSpec `json:"serviceMonitors,omitempty"` // ServiceMonitors defines the PrometheusRule configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Prometheus Rules" PrometheusRules *MonolithicObservabilityMetricsPrometheusRulesSpec `json:"prometheusRules,omitempty"` }
MonolithicObservabilityMetricsSpec defines the metrics settings of the Tempo deployment.
func (*MonolithicObservabilityMetricsSpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicObservabilityMetricsSpec) DeepCopy() *MonolithicObservabilityMetricsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicObservabilityMetricsSpec.
func (*MonolithicObservabilityMetricsSpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicObservabilityMetricsSpec) DeepCopyInto(out *MonolithicObservabilityMetricsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicObservabilitySpec ¶ added in v0.9.0
type MonolithicObservabilitySpec struct { // Metrics defines the metric configuration of the Tempo deployment. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Metrics" Metrics *MonolithicObservabilityMetricsSpec `json:"metrics,omitempty"` // Grafana defines the Grafana configuration of the Tempo deployment. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Grafana" Grafana *MonolithicObservabilityGrafanaSpec `json:"grafana,omitempty"` }
MonolithicObservabilitySpec defines the observability configuration of the Tempo deployment.
func (*MonolithicObservabilitySpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicObservabilitySpec) DeepCopy() *MonolithicObservabilitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicObservabilitySpec.
func (*MonolithicObservabilitySpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicObservabilitySpec) DeepCopyInto(out *MonolithicObservabilitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicSchedulerSpec ¶ added in v0.9.0
type MonolithicSchedulerSpec struct { // NodeSelector defines which labels are required by a node to schedule the pod onto it. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations defines the tolerations of a node to schedule the pod onto it. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Affinity defines the Affinity rules for scheduling pods. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Affinity",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" Affinity *corev1.Affinity `json:"affinity,omitempty"` }
MonolithicSchedulerSpec defines schedule settings for Tempo.
func (*MonolithicSchedulerSpec) DeepCopy ¶ added in v0.9.0
func (in *MonolithicSchedulerSpec) DeepCopy() *MonolithicSchedulerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicSchedulerSpec.
func (*MonolithicSchedulerSpec) DeepCopyInto ¶ added in v0.9.0
func (in *MonolithicSchedulerSpec) DeepCopyInto(out *MonolithicSchedulerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicStorageSpec ¶ added in v0.8.0
type MonolithicStorageSpec struct { // Traces defines the storage configuration for traces. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Traces" Traces MonolithicTracesStorageSpec `json:"traces"` }
MonolithicStorageSpec defines the storage for the Tempo deployment.
func (*MonolithicStorageSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicStorageSpec) DeepCopy() *MonolithicStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicStorageSpec.
func (*MonolithicStorageSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicStorageSpec) DeepCopyInto(out *MonolithicStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicTracesObjectStorageSpec ¶ added in v0.8.0
type MonolithicTracesObjectStorageSpec struct { // Secret is the name of a Secret containing credentials for accessing object storage. // It needs to be in the same namespace as the TempoMonolithic custom resource. // // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Secret",xDescriptors="urn:alm:descriptor:io.kubernetes:Secret" Secret string `json:"secret"` }
MonolithicTracesObjectStorageSpec defines object storage configuration.
func (*MonolithicTracesObjectStorageSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicTracesObjectStorageSpec) DeepCopy() *MonolithicTracesObjectStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicTracesObjectStorageSpec.
func (*MonolithicTracesObjectStorageSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicTracesObjectStorageSpec) DeepCopyInto(out *MonolithicTracesObjectStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicTracesStorageBackend ¶ added in v0.8.0
type MonolithicTracesStorageBackend string
MonolithicTracesStorageBackend defines the backend storage for traces.
+kubebuilder:validation:Enum=memory;pv;azure;gcs;s3
const ( // MonolithicTracesStorageBackendMemory defines storing traces in a tmpfs (in-memory filesystem). MonolithicTracesStorageBackendMemory MonolithicTracesStorageBackend = "memory" // MonolithicTracesStorageBackendPV defines storing traces in a Persistent Volume. MonolithicTracesStorageBackendPV MonolithicTracesStorageBackend = "pv" // MonolithicTracesStorageBackendAzure defines storing traces in Azure Storage. MonolithicTracesStorageBackendAzure MonolithicTracesStorageBackend = "azure" // MonolithicTracesStorageBackendGCS defines storing traces in Google Cloud Storage. MonolithicTracesStorageBackendGCS MonolithicTracesStorageBackend = "gcs" // MonolithicTracesStorageBackendS3 defines storing traces in Amazon S3. MonolithicTracesStorageBackendS3 MonolithicTracesStorageBackend = "s3" )
type MonolithicTracesStorageS3Spec ¶ added in v0.8.0
type MonolithicTracesStorageS3Spec struct { MonolithicTracesObjectStorageSpec `json:",inline"` // TLS defines the TLS configuration for Amazon S3. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS" TLS *TLSSpec `json:"tls,omitempty"` }
MonolithicTracesStorageS3Spec defines the Amazon S3 configuration.
func (*MonolithicTracesStorageS3Spec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicTracesStorageS3Spec) DeepCopy() *MonolithicTracesStorageS3Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicTracesStorageS3Spec.
func (*MonolithicTracesStorageS3Spec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicTracesStorageS3Spec) DeepCopyInto(out *MonolithicTracesStorageS3Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonolithicTracesStorageSpec ¶ added in v0.8.0
type MonolithicTracesStorageSpec struct { // Backend defines the backend for storing traces. // Default: memory. // // +kubebuilder:validation:Required // +kubebuilder:default=memory // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage Backend",order=1 Backend MonolithicTracesStorageBackend `json:"backend"` // Size defines the size of the volume where traces are stored. // For in-memory storage, this defines the size of the tmpfs volume. // For persistent volume storage, this defines the size of the persistent volume. // For object storage, this defines the size of the persistent volume containing the Write-Ahead Log (WAL) of Tempo. // Default: 2Gi for memory, 10Gi for all other backends. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Size",order=2,xDescriptors="urn:alm:descriptor:com.tectonic.ui:text" Size *resource.Quantity `json:"size,omitempty"` // S3 defines the configuration for Amazon S3. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Amazon S3" S3 *MonolithicTracesStorageS3Spec `json:"s3,omitempty"` // Azure defines the configuration for Azure Storage. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Azure Storage" Azure *MonolithicTracesObjectStorageSpec `json:"azure,omitempty"` // GCP defines the configuration for Google Cloud Storage. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Google Cloud Storage" GCS *MonolithicTracesObjectStorageSpec `json:"gcs,omitempty"` }
MonolithicTracesStorageSpec defines the traces storage for the Tempo deployment.
func (*MonolithicTracesStorageSpec) DeepCopy ¶ added in v0.8.0
func (in *MonolithicTracesStorageSpec) DeepCopy() *MonolithicTracesStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonolithicTracesStorageSpec.
func (*MonolithicTracesStorageSpec) DeepCopyInto ¶ added in v0.8.0
func (in *MonolithicTracesStorageSpec) DeepCopyInto(out *MonolithicTracesStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCSpec ¶
type OIDCSpec struct { // Secret defines the spec for the clientID, clientSecret and issuerCAPath for tenant's authentication. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenant Secret" Secret *TenantSecretSpec `json:"secret"` // IssuerURL defines the URL for issuer. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Issuer URL" IssuerURL string `json:"issuerURL"` // RedirectURL defines the URL for redirect. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Redirect URL" RedirectURL string `json:"redirectURL,omitempty"` // Group claim field from ID Token // // +optional // +kubebuilder:validation:Optional GroupClaim string `json:"groupClaim,omitempty"` // User claim field from ID Token // // +optional // +kubebuilder:validation:Optional UsernameClaim string `json:"usernameClaim,omitempty"` }
OIDCSpec defines the oidc configuration spec for Tempo Gateway component.
func (*OIDCSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCSpec.
func (*OIDCSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStorageSecretSpec ¶
type ObjectStorageSecretSpec struct { // Type of object storage that should be used // // +required // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:azure","urn:alm:descriptor:com.tectonic.ui:select:gcs","urn:alm:descriptor:com.tectonic.ui:select:s3"},displayName="Object Storage Secret Type" Type ObjectStorageSecretType `json:"type"` // Name of a secret in the namespace configured for object storage secrets. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret",displayName="Object Storage Secret Name" Name string `json:"name"` }
ObjectStorageSecretSpec is a secret reference containing name only, no namespace.
func (*ObjectStorageSecretSpec) DeepCopy ¶
func (in *ObjectStorageSecretSpec) DeepCopy() *ObjectStorageSecretSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStorageSecretSpec.
func (*ObjectStorageSecretSpec) DeepCopyInto ¶
func (in *ObjectStorageSecretSpec) DeepCopyInto(out *ObjectStorageSecretSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStorageSecretType ¶
type ObjectStorageSecretType string
ObjectStorageSecretType defines the type of storage which can be used with the Tempo cluster.
+kubebuilder:validation:Enum=azure;gcs;s3
const ( // ObjectStorageSecretAzure when using Azure Storage for Tempo storage. ObjectStorageSecretAzure ObjectStorageSecretType = "azure" // ObjectStorageSecretGCS when using Google Cloud Storage for Tempo storage. ObjectStorageSecretGCS ObjectStorageSecretType = "gcs" // ObjectStorageSecretS3 when using S3 for Tempo storage. ObjectStorageSecretS3 ObjectStorageSecretType = "s3" )
type ObjectStorageSpec ¶
type ObjectStorageSpec struct { // TLS configuration for reaching the object storage endpoint. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS Config" TLS TLSSpec `json:"tls,omitempty"` // Secret for object storage authentication. // Name of a secret in the same namespace as the TempoStack custom resource. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Object Storage Secret" Secret ObjectStorageSecretSpec `json:"secret"` }
ObjectStorageSpec defines the requirements to access the object storage bucket to persist traces by the ingester component.
func (*ObjectStorageSpec) DeepCopy ¶
func (in *ObjectStorageSpec) DeepCopy() *ObjectStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStorageSpec.
func (*ObjectStorageSpec) DeepCopyInto ¶
func (in *ObjectStorageSpec) DeepCopyInto(out *ObjectStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilitySpec ¶
type ObservabilitySpec struct { // Metrics defines the metrics configuration for operands. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Metrics Config" Metrics MetricsConfigSpec `json:"metrics,omitempty"` // Tracing defines a config for operands. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tracing Config" Tracing TracingConfigSpec `json:"tracing,omitempty"` // Grafana defines the Grafana configuration for operands. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Grafana Config" Grafana GrafanaConfigSpec `json:"grafana,omitempty"` }
ObservabilitySpec defines how telemetry data gets handled.
func (*ObservabilitySpec) DeepCopy ¶
func (in *ObservabilitySpec) DeepCopy() *ObservabilitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilitySpec.
func (*ObservabilitySpec) DeepCopyInto ¶
func (in *ObservabilitySpec) DeepCopyInto(out *ObservabilitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PermissionType ¶
type PermissionType string
PermissionType is a Tempo Gateway RBAC permission.
+kubebuilder:validation:Enum=read;write
const ( // Write gives access to write data to a tenant. Write PermissionType = "write" // Read gives access to read data from a tenant. Read PermissionType = "read" )
type PodStatusMap ¶
PodStatusMap defines the type for mapping pod status to pod name.
func (PodStatusMap) DeepCopy ¶
func (in PodStatusMap) DeepCopy() PodStatusMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodStatusMap.
func (PodStatusMap) DeepCopyInto ¶
func (in PodStatusMap) DeepCopyInto(out *PodStatusMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueryLimit ¶
type QueryLimit struct { // MaxBytesPerTagValues defines the maximum size in bytes of a tag-values query. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Max Tags per User" MaxBytesPerTagValues *int `json:"maxBytesPerTagValues,omitempty"` // DEPRECATED. MaxSearchBytesPerTrace defines the maximum size of search data for a single // trace in bytes. // default: `0` to disable. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:number",displayName="Max Traces per User" MaxSearchBytesPerTrace *int `json:"maxSearchBytesPerTrace,omitempty"` // MaxSearchDuration defines the maximum allowed time range for a search. // If this value is not set, then spec.search.maxDuration is used. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Max Search Duration per User" MaxSearchDuration metav1.Duration `json:"maxSearchDuration"` }
QueryLimit defines query limits.
func (*QueryLimit) DeepCopy ¶
func (in *QueryLimit) DeepCopy() *QueryLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryLimit.
func (*QueryLimit) DeepCopyInto ¶
func (in *QueryLimit) DeepCopyInto(out *QueryLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitSpec ¶
type RateLimitSpec struct { // Ingestion is used to define ingestion rate limits. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingestion Limit" Ingestion IngestionLimitSpec `json:"ingestion"` // Query is used to define query rate limits. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Query Limit" Query QueryLimit `json:"query"` }
RateLimitSpec defines rate limits for Ingestion and Query components.
func (*RateLimitSpec) DeepCopy ¶
func (in *RateLimitSpec) DeepCopy() *RateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitSpec.
func (*RateLimitSpec) DeepCopyInto ¶
func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct { // The total amount of resources for Tempo instance. // The operator autonomously splits resources between deployed Tempo components. // Only limits are supported, the operator calculates requests automatically. // See http://github.com/grafana/tempo/issues/1540. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resource Requirements" Total *corev1.ResourceRequirements `json:"total,omitempty"` }
Resources defines resources configuration.
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetentionConfig ¶
type RetentionConfig struct { // Traces defines retention period. Supported parameter suffixes are "s", "m" and "h". // example: 336h // default: value is 48h. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:text",displayName="Trace Retention Period" Traces metav1.Duration `json:"traces"` }
RetentionConfig defines how long data should be provided.
func (*RetentionConfig) DeepCopy ¶
func (in *RetentionConfig) DeepCopy() *RetentionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionConfig.
func (*RetentionConfig) DeepCopyInto ¶
func (in *RetentionConfig) DeepCopyInto(out *RetentionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RetentionSpec ¶
type RetentionSpec struct { // PerTenant is used to configure retention per tenant. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="PerTenant Retention" PerTenant map[string]RetentionConfig `json:"perTenant,omitempty"` // Global is used to configure global retention. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Global Retention" Global RetentionConfig `json:"global"` }
RetentionSpec defines global and per tenant retention configurations.
func (*RetentionSpec) DeepCopy ¶
func (in *RetentionSpec) DeepCopy() *RetentionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionSpec.
func (*RetentionSpec) DeepCopyInto ¶
func (in *RetentionSpec) DeepCopyInto(out *RetentionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleBindingsSpec ¶
type RoleBindingsSpec struct { Name string `json:"name"` Subjects []Subject `json:"subjects"` Roles []string `json:"roles"` }
RoleBindingsSpec binds a set of roles to a set of subjects.
func (*RoleBindingsSpec) DeepCopy ¶
func (in *RoleBindingsSpec) DeepCopy() *RoleBindingsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBindingsSpec.
func (*RoleBindingsSpec) DeepCopyInto ¶
func (in *RoleBindingsSpec) DeepCopyInto(out *RoleBindingsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleSpec ¶
type RoleSpec struct { Name string `json:"name"` Resources []string `json:"resources"` Tenants []string `json:"tenants"` Permissions []PermissionType `json:"permissions"` }
RoleSpec describes a set of permissions to interact with a tenant.
func (*RoleSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.
func (*RoleSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteSpec ¶
type RouteSpec struct { // Termination defines the termination type. // The default is "edge". // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS Termination Policy" Termination TLSRouteTerminationType `json:"termination,omitempty"` }
RouteSpec defines OpenShift Route specific options.
func (*RouteSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.
func (*RouteSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SearchSpec ¶
type SearchSpec struct { // Limit used for search requests if none is set by the caller (default: 20) // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Limit used for search requests if none is set by the caller, this limit the number of traces returned by the query" DefaultResultLimit *int `json:"defaultResultLimit,omitempty"` // The maximum allowed time range for a search, default: 0s which means unlimited. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Max search time range allowed" MaxDuration metav1.Duration `json:"maxDuration,omitempty"` // The maximum allowed value of the limit parameter on search requests. If the search request limit parameter // exceeds the value configured here it will be set to the value configured here. // The default value of 0 disables this limit. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="The maximum allowed value of the limit parameter on search requests, this determine the max number of traces allowed to be returned" MaxResultLimit int `json:"maxResultLimit,omitempty"` }
SearchSpec specified the global search parameters.
func (*SearchSpec) DeepCopy ¶
func (in *SearchSpec) DeepCopy() *SearchSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SearchSpec.
func (*SearchSpec) DeepCopyInto ¶
func (in *SearchSpec) DeepCopyInto(out *SearchSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subject ¶
type Subject struct { Name string `json:"name"` Kind SubjectKind `json:"kind"` }
Subject represents a subject that has been bound to a role.
func (*Subject) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subject.
func (*Subject) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubjectKind ¶
type SubjectKind string
SubjectKind is a kind of Tempo Gateway RBAC subject.
+kubebuilder:validation:Enum=user;group
const ( // User represents a subject that is a user. User SubjectKind = "user" // Group represents a subject that is a group. Group SubjectKind = "group" )
type TLSRouteTerminationType ¶
type TLSRouteTerminationType string
TLSRouteTerminationType is used to indicate which TLS settings should be used. +kubebuilder:validation:Enum=insecure;edge;passthrough;reencrypt
const ( // TLSRouteTerminationTypeInsecure indicates that insecure connections are allowed. TLSRouteTerminationTypeInsecure TLSRouteTerminationType = "insecure" // TLSRouteTerminationTypeEdge indicates that encryption should be terminated // at the edge router. TLSRouteTerminationTypeEdge TLSRouteTerminationType = "edge" // TLSRouteTerminationTypePassthrough indicates that the destination service is // responsible for decrypting traffic. TLSRouteTerminationTypePassthrough TLSRouteTerminationType = "passthrough" // TLSRouteTerminationTypeReencrypt indicates that traffic will be decrypted on the edge // and re-encrypt using a new certificate. TLSRouteTerminationTypeReencrypt TLSRouteTerminationType = "reencrypt" )
type TLSSpec ¶ added in v0.8.0
type TLSSpec struct { // Enabled defines if TLS is enabled. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",order=1,xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // CA is the name of a ConfigMap containing a CA certificate (service-ca.crt). // It needs to be in the same namespace as the Tempo custom resource. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:io.kubernetes:ConfigMap",displayName="CA ConfigMap" CA string `json:"caName,omitempty"` // Cert is the name of a Secret containing a certificate (tls.crt) and private key (tls.key). // It needs to be in the same namespace as the Tempo custom resource. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret",displayName="Certificate Secret" Cert string `json:"certName,omitempty"` // MinVersion defines the minimum acceptable TLS version. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Min TLS Version" MinVersion string `json:"minVersion,omitempty"` }
TLSSpec is the TLS configuration.
func (*TLSSpec) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶ added in v0.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoComponentSpec ¶
type TempoComponentSpec struct { // Replicas defines the number of replicas to be created for this component. // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Component Replicas" Replicas *int32 `json:"replicas,omitempty"` // NodeSelector defines the simple form of the node-selection constraint. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Node Selector" NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations defines component-specific pod tolerations. // // +optional // +listType=atomic // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tolerations" Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Resources defines resources for this component, this will override the calculated resources derived from total // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources" Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
TempoComponentSpec defines specific schedule settings for tempo components.
func (*TempoComponentSpec) DeepCopy ¶
func (in *TempoComponentSpec) DeepCopy() *TempoComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoComponentSpec.
func (*TempoComponentSpec) DeepCopyInto ¶
func (in *TempoComponentSpec) DeepCopyInto(out *TempoComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoDistributorSpec ¶ added in v0.6.0
type TempoDistributorSpec struct { // TempoComponentSpec is embedded to extend this definition with further options. // // Currently, there is no way to inline this field. // See: https://github.com/golang/go/issues/6213 // // +optional // +kubebuilder:validation:Optional TempoComponentSpec `json:"component,omitempty"` // TLS defines TLS configuration for distributor receivers // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="TLS" TLS TLSSpec `json:"tls,omitempty"` }
TempoDistributorSpec defines the template of all requirements to configure scheduling of Tempo distributor component to be deployed.
func (*TempoDistributorSpec) DeepCopy ¶ added in v0.6.0
func (in *TempoDistributorSpec) DeepCopy() *TempoDistributorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoDistributorSpec.
func (*TempoDistributorSpec) DeepCopyInto ¶ added in v0.6.0
func (in *TempoDistributorSpec) DeepCopyInto(out *TempoDistributorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoGatewaySpec ¶
type TempoGatewaySpec struct { // TempoComponentSpec is embedded to extend this definition with further options. // // Currently there is no way to inline this field. // See: https://github.com/golang/go/issues/6213 // // +optional // +kubebuilder:validation:Optional TempoComponentSpec `json:"component,omitempty"` // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enabled",xDescriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch" Enabled bool `json:"enabled"` // Ingress defines gateway Ingress options. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger gateway Ingress Settings" Ingress IngressSpec `json:"ingress,omitempty"` }
TempoGatewaySpec extends TempoComponentSpec with gateway parameters.
func (*TempoGatewaySpec) DeepCopy ¶
func (in *TempoGatewaySpec) DeepCopy() *TempoGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoGatewaySpec.
func (*TempoGatewaySpec) DeepCopyInto ¶
func (in *TempoGatewaySpec) DeepCopyInto(out *TempoGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoMonolithic ¶ added in v0.8.0
type TempoMonolithic struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TempoMonolithicSpec `json:"spec,omitempty"` Status TempoMonolithicStatus `json:"status,omitempty"` }
TempoMonolithic manages a Tempo deployment in monolithic mode.
+operator-sdk:csv:customresourcedefinitions:displayName="TempoMonolithic",resources={{ConfigMap,v1},{ServiceAccount,v1},{Service,v1},{Secret,v1},{StatefulSet,v1},{Ingress,v1},{Route,v1}}
func (*TempoMonolithic) DeepCopy ¶ added in v0.8.0
func (in *TempoMonolithic) DeepCopy() *TempoMonolithic
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoMonolithic.
func (*TempoMonolithic) DeepCopyInto ¶ added in v0.8.0
func (in *TempoMonolithic) DeepCopyInto(out *TempoMonolithic)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TempoMonolithic) DeepCopyObject ¶ added in v0.8.0
func (in *TempoMonolithic) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TempoMonolithic) Default ¶ added in v0.8.0
func (r *TempoMonolithic) Default(ctrlConfig configv1alpha1.ProjectConfig)
Default sets all default values in a central place, instead of setting it at every place where the value is accessed. NOTE: This function is called inside the Reconcile loop, NOT in the webhook. We want to keep the CR as minimal as the user configures it, and not modify it in any way (except for upgrades).
func (*TempoMonolithic) GetOperatorVersion ¶ added in v0.10.0
func (tempo *TempoMonolithic) GetOperatorVersion() string
GetOperatorVersion returns the operator version from the status field.
func (*TempoMonolithic) GetStatus ¶ added in v0.10.0
func (tempo *TempoMonolithic) GetStatus() any
GetStatus returns the CR status.
func (*TempoMonolithic) SetOperatorVersion ¶ added in v0.10.0
func (tempo *TempoMonolithic) SetOperatorVersion(v string)
SetOperatorVersion sets the operator version in the status field.
func (*TempoMonolithic) SetStatus ¶ added in v0.10.0
func (tempo *TempoMonolithic) SetStatus(s any)
SetStatus sets the CR status.
func (*TempoMonolithic) SetTempoVersion ¶ added in v0.10.0
func (tempo *TempoMonolithic) SetTempoVersion(v string)
SetTempoVersion sets the Tempo version in the status field.
type TempoMonolithicList ¶ added in v0.8.0
type TempoMonolithicList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TempoMonolithic `json:"items"` }
TempoMonolithicList contains a list of TempoMonolithic.
func (*TempoMonolithicList) DeepCopy ¶ added in v0.8.0
func (in *TempoMonolithicList) DeepCopy() *TempoMonolithicList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoMonolithicList.
func (*TempoMonolithicList) DeepCopyInto ¶ added in v0.8.0
func (in *TempoMonolithicList) DeepCopyInto(out *TempoMonolithicList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TempoMonolithicList) DeepCopyObject ¶ added in v0.8.0
func (in *TempoMonolithicList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TempoMonolithicSpec ¶ added in v0.8.0
type TempoMonolithicSpec struct { // Storage defines the storage configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage",order=1 Storage *MonolithicStorageSpec `json:"storage,omitempty"` // Ingestion defines the trace ingestion configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingestion",order=2 Ingestion *MonolithicIngestionSpec `json:"ingestion,omitempty"` // JaegerUI defines the Jaeger UI configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger UI",order=3 JaegerUI *MonolithicJaegerUISpec `json:"jaegerui,omitempty"` // Multitenancy defines the multi-tenancy configuration. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Multi-Tenancy" Multitenancy *MonolithicMultitenancySpec `json:"multitenancy,omitempty"` // Observability defines the observability configuration of the Tempo deployment. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Observability",order=4 Observability *MonolithicObservabilitySpec `json:"observability,omitempty"` // Resources defines the compute resource requirements of the Tempo container. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources",order=5,xDescriptors="urn:alm:descriptor:com.tectonic.ui:resourceRequirements" Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // ServiceAccount defines the Service Account to use for all Tempo components. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Service Account",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" ServiceAccount string `json:"serviceAccount,omitempty"` // ManagementState defines whether this instance is managed by the operator or self-managed. // Default: Managed. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Management State",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" Management ManagementStateType `json:"management,omitempty"` // ExtraConfig defines any extra (overlay) configuration of components. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Extra Configuration",xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced" ExtraConfig *ExtraConfigSpec `json:"extraConfig,omitempty"` MonolithicSchedulerSpec `json:",inline"` }
TempoMonolithicSpec defines the desired state of TempoMonolithic.
func (*TempoMonolithicSpec) DeepCopy ¶ added in v0.8.0
func (in *TempoMonolithicSpec) DeepCopy() *TempoMonolithicSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoMonolithicSpec.
func (*TempoMonolithicSpec) DeepCopyInto ¶ added in v0.8.0
func (in *TempoMonolithicSpec) DeepCopyInto(out *TempoMonolithicSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoMonolithicStatus ¶ added in v0.8.0
type TempoMonolithicStatus struct { // Version of the Tempo Operator. // +optional OperatorVersion string `json:"operatorVersion,omitempty"` // Version of the managed Tempo instance. // +optional TempoVersion string `json:"tempoVersion,omitempty"` // Components provides summary of all Tempo pod status, grouped per component. // // +kubebuilder:validation:Optional Components MonolithicComponentStatus `json:"components,omitempty"` // Conditions of the Tempo deployment health. // // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:io.kubernetes.conditions" Conditions []metav1.Condition `json:"conditions,omitempty"` }
TempoMonolithicStatus defines the observed state of TempoMonolithic.
func (*TempoMonolithicStatus) DeepCopy ¶ added in v0.8.0
func (in *TempoMonolithicStatus) DeepCopy() *TempoMonolithicStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoMonolithicStatus.
func (*TempoMonolithicStatus) DeepCopyInto ¶ added in v0.8.0
func (in *TempoMonolithicStatus) DeepCopyInto(out *TempoMonolithicStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoQueryFrontendSpec ¶
type TempoQueryFrontendSpec struct { // TempoComponentSpec is embedded to extend this definition with further options. // // Currently there is no way to inline this field. // See: https://github.com/golang/go/issues/6213 // // +optional // +kubebuilder:validation:Optional TempoComponentSpec `json:"component,omitempty"` // JaegerQuery defines options specific to the Jaeger Query component. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger Query Settings" JaegerQuery JaegerQuerySpec `json:"jaegerQuery"` }
TempoQueryFrontendSpec extends TempoComponentSpec with frontend specific parameters.
func (*TempoQueryFrontendSpec) DeepCopy ¶
func (in *TempoQueryFrontendSpec) DeepCopy() *TempoQueryFrontendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoQueryFrontendSpec.
func (*TempoQueryFrontendSpec) DeepCopyInto ¶
func (in *TempoQueryFrontendSpec) DeepCopyInto(out *TempoQueryFrontendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoStack ¶
type TempoStack struct { Status TempoStackStatus `json:"status,omitempty"` metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TempoStackSpec `json:"spec,omitempty"` }
TempoStack manages a Tempo deployment in microservices mode.
+operator-sdk:csv:customresourcedefinitions:displayName="TempoStack",resources={{ConfigMap,v1},{ServiceAccount,v1},{Service,v1},{Secret,v1},{StatefulSet,v1},{Deployment,v1},{Ingress,v1},{Route,v1}} +kubebuilder:resource:shortName=tempo;tempos
func (*TempoStack) DeepCopy ¶
func (in *TempoStack) DeepCopy() *TempoStack
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoStack.
func (*TempoStack) DeepCopyInto ¶
func (in *TempoStack) DeepCopyInto(out *TempoStack)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TempoStack) DeepCopyObject ¶
func (in *TempoStack) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TempoStack) GetOperatorVersion ¶ added in v0.10.0
func (tempo *TempoStack) GetOperatorVersion() string
GetOperatorVersion returns the operator version from the status field.
func (*TempoStack) GetStatus ¶ added in v0.10.0
func (tempo *TempoStack) GetStatus() any
GetStatus returns the CR status.
func (*TempoStack) SetOperatorVersion ¶ added in v0.10.0
func (tempo *TempoStack) SetOperatorVersion(v string)
SetOperatorVersion sets the operator version in the status field.
func (*TempoStack) SetStatus ¶ added in v0.10.0
func (tempo *TempoStack) SetStatus(s any)
SetStatus sets the CR status.
func (*TempoStack) SetTempoVersion ¶ added in v0.10.0
func (tempo *TempoStack) SetTempoVersion(v string)
SetTempoVersion sets the Tempo version in the status field.
type TempoStackList ¶
type TempoStackList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TempoStack `json:"items"` }
TempoStackList contains a list of TempoStack.
func (*TempoStackList) DeepCopy ¶
func (in *TempoStackList) DeepCopy() *TempoStackList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoStackList.
func (*TempoStackList) DeepCopyInto ¶
func (in *TempoStackList) DeepCopyInto(out *TempoStackList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TempoStackList) DeepCopyObject ¶
func (in *TempoStackList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TempoStackSpec ¶
type TempoStackSpec struct { // ManagementState defines if the CR should be managed by the operator or not. // Default is managed. // // +required // +kubebuilder:validation:Required // +kubebuilder:default:=Managed // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:Managed","urn:alm:descriptor:com.tectonic.ui:select:Unmanaged"},displayName="Management State" ManagementState ManagementStateType `json:"managementState,omitempty"` // LimitSpec is used to limit ingestion and querying rates. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingestion and Querying Ratelimiting" LimitSpec LimitSpec `json:"limits,omitempty"` // StorageClassName for PVCs used by ingester. Defaults to nil (default storage class in the cluster). // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="StorageClassName for PVCs" StorageClassName *string `json:"storageClassName,omitempty"` // Resources defines resources configuration. // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Resources" Resources Resources `json:"resources,omitempty"` // StorageSize for PVCs used by ingester. Defaults to 10Gi. // // +optional // +kubebuilder:default="10Gi" // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Storage size for PVCs" StorageSize resource.Quantity `json:"storageSize,omitempty"` // Images defines the image for each container. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Container Images" Images v1alpha1.ImagesSpec `json:"images,omitempty"` // Storage defines the spec for the object storage endpoint to store traces. // User is required to create secret and supply it. // // +kubebuilder:validation:Required // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Object Storage" Storage ObjectStorageSpec `json:"storage"` // NOTE: currently this field is not considered. // Retention period defined by dataset. // User can specify how long data should be stored. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Retention Period" Retention RetentionSpec `json:"retention,omitempty"` // ServiceAccount defines the service account to use for all tempo components. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Service Account" ServiceAccount string `json:"serviceAccount,omitempty"` // SearchSpec control the configuration for the search capabilities. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Search configuration options" SearchSpec SearchSpec `json:"search,omitempty"` // HashRing defines the spec for the distributed hash ring configuration. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:advanced",displayName="Hash Ring" HashRing HashRingSpec `json:"hashRing,omitempty"` // Template defines requirements for a set of tempo components. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tempo Component Templates" Template TempoTemplateSpec `json:"template,omitempty"` // ReplicationFactor is used to define how many component replicas should exist. // // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Replication Factor" ReplicationFactor int `json:"replicationFactor,omitempty"` // Tenants defines the per-tenant authentication and authorization spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Tenants Configuration" Tenants *TenantsSpec `json:"tenants,omitempty"` // ObservabilitySpec defines how telemetry data gets handled. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Observability" Observability ObservabilitySpec `json:"observability,omitempty"` // +optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Extra Configurations" ExtraConfig *ExtraConfigSpec `json:"extraConfig,omitempty"` }
TempoStackSpec defines the desired state of TempoStack.
func (*TempoStackSpec) DeepCopy ¶
func (in *TempoStackSpec) DeepCopy() *TempoStackSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoStackSpec.
func (*TempoStackSpec) DeepCopyInto ¶
func (in *TempoStackSpec) DeepCopyInto(out *TempoStackSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoStackStatus ¶
type TempoStackStatus struct { // Version of the Tempo Operator. // +optional OperatorVersion string `json:"operatorVersion,omitempty"` // Version of the managed Tempo instance. // +optional TempoVersion string `json:"tempoVersion,omitempty"` // DEPRECATED. Version of the Tempo Query component used. // +optional TempoQueryVersion string `json:"tempoQueryVersion,omitempty"` // Components provides summary of all Tempo pod status grouped // per component. // // +optional // +kubebuilder:validation:Optional Components ComponentStatus `json:"components,omitempty"` // Conditions of the Tempo deployment health. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors="urn:alm:descriptor:io.kubernetes.conditions" Conditions []metav1.Condition `json:"conditions,omitempty"` }
TempoStackStatus defines the observed state of TempoStack.
func (*TempoStackStatus) DeepCopy ¶
func (in *TempoStackStatus) DeepCopy() *TempoStackStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoStackStatus.
func (*TempoStackStatus) DeepCopyInto ¶
func (in *TempoStackStatus) DeepCopyInto(out *TempoStackStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TempoTemplateSpec ¶
type TempoTemplateSpec struct { // Distributor defines the distributor component spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Distributor pods" Distributor TempoDistributorSpec `json:"distributor,omitempty"` // Ingester defines the ingester component spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Ingester pods" Ingester TempoComponentSpec `json:"ingester,omitempty"` // Compactor defines the tempo compactor component spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Compactor pods" Compactor TempoComponentSpec `json:"compactor,omitempty"` // Querier defines the querier component spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Querier pods" Querier TempoComponentSpec `json:"querier,omitempty"` // TempoQueryFrontendSpec defines the query frontend spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Query Frontend pods" QueryFrontend TempoQueryFrontendSpec `json:"queryFrontend,omitempty"` // Gateway defines the tempo gateway spec. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Gateway pods" Gateway TempoGatewaySpec `json:"gateway,omitempty"` }
TempoTemplateSpec defines the template of all requirements to configure scheduling of all Tempo components to be deployed.
func (*TempoTemplateSpec) DeepCopy ¶
func (in *TempoTemplateSpec) DeepCopy() *TempoTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TempoTemplateSpec.
func (*TempoTemplateSpec) DeepCopyInto ¶
func (in *TempoTemplateSpec) DeepCopyInto(out *TempoTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantSecretSpec ¶
type TenantSecretSpec struct { // Name of a secret in the namespace configured for tenant secrets. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:io.kubernetes:Secret",displayName="Tenant Secret Name" Name string `json:"name"` }
TenantSecretSpec is a secret reference containing name only for a secret living in the same namespace as the (Tempo) TempoStack custom resource.
func (*TenantSecretSpec) DeepCopy ¶
func (in *TenantSecretSpec) DeepCopy() *TenantSecretSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSecretSpec.
func (*TenantSecretSpec) DeepCopyInto ¶
func (in *TenantSecretSpec) DeepCopyInto(out *TenantSecretSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantsSpec ¶
type TenantsSpec struct { // Mode defines the multitenancy mode. // // +required // +kubebuilder:validation:Required // +kubebuilder:default:=static // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:static","urn:alm:descriptor:com.tectonic.ui:select:openshift"},displayName="Mode" Mode ModeType `json:"mode"` // Authentication defines the tempo-gateway component authentication configuration spec per tenant. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authentication" Authentication []AuthenticationSpec `json:"authentication,omitempty"` // Authorization defines the tempo-gateway component authorization configuration spec per tenant. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Authorization" Authorization *AuthorizationSpec `json:"authorization,omitempty"` }
TenantsSpec defines the mode, authentication and authorization configuration of the tempo gateway component.
func (*TenantsSpec) DeepCopy ¶
func (in *TenantsSpec) DeepCopy() *TenantsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantsSpec.
func (*TenantsSpec) DeepCopyInto ¶
func (in *TenantsSpec) DeepCopyInto(out *TenantsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TracingConfigSpec ¶
type TracingConfigSpec struct { // SamplingFraction defines the sampling ratio. Valid values are 0 to 1. // // +optional // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Sampling Fraction" SamplingFraction string `json:"sampling_fraction,omitempty"` // JaegerAgentEndpoint defines the jaeger endpoint data gets send to. // // +optional // +kubebuilder:validation:Optional // +kubebuilder:default:="localhost:6831" // +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Jaeger-Agent-Endpoint" JaegerAgentEndpoint string `json:"jaeger_agent_endpoint,omitempty"` }
TracingConfigSpec defines a tracing config including endpoints and sampling.
func (*TracingConfigSpec) DeepCopy ¶
func (in *TracingConfigSpec) DeepCopy() *TracingConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracingConfigSpec.
func (*TracingConfigSpec) DeepCopyInto ¶
func (in *TracingConfigSpec) DeepCopyInto(out *TracingConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.