Skip to main content

okustera_database_clickhouse (Resource)

The okustera_database_clickhouse resource provisions and manages a managed ClickHouse columnar database cluster orchestrated by the Altinity ClickHouse Operator. ClickHouse is optimized for real-time analytical queries (OLAP), time-series telemetry, and LLM observability tracing (such as Langfuse), backed by distributed Ceph NVMe block storage.

Example Usage​

Single-Node Development ClickHouse Cluster​

resource "okustera_database_clickhouse" "dev_analytics" {
name = "dev-analytics"
namespace = "default"
replicas = 1
storage_size = "10Gi"
}

output "clickhouse_http_endpoint" {
value = okustera_database_clickhouse.dev_analytics.service_endpoint
}

Production Analytical Cluster with Custom StorageClass and 24.3 Version​

resource "okustera_database_clickhouse" "prod_telemetry" {
name = "prod-telemetry"
namespace = "analytics-prod"
version = "24.3"
replicas = 2
storage_size = "100Gi"
storage_class = "ceph-rbd"
}

output "clickhouse_connection_uri" {
value = okustera_database_clickhouse.prod_telemetry.connection_uri
sensitive = true
}

output "clickhouse_service_endpoint" {
value = okustera_database_clickhouse.prod_telemetry.service_endpoint
}

Schema​

Required​

  • name (String) Unique name of the ClickHouse cluster.

Optional​

  • namespace (String) Kubernetes namespace for the ClickHouse cluster pods. Defaults to default.
  • version (String) ClickHouse server version. Defaults to 24.3.
  • replicas (Number) Number of ClickHouse cluster node replicas. Defaults to 1.
  • storage_size (String) Persistent volume claim size per node (e.g. "10Gi", "100Gi"). Defaults to "10Gi".
  • storage_class (String) Kubernetes StorageClass name. Defaults to block-rbd1.

Read-Only Attributes​

  • id (String) Unique cluster identifier.
  • service_endpoint (String) Cluster HTTP/REST endpoint URL (port 8123) for query execution.
  • connection_uri (String, Sensitive) Formatted client connection URI with vaulted credentials.
  • status (String) Current operational health status (Running, Creating, Failed).

Import​

Existing ClickHouse clusters can be imported using their cluster name (or namespace/name):

terraform import okustera_database_clickhouse.prod_telemetry analytics-prod/prod-telemetry