diff --git a/TEST_STAND/PG/resources.tf b/TEST_STAND/PG/resources.tf index 6f53347..3f3ae60 100644 --- a/TEST_STAND/PG/resources.tf +++ b/TEST_STAND/PG/resources.tf @@ -1,31 +1,39 @@ +# ============================================================================= +# PostgreSQL — основной ресурс +# ============================================================================= resource "nubes_postgres" "npg" { - resource_name = "pg4tf033777" + resource_name = "pg4tf033777" # ← ЗАМЕНИ на своё имя + # ── Платформа развёртывания ── startup_configuration = jsonencode({ - resourceRealm = var.realm + resourceRealm = var.realm # ← задаётся в terraform.tfvars }) + # ── Размер кластера ── cluster_configuration = jsonencode({ - cpu = "500" - memory = "512" - replicas = "1" - disk = "10" + cpu = "500" # ← милликоры (1000 = 1 vCPU) + memory = "512" # ← MB + replicas = "1" # ← количество нод (1 = без реплики) + disk = "10" # ← GB }) + # ── Сетевой доступ ── access_configuration = jsonencode({ - masterIpSpace = "no-needed" - masterAccessList = [] - slaveIpSpace = "no-needed" - slaveAccessList = [] + masterIpSpace = "no-needed" # ← ipSpace для внешнего IP master + masterAccessList = [] # ← список IP/сетей для доступа к master + slaveIpSpace = "no-needed" # ← ipSpace для внешнего IP slave + slaveAccessList = [] # ← список IP/сетей для доступа к slave }) + # ── Параметры PostgreSQL ── postgres_configuration = jsonencode({ - version = "17" - sslRequired = true - poolerMaster = false - poolerSlave = false + version = "17" # ← версия PostgreSQL (16, 17, ...) + sslRequired = true # ← требовать SSL + poolerMaster = false # ← PgBouncer для master + poolerSlave = false # ← PgBouncer для slave }) + # ── Доп. параметры postgresql.conf (опционально, можно удалить блок) ── postgres_conf = jsonencode([ { paramName = "log_connections" @@ -33,33 +41,41 @@ resource "nubes_postgres" "npg" { } ]) + # ── Резервное копирование ── backup_configuration = jsonencode({ - s3Uid = var.s3_uid - retain = "7" - schedule = "0 0 * * *" + s3Uid = var.s3_uid # ← UUID S3 (задаётся в terraform.tfvars) + retain = "7" # ← сколько бэкапов хранить + schedule = "0 0 * * *" # ← cron-расписание }) + # ── Автоскейлинг ── autoscale_configuration = jsonencode({ - enabled = false - schedule = "0" - percent = "10" - quota = "100" + enabled = false # ← включить автоскейлинг + schedule = "0" # ← tech window + percent = "10" # ← процент увеличения + quota = "100" # ← максимальный размер диска (GB) }) operation_timeout = "11m" - adopt_existing_on_create = true + adopt_existing_on_create = true # ← true = подхватить существующий инстанс } +# ============================================================================= +# PostgreSQL — пользователь +# ============================================================================= resource "nubes_postgres_user" "pg_user" { postgres_id = nubes_postgres.npg.id - username = "user0" - role = "ddl_user" + username = "user0" # ← ЗАМЕНИ на своё имя пользователя + role = "ddl_user" # ← app_user (базовый) или ddl_user (расширенный) adopt_existing_on_create = true } +# ============================================================================= +# PostgreSQL — база данных +# ============================================================================= resource "nubes_postgres_database" "db2_app" { postgres_id = nubes_postgres.npg.id - db_name = "dbterra" + db_name = "dbterra" # ← ЗАМЕНИ на своё имя БД (без подчёркиваний!) db_owner = nubes_postgres_user.pg_user.username adopt_existing_on_create = true } diff --git a/TEST_STAND/POSTGRES/resources.tf b/TEST_STAND/POSTGRES/resources.tf index b07ff89..b68f7f2 100644 --- a/TEST_STAND/POSTGRES/resources.tf +++ b/TEST_STAND/POSTGRES/resources.tf @@ -6,26 +6,33 @@ resource "nubes_postgres" "npg" { }) cluster_configuration = jsonencode({ - cpu = 500 - memory = 512 - replicas = 1 - disk = "1" + cpu = "500" + memory = "512" + replicas = "1" + disk = "10" }) access_configuration = jsonencode({ - masterIpSpace = "" - masterAccessList = "" - slaveIpSpace = "" - slaveAccessList = "" + masterIpSpace = "no-needed" + masterAccessList = [] + slaveIpSpace = "no-needed" + slaveAccessList = [] }) postgres_configuration = jsonencode({ version = "17" - sslRequired = false + sslRequired = true poolerMaster = false poolerSlave = false }) + postgres_conf = jsonencode([ + { + paramName = "log_connections" + paramValue = "''" + } + ]) + backup_configuration = jsonencode({ s3Uid = var.s3_uid retain = "7" @@ -34,9 +41,9 @@ resource "nubes_postgres" "npg" { autoscale_configuration = jsonencode({ enabled = false - schedule = "" - quota = "1" - percent = 10 + schedule = "0" + percent = "10" + quota = "100" }) operation_timeout = "11m" @@ -52,7 +59,7 @@ resource "nubes_postgres_user" "pg_user" { resource "nubes_postgres_database" "db2_app" { postgres_id = nubes_postgres.npg.id - db_name = "db_terra" + db_name = "dbterra" db_owner = nubes_postgres_user.pg_user.username adopt_existing_on_create = true }