Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=wavefront.com
Index ¶
- Constants
- Variables
- type Auth
- type AutoTracingPixie
- type Collector
- type ControlPlane
- type DaemonSetStatus
- type DataCollection
- type DataExport
- type DeploymentStatus
- type Experimental
- type ExternalWavefrontProxy
- type Filters
- type Histogram
- type HttpProxy
- type Hub
- type Insights
- type JaegerTracing
- type LogFilters
- type Logging
- type Metrics
- type OTLP
- type Pixie
- type PixieShared
- type PreprocessorRules
- type Resource
- type ResourceStatus
- type Resources
- type TableStoreLimits
- type Toleration
- type Tracing
- type Wavefront
- type WavefrontList
- type WavefrontProxy
- type WavefrontSpec
- type WavefrontStatus
- type WavefrontTracing
- type ZipkinTracing
Constants ¶
const ( ClusterSizeSmall = "small" ClusterSizeMedium = "medium" ClusterSizeLarge = "large" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "wavefront.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 ClusterSizes = []string{ClusterSizeSmall, ClusterSizeMedium, ClusterSizeLarge}
Functions ¶
This section is empty.
Types ¶
type Auth ¶
func (*Auth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.
func (*Auth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoTracingPixie ¶
type AutoTracingPixie struct { // CanExportAutotracingScripts is for internal use only CanExportAutotracingScripts bool `json:"-"` }
func (*AutoTracingPixie) DeepCopy ¶
func (in *AutoTracingPixie) DeepCopy() *AutoTracingPixie
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoTracingPixie.
func (*AutoTracingPixie) DeepCopyInto ¶
func (in *AutoTracingPixie) DeepCopyInto(out *AutoTracingPixie)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Collector ¶
type Collector struct { // Resources Compute resources required by the Collector containers. Resources Resources `json:"resources,omitempty"` }
func (*Collector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Collector.
func (*Collector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlPlane ¶
type ControlPlane struct { // Enable is whether to include kubernetes.controlplane.* metrics // +kubebuilder:default:=true Enable bool `json:"enable"` // EnableEtcd is for internal use only EnableEtcd bool `json:"-"` }
func (*ControlPlane) DeepCopy ¶
func (in *ControlPlane) DeepCopy() *ControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlane.
func (*ControlPlane) DeepCopyInto ¶
func (in *ControlPlane) DeepCopyInto(out *ControlPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DaemonSetStatus ¶
type DaemonSetStatus struct { // The total number of nodes that should be running the daemon // pod (including nodes correctly running the daemon pod). // More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ DesiredNumberScheduled int32 `json:"desiredNumberScheduled,omitempty"` // numberReady is the number of nodes that should be running the daemon pod and have one // or more of the daemon pod running with a Ready Condition. NumberReady int32 `json:"numberReady,omitempty"` // Computed daemonset status. (available replicas / desired replicas) Status string `json:"status,omitempty"` // Human readable message indicating details about the daemonset status. Message string `json:"message,omitempty"` // Name of the daemonset DaemonSetName string `json:"daemonSetName,omitempty"` // Health status of the daemonset, internal use only Healthy bool `json:"-"` }
func (*DaemonSetStatus) DeepCopy ¶
func (in *DaemonSetStatus) DeepCopy() *DaemonSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DaemonSetStatus.
func (*DaemonSetStatus) DeepCopyInto ¶
func (in *DaemonSetStatus) DeepCopyInto(out *DaemonSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataCollection ¶
type DataCollection struct { // Metrics has resource configuration for node- and cluster-deployed collectors Metrics Metrics `json:"metrics,omitempty"` //Enable and configure wavefront logging Logging Logging `json:"logging,omitempty"` // Top level tolerations to be applied to metrics and logging DaemonSet resource types. This adds custom tolerations to the pods. Tolerations []Toleration `json:"tolerations,omitempty"` }
func (*DataCollection) DeepCopy ¶
func (in *DataCollection) DeepCopy() *DataCollection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataCollection.
func (*DataCollection) DeepCopyInto ¶
func (in *DataCollection) DeepCopyInto(out *DataCollection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataExport ¶
type DataExport struct { // External Wavefront WavefrontProxy configuration ExternalWavefrontProxy ExternalWavefrontProxy `json:"externalWavefrontProxy,omitempty"` // WavefrontProxy configuration options WavefrontProxy WavefrontProxy `json:"wavefrontProxy,omitempty"` }
func (*DataExport) DeepCopy ¶
func (in *DataExport) DeepCopy() *DataExport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataExport.
func (*DataExport) DeepCopyInto ¶
func (in *DataExport) DeepCopyInto(out *DataExport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatus ¶
type DeploymentStatus struct { // Total number of non-terminated pods targeted by this deployment (their labels match the selector). Replicas int32 `json:"replicas,omitempty"` // Total number of available pods (ready for at least minReadySeconds) targeted by this deployment. AvailableReplicas int32 `json:"availableReplicas,omitempty"` // Computed deployment status. (available replicas / desired replicas) Status string `json:"status,omitempty"` // Human readable message indicating details about the deployment status. Message string `json:"message,omitempty"` // Name of the deployment DeploymentName string `json:"deploymentName,omitempty"` // Health status of the deployment, internal use only Healthy bool `json:"-"` }
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Experimental ¶
type Experimental struct { // Pixie contains performance tuning settings for Pixie workloads Pixie Pixie `json:"pixie,omitempty"` Autotracing AutoTracingPixie `json:"autotracing,omitempty"` // Insights Insights Insights `json:"insights,omitempty"` Hub Hub `json:"hub,omitempty"` }
func (*Experimental) DeepCopy ¶
func (in *Experimental) DeepCopy() *Experimental
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Experimental.
func (*Experimental) DeepCopyInto ¶
func (in *Experimental) DeepCopyInto(out *Experimental)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalWavefrontProxy ¶
type ExternalWavefrontProxy struct { // Url is the proxy URL that the collector sends metrics to. // +kubebuilder:validation:MinLength:=10 Url string `json:"url,required"` }
func (*ExternalWavefrontProxy) DeepCopy ¶
func (in *ExternalWavefrontProxy) DeepCopy() *ExternalWavefrontProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalWavefrontProxy.
func (*ExternalWavefrontProxy) DeepCopyInto ¶
func (in *ExternalWavefrontProxy) DeepCopyInto(out *ExternalWavefrontProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Filters ¶
type Filters struct { // DenyList List of glob patterns, metrics with names matching this list are dropped. // +kubebuilder:default:={kubernetes.sys_container.*, kubernetes.collector.runtime.*, kubernetes.*.network.rx_rate, kubernetes.*.network.rx_errors_rate, kubernetes.*.network.tx_rate, kubernetes.*.network.tx_errors_rate, kubernetes.*.memory.page_faults, kubernetes.*.memory.page_faults_rate, kubernetes.*.memory.major_page_faults, kubernetes.*.memory.major_page_faults_rate, kubernetes.*.filesystem.inodes, kubernetes.*.filesystem.inodes_free, kubernetes.*.ephemeral_storage.request, kubernetes.*.ephemeral_storage.limit} DenyList []string `json:"denyList,omitempty"` // AllowList List of glob patterns, only metrics with names matching this list are reported. AllowList []string `json:"allowList,omitempty"` // TagGuaranteeList List of tags guaranteed to not be removed during kubernetes metrics collection. Supersedes all other collection filters. These tags are given priority if you hit the 20 tag limit. TagGuaranteeList []string `json:"tagGuaranteeList,omitempty"` // TagDenyList Map of tag names to list of glob patterns, metrics containing these tag keys and values will be dropped. TagDenyList map[string][]string `json:"tagDenyList,omitempty"` // TagAllowList Map of tag names to list of glob patterns, only metrics containing tag keys and values matching this list will be reported. TagAllowList map[string][]string `json:"tagAllowList,omitempty"` // TagExclude List of glob patterns. Tags with matching keys will be excluded. // +kubebuilder:default:={label?controller?revision*, label?pod?template*, annotation_kubectl_kubernetes_io_last_applied_configuration} TagExclude []string `json:"tagExclude,omitempty"` // TagInclude List of glob patterns. Tags with matching keys will be included. All other tags will be excluded. TagInclude []string `json:"tagInclude,omitempty"` }
func (*Filters) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filters.
func (*Filters) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Histogram ¶
type Histogram struct { // Port for histogram distribution format data (usually 40000) Port int `json:"port,omitempty"` // MinutePort to accumulate 1-minute based histograms on Wavefront data format (usually 40001) MinutePort int `json:"minutePort,omitempty"` // HourPort to accumulate 1-hour based histograms on Wavefront data format (usually 40002) HourPort int `json:"hourPort,omitempty"` // DayPort to accumulate 1-day based histograms on Wavefront data format (usually 40003) DayPort int `json:"dayPort,omitempty"` }
func (*Histogram) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Histogram.
func (*Histogram) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HttpProxy ¶
type HttpProxy struct { // Name of the secret containing the HttpProxy configuration. // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:Pattern:=`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$` // +kubebuilder:default:=http-proxy-secret Secret string `json:"secret,omitempty"` // Used internally. Read in from HttpProxy Secret. HttpProxyHost string `json:"-"` HttpProxyPort string `json:"-"` HttpProxyUser string `json:"-"` HttpProxyPassword string `json:"-"` UseHttpProxyCAcert bool `json:"-"` }
func (*HttpProxy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpProxy.
func (*HttpProxy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hub ¶
type Hub struct { Enable bool `json:"enable,omitempty"` // +kubebuilder:default:={enable: true} Pixie PixieShared `json:"pixie,omitempty"` }
func (*Hub) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hub.
func (*Hub) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Insights ¶
type Insights struct { // Enable is whether to enable Insights. Defaults to false. // +kubebuilder:default:=false Enable bool `json:"enable,omitempty"` // Ingestion Url is the endpoint to send kubernetes events. // +kubebuilder:validation:Pattern:=`^http(s)?:\/\/.+` IngestionUrl string `json:"ingestionUrl,required"` // SecretName is for internal use SecretName string `json:"-"` // SecretTokenKey is for internal use SecretTokenKey string `json:"-"` }
func (*Insights) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Insights.
func (*Insights) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JaegerTracing ¶
type JaegerTracing struct { // Port for Jaeger format distributed tracing data (usually 30001) Port int `json:"port,omitempty"` // HttpPort for Jaeger Thrift format data (usually 30080) HttpPort int `json:"httpPort,omitempty"` // GrpcPort for Jaeger GRPC format data (usually 14250) GrpcPort int `json:"grpcPort,omitempty"` // ApplicationName Custom application name for traces received on Jaeger's Http or Gprc port. // +kubebuilder:validation:MinLength:=3 ApplicationName string `json:"applicationName,omitempty"` }
func (*JaegerTracing) DeepCopy ¶
func (in *JaegerTracing) DeepCopy() *JaegerTracing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerTracing.
func (*JaegerTracing) DeepCopyInto ¶
func (in *JaegerTracing) DeepCopyInto(out *JaegerTracing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogFilters ¶
type LogFilters struct { // List of log tag patterns to deny TagDenyList map[string][]string `json:"tagDenyList,omitempty"` // List of log tag patterns to allow TagAllowList map[string][]string `json:"tagAllowList,omitempty"` }
func (*LogFilters) DeepCopy ¶
func (in *LogFilters) DeepCopy() *LogFilters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogFilters.
func (*LogFilters) DeepCopyInto ¶
func (in *LogFilters) DeepCopyInto(out *LogFilters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Logging ¶
type Logging struct { // Enable is whether to enable the wavefront logging. Defaults to false. // +kubebuilder:default:=false Enable bool `json:"enable,omitempty"` // Filters to apply towards all logs collected by wavefront-logging. Filters LogFilters `json:"filters,omitempty"` // Resources Compute resources required by the logging containers. // +kubebuilder:default:={requests: {cpu: "100m", memory: "50Mi", ephemeral-storage: "1Gi"}, limits: {cpu: "200m", memory: "256Mi", ephemeral-storage: "2Gi"}} Resources Resources `json:"resources,omitempty"` // Tags are a map of key value pairs that are added to all logging emitted. Tags map[string]string `json:"tags,omitempty"` // TODO: Component Refactor - remove the internal fields below // ProxyAddress is for internal use only ProxyAddress string `json:"-"` // LoggingVersion is for internal use only LoggingVersion string `json:"-"` }
func (*Logging) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Logging.
func (*Logging) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metrics ¶
type Metrics struct { // Enable is whether to enable the metrics. Defaults to true. // +kubebuilder:default:=true Enable bool `json:"enable,omitempty"` // CustomConfig is the custom ConfigMap name for the collector. Leave blank to use defaults. CustomConfig string `json:"customConfig,omitempty"` // Whether to enable or disable metrics from the Kubernetes control plane. Defaults to true. // +kubebuilder:default:={enable: true} ControlPlane ControlPlane `json:"controlPlane,omitempty"` // Filters to apply towards all metrics collected by the collector. // +kubebuilder:default:={denyList: {kubernetes.sys_container.*, kubernetes.collector.runtime.*, kubernetes.*.network.rx_rate, kubernetes.*.network.rx_errors_rate, kubernetes.*.network.tx_rate, kubernetes.*.network.tx_errors_rate, kubernetes.*.memory.page_faults, kubernetes.*.memory.page_faults_rate, kubernetes.*.memory.major_page_faults, kubernetes.*.memory.major_page_faults_rate, kubernetes.*.filesystem.inodes, kubernetes.*.filesystem.inodes_free, kubernetes.*.ephemeral_storage.request, kubernetes.*.ephemeral_storage.limit}} Filters Filters `json:"filters,omitempty"` // Tags are a map of key value pairs that are added as point tags on all metrics emitted. Tags map[string]string `json:"tags,omitempty"` // Default metrics collection interval. Defaults to 60s. // +kubebuilder:default:="60s" DefaultCollectionInterval string `json:"defaultCollectionInterval,omitempty"` // Rules based and Prometheus endpoints auto-discovery. Defaults to true. // +kubebuilder:default:=true EnableDiscovery bool `json:"enableDiscovery,omitempty"` // ClusterCollector is for resource configuration for the cluster collector. // +kubebuilder:default:={resources: {requests: {cpu: "200m", memory: "10Mi", ephemeral-storage: "20Mi"}, limits: {cpu: "2000m", memory: "512Mi", ephemeral-storage: "1Gi"}}} ClusterCollector Collector `json:"clusterCollector,omitempty"` // NodeCollector is for resource configuration for the node collector. // +kubebuilder:default:={resources: {requests: {cpu: "200m", memory: "10Mi", ephemeral-storage: "20Mi"}, limits: {cpu: "1000m", memory: "256Mi", ephemeral-storage: "512Mi"}}} NodeCollector Collector `json:"nodeCollector,omitempty"` // CollectorConfigName ConfigMap name that is used internally CollectorConfigName string `json:"-"` // ProxyAddress is for internal use only ProxyAddress string `json:"-"` // CollectorVersion is for internal use only CollectorVersion string `json:"-"` }
func (*Metrics) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OTLP ¶
type OTLP struct { // GrpcPort for OTLP GRPC format data (usually 4317) GrpcPort int `json:"grpcPort,omitempty"` // HttpPort for OTLP format data (usually 4318) HttpPort int `json:"httpPort,omitempty"` // Enable resource attributes on metrics to be included. Defaults to false. ResourceAttrsOnMetricsIncluded bool `json:"resourceAttrsOnMetricsIncluded,omitempty"` }
func (*OTLP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OTLP.
func (*OTLP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pixie ¶
type Pixie struct { // TableStoreLimits Limits on queryable data for the PEM containers. TableStoreLimits TableStoreLimits `json:"table_store_limits"` }
func (*Pixie) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pixie.
func (*Pixie) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PixieShared ¶
type PixieShared struct { bool `json:"enable,omitempty"` }Enable
func (*PixieShared) DeepCopy ¶
func (in *PixieShared) DeepCopy() *PixieShared
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PixieShared.
func (*PixieShared) DeepCopyInto ¶
func (in *PixieShared) DeepCopyInto(out *PixieShared)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PreprocessorRules ¶
type PreprocessorRules struct { EnabledPorts string `json:"-"` UserDefinedPortRules string `json:"-"` UserDefinedGlobalRules string `json:"-"` }
func (*PreprocessorRules) DeepCopy ¶
func (in *PreprocessorRules) DeepCopy() *PreprocessorRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreprocessorRules.
func (*PreprocessorRules) DeepCopyInto ¶
func (in *PreprocessorRules) DeepCopyInto(out *PreprocessorRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct { // CPU is for specifying CPU requirements // +kubebuilder:validation:Pattern:=`^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$` CPU string `json:"cpu,omitempty" yaml:"cpu,omitempty"` // Memory is for specifying Memory requirements // +kubebuilder:validation:Pattern:=`^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$` Memory string `json:"memory,omitempty" yaml:"memory,omitempty"` // Memory is for specifying Memory requirements // +kubebuilder:validation:Pattern:=`^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$` EphemeralStorage string `json:"ephemeral-storage,omitempty" yaml:"ephemeral-storage,omitempty"` }
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceStatus ¶
type ResourceStatus struct { // Computed running status. (available / desired ) Status string `json:"status,omitempty"` // Human readable message indicating details of the component. Message string `json:"message,omitempty"` // Name of the resource Name string `json:"name,omitempty"` // Resource type (daemonSet or deployment) internal use only Type string `json:"-"` // Health status internal use only Healthy bool `json:"-"` // Installing internal use only Installing bool `json:"-"` }
func (*ResourceStatus) DeepCopy ¶
func (in *ResourceStatus) DeepCopy() *ResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
func (*ResourceStatus) DeepCopyInto ¶
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct { // Requests CPU and Memory requirements Requests Resource `json:"requests,omitempty" yaml:"requests,omitempty"` // Limits CPU and Memory requirements Limits Resource `json:"limits,omitempty" yaml:"limits,omitempty"` }
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 TableStoreLimits ¶
type TableStoreLimits struct { // TotalMiB Total MiB of memory allocated to all tables TotalMiB int `json:"total_mib"` // HttpEventsPercent Percent of TotalMiB allocated to the http_events table HttpEventsPercent int `json:"http_events_percent"` }
func (*TableStoreLimits) DeepCopy ¶
func (in *TableStoreLimits) DeepCopy() *TableStoreLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableStoreLimits.
func (*TableStoreLimits) DeepCopyInto ¶
func (in *TableStoreLimits) DeepCopyInto(out *TableStoreLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TableStoreLimits) IsEmpty ¶
func (t *TableStoreLimits) IsEmpty() bool
type Toleration ¶
type Toleration struct { // Key is the taint key that the toleration applies to. Empty means match all taint keys. // If the key is empty, operator must be Exists; this combination means to match all values and all keys. Key string `json:"key,omitempty" yaml:"key,omitempty"` // Value is the taint value the toleration matches to. // If the operator is Exists, the value should be empty, otherwise just a regular string. Value string `json:"value,omitempty" yaml:"value,omitempty"` // Operator represents a key's relationship to the value. // Valid operators are Exists and Equal. Defaults to Equal. // Exists is equivalent to wildcard for value, so that a pod can // tolerate all taints of a particular category. // +kubebuilder:validation:Enum:=Equal;Exists Operator string `json:"operator,omitempty" yaml:"operator,omitempty"` // Effect indicates the taint effect to match. Empty means match all taint effects. // When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. // +kubebuilder:validation:Enum:=NoSchedule;PreferNoSchedule;NoExecute Effect string `json:"effect,omitempty" yaml:"effect,omitempty"` }
func (*Toleration) DeepCopy ¶
func (in *Toleration) DeepCopy() *Toleration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Toleration.
func (*Toleration) DeepCopyInto ¶
func (in *Toleration) DeepCopyInto(out *Toleration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tracing ¶
type Tracing struct { // Wavefront distributed tracing configurations Wavefront WavefrontTracing `json:"wavefront,omitempty"` // Jaeger distributed tracing configurations Jaeger JaegerTracing `json:"jaeger,omitempty"` // Zipkin distributed tracing configurations Zipkin ZipkinTracing `json:"zipkin,omitempty"` }
func (*Tracing) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tracing.
func (*Tracing) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Wavefront ¶
type Wavefront struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec WavefrontSpec `json:"spec,omitempty"` Status WavefrontStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.status" +kubebuilder:printcolumn:name="proxy",type="string",JSONPath=".status.resourceStatuses[?(@.name=='wavefront-proxy')].status" +kubebuilder:printcolumn:name="cluster-collector",type="string",JSONPath=".status.resourceStatuses[?(@.name=='wavefront-cluster-collector')].status" +kubebuilder:printcolumn:name="node-collector",type="string",JSONPath=".status.resourceStatuses[?(@.name=='wavefront-node-collector')].status" +kubebuilder:printcolumn:name="logging",type="string",JSONPath=".status.resourceStatuses[?(@.name=='wavefront-logging')].status" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="message",type="string",JSONPath=".status.message" Wavefront is the Schema for the wavefronts API
func (*Wavefront) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Wavefront.
func (*Wavefront) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Wavefront) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WavefrontList ¶
type WavefrontList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Wavefront `json:"items"` }
WavefrontList contains a list of Wavefront
func (*WavefrontList) DeepCopy ¶
func (in *WavefrontList) DeepCopy() *WavefrontList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WavefrontList.
func (*WavefrontList) DeepCopyInto ¶
func (in *WavefrontList) DeepCopyInto(out *WavefrontList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WavefrontList) DeepCopyObject ¶
func (in *WavefrontList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WavefrontProxy ¶
type WavefrontProxy struct { // Enable is whether to enable the wavefront proxy. Defaults to true. // +kubebuilder:default:=true Enable bool `json:"enable,omitempty"` // MetricPort is the primary port for Wavefront data format metrics. Defaults to 2878. // +kubebuilder:default:=2878 MetricPort int `json:"metricPort,omitempty"` // DeltaCounterPort accumulates 1-minute delta counters on Wavefront data format (usually 50000) DeltaCounterPort int `json:"deltaCounterPort,omitempty"` // Args is additional Wavefront proxy properties to be passed as command line arguments in the // --<property_name> <value> format. Multiple properties can be specified. // +kubebuilder:validation:Pattern:=`--.* .*` Args string `json:"args,omitempty"` // Distributed tracing configuration Tracing Tracing `json:"tracing,omitempty"` // OpenTelemetry Protocol configuration OTLP OTLP `json:"otlp,omitempty"` // Histogram distribution configuration Histogram Histogram `json:"histogram,omitempty"` // Preprocessor is the name of the configmap containing a rules.yaml key with proxy preprocessing rules // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:Pattern:=`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$` Preprocessor string `json:"preprocessor,omitempty"` // Resources Compute resources required by the Proxy containers. // +kubebuilder:default:={requests: {cpu: "100m", memory: "1Gi", ephemeral-storage: "2Gi"}, limits: {cpu: "1000m", memory: "4Gi", ephemeral-storage: "8Gi"}} Resources Resources `json:"resources,omitempty"` // Replicas number of replicas // +kubebuilder:default:=1 Replicas int `json:"replicas,omitempty"` // HttpProxy configuration HttpProxy HttpProxy `json:"httpProxy,omitempty"` // ConfigHash is for internal use only ConfigHash string `json:"-"` // SecretHash is for internal use only SecretHash string `json:"-"` // AvailableReplicas is for internal use only AvailableReplicas int `json:"-"` // ProxyVersion is for internal use only ProxyVersion string `json:"-"` // PreprocessorRules is for internal use only PreprocessorRules PreprocessorRules `json:"-"` // Auth is for internal use only Auth Auth `json:"-"` }
func (*WavefrontProxy) DeepCopy ¶
func (in *WavefrontProxy) DeepCopy() *WavefrontProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WavefrontProxy.
func (*WavefrontProxy) DeepCopyInto ¶
func (in *WavefrontProxy) DeepCopyInto(out *WavefrontProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WavefrontSpec ¶
type WavefrontSpec struct { // +kubebuilder:validation:Enum:=small;medium;large // +kubebuilder:default:=medium ClusterSize string `json:"clusterSize,omitempty"` // WorkloadResources are a map from workload name (i.e. Deployment, StatefulSet, DaemonSet, or Job) to resource requests and limits WorkloadResources map[string]Resources `json:"workloadResources,omitempty"` // ClusterName is a unique name for the Kubernetes cluster to be identified via a metric tag on Wavefront (Required). // +kubebuilder:validation:MinLength:=3 ClusterName string `json:"clusterName,required"` // Wavefront URL for your cluster // +kubebuilder:validation:Pattern:=`^https:\/\/.*.wavefront.com` WavefrontUrl string `json:"wavefrontUrl,omitempty"` // WavefrontTokenSecret is the name of the secret that contains a wavefront API Token. // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:Pattern:=`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$` // +kubebuilder:default:=wavefront-secret WavefrontTokenSecret string `json:"wavefrontTokenSecret,omitempty"` // ImagePullSecret is the name of the secret to authenticate with a private custom registry. // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:Pattern:=`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$` ImagePullSecret string `json:"imagePullSecret,omitempty"` // DataExport options DataExport DataExport `json:"dataExport,omitempty"` // DataCollection options DataCollection DataCollection `json:"dataCollection,omitempty"` // Allows the operator based Wavefront installation to be run in parallel with a legacy Wavefront (helm or manual) installation. Defaults to false. AllowLegacyInstall bool `json:"allowLegacyInstall,omitempty"` // Experimental features Experimental Experimental `json:"experimental,omitempty"` // ImageRegistry for internal use ImageRegistry string `json:"-"` // ControllerManagerUID is for internal use of deletion delegation ControllerManagerUID string `json:"-"` // CanExportData is for internal use CanExportData bool `json:"-"` // Namespace is for internal use Namespace string `json:"-"` // Openshift is for internal use Openshift bool `json:"-"` // Cluster UUID is for internal use only ClusterUUID string `json:"-"` }
WavefrontSpec defines the desired state of Wavefront
func (*WavefrontSpec) DeepCopy ¶
func (in *WavefrontSpec) DeepCopy() *WavefrontSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WavefrontSpec.
func (*WavefrontSpec) DeepCopyInto ¶
func (in *WavefrontSpec) DeepCopyInto(out *WavefrontSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WavefrontStatus ¶
type WavefrontStatus struct { // Message is a human-readable message indicating details about all the deployment statuses. Message string `json:"message,omitempty"` // Status is a quick view of all the deployment statuses. Status string `json:"status,omitempty"` ResourceStatuses []ResourceStatus `json:"resourceStatuses,omitempty"` }
WavefrontStatus defines the observed state of Wavefront
func (*WavefrontStatus) DeepCopy ¶
func (in *WavefrontStatus) DeepCopy() *WavefrontStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WavefrontStatus.
func (*WavefrontStatus) DeepCopyInto ¶
func (in *WavefrontStatus) DeepCopyInto(out *WavefrontStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WavefrontTracing ¶
type WavefrontTracing struct { // Port for distributed tracing data (usually 30000) // +kubebuilder:default:=30000 Port int `json:"port,omitempty"` // SamplingRate Distributed tracing data sampling rate (0 to 1) // +kubebuilder:validation:Pattern:=`^(0+\.?|0*\.\d+|0*1(\.0*)?)$` SamplingRate string `json:"samplingRate,omitempty"` // SamplingDuration When set to greater than 0, spans that exceed this duration will force trace to be sampled (ms) SamplingDuration int `json:"samplingDuration,omitempty"` }
func (*WavefrontTracing) DeepCopy ¶
func (in *WavefrontTracing) DeepCopy() *WavefrontTracing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WavefrontTracing.
func (*WavefrontTracing) DeepCopyInto ¶
func (in *WavefrontTracing) DeepCopyInto(out *WavefrontTracing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZipkinTracing ¶
type ZipkinTracing struct { // Port for Zipkin format distributed tracing data (usually 9411) // +kubebuilder:default:=9411 Port int `json:"port,omitempty"` // ApplicationName Custom application name for traces received on Zipkin's port. // +kubebuilder:validation:MinLength:=3 ApplicationName string `json:"applicationName,omitempty"` }
func (*ZipkinTracing) DeepCopy ¶
func (in *ZipkinTracing) DeepCopy() *ZipkinTracing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipkinTracing.
func (*ZipkinTracing) DeepCopyInto ¶
func (in *ZipkinTracing) DeepCopyInto(out *ZipkinTracing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.