add Node.js to DEV_STAND/CRUD, comment every line in locals.tf

This commit is contained in:
“Naeel”
2026-07-21 07:36:06 +04:00
parent 664ab51b0d
commit 6dfe156b39
2 changed files with 122 additions and 38 deletions
+75 -38
View File
@@ -1,54 +1,91 @@
# =============================================================================
# locals.tf — все настраиваемые значения модуля CRUD (PG + Lucee + Flask)
# locals.tf — все настраиваемые значения модуля CRUD (PG + Lucee + Flask + Node.js)
# Никакого хардкода в ресурсах — всё здесь.
# =============================================================================
locals {
# ─── PostgreSQL ──────────────────────────────────────────────────────────
pg_resource_name = "pg4crud"
pg_cpu = 500
pg_memory = 512
pg_replicas = 1
pg_disk = 10
pg_version = "17"
pg_retain = 14
pg_schedule = "0 0 * * *"
pg_timeout = "11m"
# ─── PostgreSQL User ─────────────────────────────────────────────────────
pg_username = "user4crudpg"
pg_role = "ddl_user"
pg_db_name = "db4crudpg"
# ═══════════════════════════════════════════════════════════════════════════
# PostgreSQL — общая БД для всех трёх приложений
# ═══════════════════════════════════════════════════════════════════════════
# ─── Lucee ───────────────────────────────────────────────────────────────
lucee_git_revision = "94d6677"
lucee_resource_name = "luceecrud"
lucee_domain = "tfluceedev"
lucee_version = "5.4"
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_git_revision = "94d6677" # коммит/тег в git (менять для редеплоя)
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/Nail/tfluceecrud.git"
lucee_cpu = 300
lucee_memory = 512
lucee_replicas = 1
lucee_cpu = 300 # CPU в millicores
lucee_memory = 512 # память в MB
lucee_replicas = 1 # количество реплик
# ─── Таблица CRUD ────────────────────────────────────────────────────────
crud_table_name = "crud_items"
# ═══════════════════════════════════════════════════════════════════════════
# Таблица CRUD — общая для всех трёх приложений
# ═══════════════════════════════════════════════════════════════════════════
# ─── Flask ───────────────────────────────────────────────────────────────
flask_git_revision = "34c030c"
flask_resource_name = "flaskcrud"
flask_domain = "tfflaskdev"
crud_table_name = "crud_items" # имя таблицы (TABLE_NAME в env)
# ═══════════════════════════════════════════════════════════════════════════
# Flask — Python-приложение (сервис 89)
# ═══════════════════════════════════════════════════════════════════════════
flask_git_revision = "34c030c" # коммит/тег в git (менять для редеплоя)
flask_resource_name = "flaskcrud" # имя ресурса в Nubes
flask_domain = "tfflaskdev" # домен (станет tfflaskdev.pythonk8s.dev.nubes.ru)
flask_git_path = "https://gitea.services.ngcloud.ru/Nail/tfflaskcrud.git"
flask_cpu = 300
flask_memory = 512
flask_replicas = 1
flask_cpu = 300 # CPU в millicores
flask_memory = 512 # память в MB
flask_replicas = 1 # количество реплик
# ═══════════════════════════════════════════════════════════════════════════
# Node.js — Express-приложение (сервис 95)
# ═══════════════════════════════════════════════════════════════════════════
nodejs_git_revision = "1c646c6" # коммит/тег в git (менять для редеплоя)
nodejs_resource_name = "nodejscrud" # имя ресурса в Nubes
nodejs_domain = "tfnodejsdev" # домен (станет tfnodejsdev.<суффикс>.dev.nubes.ru)
nodejs_git_path = "https://gitea.services.ngcloud.ru/Nail/tfnodejscrud.git"
nodejs_cpu = 300 # CPU в millicores
nodejs_memory = 512 # память в MB
nodejs_replicas = 1 # количество реплик
nodejs_timeout = "15m" # таймаут операций create/modify
# ═══════════════════════════════════════════════════════════════════════════
# JDBC — параметры подключения Lucee к PostgreSQL
# ═══════════════════════════════════════════════════════════════════════════
# ─── JDBC / БД ───────────────────────────────────────────────────────────
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"
pg_port = "5432"
pg_ssl_mode = "require"
jdbc_conn_limit = "5" # макс. количество соединений
jdbc_live_timeout = "15" # таймаут неактивного соединения (минут)
jdbc_validate = "false" # валидация соединения при выдаче из пула
# ═══════════════════════════════════════════════════════════════════════════
# PostgreSQL — общие параметры подключения
# ═══════════════════════════════════════════════════════════════════════════
pg_port = "5432" # порт PostgreSQL
pg_ssl_mode = "require" # SSL-режим (require = обязательно TLS)
}
+47
View File
@@ -0,0 +1,47 @@
# =============================================================================
# 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
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 = "/"
}
git_revision = local.nodejs_git_revision
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
})
depends_on = [nubes_postgres.main_pg]
}