Files
tf_provider/DEV_STAND/CRUD/locals.tf
T
Repinoid 5e0df46dc8 stand(DEV/CRUD): привести к варианту TEST — adopt_existing_on_create, без git_revision
- lucee/flask/nodejs: добавлен adopt_existing_on_create = true (усыновлять существующий
  инстанс вместо падения с «ресурс с таким именем уже существует»)
- удалены git_revision и одноимённые locals (в TEST их нет)
- git_path: Nail -> terraform (проверено по HTTP: /Nail/<repo> отдаёт 301 на /terraform/<repo>)
- terraform.tfvars.example: комментарий s3_user_uid = UUID S3-пользователя

Имена ресурсов и домены оставлены dev-своими (уникальными). realm dev = k8s-3-sandbox-nubes-ru.

Проверка API dev-стенда (/instances?isDeleted=false): 9 инстансов, ни одного под сервисы
89 flask / 94 lucee / 95 nodejs и PostgreSQL; поиск crud|pg4|lucee|flask|nodejs -> 0. Коллизий нет.

НЕ исправлено (не моя правка, есть и в HEAD): terraform validate падает на nubes_nodejs.json_env —
в спеке dev-стенда у сервиса 95 объявлен обязательный sub_param DB_PASS, поэтому схема требует
объект { db_pass }, а конфигурация передаёт строку jsonencode().
2026-10-01 10:45:15 +03:00

89 lines
7.6 KiB
Terraform

# =============================================================================
# locals.tf — все настраиваемые значения модуля CRUD (PG + Lucee + Flask + Node.js)
# Никакого хардкода в ресурсах — всё здесь.
# =============================================================================
locals {
# ═══════════════════════════════════════════════════════════════════════════
# PostgreSQL — общая БД для всех трёх приложений
# ═══════════════════════════════════════════════════════════════════════════
pg_resource_name = "pg4crud" # имя ресурса в Nubes
pg_cpu = 500 # CPU в millicores (500 = 0.5 ядра)
pg_memory = 512 # память в MB
pg_replicas = 1 # количество реплик
pg_disk = 10 # диск в GB
pg_version = "17" # версия PostgreSQL
pg_retain = 14 # дней хранения бэкапов
pg_schedule = "0 0 * * *" # cron расписание бэкапов (ежедневно в полночь)
pg_timeout = "11m" # таймаут операций create/modify
# ═══════════════════════════════════════════════════════════════════════════
# PostgreSQL — пользователь и база данных
# ═══════════════════════════════════════════════════════════════════════════
pg_username = "user4crudpg" # имя пользователя БД
pg_role = "ddl_user" # роль (ddl_user = может создавать таблицы)
pg_db_name = "db4crudpg" # имя базы данных
# ═══════════════════════════════════════════════════════════════════════════
# Lucee — CFML-приложение (сервис 94)
# ═══════════════════════════════════════════════════════════════════════════
lucee_resource_name = "luceecrud" # имя ресурса в Nubes
lucee_domain = "tfluceedev" # домен (станет tfluceedev.luceek8s.dev.nubes.ru). Имя должно быть уникальным — заменяйте на своё!
lucee_version = "5.4" # версия Lucee (CFML engine)
lucee_git_path = "https://gitea.services.ngcloud.ru/terraform/tfluceecrud.git"
lucee_cpu = 300 # CPU в millicores
lucee_memory = 512 # память в MB
lucee_replicas = 1 # количество реплик
# ═══════════════════════════════════════════════════════════════════════════
# Таблица CRUD — общая для всех трёх приложений
# ═══════════════════════════════════════════════════════════════════════════
crud_table_name = "crud_items" # имя таблицы (TABLE_NAME в env)
# ═══════════════════════════════════════════════════════════════════════════
# Flask — Python-приложение (сервис 89)
# ═══════════════════════════════════════════════════════════════════════════
flask_resource_name = "flaskcrud" # имя ресурса в Nubes
flask_domain = "tfflaskdev" # домен (станет tfflaskdev.pythonk8s.dev.nubes.ru). Имя должно быть уникальным — заменяйте на своё!
flask_git_path = "https://gitea.services.ngcloud.ru/terraform/tfflaskcrud.git"
flask_cpu = 300 # CPU в millicores
flask_memory = 512 # память в MB
flask_replicas = 1 # количество реплик
# ═══════════════════════════════════════════════════════════════════════════
# Node.js — Express-приложение (сервис 95)
# ═══════════════════════════════════════════════════════════════════════════
nodejs_resource_name = "nodejscrud" # имя ресурса в Nubes
nodejs_domain = "tfnodejsdev" # домен (станет tfnodejsdev.<суффикс>.dev.nubes.ru). Имя должно быть уникальным — заменяйте на своё!
nodejs_git_path = "https://gitea.services.ngcloud.ru/terraform/tfnodejscrud.git"
nodejs_cpu = 300 # CPU в millicores
nodejs_memory = 512 # память в MB
nodejs_replicas = 1 # количество реплик
nodejs_timeout = "15m" # таймаут операций create/modify
# ═══════════════════════════════════════════════════════════════════════════
# JDBC — параметры подключения Lucee к PostgreSQL
# ═══════════════════════════════════════════════════════════════════════════
jdbc_class = "org.postgresql.Driver"
jdbc_bundle_name = "org.postgresql.jdbc"
jdbc_bundle_version = "42.6.0"
jdbc_conn_limit = "5" # макс. количество соединений
jdbc_live_timeout = "15" # таймаут неактивного соединения (минут)
jdbc_validate = "false" # валидация соединения при выдаче из пула
# ═══════════════════════════════════════════════════════════════════════════
# PostgreSQL — общие параметры подключения
# ═══════════════════════════════════════════════════════════════════════════
pg_port = "5432" # порт PostgreSQL
pg_ssl_mode = "require" # SSL-режим (require = обязательно TLS)
}