Files
tf_provider/DEV_STAND/CRUD/nodejs.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

50 lines
1.4 KiB
Terraform

# =============================================================================
# Node.js — CRUD (та же PG, та же таблица что у Lucee/Flask)
# =============================================================================
locals {
nodejs_pg_host = nubes_postgres.main_pg.state_out_flat["internalMaster"]
nodejs_pg_user = nubes_postgres_user.crud_user_0.username
nodejs_pg_pass = nonsensitive(jsondecode(nubes_postgres.main_pg.vault_secrets["users"]).user4crudpg.password)
nodejs_pg_db = nubes_postgres_database.pg_db.db_name
}
resource "nubes_nodejs" "appnodejs" {
resource_name = local.nodejs_resource_name
adopt_existing_on_create = true
startup_configuration = {
resource_realm = var.realm
}
cluster_configuration = {
cpu = local.nodejs_cpu
memory = local.nodejs_memory
replicas = local.nodejs_replicas
}
access_configuration = {
domain = local.nodejs_domain
}
app_configuration = {
version = "22"
git_path = local.nodejs_git_path
health_path = "/"
}
operation_timeout = local.nodejs_timeout
json_env = jsonencode({
TABLE_NAME = local.crud_table_name
PGHOST = local.nodejs_pg_host
PGPORT = local.pg_port
PGUSER = local.nodejs_pg_user
PGPASSWORD = local.nodejs_pg_pass
PGDATABASE = local.nodejs_pg_db
PGSSLMODE = local.pg_ssl_mode
})
depends_on = [nubes_postgres.main_pg]
}