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 todefault.version(String) ClickHouse server version. Defaults to24.3.replicas(Number) Number of ClickHouse cluster node replicas. Defaults to1.storage_size(String) Persistent volume claim size per node (e.g."10Gi","100Gi"). Defaults to"10Gi".storage_class(String) Kubernetes StorageClass name. Defaults toblock-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