Skip to content

Latest commit

 

History

History
5966 lines (5966 loc) · 135 KB

api.md

File metadata and controls

5966 lines (5966 loc) · 135 KB
title description draft images menu docs parent weight toc
API reference
RisingWave operator generated API reference docs
false
operator
208
true

This page is automatically generated with gen-crd-api-reference-docs.

Packages:

risingwave.risingwavelabs.com/v1alpha1

Resource Types:

    ComponentGroupReplicasStatus

    (Appears on:ComponentReplicasStatus)

    ComponentGroupReplicasStatus are the running status of Pods in group.

    Field Description
    name
    string

    Name of the group.

    target
    int32

    Target replicas of the group.

    running
    int32

    Running replicas in the group.

    exists
    bool

    Existence status of the group.

    ComponentReplicasStatus

    (Appears on:RisingWaveComponentsReplicasStatus)

    ComponentReplicasStatus are the running status of Pods of the component.

    Field Description
    target
    int32

    Total target replicas of the component.

    running
    int32

    Total running replicas of the component.

    groups
    []ComponentGroupReplicasStatus

    List of running status of each group.

    PartialObjectMeta

    (Appears on:RisingWaveNodePodTemplate, RisingWaveSpec)

    PartialObjectMeta contains partial metadata of an object, including labels and annotations.

    Field Description
    labels
    map[string]string
    (Optional)

    Labels of the object.

    annotations
    map[string]string

    Annotations of the object.

    PersistentVolumeClaim

    (Appears on:RisingWaveNodeGroup, RisingWaveStandaloneComponent)

    PersistentVolumeClaim used by RisingWave.

    Field Description
    metadata
    PersistentVolumeClaimPartialObjectMeta
    spec
    Kubernetes core/v1.PersistentVolumeClaimSpec
    (Optional)

    spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims



    accessModes
    []Kubernetes core/v1.PersistentVolumeAccessMode
    (Optional)

    accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

    selector
    Kubernetes meta/v1.LabelSelector
    (Optional)

    selector is a label query over volumes to consider for binding.

    resources
    Kubernetes core/v1.VolumeResourceRequirements
    (Optional)

    resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

    volumeName
    string
    (Optional)

    volumeName is the binding reference to the PersistentVolume backing this claim.

    storageClassName
    string
    (Optional)

    storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

    volumeMode
    Kubernetes core/v1.PersistentVolumeMode
    (Optional)

    volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

    dataSource
    Kubernetes core/v1.TypedLocalObjectReference
    (Optional)

    dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.

    dataSourceRef
    Kubernetes core/v1.TypedObjectReference
    (Optional)

    dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn’t specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn’t set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

    volumeAttributesClassName
    string
    (Optional)

    volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it’s not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).

    PersistentVolumeClaimPartialObjectMeta

    (Appears on:PersistentVolumeClaim)

    PersistentVolumeClaimPartialObjectMeta is the metadata for PVC templates.

    Field Description
    name
    string
    (Optional)

    Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names

    labels
    map[string]string
    (Optional)

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    annotations
    map[string]string
    (Optional)

    Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations

    finalizers
    []string
    (Optional)

    Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.

    RisingWave

    RisingWave is the struct for RisingWave object.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    RisingWaveSpec


    components
    RisingWaveComponentsSpec

    The spec of ports and some controllers (such as restartAt) of each component, as well as an advanced concept called group to override the global template and create groups of Pods, e.g., deployment in hybrid-arch cluster.

    configuration
    RisingWaveConfigurationSpec

    The spec of configuration template for RisingWave.

    enableOpenKruise
    bool
    (Optional)

    Flag to indicate if OpenKruise should be enabled for components. If enabled, CloneSets will be used for meta/frontend/compactor nodes and Advanced StatefulSets will be used for compute nodes.

    enableDefaultServiceMonitor
    bool
    (Optional)

    Flag to indicate if a default ServiceMonitor (from Prometheus operator) should be created by the controller. False and an empty value means the ServiceMonitor won’t be created automatically. But even if it’s set to true, the controller will determine if it can create the resource by checking if the CRDs are installed.

    enableFullKubernetesAddr
    bool
    (Optional)

    Flag to indicate if full kubernetes address should be enabled for components. If enabled, address will be [.]..svc. Otherwise, it will be [.]. Enabling this flag on existing RisingWave will cause incompatibility.

    enableStandaloneMode
    bool
    (Optional)

    Flag to control whether to deploy in standalone mode or distributed mode. If standalone mode is used, spec.components will be ignored. Standalone mode can be turned on/off dynamically.

    enableEmbeddedServingMode
    bool
    (Optional)

    Flag to control whether to enable embedded serving mode. If enabled, the frontend nodes will be created with embedded serving node enabled, and the compute nodes will serve streaming workload only.

    enableAdvertisingWithIP
    bool

    Flag to control whether to enable advertising with IP. If enabled, the meta and compute nodes will be advertised with their IP addresses. This is useful when one wants to avoid the DNS resolution overhead and latency.

    image
    string

    Image for RisingWave component.

    frontendServiceType
    Kubernetes core/v1.ServiceType
    (Optional)

    FrontendServiceType determines the service type of the frontend service. Defaults to ClusterIP.

    additionalFrontendServiceMetadata
    PartialObjectMeta

    AdditionalFrontendServiceMetadata tells the operator to add the specified metadata onto the frontend Service. Note that the system reserved labels and annotations are not valid and will be rejected by the webhook.

    metaStore
    RisingWaveMetaStoreBackend

    MetaStore determines which backend the meta store will use and the parameters for it. Defaults to memory. But keep in mind that memory backend is not recommended in production.

    stateStore
    RisingWaveStateStoreBackend

    StateStore determines which backend the state store will use and the parameters for it. Defaults to memory. But keep in mind that memory backend is not recommended in production.

    tls
    RisingWaveTLSConfiguration

    TLS configures the TLS/SSL certificates for SQL access.

    standaloneMode
    int32

    StandaloneMode determines which style of command-line args should be used for the standalone mode. 0 - auto detect by image version, 1 - the old standalone mode, 2 - standalone mode V2 (single-node). This is only for backward compatibility and will be deprecated in the future.

    licenseKey
    RisingWaveLicenseKey

    LicenseKey to enable paid features of RisingWave.

    secretStore
    RisingWaveSecretStore

    SecretStore is the configuration of the secret store.

    status
    RisingWaveStatus

    RisingWaveAliyunOSSCredentials

    (Appears on:RisingWaveStateStoreBackendAliyunOSS)

    RisingWaveAliyunOSSCredentials is the reference and keys selector to the AliyunOSS access credentials stored in a local secret.

    Field Description
    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    accessKeyIDRef
    string

    AccessKeyIDRef is the key of the secret to be the access key. Must be a valid secret key. Defaults to “AccessKeyIDRef”.

    accessKeySecretRef
    string

    AccessKeySecretRef is the key of the secret to be the secret access key. Must be a valid secret key. Defaults to “AccessKeySecretRef”.

    RisingWaveAzureBlobCredentials

    (Appears on:RisingWaveStateStoreBackendAzureBlob)

    RisingWaveAzureBlobCredentials is the reference and keys selector to the AzureBlob access credentials stored in a local secret.

    Field Description
    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    accountNameRef
    string

    AccountNameKeyRef is the key of the secret to be the account name. Must be a valid secret key. Defaults to “AccountName”.

    accountKeyRef
    string

    AccountKeyRef is the key of the secret to be the secret account key. Must be a valid secret key. Defaults to “AccountKey”.

    useServiceAccount
    bool
    (Optional)

    UseServiceAccount indicates whether to use the service account token mounted in the pod. If this is enabled, secret and keys are ignored. Defaults to false.

    RisingWaveComponent

    (Appears on:RisingWaveComponentsSpec)

    RisingWaveComponent determines how a RisingWave component is deployed.

    Field Description
    logLevel
    string

    LogLevel controls the log level of the running nodes. It can be in any format that the underlying component supports, e.g., in the RUST_LOG format for Rust programs. Defaults to INFO.

    disallowPrintStackTraces
    bool
    (Optional)

    DisallowPrintStackTraces determines if the stack traces are allowed to print when panic happens. This options applies to both Rust and Java programs. Defaults to false.

    nodeGroups
    []RisingWaveNodeGroup
    (Optional)

    NodeGroups of the component deployment.

    RisingWaveComponentStatus

    RisingWaveComponentStatus is the status of a component.

    Field Description
    total
    WorkloadReplicaStatus

    Total is the replica status of the component.

    nodeGroups
    []RisingWaveNodeGroupStatus
    (Optional)

    NodeGroups are the status list of all declared node groups of some component.

    RisingWaveComponentsReplicasStatus

    (Appears on:RisingWaveStatus)

    RisingWaveComponentsReplicasStatus is the running status of components.

    Field Description
    meta
    ComponentReplicasStatus

    Running status of meta.

    frontend
    ComponentReplicasStatus

    Running status of frontend.

    compute
    ComponentReplicasStatus

    Running status of compute.

    compactor
    ComponentReplicasStatus

    Running status of compactor.

    standalone
    ComponentReplicasStatus

    Running status of standalone component.

    RisingWaveComponentsSpec

    (Appears on:RisingWaveSpec)

    RisingWaveComponentsSpec is the spec for RisingWave components.

    Field Description
    standalone
    RisingWaveStandaloneComponent

    Standalone contains configuration of the standalone component.

    meta
    RisingWaveComponent

    Meta contains configuration of the meta component.

    frontend
    RisingWaveComponent

    Frontend contains configuration of the frontend component.

    compute
    RisingWaveComponent

    Compute contains configuration of the compute component.

    compactor
    RisingWaveComponent

    Compactor contains configuration of the compactor component.

    RisingWaveCondition

    (Appears on:RisingWaveStatus)

    RisingWaveCondition indicates a condition of RisingWave.

    Field Description
    type
    RisingWaveConditionType

    Type of the condition

    status
    Kubernetes meta/v1.ConditionStatus

    Status of the condition

    lastTransitionTime
    Kubernetes meta/v1.Time
    (Optional)

    Last time the condition transitioned from one status to another.

    reason
    string
    (Optional)

    The reason for the condition’s last transition.

    message
    string
    (Optional)

    Human-readable message indicating details about last transition.

    RisingWaveConditionType (string alias)

    (Appears on:RisingWaveCondition)

    RisingWaveConditionType is the condition type of RisingWave.

    Value Description

    "Failed"

    "Initializing"

    "Running"

    "Unknown"

    "Upgrading"

    RisingWaveConfigurationSpec

    (Appears on:RisingWaveSpec)

    RisingWaveConfigurationSpec is the configuration spec.

    Field Description
    configMap
    RisingWaveNodeConfigurationConfigMapSource

    ConfigMap where the risingwave.toml locates.

    secret
    RisingWaveNodeConfigurationSecretSource

    Secret where the risingwave.toml locates.

    RisingWaveDBCredentials

    (Appears on:RisingWaveMetaStoreBackendMySQL, RisingWaveMetaStoreBackendPostgreSQL)

    RisingWaveDBCredentials is the reference and keys selector to the DB access credentials stored in a local secret.

    Field Description
    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    usernameKeyRef
    string

    UsernameKeyRef is the key of the secret to be the username. Must be a valid secret key. Defaults to “username”.

    passwordKeyRef
    string

    PasswordKeyRef is the key of the secret to be the password. Must be a valid secret key. Defaults to “password”.

    RisingWaveEtcdCredentials

    (Appears on:RisingWaveMetaStoreBackendEtcd)

    RisingWaveEtcdCredentials is the reference and keys selector to the etcd access credentials stored in a local secret.

    Field Description
    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    usernameKeyRef
    string

    UsernameKeyRef is the key of the secret to be the username. Must be a valid secret key. Defaults to “username”.

    passwordKeyRef
    string

    PasswordKeyRef is the key of the secret to be the password. Must be a valid secret key. Defaults to “password”.

    RisingWaveGCSCredentials

    (Appears on:RisingWaveStateStoreBackendGCS)

    RisingWaveGCSCredentials is the reference and keys selector to the GCS access credentials stored in a local secret.

    Field Description
    useWorkloadIdentity
    bool

    UseWorkloadIdentity indicates to use workload identity to access the GCS service. If this is enabled, secret is not required, and ADC is used.

    secretName
    string
    (Optional)

    The name of the secret in the pod’s namespace to select from.

    serviceAccountCredentialsKeyRef
    string
    (Optional)

    ServiceAccountCredentialsKeyRef is the key of the secret to be the service account credentials. Must be a valid secret key. Defaults to “ServiceAccountCredentials”.

    RisingWaveGlobalReplicas

    RisingWaveGlobalReplicas are the replicas of each component, declared in global scope.

    Field Description
    meta
    int32
    (Optional)

    Replicas of meta component. Replicas specified here is in a default group (with empty name “).

    frontend
    int32
    (Optional)

    Replicas of frontend component. Replicas specified here is in a default group (with empty name “).

    compute
    int32
    (Optional)

    Replicas of compute component. Replicas specified here is in a default group (with empty name “).

    compactor
    int32
    (Optional)

    Replicas of compactor component. Replicas specified here is in a default group (with empty name “).

    RisingWaveHuaweiCloudOBSCredentials

    (Appears on:RisingWaveStateStoreBackendHuaweiCloudOBS)

    RisingWaveHuaweiCloudOBSCredentials is the reference and keys selector to the HuaweiCloudOBS access credentials stored in a local secret.

    Field Description
    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    accessKeyIDRef
    string

    AccessKeyIDRef is the key of the secret to be the access key. Must be a valid secret key. Defaults to “AccessKeyIDRef”.

    accessKeySecretRef
    string

    AccessKeySecretRef is the key of the secret to be the secret access key. Must be a valid secret key. Defaults to “AccessKeySecretRef”.

    RisingWaveInternalStatus

    (Appears on:RisingWaveStatus)

    RisingWaveInternalStatus stores some internal status of RisingWave, such as internal states.

    Field Description
    stateStoreRootPath
    string

    StateStoreRootPath stores the root path of the state store data directory. It’s for compatibility purpose and should not be updated in most cases.

    RisingWaveLicenseKey

    (Appears on:RisingWaveSpec)

    RisingWaveLicenseKey is the license configuration for RisingWave.

    Field Description
    secretName
    string
    (Optional)

    SecretName that contains the license. The license must be JWT formatted JSON.

    secretKey
    string

    SecretKey to the license in the Secret above. Defaults to licenseKey.

    passAsFile
    bool
    (Optional)

    PassAsFile will pass the license as a file to the RisingWave process. The feature is only available in the RisingWave v2.1 and later. See risingwavelabs/risingwave#18768 for more information.

    It’s optional to set this field. If not set, the operator will deduce the value based on the RisingWave version. But when it comes to non-semver versions, it’s recommended to set this field explicitly.

    RisingWaveMetaStoreBackend

    (Appears on:RisingWaveSpec)

    RisingWaveMetaStoreBackend is the collection of parameters for the meta store that RisingWave uses. Note that one and only one of the first-level fields could be set.

    Field Description
    memory
    bool
    (Optional)

    Memory indicates to store the metadata in memory. It is only for test usage and strongly discouraged to be set in production. If one is using the memory storage for meta, replicas will not work because they are not going to share the same metadata and any kinds exit of the process will cause a permanent loss of the data.

    etcd
    RisingWaveMetaStoreBackendEtcd
    (Optional)

    Stores metadata in etcd.

    sqlite
    RisingWaveMetaStoreBackendSQLite
    (Optional)

    SQLite stores metadata in a SQLite DB file.

    mysql
    RisingWaveMetaStoreBackendMySQL
    (Optional)

    MySQL stores metadata in a MySQL DB.

    postgresql
    RisingWaveMetaStoreBackendPostgreSQL
    (Optional)

    PostgreSQL stores metadata in a PostgreSQL DB.

    RisingWaveMetaStoreBackendEtcd

    (Appears on:RisingWaveMetaStoreBackend)

    RisingWaveMetaStoreBackendEtcd is the collection of parameters for the etcd backend meta store.

    Field Description
    credentials
    RisingWaveEtcdCredentials
    (Optional)

    RisingWaveEtcdCredentials is the credentials provider from a Secret. It could be optional to mean that the etcd service could be accessed without authentication.

    endpoint
    string

    Endpoint of etcd. It must be provided.

    secret
    string
    (Optional)

    Secret contains the credentials of access the etcd, it must contain the following keys: * username * password But it is an optional field. Empty value indicates etcd is available without authentication. Deprecated: Please use “credentials” field instead. The “Secret” field will be removed in a future release.

    RisingWaveMetaStoreBackendMySQL

    (Appears on:RisingWaveMetaStoreBackend)

    RisingWaveMetaStoreBackendMySQL describes the options of MySQL DB backend.

    Field Description
    credentials
    RisingWaveDBCredentials

    RisingWaveDBCredentials is the reference credentials. User must provide a secret contains username and password (or one can customize the key references) keys and the correct values.

    host
    string

    Host of the MySQL DB.

    port
    uint32

    Port of the MySQL DB. Defaults to 3306.

    database
    string

    Database of the MySQL DB.

    options
    map[string]string
    (Optional)

    Options when connecting to the MySQL DB. Optional.

    RisingWaveMetaStoreBackendPostgreSQL

    (Appears on:RisingWaveMetaStoreBackend)

    RisingWaveMetaStoreBackendPostgreSQL describes the options of PostgreSQL DB backend.

    Field Description
    credentials
    RisingWaveDBCredentials

    RisingWaveDBCredentials is the reference credentials. User must provide a secret contains username and password (or one can customize the key references) keys and the correct values.

    host
    string

    Host of the PostgreSQL DB.

    port
    uint32

    Port of the PostgreSQL DB. Defaults to 5432.

    database
    string

    Database of the PostgreSQL DB.

    options
    map[string]string
    (Optional)

    Options when connecting to the PostgreSQL DB. Optional.

    RisingWaveMetaStoreBackendSQLite

    (Appears on:RisingWaveMetaStoreBackend)

    RisingWaveMetaStoreBackendSQLite describes the options of SQLite DB backend.

    Field Description
    path
    string

    Path of the DB file.

    RisingWaveMetaStoreBackendType (string alias)

    (Appears on:RisingWaveMetaStoreStatus)

    RisingWaveMetaStoreBackendType is the type for the meta store backends.

    Value Description

    "Etcd"

    "Memory"

    "MySQL"

    "PostgreSQL"

    "SQLite"

    "Unknown"

    RisingWaveMetaStoreStatus

    (Appears on:RisingWaveStatus)

    RisingWaveMetaStoreStatus is the status of the meta store.

    Field Description
    backend
    RisingWaveMetaStoreBackendType

    Backend type of the meta store.

    RisingWaveMinIOCredentials

    (Appears on:RisingWaveStateStoreBackendMinIO)

    RisingWaveMinIOCredentials is the reference and keys selector to the MinIO access credentials stored in a local secret.

    Field Description
    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    usernameKeyRef
    string

    UsernameKeyRef is the key of the secret to be the username. Must be a valid secret key. Defaults to “username”.

    passwordKeyRef
    string

    PasswordKeyRef is the key of the secret to be the password. Must be a valid secret key. Defaults to “password”.

    RisingWaveNodeConfiguration

    (Appears on:RisingWaveConfigurationSpec, RisingWaveNodeGroup)

    RisingWaveNodeConfiguration determines where the configurations are from, either ConfigMap, Secret, or raw string.

    Field Description
    configMap
    RisingWaveNodeConfigurationConfigMapSource

    ConfigMap where the risingwave.toml locates.

    secret
    RisingWaveNodeConfigurationSecretSource

    Secret where the risingwave.toml locates.

    RisingWaveNodeConfigurationConfigMapSource

    (Appears on:RisingWaveNodeConfiguration)

    RisingWaveNodeConfigurationConfigMapSource refers to a ConfigMap where the RisingWave configuration is stored.

    Field Description
    name
    string
    (Optional)

    Name determines the ConfigMap to provide the configs RisingWave requests. It will be mounted on the Pods directly. It the ConfigMap isn’t provided, the controller will use empty value as the configs.

    key
    string
    (Optional)

    Key to the configuration file. Defaults to risingwave.toml.

    optional
    bool
    (Optional)

    Optional determines if the key must exist in the ConfigMap. Defaults to false.

    RisingWaveNodeConfigurationSecretSource

    (Appears on:RisingWaveNodeConfiguration)

    RisingWaveNodeConfigurationSecretSource refers to a Secret where the RisingWave configuration is stored.

    Field Description
    name
    string
    (Optional)

    Name determines the Secret to provide the configs RisingWave requests. It will be mounted on the Pods directly. It the Secret isn’t provided, the controller will use empty value as the configs.

    key
    string
    (Optional)

    Key to the configuration file. Defaults to risingwave.toml.

    optional
    bool
    (Optional)

    Optional determines if the key must exist in the Secret. Defaults to false.

    RisingWaveNodeContainer

    (Appears on:RisingWaveNodePodTemplateSpec)

    RisingWaveNodeContainer determines the container specs of a RisingWave node.

    Field Description
    image
    string
    (Optional)

    Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

    envFrom
    []Kubernetes core/v1.EnvFromSource
    (Optional)

    List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.

    env
    []Kubernetes core/v1.EnvVar
    (Optional)

    List of environment variables to set in the container. Cannot be updated.

    resources
    Kubernetes core/v1.ResourceRequirements
    (Optional)

    Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

    volumeMounts
    []Kubernetes core/v1.VolumeMount
    (Optional)

    Pod volumes to mount into the container’s filesystem. Cannot be updated.

    volumeDevices
    []Kubernetes core/v1.VolumeDevice
    (Optional)

    volumeDevices is the list of block devices to be used by the container.

    imagePullPolicy
    Kubernetes core/v1.PullPolicy
    (Optional)

    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

    securityContext
    Kubernetes core/v1.SecurityContext
    (Optional)

    SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

    RisingWaveNodeGroup

    (Appears on:RisingWaveComponent)

    RisingWaveNodeGroup is the definition of a group of RisingWave nodes of the same component.

    Field Description
    name
    string

    Name of the node group.

    replicas
    int32

    Replicas of Pods in this group.

    restartAt
    Kubernetes meta/v1.Time

    RestartAt is the time that the Pods under the group should be restarted. Setting a value on this field will trigger a full recreation of the Pods. Defaults to nil.

    configuration
    RisingWaveNodeConfiguration
    (Optional)

    Configuration determines the configuration to be used for the RisingWave nodes.

    upgradeStrategy
    RisingWaveNodeGroupUpgradeStrategy
    (Optional)

    Upgrade strategy for the components. By default, it is the same as the workload’s default strategy that the component is deployed with. Note: the maxSurge will not take effect for the compute component.

    minReadySeconds
    int32
    (Optional)

    Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)

    volumeClaimTemplates
    []PersistentVolumeClaim
    (Optional)

    volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.

    persistentVolumeClaimRetentionPolicy
    Kubernetes apps/v1.StatefulSetPersistentVolumeClaimRetentionPolicy
    (Optional)

    persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and retained until manually deleted. This policy allows the lifecycle to be altered, for example by deleting persistent volume claims when their stateful set is deleted, or when their pod is scaled down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.

    progressDeadlineSeconds
    int32

    The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.

    template
    RisingWaveNodePodTemplate
    (Optional)

    Template tells how the Pod should be started. It is an optional field. If it’s empty, then the pod template in the first-level fields under spec will be used.

    RisingWaveNodeGroupRollingUpdate

    (Appears on:RisingWaveNodeGroupUpgradeStrategy)

    RisingWaveNodeGroupRollingUpdate is the spec to define rolling update strategies.

    Field Description
    maxUnavailable
    k8s.io/apimachinery/pkg/util/intstr.IntOrString
    (Optional)

    The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. Defaults to 25%.

    partition
    k8s.io/apimachinery/pkg/util/intstr.IntOrString
    (Optional)

    Partition is the desired number of pods in old revisions. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up by default. It means when partition is set during pods updating, (replicas - partition value) number of pods will be updated. Default value is 0.

    maxSurge
    k8s.io/apimachinery/pkg/util/intstr.IntOrString
    (Optional)

    The maximum number of pods that can be scheduled above the desired replicas during update or specified delete. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding up. Defaults to 0.

    RisingWaveNodeGroupStatus

    (Appears on:RisingWaveComponentStatus)

    RisingWaveNodeGroupStatus is the status of a node group.

    Field Description
    name
    string

    Name of the node group.

    replicas
    int32

    Replicas is the declared replicas of the workload.

    readyReplicas
    int32

    ReadyReplicas is the ready replicas of the workload.

    availableReplicas
    int32

    AvailableReplicas is the available replicas of the workload.

    updatedReplicas
    int32

    UpdatedReplicas is the update replicas of the workload.

    unavailableReplicas
    int32

    UnavailableReplicas is the unavailable replicas of the workload.

    exists
    bool

    Existence status of the node group.

    RisingWaveNodeGroupUpgradeStrategy

    (Appears on:RisingWaveNodeGroup, RisingWaveStandaloneComponent)

    RisingWaveNodeGroupUpgradeStrategy is the spec of upgrade strategy used by RisingWave.

    Field Description
    type
    RisingWaveNodeGroupUpgradeStrategyType
    (Optional)

    Type of upgrade. Can be “Recreate” or “RollingUpdate”. Default is RollingUpdate.

    rollingUpdate
    RisingWaveNodeGroupRollingUpdate
    (Optional)

    Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.

    inPlaceUpdateStrategy
    github.com/openkruise/kruise-api/apps/pub.InPlaceUpdateStrategy
    (Optional)

    InPlaceUpdateStrategy contains strategies for in-place update.

    RisingWaveNodeGroupUpgradeStrategyType (string alias)

    (Appears on:RisingWaveNodeGroupUpgradeStrategy)

    RisingWaveNodeGroupUpgradeStrategyType is the type of upgrade strategies used in RisingWave.

    Value Description

    "InPlaceIfPossible"

    "InPlaceOnly"

    "Recreate"

    "RollingUpdate"

    RisingWaveNodePodTemplate

    (Appears on:RisingWaveNodeGroup, RisingWaveStandaloneComponent)

    RisingWaveNodePodTemplate determines the Pod specs of a RisingWave node.

    Field Description
    metadata
    PartialObjectMeta

    PartialObjectMeta tells the operator to add the specified metadata onto the Pod.

    spec
    RisingWaveNodePodTemplateSpec

    RisingWaveNodePodTemplateSpec determines the Pod spec to start the RisingWave pod.



    image
    string
    (Optional)

    Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

    envFrom
    []Kubernetes core/v1.EnvFromSource
    (Optional)

    List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.

    env
    []Kubernetes core/v1.EnvVar
    (Optional)

    List of environment variables to set in the container. Cannot be updated.

    resources
    Kubernetes core/v1.ResourceRequirements
    (Optional)

    Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

    volumeMounts
    []Kubernetes core/v1.VolumeMount
    (Optional)

    Pod volumes to mount into the container’s filesystem. Cannot be updated.

    volumeDevices
    []Kubernetes core/v1.VolumeDevice
    (Optional)

    volumeDevices is the list of block devices to be used by the container.

    imagePullPolicy
    Kubernetes core/v1.PullPolicy
    (Optional)

    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

    securityContext
    Kubernetes core/v1.SecurityContext
    (Optional)

    SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

    volumes
    []Kubernetes core/v1.Volume
    (Optional)

    List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

    activeDeadlineSeconds
    int64
    (Optional)

    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.

    terminationGracePeriodSeconds
    int64
    (Optional)

    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.

    dnsPolicy
    Kubernetes core/v1.DNSPolicy
    (Optional)

    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’.

    nodeSelector
    map[string]string
    (Optional)

    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/

    serviceAccountName
    string
    (Optional)

    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/

    automountServiceAccountToken
    bool
    (Optional)

    AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.

    hostPID
    bool
    (Optional)

    Use the host’s pid namespace. Optional: Default to false.

    hostIPC
    bool
    (Optional)

    Use the host’s ipc namespace. Optional: Default to false.

    shareProcessNamespace
    bool
    (Optional)

    Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

    podSecurityContext
    Kubernetes core/v1.PodSecurityContext
    (Optional)

    SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.

    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

    affinity
    Kubernetes core/v1.Affinity
    (Optional)

    If specified, the pod’s scheduling constraints

    schedulerName
    string
    (Optional)

    If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.

    tolerations
    []Kubernetes core/v1.Toleration
    (Optional)

    If specified, the pod’s tolerations.

    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.

    priorityClassName
    string
    (Optional)

    If specified, indicates the pod’s priority. “system-node-critical” and “system-cluster-critical” are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.

    priority
    int32
    (Optional)

    The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.

    dnsConfig
    Kubernetes core/v1.PodDNSConfig
    (Optional)

    Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.

    runtimeClassName
    string
    (Optional)

    RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the “legacy” RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class

    preemptionPolicy
    Kubernetes core/v1.PreemptionPolicy
    (Optional)

    PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.

    topologySpreadConstraints
    []Kubernetes core/v1.TopologySpreadConstraint
    (Optional)

    TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.

    setHostnameAsFQDN
    bool
    (Optional)

    If true the pod’s hostname will be configured as the pod’s FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

    os
    Kubernetes core/v1.PodOS
    (Optional)

    Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.

    If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions

    If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[].securityContext.seLinuxOptions - spec.containers[].securityContext.seccompProfile - spec.containers[].securityContext.capabilities - spec.containers[].securityContext.readOnlyRootFilesystem - spec.containers[].securityContext.privileged - spec.containers[].securityContext.allowPrivilegeEscalation - spec.containers[].securityContext.procMount - spec.containers[].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup

    hostUsers
    bool
    (Optional)

    Use the host’s user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.

    additionalContainers
    []Kubernetes core/v1.Container

    Additional containers to run in the same Pod. The containers will be appended to the Pod’s containers array in order.

    RisingWaveNodePodTemplateSpec

    (Appears on:RisingWaveNodePodTemplate)

    RisingWaveNodePodTemplateSpec is a template for a RisingWave’s Pod.

    Field Description
    image
    string
    (Optional)

    Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

    envFrom
    []Kubernetes core/v1.EnvFromSource
    (Optional)

    List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.

    env
    []Kubernetes core/v1.EnvVar
    (Optional)

    List of environment variables to set in the container. Cannot be updated.

    resources
    Kubernetes core/v1.ResourceRequirements
    (Optional)

    Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

    volumeMounts
    []Kubernetes core/v1.VolumeMount
    (Optional)

    Pod volumes to mount into the container’s filesystem. Cannot be updated.

    volumeDevices
    []Kubernetes core/v1.VolumeDevice
    (Optional)

    volumeDevices is the list of block devices to be used by the container.

    imagePullPolicy
    Kubernetes core/v1.PullPolicy
    (Optional)

    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

    securityContext
    Kubernetes core/v1.SecurityContext
    (Optional)

    SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

    volumes
    []Kubernetes core/v1.Volume
    (Optional)

    List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

    activeDeadlineSeconds
    int64
    (Optional)

    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.

    terminationGracePeriodSeconds
    int64
    (Optional)

    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.

    dnsPolicy
    Kubernetes core/v1.DNSPolicy
    (Optional)

    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’.

    nodeSelector
    map[string]string
    (Optional)

    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/

    serviceAccountName
    string
    (Optional)

    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/

    automountServiceAccountToken
    bool
    (Optional)

    AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.

    hostPID
    bool
    (Optional)

    Use the host’s pid namespace. Optional: Default to false.

    hostIPC
    bool
    (Optional)

    Use the host’s ipc namespace. Optional: Default to false.

    shareProcessNamespace
    bool
    (Optional)

    Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

    podSecurityContext
    Kubernetes core/v1.PodSecurityContext
    (Optional)

    SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.

    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

    affinity
    Kubernetes core/v1.Affinity
    (Optional)

    If specified, the pod’s scheduling constraints

    schedulerName
    string
    (Optional)

    If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler.

    tolerations
    []Kubernetes core/v1.Toleration
    (Optional)

    If specified, the pod’s tolerations.

    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.

    priorityClassName
    string
    (Optional)

    If specified, indicates the pod’s priority. “system-node-critical” and “system-cluster-critical” are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.

    priority
    int32
    (Optional)

    The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.

    dnsConfig
    Kubernetes core/v1.PodDNSConfig
    (Optional)

    Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.

    runtimeClassName
    string
    (Optional)

    RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the “legacy” RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class

    preemptionPolicy
    Kubernetes core/v1.PreemptionPolicy
    (Optional)

    PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.

    topologySpreadConstraints
    []Kubernetes core/v1.TopologySpreadConstraint
    (Optional)

    TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.

    setHostnameAsFQDN
    bool
    (Optional)

    If true the pod’s hostname will be configured as the pod’s FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

    os
    Kubernetes core/v1.PodOS
    (Optional)

    Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.

    If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions

    If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[].securityContext.seLinuxOptions - spec.containers[].securityContext.seccompProfile - spec.containers[].securityContext.capabilities - spec.containers[].securityContext.readOnlyRootFilesystem - spec.containers[].securityContext.privileged - spec.containers[].securityContext.allowPrivilegeEscalation - spec.containers[].securityContext.procMount - spec.containers[].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup

    hostUsers
    bool
    (Optional)

    Use the host’s user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.

    additionalContainers
    []Kubernetes core/v1.Container

    Additional containers to run in the same Pod. The containers will be appended to the Pod’s containers array in order.

    RisingWaveS3Credentials

    (Appears on:RisingWaveStateStoreBackendS3)

    RisingWaveS3Credentials is the reference and keys selector to the AWS access credentials stored in a local secret.

    Field Description
    useServiceAccount
    bool
    (Optional)

    UseServiceAccount indicates whether to use the service account token mounted in the pod. It only works when using the AWS S3. If this is enabled, secret and keys are ignored. Defaults to false.

    secretName
    string

    The name of the secret in the pod’s namespace to select from.

    accessKeyRef
    string

    AccessKeyRef is the key of the secret to be the access key. Must be a valid secret key. Defaults to “AccessKeyID”.

    secretAccessKeyRef
    string

    SecretAccessKeyRef is the key of the secret to be the secret access key. Must be a valid secret key. Defaults to “SecretAccessKey”.

    RisingWaveScaleView

    RisingWaveScaleView is the struct for RisingWaveScaleView.

    Field Description
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the metadata field.
    spec
    RisingWaveScaleViewSpec


    targetRef
    RisingWaveScaleViewTargetRef

    Reference of the target RisingWave.

    replicas
    int32

    Desired replicas.

    labelSelector
    string

    Serialized label selector. Would be set by the webhook.

    scalePolicy
    []RisingWaveScaleViewSpecScalePolicy

    An array of groups and the policies for scale, optional and empty means the default group with the default policy.

    status
    RisingWaveScaleViewStatus

    RisingWaveScaleViewLock

    (Appears on:RisingWaveStatus)

    RisingWaveScaleViewLock is a lock record for RisingWaveScaleViews. For example, if there’s a RisingWaveScaleView targets the current RisingWave, the controller will try to create a new RisingWaveScaleViewLock with the name, uid, target component, generation, and the replicas of targeting groups of the RisingWaveScaleView. After the record is set, the validation webhook will reject any updates on the replicas of any targeting group that doesn’t equal the replicas recorded, which makes it a lock similar thing.

    Field Description
    name
    string

    Name of the owned RisingWaveScaleView object.

    uid
    k8s.io/apimachinery/pkg/types.UID

    UID of the owned RisingWaveScaleView object.

    component
    string

    Component of the lock.

    generation
    int64

    Generation of the lock.

    groupLocks
    []RisingWaveScaleViewLockGroupLock

    Group locks.

    RisingWaveScaleViewLockGroupLock

    (Appears on:RisingWaveScaleViewLock)

    RisingWaveScaleViewLockGroupLock is the lock record of RisingWaveScaleView.

    Field Description
    name
    string

    Group name.

    replicas
    int32

    Locked replica value.

    RisingWaveScaleViewSpec

    (Appears on:RisingWaveScaleView)

    RisingWaveScaleViewSpec is the spec of RisingWaveScaleView.

    Field Description
    targetRef
    RisingWaveScaleViewTargetRef

    Reference of the target RisingWave.

    replicas
    int32

    Desired replicas.

    labelSelector
    string

    Serialized label selector. Would be set by the webhook.

    scalePolicy
    []RisingWaveScaleViewSpecScalePolicy

    An array of groups and the policies for scale, optional and empty means the default group with the default policy.

    RisingWaveScaleViewSpecScalePolicy

    (Appears on:RisingWaveScaleViewSpec)

    RisingWaveScaleViewSpecScalePolicy is the scale policy of a group.

    Field Description
    group
    string

    Group name.

    priority
    int32
    (Optional)

    0-10, optional. The groups will be sorted by the priority and the current replicas. The higher it is, the more replicas of the target group will be considered kept, i.e. scale out first, scale in last.

    maxReplicas
    int32

    MaxReplicas is the limit of the replicas.

    RisingWaveScaleViewSpecScalePolicyConstraints

    RisingWaveScaleViewSpecScalePolicyConstraints is the constraints of replicas in scale policy.

    Field Description
    max
    int32

    Maximum value of the replicas.

    RisingWaveScaleViewStatus

    (Appears on:RisingWaveScaleView)

    RisingWaveScaleViewStatus is the status of RisingWaveScaleView.

    Field Description
    replicas
    int32

    Running replicas.

    locked
    bool

    Lock status.

    RisingWaveScaleViewTargetRef

    (Appears on:RisingWaveScaleViewSpec)

    RisingWaveScaleViewTargetRef is the reference of the target RisingWave.

    Field Description
    name
    string

    Name of the RisingWave object.

    component
    string

    Component name. Must be one of meta, frontend, compute, and compactor.

    uid
    k8s.io/apimachinery/pkg/types.UID

    UID of the target RisingWave object. Should be set by the mutating webhook.

    RisingWaveSecretStore

    (Appears on:RisingWaveSpec)

    RisingWaveSecretStore is the configuration of the secret store.

    Field Description
    privateKey
    RisingWaveSecretStorePrivateKey

    PrivateKey is the private key used to encrypt and decrypt the secrets.

    RisingWaveSecretStorePrivateKey

    (Appears on:RisingWaveSecretStore)

    RisingWaveSecretStorePrivateKey is a private key that can be stored in a secret or directly in the resource.

    Field Description
    value
    string
    (Optional)

    Value is the private key. It must be a 128-bit key encoded in hex. If this is set, SecretRef must be nil. When the feature gate RandomSecretStorePrivateKey is enabled and neither is set, the private key will be generated randomly.

    secretRef
    RisingWaveSecretStorePrivateKeySecretReference
    (Optional)

    SecretRef is a reference to a secret that contains the private key. If this is set, Value must be nil. Note that the value in the secret must be a 128-bit key encoded in hex.

    RisingWaveSecretStorePrivateKeySecretReference

    (Appears on:RisingWaveSecretStorePrivateKey)

    RisingWaveSecretStorePrivateKeySecretReference is a reference to a secret that contains a private key.

    Field Description
    name
    string

    Name is the name of the secret.

    key
    string

    Key is the key in the secret that contains the private key.

    RisingWaveSpec

    (Appears on:RisingWave)

    RisingWaveSpec is the overall spec.

    Field Description
    components
    RisingWaveComponentsSpec

    The spec of ports and some controllers (such as restartAt) of each component, as well as an advanced concept called group to override the global template and create groups of Pods, e.g., deployment in hybrid-arch cluster.

    configuration
    RisingWaveConfigurationSpec

    The spec of configuration template for RisingWave.

    enableOpenKruise
    bool
    (Optional)

    Flag to indicate if OpenKruise should be enabled for components. If enabled, CloneSets will be used for meta/frontend/compactor nodes and Advanced StatefulSets will be used for compute nodes.

    enableDefaultServiceMonitor
    bool
    (Optional)

    Flag to indicate if a default ServiceMonitor (from Prometheus operator) should be created by the controller. False and an empty value means the ServiceMonitor won’t be created automatically. But even if it’s set to true, the controller will determine if it can create the resource by checking if the CRDs are installed.

    enableFullKubernetesAddr
    bool
    (Optional)

    Flag to indicate if full kubernetes address should be enabled for components. If enabled, address will be [.]..svc. Otherwise, it will be [.]. Enabling this flag on existing RisingWave will cause incompatibility.

    enableStandaloneMode
    bool
    (Optional)

    Flag to control whether to deploy in standalone mode or distributed mode. If standalone mode is used, spec.components will be ignored. Standalone mode can be turned on/off dynamically.

    enableEmbeddedServingMode
    bool
    (Optional)

    Flag to control whether to enable embedded serving mode. If enabled, the frontend nodes will be created with embedded serving node enabled, and the compute nodes will serve streaming workload only.

    enableAdvertisingWithIP
    bool

    Flag to control whether to enable advertising with IP. If enabled, the meta and compute nodes will be advertised with their IP addresses. This is useful when one wants to avoid the DNS resolution overhead and latency.

    image
    string

    Image for RisingWave component.

    frontendServiceType
    Kubernetes core/v1.ServiceType
    (Optional)

    FrontendServiceType determines the service type of the frontend service. Defaults to ClusterIP.

    additionalFrontendServiceMetadata
    PartialObjectMeta

    AdditionalFrontendServiceMetadata tells the operator to add the specified metadata onto the frontend Service. Note that the system reserved labels and annotations are not valid and will be rejected by the webhook.

    metaStore
    RisingWaveMetaStoreBackend

    MetaStore determines which backend the meta store will use and the parameters for it. Defaults to memory. But keep in mind that memory backend is not recommended in production.

    stateStore
    RisingWaveStateStoreBackend

    StateStore determines which backend the state store will use and the parameters for it. Defaults to memory. But keep in mind that memory backend is not recommended in production.

    tls
    RisingWaveTLSConfiguration

    TLS configures the TLS/SSL certificates for SQL access.

    standaloneMode
    int32

    StandaloneMode determines which style of command-line args should be used for the standalone mode. 0 - auto detect by image version, 1 - the old standalone mode, 2 - standalone mode V2 (single-node). This is only for backward compatibility and will be deprecated in the future.

    licenseKey
    RisingWaveLicenseKey

    LicenseKey to enable paid features of RisingWave.

    secretStore
    RisingWaveSecretStore

    SecretStore is the configuration of the secret store.

    RisingWaveStandaloneComponent

    (Appears on:RisingWaveComponentsSpec)

    RisingWaveStandaloneComponent contains the spec for standalone component.

    Field Description
    logLevel
    string

    LogLevel controls the log level of the running nodes. It can be in any format that the underlying component supports, e.g., in the RUST_LOG format for Rust programs. Defaults to INFO.

    disallowPrintStackTraces
    bool
    (Optional)

    DisallowPrintStackTraces determines if the stack traces are allowed to print when panic happens. This options applies to both Rust and Java programs. Defaults to false.

    restartAt
    Kubernetes meta/v1.Time

    RestartAt is the time that the Pods under the group should be restarted. Setting a value on this field will trigger a full recreation of the Pods. Defaults to nil.

    replicas
    int32

    Replicas is the number of the standalone Pods. Maximum is 1. Defaults to 1.

    upgradeStrategy
    RisingWaveNodeGroupUpgradeStrategy
    (Optional)

    Upgrade strategy for the components. By default, it is the same as the workload’s default strategy that the component is deployed with. Note: the maxSurge will not take effect for the compute component.

    minReadySeconds
    int32
    (Optional)

    Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)

    volumeClaimTemplates
    []PersistentVolumeClaim
    (Optional)

    volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.

    persistentVolumeClaimRetentionPolicy
    Kubernetes apps/v1.StatefulSetPersistentVolumeClaimRetentionPolicy
    (Optional)

    persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and retained until manually deleted. This policy allows the lifecycle to be altered, for example by deleting persistent volume claims when their stateful set is deleted, or when their pod is scaled down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled, which is alpha.

    progressDeadlineSeconds
    int32

    The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.

    template
    RisingWaveNodePodTemplate
    (Optional)

    Template tells how the Pod should be started. It is an optional field. If it’s empty, then the pod template in the first-level fields under spec will be used.

    RisingWaveStateStoreBackend

    (Appears on:RisingWaveSpec)

    RisingWaveStateStoreBackend is the collection of parameters for the state store that RisingWave uses. Note that one and only one of the first-level fields could be set.

    Field Description
    dataDirectory
    string

    DataDirectory is the directory to store the data in the object storage. Defaults to hummock.

    memory
    bool
    (Optional)

    Memory indicates to store the data in memory. It’s only for test usage and strongly discouraged to be used in production.

    localDisk
    RisingWaveStateStoreBackendLocalDisk
    (Optional)

    Local indicates to store the data in local disk. It’s only for test usage and strongly discouraged to be used in production.

    minio
    RisingWaveStateStoreBackendMinIO
    (Optional)

    MinIO storage spec.

    s3
    RisingWaveStateStoreBackendS3
    (Optional)

    S3 storage spec.

    gcs
    RisingWaveStateStoreBackendGCS
    (Optional)

    GCS storage spec.

    aliyunOSS
    RisingWaveStateStoreBackendAliyunOSS
    (Optional)

    AliyunOSS storage spec.

    azureBlob
    RisingWaveStateStoreBackendAzureBlob
    (Optional)

    Azure Blob storage spec.

    hdfs
    RisingWaveStateStoreBackendHDFS
    (Optional)

    HDFS storage spec.

    webhdfs
    RisingWaveStateStoreBackendHDFS
    (Optional)

    WebHDFS storage spec.

    huaweiCloudOBS
    RisingWaveStateStoreBackendHuaweiCloudOBS
    (Optional)

    HuaweiCloudOBS storage spec.

    RisingWaveStateStoreBackendAliyunOSS

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendAliyunOSS is the details of AliyunOSS for compute and compactor components.

    Field Description
    credentials
    RisingWaveAliyunOSSCredentials

    RisingWaveAliyunOSSCredentials is the credentials provider from a Secret.

    bucket
    string

    Bucket name of your Aliyun OSS.

    root
    string
    (Optional)

    Root directory of the Aliyun OSS bucket.

    Deprecated: the field is redundant since there’s already the data directory. Mark it as optional now and will deprecate it in the future.

    region
    string

    Region of Aliyun OSS service

    internalEndpoint
    bool

    InternalEndpoint indicates if we use the internal endpoint to access Aliyun OSS, which is only available in the internal network.

    RisingWaveStateStoreBackendAzureBlob

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendAzureBlob is the details of Azure blob storage (S3 compatible) for compute and compactor components.

    Field Description
    credentials
    RisingWaveAzureBlobCredentials

    RisingWaveAzureBlobCredentials is the credentials provider from a Secret.

    container
    string

    Container Name of the Azure Blob service.

    root
    string
    (Optional)

    Root directory of the Azure Blob container.

    Deprecated: the field is redundant since there’s already the data directory. Mark it as optional now and will deprecate it in the future.

    endpoint
    string

    Endpoint of the Azure Blob service. e.g. https://yufantest.blob.core.windows.net

    RisingWaveStateStoreBackendGCS

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendGCS is the collection of parameters for the GCS backend state store.

    Field Description
    credentials
    RisingWaveGCSCredentials

    RisingWaveGCSCredentials is the credentials provider from a Secret.

    bucket
    string

    Bucket of the GCS bucket service.

    root
    string
    (Optional)

    Root directory of the GCS bucket.

    Deprecated: the field is redundant since there’s already the data directory. Mark it as optional now and will deprecate it in the future.

    RisingWaveStateStoreBackendHDFS

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendHDFS is the details of HDFS storage (S3 compatible) for compute and compactor components.

    Field Description
    nameNode
    string

    Name node of the HDFS

    root
    string
    (Optional)

    Root directory of the HDFS.

    Deprecated: the field is redundant since there’s already the data directory. Mark it as optional now and will deprecate it in the future.

    RisingWaveStateStoreBackendHuaweiCloudOBS

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendHuaweiCloudOBS is the details of HuaweiCloudOBS for compute and compactor components.

    Field Description
    credentials
    RisingWaveHuaweiCloudOBSCredentials

    RisingWaveHuaweiCloudOBSCredentials is the credentials provider from a Secret.

    bucket
    string

    Bucket name.

    region
    string

    Region of Huawei Cloud OBS.

    RisingWaveStateStoreBackendLocalDisk

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendLocalDisk is the details of local storage for compute and compactor components.

    Field Description
    root
    string

    Root is the root directory to store the data in the object storage. It shadows the data directory.

    RisingWaveStateStoreBackendMinIO

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendMinIO is the collection of parameters for the MinIO backend state store.

    Field Description
    credentials
    RisingWaveMinIOCredentials

    RisingWaveMinIOCredentials is the credentials provider from a Secret.

    endpoint
    string

    Endpoint of the MinIO service.

    bucket
    string

    Bucket of the MinIO service.

    RisingWaveStateStoreBackendS3

    (Appears on:RisingWaveStateStoreBackend)

    RisingWaveStateStoreBackendS3 is the collection of parameters for the S3 backend state store.

    Field Description
    credentials
    RisingWaveS3Credentials

    RisingWaveS3Credentials is the credentials provider from a Secret.

    bucket
    string

    Bucket of the AWS S3 service.

    region
    string

    Region of AWS S3 service. Defaults to “us-east-1”.

    endpoint
    string
    (Optional)

    Endpoint of the AWS (or other vendor’s S3-compatible) service. Leave it empty when using AWS S3 service. You can reference the REGION and BUCKET variables in the endpoint with ${BUCKET} and ${REGION}, e.g., s3.${REGION}.amazonaws.com ${BUCKET}.s3.${REGION}.amazonaws.com Both HTTP and HTTPS are allowed. The default scheme is HTTPS if not specified.

    RisingWaveStateStoreBackendType (string alias)

    (Appears on:RisingWaveStateStoreStatus)

    RisingWaveStateStoreBackendType is the type for the state store backends.

    Value Description

    "AliyunOSS"

    "AzureBlob"

    "GCS"

    "HDFS"

    "HuaweiCloudOBS"

    "LocalDisk"

    "Memory"

    "MinIO"

    "S3"

    "Unknown"

    "WebHDFS"

    RisingWaveStateStoreStatus

    (Appears on:RisingWaveStatus)

    RisingWaveStateStoreStatus is the status of the state store.

    Field Description
    backend
    RisingWaveStateStoreBackendType

    Backend type of the state store.

    RisingWaveStatus

    (Appears on:RisingWave)

    RisingWaveStatus is the status of RisingWave.

    Field Description
    observedGeneration
    int64

    Observed generation by controller. It will be updated when controller observes the changes on the spec and going to sync the subresources.

    version
    string

    Version of the Global Image

    componentReplicas
    RisingWaveComponentsReplicasStatus

    Replica status of components.

    conditions
    []RisingWaveCondition

    Conditions of the RisingWave.

    scaleViews
    []RisingWaveScaleViewLock

    Scale view locks.

    internal
    RisingWaveInternalStatus

    Internal status.

    metaStore
    RisingWaveMetaStoreStatus

    Status of the meta store.

    stateStore
    RisingWaveStateStoreStatus

    Status of the state store.

    RisingWaveTLSConfiguration

    (Appears on:RisingWaveSpec)

    RisingWaveTLSConfiguration is the TLS/SSL configuration for RisingWave’s SQL access.

    Field Description
    secretName
    string
    (Optional)

    SecretName that contains the certificates. The keys must be tls.key and tls.crt. If the secret name isn’t provided, then TLS/SSL won’t be enabled.

    WorkloadReplicaStatus

    (Appears on:RisingWaveComponentStatus, RisingWaveNodeGroupStatus)

    WorkloadReplicaStatus is a common structure for replica status of some workload.

    Field Description
    replicas
    int32

    Replicas is the declared replicas of the workload.

    readyReplicas
    int32

    ReadyReplicas is the ready replicas of the workload.

    availableReplicas
    int32

    AvailableReplicas is the available replicas of the workload.

    updatedReplicas
    int32

    UpdatedReplicas is the update replicas of the workload.

    unavailableReplicas
    int32

    UnavailableReplicas is the unavailable replicas of the workload.