Packages:

- disaggregated.cluster.doris.com/v1

## disaggregated.cluster.doris.com/v1

Package v1 is the v1 version of the API.

Resource Types:

### AvailableStatus (`string` alias)

(Appears on:ComputeGroupStatus, FEStatus, MetaServiceStatus)

Value | Description
--- | ---
"Available" | Available represents the service is available.
"UnAvailable" | UnAvailable represents the service not available for using.

### ClusterHealth

(Appears on:DorisDisaggregatedClusterStatus)

Field | Description
--- | ---
`health` Health | represents the cluster overall status.
`feAvailable` bool | represents the fe available or not.
`cgCount` int32 | the number of compute group.
`cgAvailableCount` int32 | the available numbers of compute group.
`cgFullAvailableCount` int32 | the full available numbers of compute group, represents all pod in compute group are ready.

### CommonSpec

(Appears on:ComputeGroup, FeSpec, MetaService)

Field | Description
--- | ---
`replicas` int32 | Replicas represent the number of desired Pod. fe default is 2. fe is master-slave architecture only one is master.
`image` string | Image is the Disaggregated docker image to deploy. please reference the selectdb repository to find.
`imagePullSecrets` []Kubernetes core/v1.LocalObjectReference | (Optional) 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
`startTimeout` int32 | pod start timeout, unit is second
`liveTimeout` int32 | Number of seconds after which the probe times out. Defaults to 180 second.
`ResourceRequirements` Kubernetes core/v1.ResourceRequirements | (Members of `ResourceRequirements` are embedded into this type.) defines the specification of resource cpu and mem. ep: {“requests”:{“cpu”: 4, “memory”: “8Gi”},“limits”:{“cpu”:4,“memory”:“8Gi”}}
`labels` map[string]string | Labels for organize and categorize objects
`annotations` map[string]string | Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
`affinity` Kubernetes core/v1.Affinity | (Optional) Affinity is a group of affinity scheduling rules.
`persistentVolume` PersistentVolume | VolumeClaimTemplate allows customizing the persistent volume claim for the pod.
`tolerations` []Kubernetes core/v1.Toleration | (Optional) (Optional) Tolerations for scheduling pods onto some dedicated nodes
`service` ExportService | export metaservice for accessing from outside k8s.
`configMaps` []ConfigMap | ConfigMaps describe all configmap that need to be mounted.
`nodeSelector` map[string]string | (Optional) specify what’s node to deploy compute group pod.
`serviceAccount` string | serviceAccount for compute node access cloud service.
`hostAliases` []Kubernetes core/v1.HostAlias | (Optional) HostAliases is an optional list of hosts and IPs that will be injected into the pod’s hosts file if specified. This is only valid for non-hostNetwork pods.
`securityContext` Kubernetes core/v1.PodSecurityContext | (Optional) Security context for pod.
`containerSecurityContext` Kubernetes core/v1.SecurityContext | (Optional) Security context for all containers running in the pod (unless they override it).
`envVars` []Kubernetes core/v1.EnvVar | EnvVars is a slice of environment variables that are added to the pods, the default is empty.
`systemInitialization` SystemInitialization | SystemInitialization for fe, be setting system parameters.

### ComputeGroup

(Appears on:DorisDisaggregatedClusterSpec)

ComputeGroup describe the specification that a group of compute node.

Field | Description
--- | ---
`uniqueId` string | the unique identifier of compute group, first register in fe will use UniqueId as cluster name.
`CommonSpec` CommonSpec | (Members of `CommonSpec` are embedded into this type.)

### ComputeGroupStatus

(Appears on:DorisDisaggregatedClusterStatus)

Field | Description
--- | ---
`phase` Phase | Phase represent the stage of reconciling.
`statefulsetName` string | the statefulset of control this compute group pods.
`serviceName` string | the service that can access the compute group pods.
`uniqueId` string |
`availableStatus` AvailableStatus | AvailableStatus represents the compute group available or not.
`suspendReplicas` int32 | suspend replicas display the replicas of compute group before resume.
`replicas` int32 | replicas is the number of Pods created by the StatefulSet controller.
`availableReplicas` int32 | (Optional) Total number of available pods (ready for at least minReadySeconds) targeted by this statefulset.

### ConfigMap

(Appears on:CommonSpec)

Field | Description
--- | ---
`name` string | Name specify the configmap need to be mounted in pod in deployed namespace.
`mountPath` string | display the path of configMap be mounted in pod. the component start conf please mount to /etc/doris, ep: fe-configmap contains ‘fe.conf’, mountPath must be ‘/etc/doris’. key in configMap’s data is file name.

### DisaggregatedComponentType (`string` alias)

### DorisDisaggregatedCluster

DorisDisaggregatedCluster defined as CRD format, have type, metadata, spec, status, fields.

Field | Description
--- | ---
`metadata` Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the `metadata` field.
`spec` DorisDisaggregatedClusterSpec |
`metaService` MetaService | MetaService describe the metaservice that cluster want to storage metadata.
`feSpec` FeSpec | FeSpec describe the fe specification of doris disaggregated cluster.
`computeGroups` []ComputeGroup | ComputeGroups describe a list of ComputeGroup, ComputeGroup is a group of compute node to do same thing.
`authSecret` string | the name of secret that type is `kubernetes.io/basic-auth` and contains keys username, password for management doris node in cluster as fe, be register. the password key is `password`. the username defaults to `root` and is omitempty.
`status` DorisDisaggregatedClusterStatus |

### DorisDisaggregatedClusterSpec

(Appears on:DorisDisaggregatedCluster)

