Was this page helpful?
Caution
You're viewing documentation for an unstable version of ScyllaDB Operator. Switch to the latest stable version.
Configure ScyllaDB Operator¶
This page explains how to configure ScyllaDB Operator’s global settings using the ScyllaOperatorConfig resource.
Overview¶
ScyllaOperatorConfig is a cluster-scoped singleton resource named cluster. ScyllaDB Operator creates it automatically on startup if it does not exist. It holds global settings that affect all ScyllaDB clusters managed by ScyllaDB Operator, such as auxiliary container images and the Kubernetes cluster domain.
Most users do not need to modify this resource. ScyllaDB Operator ships with sensible defaults that are updated automatically when you upgrade.
Tip
You can inspect all available fields with:
kubectl explain --api-version='scylla.scylladb.com/v1alpha1' ScyllaOperatorConfig.spec
View the current configuration¶
kubectl get scyllaoperatorconfig cluster -o yaml
The status section shows the resolved values that are actually in use, including auto-discovered defaults:
status:
scyllaDBUtilsImage: docker.io/scylladb/scylla:2025.1.9@sha256:...
bashToolsImage: registry.access.redhat.com/ubi9/ubi:9.5-...@sha256:...
grafanaImage: docker.io/grafana/grafana:12.2.0@sha256:...
prometheusVersion: v3.6.0
clusterDomain: cluster.local
Configurable fields¶
Spec field |
Description |
Default |
|---|---|---|
|
ScyllaDB image used for running utility scripts (perftune, sysctl). Determines which tuning scripts are used for performance optimization. |
Latest ScyllaDB image. |
|
Kubernetes cluster domain. Must be a fully qualified domain name. |
Auto-discovered via DNS lookup of |
|
Override the Bash tools image. Unsupported — for advanced use only. |
UBI 9 image. |
|
Override the Grafana image. Unsupported — for advanced use only. |
Official Grafana image. |
|
Override the Prometheus version. Unsupported — for advanced use only. |
Latest tested Prometheus version. |
Caution
Fields prefixed with unsupported are not covered by the regular support policy. Use them only if you have a specific reason and understand the implications.
Change the ScyllaDB utils image¶
By default, ScyllaDB Operator uses performance tuning scripts from the latest ScyllaDB image. To use a different image, set scyllaUtilsImage:
apiVersion: scylla.scylladb.com/v1alpha1
kind: ScyllaOperatorConfig
metadata:
name: cluster
spec:
scyllaUtilsImage: "docker.io/scylladb/scylla-enterprise:2026.1.3"
Apply the change:
kubectl apply --server-side -f scyllaoperatorconfig.yaml
The NodeConfig DaemonSet picks up the new image and uses Enterprise-specific tuning scripts on the next reconciliation.
Set the cluster domain¶
ScyllaDB Operator auto-discovers the Kubernetes cluster domain by performing a DNS CNAME lookup for kubernetes.default.svc. If your cluster uses a non-standard domain or the auto-discovery does not work, set it explicitly:
apiVersion: scylla.scylladb.com/v1alpha1
kind: ScyllaOperatorConfig
metadata:
name: cluster
spec:
configuredClusterDomain: my-cluster.local
The cluster domain is used internally for Kubernetes DNS resolution. Most users do not need to override it.
How settings propagate¶
ScyllaOperatorConfig settings are consumed by several Operator controllers:
Consumer |
Setting used |
|---|---|
NodeConfig controller |
|
ScyllaDBMonitoring controller |
|
Changes to ScyllaOperatorConfig trigger reconciliation in all dependent controllers. You do not need to restart Operator.