The module lifecycle stagePreview
The module has requirements for installation

Starrocks

The Starrocks resource describes a StarRocks analytical database instance in a user namespace. StarRocks is an OLAP database for real-time analytics: it accepts SQL queries, ingests data through load jobs (including Stream Load), and stores columnar data on persistent volumes managed by the operator.

Each Starrocks resource must reference a StarrocksClass that defines allowed CPU/memory sizes and which configuration parameters users may override.

Basic Example

apiVersion: managed-services.deckhouse.io/v1alpha1
kind: Starrocks
metadata:
  name: analytics
  namespace: my-team
spec:
  starrocksClassName: default
  tls:
    mode: CertManager
    certManager:
      clusterIssuerName: selfsigned
  configuration:
    catalogTrashExpireSecond: 7200
  instance:
    memory:
      size: 4Gi
    cpu:
      cores: 2
      coreFraction: "50%"
    persistentVolumeClaim:
      size: 120Gi

Spec Fields

starrocksClassName

Name of the StarrocksClass used for sizing policy validation and configuration defaults. Required.

instance

Compute and storage sizing for the StarRocks cluster:

  • memory.size — RAM available to StarRocks FE/BE pods. Analytical workloads typically require several GiB; minimum depends on the linked StarrocksClass.
  • cpu.cores and cpu.coreFraction — CPU limits and request fraction.
  • persistentVolumeClaim.size — disk space for StarRocks data. Size cannot be decreased after creation.
  • persistentVolumeClaim.storageClassName (optional) — storage class for data volumes.

configuration

User-overridable StarRocks settings allowed by the linked StarrocksClass (spec.overridableConfiguration). Only hot-reloadable keys can be listed there today:

  • catalogTrashExpireSecond — how long the FE keeps dropped catalog objects before cleanup (maps to catalog_trash_expire_second; applied live via ADMIN SET FRONTEND CONFIG).
  • streamingLoadMaxMb — max Stream Load request size in MB (maps to streaming_load_max_mb; applied live via BE HTTP update_config).

Class defaults such as enableUdf and loadProcessMaxMemoryLimitPercent are not part of Starrocks.spec.configuration (set only on the class; restart / new class required).

tls

Optional TLS for the FE HTTP proxy (HTTPS on port 8443). The MySQL query port (9030) does not use TLS.

  • Omit tls — no TLS (HTTP feproxy only).
  • mode: CertManager (default when tls is set) — operator issues a certificate via cert-manager; set certManager.clusterIssuerName.
  • mode: CustomCertificate — reference existing TLS secrets (customCertificate.serverTLSSecret / serverCASecret).

When TLS is enabled, the agent reports certificate health in status.certificate.server (ttl in whole days until expiry, failed if the secret or mounted cert is missing/unreadable).

MySQL clients connecting to port 9030 must disable TLS, for example:

mysql -h<host> -P9030 -uroot -p'<password>' --ssl=false

Root credentials

The operator creates Secret <prefix>-<name>-root-creds with key password (auto-generated alphanumeric). The StarRocks container and the agent sidecar receive it as STARROCKS_ROOT_PASSWORD.

Status Conditions

The operator reports conditions such as Available, ConfigurationValid, LastValidConfigurationApplied, and ScaledToLastValidConfiguration. With TLS enabled, also check status.certificate.server. Inspect with:

kubectl get starrocks -n my-team
kubectl describe starrocks analytics -n my-team
kubectl get starrocks analytics -n my-team -o jsonpath='{.status.certificate}' ; echo

Usage Examples

Minimal Instance

Smallest size allowed by the built-in default class (2 cores / 4Gi):

apiVersion: managed-services.deckhouse.io/v1alpha1
kind: Starrocks
metadata:
  name: minimal
  namespace: my-team
spec:
  starrocksClassName: default
  instance:
    memory:
      size: 4Gi
    cpu:
      cores: 2
      coreFraction: "50%"
    persistentVolumeClaim:
      size: 10Gi

Production-Sized Instance

For heavier analytical workloads with larger data volumes:

apiVersion: managed-services.deckhouse.io/v1alpha1
kind: Starrocks
metadata:
  name: warehouse
  namespace: analytics
spec:
  starrocksClassName: production
  configuration:
    catalogTrashExpireSecond: 86400
    streamingLoadMaxMb: 102400
  instance:
    memory:
      size: 16Gi
    cpu:
      cores: 8
      coreFraction: "100%"
    persistentVolumeClaim:
      size: 500Gi
      storageClassName: fast-ssd