Field | Description
--- | ---
`metaService` MetaService | MetaService describe the metaservice that cluster want to storage metadata.
`feSpec` FeSpec | FeSpec describe the fe specification of doris disaggregated cluster.
`computeGroups` []ComputeGroup | ComputeGroups describe a list of ComputeGroup, ComputeGroup is a group of compute node to do same thing.
`authSecret` string | the name of secret that type is `kubernetes.io/basic-auth` and contains keys username, password for management doris node in cluster as fe, be register. the password key is `password`. the username defaults to `root` and is omitempty.

### DorisDisaggregatedClusterStatus

(Appears on:DorisDisaggregatedCluster)

Field | Description
--- | ---
`metaServiceStatus` MetaServiceStatus | describe the metaservice status now.
`feStatus` FEStatus | FEStatus describe the fe status.
`clusterHealth` ClusterHealth |
`computeGroupStatuses` []ComputeGroupStatus | ComputeGroupStatuses reflect a list of computeGroup status.

### ExportService

(Appears on:CommonSpec)

Field | Description
--- | ---
`type` Kubernetes core/v1.ServiceType | (Optional) type of service,the possible value for the service type are : ClusterIP, NodePort, LoadBalancer,ExternalName. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
`annotations` map[string]string | Annotations for using function on different cloud platform.
`portMaps` []PortMap | PortMaps specify node port for target port in pod, when the service type=NodePort.

### FDB

(Appears on:MetaService)

Field | Description
--- | ---
`address` string | if fdb directly deployed in machine, please add fdb access address which generated in ‘etc/foundationdb/fdb.cluster’ default.
`configMapNamespaceName` NamespaceName | if fdb deployed in kubernetes by fdb-kubernetes-operator, please specify the namespace and configmap’s name generated by `fdb-kubernetes-operator` in deployed fdbcluster namespace.

### FEStatus

(Appears on:DorisDisaggregatedClusterStatus)

Field | Description
--- | ---
`phase` Phase | Phase represent the stage of reconciling.
`availableStatus` AvailableStatus | AvailableStatus represents the fe available or not.
`clusterId` string | ClusterId display the clusterId of fe in fe.conf, It is the hash value of the concatenated string of namespace and ddcName

### FeSpec

(Appears on:DorisDisaggregatedClusterSpec)

Field | Description
--- | ---
`electionNumber` int32 | the number of fe in election. electionNumber <= replicas, left as observers. default value=3
`CommonSpec` CommonSpec | (Members of `CommonSpec` are embedded into this type.)

### Health (`string` alias)

(Appears on:ClusterHealth)

### MetaService

(Appears on:DorisDisaggregatedClusterSpec)

Field | Description
--- | ---
`CommonSpec` CommonSpec | (Members of `CommonSpec` are embedded into this type.)
`fdb` FDB | specify the address of fdb that used by doris Compute-storage decoupled cluster.

### MetaServiceStatus

(Appears on:DorisDisaggregatedClusterStatus)

Field | Description
--- | ---
`phase` Phase | Phase represent the stage of reconciling.
`availableStatus` AvailableStatus | AvailableStatus represents the metaservice available or not.
`metaServiceEndpoint` string | the meta service address for store meta of disaggregated cluster.
`msToken` string | the token for access ms service.

### NamespaceName

(Appears on:FDB)

Field | Description
--- | ---
`namespace` string |
`name` string |

### PersistentVolume

(Appears on:CommonSpec)

PersistentVolume defines volume information and container mount information.

Field | Description
--- | ---
`persistentVolumeClaimSpec` Kubernetes core/v1.PersistentVolumeClaimSpec | PersistentVolumeClaimSpec is a list of claim spec about storage that pods are required.
`mountPaths` []string | specify mountPaths, if not config, operator will refer from be.conf `cache_file_path`. when mountPaths=[]{“/opt/path1”, “/opt/path2”}, will create two pvc mount the two paths. also, operator will mount the cache_file_path config in be.conf . if mountPaths have duplicated path in cache_file_path, operator will only create one pvc.
`logNotStore` bool | if config true, the log will mount a pvc to store logs. the pvc size is definitely 200Gi, as the log recycling system will regular recycling.
`annotations` map[string]string | Annotation for PVC pods. Users can adapt the storage authentication and pv binding of the cloud platform through configuration. It only takes effect in the first configuration and cannot be added or modified later.

### Phase (`string` alias)

(Appears on:ComputeGroupStatus, FEStatus, MetaServiceStatus)

Value | Description
--- | ---
"Failed" | Failed represents service failed to start, can’t be accessed.
"Ready" |
"Reconciling" | Creating represents service in creating stage.
"ResumeFailed" |
"ScaleDownFailed" |
"Scaling" | Scaling represents service in Scaling.
"SuspendFailed" |
"Suspended" |
"Upgrading" | Upgrading represents the spec of the service changed, service in smoothing upgrade.

### PortMap

(Appears on:ExportService)

PortMap for ServiceType=NodePort situation.

Field | Description
--- | ---
`nodePort` int32 | (Optional) The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Usually assigned by the system. If a value is specified, in-range, and not in use it will be used, otherwise the operation will fail. If not specified, a port will be allocated if this Service requires one. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport need in 30000-32767
`targetPort` int32 | (Optional) Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod’s container ports. If this is not specified, the value of the ‘port’ field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the ‘port’ field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service

### Secret

Field | Description
--- | ---
`name` string | specify the secret need to be mounted in deployed namespace.
`mountPath` string | display the path of secret be mounted in pod.

### ServiceRole (`string` alias)

Value | Description
--- | ---
"access" |
"internal" |

### SystemInitialization

(Appears on:CommonSpec)

Field | Description
--- | ---
`initImage` string | Image for doris initialization, default is selectdb/alpine:latest.
`command` []string | Entrypoint array. Not executed within a shell.
`args` []string | Arguments to the entrypoint.

Generated with `gen-crd-api-reference-docs` on git commit `7d27da0`.