Documentation ¶
Index ¶
- Variables
- type ClusterPhase
- type ComponentKind
- type ComponentSpec
- type DatanodeSpec
- type DatanodeStatus
- type FrontendSpec
- type FrontendStatus
- type GreptimeDBCluster
- type GreptimeDBClusterCondition
- type GreptimeDBClusterList
- type GreptimeDBClusterSpec
- type GreptimeDBClusterStatus
- func (in *GreptimeDBClusterStatus) DeepCopy() *GreptimeDBClusterStatus
- func (in *GreptimeDBClusterStatus) DeepCopyInto(out *GreptimeDBClusterStatus)
- func (in *GreptimeDBClusterStatus) GetCondition(conditionType GreptimeDBConditionType) *GreptimeDBClusterCondition
- func (in *GreptimeDBClusterStatus) SetCondition(condition GreptimeDBClusterCondition)
- type GreptimeDBConditionType
- type InitializerSpec
- type MainContainerSpec
- type MetaSpec
- type MetaStatus
- type OSSStorageProvider
- type ObjectStorageProvider
- type PodTemplateSpec
- type PrometheusMonitorSpec
- type S3StorageProvider
- type ServiceSpec
- type SlimPodSpec
- type StorageRetainPolicyType
- type StorageSpec
- type TLSSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "greptime.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ClusterPhase ¶
type ClusterPhase string
ClusterPhase define the phase of the cluster.
const ( // ClusterStarting means the controller start to create cluster. ClusterStarting ClusterPhase = "Starting" // ClusterRunning means all the components of cluster is ready. ClusterRunning ClusterPhase = "Running" // ClusterUpdating means the cluster is updating. ClusterUpdating ClusterPhase = "Updating" // ClusterError means some kind of error happen in reconcile. ClusterError ClusterPhase = "Error" // ClusterTerminating means the cluster is terminating. ClusterTerminating ClusterPhase = "Terminating" )
type ComponentKind ¶
type ComponentKind string
ComponentKind is the kind of the component in the cluster.
const ( FrontendComponentKind ComponentKind = "frontend" DatanodeComponentKind ComponentKind = "datanode" MetaComponentKind ComponentKind = "meta" )
type ComponentSpec ¶
type ComponentSpec struct { // The number of replicas of the components. // +optional // +kubebuilder:validation:Minimum=0 Replicas *int32 `json:"replicas"` // The content of the configuration file of the component in TOML format. // +optional Config string `json:"config,omitempty"` // Template defines the pod template for the component, if not specified, the pod template will use the default value. // +optional Template *PodTemplateSpec `json:"template,omitempty"` }
ComponentSpec is the common specification for all components(frontend/meta/datanode).
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatanodeSpec ¶
type DatanodeSpec struct { ComponentSpec `json:",inline"` Storage StorageSpec `json:"storage,omitempty"` }
DatanodeSpec is the specification for datanode component.
func (*DatanodeSpec) DeepCopy ¶
func (in *DatanodeSpec) DeepCopy() *DatanodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatanodeSpec.
func (*DatanodeSpec) DeepCopyInto ¶
func (in *DatanodeSpec) DeepCopyInto(out *DatanodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatanodeStatus ¶
type DatanodeStatus struct { Replicas int32 `json:"replicas"` ReadyReplicas int32 `json:"readyReplicas"` }
func (*DatanodeStatus) DeepCopy ¶
func (in *DatanodeStatus) DeepCopy() *DatanodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatanodeStatus.
func (*DatanodeStatus) DeepCopyInto ¶
func (in *DatanodeStatus) DeepCopyInto(out *DatanodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrontendSpec ¶
type FrontendSpec struct { ComponentSpec `json:",inline"` // +optional Service ServiceSpec `json:"service,omitempty"` // The TLS configurations of the frontend. // +optional TLS *TLSSpec `json:"tls,omitempty"` }
FrontendSpec is the specification for frontend component.
func (*FrontendSpec) DeepCopy ¶
func (in *FrontendSpec) DeepCopy() *FrontendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrontendSpec.
func (*FrontendSpec) DeepCopyInto ¶
func (in *FrontendSpec) DeepCopyInto(out *FrontendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrontendStatus ¶
type FrontendStatus struct { Replicas int32 `json:"replicas"` ReadyReplicas int32 `json:"readyReplicas"` }
func (*FrontendStatus) DeepCopy ¶
func (in *FrontendStatus) DeepCopy() *FrontendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrontendStatus.
func (*FrontendStatus) DeepCopyInto ¶
func (in *FrontendStatus) DeepCopyInto(out *FrontendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GreptimeDBCluster ¶
type GreptimeDBCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GreptimeDBClusterSpec `json:"spec,omitempty"` Status GreptimeDBClusterStatus `json:"status,omitempty"` }
GreptimeDBCluster is the Schema for the greptimedbclusters API
func (*GreptimeDBCluster) DeepCopy ¶
func (in *GreptimeDBCluster) DeepCopy() *GreptimeDBCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBCluster.
func (*GreptimeDBCluster) DeepCopyInto ¶
func (in *GreptimeDBCluster) DeepCopyInto(out *GreptimeDBCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBCluster) DeepCopyObject ¶
func (in *GreptimeDBCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GreptimeDBCluster) SetDefaults ¶
func (in *GreptimeDBCluster) SetDefaults() error
type GreptimeDBClusterCondition ¶
type GreptimeDBClusterCondition struct { // Type of deployment condition. Type GreptimeDBConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human-readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
GreptimeDBClusterCondition describes the state of a deployment at a certain point.
func NewCondition ¶
func NewCondition(conditionType GreptimeDBConditionType, conditionStatus corev1.ConditionStatus, reason, message string) *GreptimeDBClusterCondition
func (*GreptimeDBClusterCondition) DeepCopy ¶
func (in *GreptimeDBClusterCondition) DeepCopy() *GreptimeDBClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterCondition.
func (*GreptimeDBClusterCondition) DeepCopyInto ¶
func (in *GreptimeDBClusterCondition) DeepCopyInto(out *GreptimeDBClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GreptimeDBClusterList ¶
type GreptimeDBClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GreptimeDBCluster `json:"items"` }
GreptimeDBClusterList contains a list of GreptimeDBCluster
func (*GreptimeDBClusterList) DeepCopy ¶
func (in *GreptimeDBClusterList) DeepCopy() *GreptimeDBClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterList.
func (*GreptimeDBClusterList) DeepCopyInto ¶
func (in *GreptimeDBClusterList) DeepCopyInto(out *GreptimeDBClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBClusterList) DeepCopyObject ¶
func (in *GreptimeDBClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GreptimeDBClusterSpec ¶
type GreptimeDBClusterSpec struct { // Base is the base pod template for all components and can be overridden by template of individual component. // +optional Base *PodTemplateSpec `json:"base,omitempty"` // Frontend is the specification of frontend node. // +optional Frontend *FrontendSpec `json:"frontend"` // Meta is the specification of meta node. // +optional Meta *MetaSpec `json:"meta"` // Datanode is the specification of datanode node. // +optional Datanode *DatanodeSpec `json:"datanode"` // +optional HTTPServicePort int32 `json:"httpServicePort,omitempty"` // +optional GRPCServicePort int32 `json:"grpcServicePort,omitempty"` // +optional MySQLServicePort int32 `json:"mysqlServicePort,omitempty"` // +optional PostgresServicePort int32 `json:"postgresServicePort,omitempty"` // +optional OpenTSDBServicePort int32 `json:"openTSDBServicePort,omitempty"` // +optional PrometheusServicePort int32 `json:"prometheusServicePort,omitempty"` // +optional EnableInfluxDBProtocol bool `json:"enableInfluxDBProtocol,omitempty"` // +optional PrometheusMonitor *PrometheusMonitorSpec `json:"prometheusMonitor,omitempty"` // +optional // The version of greptimedb. Version string `json:"version,omitempty"` // +optional Initializer *InitializerSpec `json:"initializer,omitempty"` // +optional ObjectStorageProvider *ObjectStorageProvider `json:"objectStorage,omitempty"` // +optional // Attention: This option need to be supported by the Reloader(https://github.com/stakater/Reloader). // We may consider to implement the same feature inside the operator in the future. ReloadWhenConfigChange bool `json:"reloadWhenConfigChange,omitempty"` }
GreptimeDBClusterSpec defines the desired state of GreptimeDBCluster
func (*GreptimeDBClusterSpec) DeepCopy ¶
func (in *GreptimeDBClusterSpec) DeepCopy() *GreptimeDBClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterSpec.
func (*GreptimeDBClusterSpec) DeepCopyInto ¶
func (in *GreptimeDBClusterSpec) DeepCopyInto(out *GreptimeDBClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GreptimeDBClusterStatus ¶
type GreptimeDBClusterStatus struct { Frontend FrontendStatus `json:"frontend,omitempty"` Meta MetaStatus `json:"meta,omitempty"` Datanode DatanodeStatus `json:"datanode,omitempty"` Version string `json:"version,omitempty"` // +optional ClusterPhase ClusterPhase `json:"clusterPhase,omitempty"` // +optional Conditions []GreptimeDBClusterCondition `json:"conditions,omitempty"` }
GreptimeDBClusterStatus defines the observed state of GreptimeDBCluster
func (*GreptimeDBClusterStatus) DeepCopy ¶
func (in *GreptimeDBClusterStatus) DeepCopy() *GreptimeDBClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GreptimeDBClusterStatus.
func (*GreptimeDBClusterStatus) DeepCopyInto ¶
func (in *GreptimeDBClusterStatus) DeepCopyInto(out *GreptimeDBClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GreptimeDBClusterStatus) GetCondition ¶
func (in *GreptimeDBClusterStatus) GetCondition(conditionType GreptimeDBConditionType) *GreptimeDBClusterCondition
func (*GreptimeDBClusterStatus) SetCondition ¶
func (in *GreptimeDBClusterStatus) SetCondition(condition GreptimeDBClusterCondition)
type GreptimeDBConditionType ¶
type GreptimeDBConditionType string
const ( // GreptimeDBClusterReady indicates that the GreptimeDB cluster is ready to serve requests. // Every component in the cluster are all ready. GreptimeDBClusterReady GreptimeDBConditionType = "Ready" // GreptimeDBClusterProgressing indicates that the GreptimeDB cluster is progressing. GreptimeDBClusterProgressing GreptimeDBConditionType = "Progressing" )
These are valid conditions of a GreptimeDBCluster.
type InitializerSpec ¶
type InitializerSpec struct { // +optional Image string `json:"image,omitempty"` }
InitializerSpec is the init container to set up components configurations before running the container.
func (*InitializerSpec) DeepCopy ¶
func (in *InitializerSpec) DeepCopy() *InitializerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializerSpec.
func (*InitializerSpec) DeepCopyInto ¶
func (in *InitializerSpec) DeepCopyInto(out *InitializerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MainContainerSpec ¶
type MainContainerSpec struct { // The main container image name of the component. // +required Image string `json:"image,omitempty"` // The resource requirements of the main container. // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Entrypoint array. Not executed within a shell. // The container image's ENTRYPOINT is used if this is not provided. // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced // to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will // produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless // of whether the variable exists or not. Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // Command field is from 'corev1.Container.Command'. // +optional Command []string `json:"command,omitempty"` // Arguments to the entrypoint. // The container image's CMD is used if this is not provided. // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced // to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will // produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless // of whether the variable exists or not. Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // Args field is from 'corev1.Container.Args'. // +optional Args []string `json:"args,omitempty"` // Container's working directory. // If not specified, the container runtime's default will be used, which // might be configured in the container image. // Cannot be updated. // WorkingDir field is from 'corev1.Container.WorkingDir'. // +optional WorkingDir string `json:"workingDir,omitempty"` // List of environment variables to set in the container. // Cannot be updated. // Env field is from 'corev1.Container.Env'. // +optional Env []corev1.EnvVar `json:"env,omitempty"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // LivenessProbe field is from 'corev1.Container.LivenessProbe'. // +optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. // ReadinessProbe field is from 'corev1.Container.LivenessProbe'. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // Actions that the management system should take in response to container lifecycle events. // Cannot be updated. // Lifecycle field is from 'corev1.Container.Lifecycle'. // +optional Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"` // Image pull policy. // One of Always, Never, IfNotPresent. // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/containers/images#updating-images // ImagePullPolicy field is from 'corev1.Container.ImagePullPolicy'. // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` }
MainContainerSpec describes the specification of the main container of a pod. Most of the fields of MainContainerSpec are from 'corev1.Container'.
func (*MainContainerSpec) DeepCopy ¶
func (in *MainContainerSpec) DeepCopy() *MainContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MainContainerSpec.
func (*MainContainerSpec) DeepCopyInto ¶
func (in *MainContainerSpec) DeepCopyInto(out *MainContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetaSpec ¶
type MetaSpec struct { ComponentSpec `json:",inline"` // +optional ServicePort int32 `json:"servicePort,omitempty"` // +optional EtcdEndpoints []string `json:"etcdEndpoints,omitempty"` // EnableCheckEtcdService indicates whether to check etcd cluster health when starting meta. // +optional EnableCheckEtcdService bool `json:"enableCheckEtcdService,omitempty"` // EnableRegionFailover indicates whether to enable region failover. // +optional EnableRegionFailover bool `json:"enableRegionFailover,omitempty"` // The meta will store data with this key prefix. // +optional StoreKeyPrefix string `json:"storeKeyPrefix,omitempty"` }
MetaSpec is the specification for meta component.
func (*MetaSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaSpec.
func (*MetaSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetaStatus ¶
type MetaStatus struct { Replicas int32 `json:"replicas"` ReadyReplicas int32 `json:"readyReplicas"` // +optional EtcdEndpoints []string `json:"etcdEndpoints,omitempty"` }
func (*MetaStatus) DeepCopy ¶
func (in *MetaStatus) DeepCopy() *MetaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaStatus.
func (*MetaStatus) DeepCopyInto ¶
func (in *MetaStatus) DeepCopyInto(out *MetaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSSStorageProvider ¶
type OSSStorageProvider struct { // The data will be stored in the bucket. // +optional Bucket string `json:"bucket,omitempty"` // The region of the bucket. // +optional Region string `json:"region,omitempty"` // The endpoint of the bucket. // +optional Endpoint string `json:"endpoint,omitempty"` // The secret of storing the credentials of access key id and secret access key. // The secret must be the same namespace with the GreptimeDBCluster resource. // +optional SecretName string `json:"secretName,omitempty"` // The OSS directory path. // +optional Root string `json:"root,omitempty"` }
func (*OSSStorageProvider) DeepCopy ¶
func (in *OSSStorageProvider) DeepCopy() *OSSStorageProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSSStorageProvider.
func (*OSSStorageProvider) DeepCopyInto ¶
func (in *OSSStorageProvider) DeepCopyInto(out *OSSStorageProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStorageProvider ¶
type ObjectStorageProvider struct { S3 *S3StorageProvider `json:"s3,omitempty"` OSS *OSSStorageProvider `json:"oss,omitempty"` CachePath string `json:"cachePath,omitempty"` CacheCapacity string `json:"cacheCapacity,omitempty"` }
ObjectStorageProvider defines the storage provider for the cluster. The data will be stored in the storage.
func (*ObjectStorageProvider) DeepCopy ¶
func (in *ObjectStorageProvider) DeepCopy() *ObjectStorageProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStorageProvider.
func (*ObjectStorageProvider) DeepCopyInto ¶
func (in *ObjectStorageProvider) DeepCopyInto(out *ObjectStorageProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodTemplateSpec ¶
type PodTemplateSpec struct { // The annotations to be created to the pod. // +optional Annotations map[string]string `json:"annotations,omitempty"` // The labels to be created to the pod. // +optional Labels map[string]string `json:"labels,omitempty"` // MainContainer defines the specification of the main container of the pod. // +optional MainContainer *MainContainerSpec `json:"main,omitempty"` // SlimPodSpec defines the desired behavior of the pod. // +optional SlimPodSpec `json:",inline"` }
PodTemplateSpec defines the template for a pod of cluster.
func (*PodTemplateSpec) DeepCopy ¶
func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateSpec.
func (*PodTemplateSpec) DeepCopyInto ¶
func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusMonitorSpec ¶
type PrometheusMonitorSpec struct { // Enable a Prometheus PodMonitor // +optional Enabled bool `json:"enabled,omitempty"` // Prometheus PodMonitor labels. // +optional Labels map[string]string `json:"labels,omitempty"` // Interval at which metrics should be scraped // +optional Interval string `json:"interval,omitempty"` }
PrometheusMonitorSpec defines the PodMonitor configuration.
func (*PrometheusMonitorSpec) DeepCopy ¶
func (in *PrometheusMonitorSpec) DeepCopy() *PrometheusMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusMonitorSpec.
func (*PrometheusMonitorSpec) DeepCopyInto ¶
func (in *PrometheusMonitorSpec) DeepCopyInto(out *PrometheusMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3StorageProvider ¶
type S3StorageProvider struct { // The data will be stored in the bucket. // +optional Bucket string `json:"bucket,omitempty"` // The region of the bucket. // +optional Region string `json:"region,omitempty"` // The endpoint of the bucket. // +optional Endpoint string `json:"endpoint,omitempty"` // The secret of storing the credentials of access key id and secret access key. // The secret must be the same namespace with the GreptimeDBCluster resource. // +optional SecretName string `json:"secretName,omitempty"` // The S3 directory path. // +optional Root string `json:"root,omitempty"` }
func (*S3StorageProvider) DeepCopy ¶
func (in *S3StorageProvider) DeepCopy() *S3StorageProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3StorageProvider.
func (*S3StorageProvider) DeepCopyInto ¶
func (in *S3StorageProvider) DeepCopyInto(out *S3StorageProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSpec ¶
type ServiceSpec struct { // type determines how the Service is exposed. // +optional Type corev1.ServiceType `json:"type,omitempty"` // Additional annotations for the service // +optional Annotations map[string]string `json:"annotations,omitempty"` // Additional labels for the service // +optional Labels map[string]string `json:"labels,omitempty"` // loadBalancerClass is the class of the load balancer implementation this Service belongs to. // +optional LoadBalancerClass *string `json:"loadBalancerClass,omitempty"` }
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlimPodSpec ¶
type SlimPodSpec struct { // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // NodeSelector field is from 'corev1.PodSpec.NodeSelector'. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any // init container fails, the pod is considered to have failed and is handled according // to its restartPolicy. The name for an init container or normal container must be // unique among all containers. // Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. // The resourceRequirements of an init container are taken into account during scheduling // by finding the highest request/limit for each resource type, and then using the max of // that value or the sum of the normal containers. Limits are applied to init containers // in a similar fashion. // Init containers cannot currently be added or removed. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // InitContainers field is from 'corev1.PodSpec.InitContainers'. // +optional InitContainers []corev1.Container `json:"initContainers,omitempty"` // Restart policy for all containers within the pod. // One of Always, OnFailure, Never. // Default to Always. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy // RestartPolicy field is from 'corev1.PodSpec.RestartPolicy'. // +optional RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty"` // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. // Value must be non-negative integer. The value zero indicates stop immediately via // the kill signal (no opportunity to shut down). // If this value is nil, the default grace period will be used instead. // The grace period is the duration in seconds after the processes running in the pod are sent // a termination signal and the time when the processes are forcibly halted with a kill signal. // Set this value longer than the expected cleanup time for your process. // Defaults to 30 seconds. // TerminationGracePeriodSeconds field is from 'corev1.PodSpec.TerminationGracePeriodSeconds'. // +optional TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` // Optional duration in seconds the pod may be active on the node relative to // StartTime before the system will actively try to mark it failed and kill associated containers. // Value must be a positive integer. // ActiveDeadlineSeconds field is from 'corev1.PodSpec.ActiveDeadlineSeconds'. // +optional ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty"` // Set DNS policy for the pod. // Defaults to "ClusterFirst". // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. // DNSPolicy field is from 'corev1.PodSpec.DNSPolicy'. // +optional DNSPolicy corev1.DNSPolicy `json:"dnsPolicy,omitempty"` // ServiceAccountName is the name of the ServiceAccount to use to run this pod. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // ServiceAccountName field is from 'corev1.PodSpec.ServiceAccountName'. // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // Host networking requested for this pod. Use the host's network namespace. // If this option is set, the ports that will be used must be specified. // Default to false. // HostNetwork field is from 'corev1.PodSpec.HostNetwork'. // +optional HostNetwork bool `json:"hostNetwork,omitempty"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. // If specified, these secrets will be passed to individual puller implementations for them to use. // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod // ImagePullSecrets field is from 'corev1.PodSpec.ImagePullSecrets'. // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // If specified, the pod's scheduling constraints // Affinity field is from 'corev1.PodSpec.Affinity'. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, the pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // If specified, the pod will be dispatched by specified scheduler. // If not specified, the pod will be dispatched by default scheduler. // SchedulerName field is from 'corev1.PodSpec.SchedulerName'. // +optional SchedulerName string `json:"schedulerName,omitempty"` // For most time, there is one main container in a pod(frontend/meta/datanode). // If specified, additional containers will be added to the pod as sidecar containers. // +optional AdditionalContainers []corev1.Container `json:"additionalContainers,omitempty"` // List of volumes that can be mounted by containers belonging to the pod. // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` }
SlimPodSpec is a slimmed down version of corev1.PodSpec. Most of the fields in SlimPodSpec are copied from corev1.PodSpec.
func (*SlimPodSpec) DeepCopy ¶
func (in *SlimPodSpec) DeepCopy() *SlimPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlimPodSpec.
func (*SlimPodSpec) DeepCopyInto ¶
func (in *SlimPodSpec) DeepCopyInto(out *SlimPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageRetainPolicyType ¶
type StorageRetainPolicyType string
const ( // StorageRetainPolicyTypeRetain is the default options. // The storage(PVCs) will be retained when the cluster is deleted. StorageRetainPolicyTypeRetain StorageRetainPolicyType = "Retain" // StorageRetainPolicyTypeDelete specify that the storage will be deleted when the associated StatefulSet delete. StorageRetainPolicyTypeDelete StorageRetainPolicyType = "Delete" )
type StorageSpec ¶
type StorageSpec struct { // The name of the storage. // +optional Name string `json:"name,omitempty"` // The name of the storage class to use for the volume. // +optional StorageClassName *string `json:"storageClassName,omitempty"` // The size of the storage. // +optional // +kubebuilder:validation:Pattern=(^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$) StorageSize string `json:"storageSize,omitempty"` // The mount path of the storage in datanode container. // +optional MountPath string `json:"mountPath,omitempty"` // The PVCs will retain or delete when the cluster is deleted, default to Retain. // +optional // +kubebuilder:validation:Enum:={"Retain", "Delete"} StorageRetainPolicy StorageRetainPolicyType `json:"storageRetainPolicy,omitempty"` // The wal directory of the storage. WalDir string `json:"walDir,omitempty"` // The datahome directory. // +optional DataHome string `json:"dataHome,omitempty"` }
StorageSpec will generate PVC.
func (*StorageSpec) DeepCopy ¶
func (in *StorageSpec) DeepCopy() *StorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.
func (*StorageSpec) DeepCopyInto ¶
func (in *StorageSpec) DeepCopyInto(out *StorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSSpec ¶
type TLSSpec struct { // The secret name of the TLS certificate, and it must be in the same namespace of the cluster. // The secret must contain keys named ca.crt, tls.crt and tls.key. // +optional SecretName string `json:"secretName,omitempty"` }
func (*TLSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.