v1alpha1

package
v0.0.0-...-1d907cd Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=wavefront.com

Index

Constants

View Source
const (
	ClusterSizeSmall  = "small"
	ClusterSizeMedium = "medium"
	ClusterSizeLarge  = "large"
)

Variables

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

Functions

This section is empty.

Types

type Auth

type Auth struct {
	Type     string `json:"-"`
	CSPAppID string `json:"-"`
	CSPOrgID string `json:"-"`
}

func (*Auth) DeepCopy

func (in *Auth) DeepCopy() *Auth

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

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

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

type AutoTracingPixie

type AutoTracingPixie struct {
	PixieShared `json:",inline"`

	// 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

func (in *Collector) DeepCopy() *Collector

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

func (*Collector) DeepCopyInto

func (in *Collector) DeepCopyInto(out *Collector)

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

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

func (in *Filters) DeepCopy() *Filters

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

func (*Filters) DeepCopyInto

func (in *Filters) DeepCopyInto(out *Filters)

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

func (in *Histogram) DeepCopy() *Histogram

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

func (*Histogram) DeepCopyInto

func (in *Histogram) DeepCopyInto(out *Histogram)

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

func (in *HttpProxy) DeepCopy() *HttpProxy

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

func (*HttpProxy) DeepCopyInto

func (in *HttpProxy) DeepCopyInto(out *HttpProxy)

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

func (in *Hub) DeepCopy() *Hub

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

func (*Hub) DeepCopyInto

func (in *Hub) DeepCopyInto(out *Hub)

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

func (in *Insights) DeepCopy() *Insights

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

func (*Insights) DeepCopyInto

func (in *Insights) DeepCopyInto(out *Insights)

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

func (in *Logging) DeepCopy() *Logging

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

func (*Logging) DeepCopyInto

func (in *Logging) DeepCopyInto(out *Logging)

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

func (in *Metrics) DeepCopy() *Metrics

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

func (*Metrics) DeepCopyInto

func (in *Metrics) DeepCopyInto(out *Metrics)

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

func (in *OTLP) DeepCopy() *OTLP

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

func (*OTLP) DeepCopyInto

func (in *OTLP) DeepCopyInto(out *OTLP)

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

func (in *Pixie) DeepCopy() *Pixie

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

func (*Pixie) DeepCopyInto

func (in *Pixie) DeepCopyInto(out *Pixie)

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

type PixieShared

type PixieShared struct {
	// +kubebuilder:default:=true
	Enable bool `json:"enable,omitempty"`
}

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

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto

func (in *Resource) DeepCopyInto(out *Resource)

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

func (*Resource) IsEmpty

func (r *Resource) IsEmpty() bool

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

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

func (*Resources) IsEmpty

func (rs *Resources) IsEmpty() bool

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

func (in *Tracing) DeepCopy() *Tracing

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

func (*Tracing) DeepCopyInto

func (in *Tracing) DeepCopyInto(out *Tracing)

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

func (in *Wavefront) DeepCopy() *Wavefront

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

func (*Wavefront) DeepCopyInto

func (in *Wavefront) DeepCopyInto(out *Wavefront)

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

func (*Wavefront) DeepCopyObject

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

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.

Jump to

Keyboard shortcuts

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