terraform-contour-mirror/modules/yc-postgresql/main.tf
kochetkov.s cd68e73e40 feat: Add Terraform infrastructure for pulse project
- Add modules: yc-s3, yc-postgresql, k8s-namespace, k8s-secrets
- Add live configuration for stage environment
- Add GitLab CI with downstream pipelines
- Implement best practices from theory.md
2026-01-19 15:15:14 +03:00

56 lines
1.2 KiB
HCL

# Генерация пароля для PostgreSQL (32 символа без специальных)
resource "random_password" "pg_password" {
length = 32
special = false
upper = true
lower = true
numeric = true
}
# Создание кластера PostgreSQL
resource "yandex_mdb_postgresql_cluster" "pulse" {
name = var.cluster_name
description = "PostgreSQL cluster for pulse project"
environment = var.environment
network_id = var.network_id
folder_id = var.folder_id
config {
version = var.postgresql_version
resources {
resource_preset_id = var.resource_preset_id
disk_type_id = var.disk_type_id
disk_size = var.disk_size
}
postgresql_config = var.postgresql_config
}
database {
name = var.database_name
owner = var.database_user
}
user {
name = var.database_user
password = random_password.pg_password.result
permission {
database_name = var.database_name
}
}
host {
zone = var.zone
subnet_id = var.subnet_id
}
maintenance_window {
type = var.maintenance_window_type
day = var.maintenance_window_day
hour = var.maintenance_window_hour
}
deletion_protection = var.deletion_protection
}