67 lines
1.7 KiB
Terraform
67 lines
1.7 KiB
Terraform
# =============================================================================
|
|
# ClickHouse — аналитическая БД
|
|
# =============================================================================
|
|
resource "nubes_clickhouse" "main" {
|
|
resource_name = local.ch_resource_name
|
|
|
|
startup_configuration = {
|
|
resource_realm = var.realm
|
|
}
|
|
|
|
cluster_configuration = {
|
|
cpu = local.ch_cpu
|
|
memory = local.ch_memory
|
|
disk = local.ch_disk
|
|
replicas = local.ch_replicas
|
|
shards = local.ch_shards
|
|
}
|
|
|
|
access_configuration = {
|
|
master_ip_space = "no-needed"
|
|
master_access_list = jsonencode(["10.0.0.0/8"])
|
|
}
|
|
|
|
clickhouse_configuration = {
|
|
version = local.ch_version
|
|
}
|
|
|
|
clickhouse_keeper_configuration = {
|
|
cpu = 500
|
|
memory = 512
|
|
replicas = 1
|
|
}
|
|
|
|
backup_configuration = {
|
|
s3_uid = var.s3_name
|
|
retain = 7
|
|
schedule = "0 0 * * *"
|
|
}
|
|
|
|
autoscale_configuration = {
|
|
enabled = false
|
|
percent = 10
|
|
quota = 100
|
|
schedule = 0
|
|
}
|
|
|
|
operation_timeout = local.ch_timeout
|
|
}
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# ClickHouse Database
|
|
# -----------------------------------------------------------------------------
|
|
resource "nubes_clickhouse_database" "iot" {
|
|
clickhouse_id = nubes_clickhouse.main.id
|
|
db_name = local.ch_db_name
|
|
}
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# ClickHouse User
|
|
# -----------------------------------------------------------------------------
|
|
resource "nubes_clickhouse_user" "writer" {
|
|
clickhouse_id = nubes_clickhouse.main.id
|
|
username = local.ch_username
|
|
db_name = nubes_clickhouse_database.iot.db_name
|
|
access_hosts = "0.0.0.0/0"
|
|
}
|