resource "nubes_postgres" "db2" { # Основной Postgres-кластер для демо. resource_name = "pg-tst0" s3_uid = "6d6061cb-b0c1-44b9-8969-a70f08fe673c" # s3_uid = "s3-111805" resource_realm = "k8s-3.ext.nubes.ru" resource_instances = 1 resource_memory = 512 resource_c_p_u = 500 resource_disk = "1" app_version = "17" json_parameters = jsonencode({ # Выключаем подробные логи подключений в демо. log_connections = "off" log_disconnections = "off" }) enable_pg_pooler_master = false enable_pg_pooler_slave = false allow_no_s_s_l = false auto_scale = false auto_scale_percentage = 10 auto_scale_tech_window = 0 auto_scale_quota_gb = "1" need_external_address_master = false } output "pg_vault_secrets" { value = nubes_postgres.db2.vault_secrets sensitive = true } resource "nubes_lucee" "app1" { # Lucee UI, который читает/пишет в Postgres. resource_name = "lucy1" resource_realm = nubes_postgres.db2.resource_realm domain = "web03" git_path = "https://gitea-naeel.giteak8s.services.ngcloud.ru/naeel/testlucee.git" json_env = jsonencode({ # JDBC datasource для Lucee. testds_class = "org.postgresql.Driver" testds_bundleName = "org.postgresql.jdbc" testds_bundleVersion = "42.6.0" testds_connectionString = "jdbc:postgresql://${nubes_postgres.db2.state_out_flat["internalConnect.master"]}:5432/postgres" testds_username = nubes_postgres.db2.vault_secrets["adminUser"] testds_password = nubes_postgres.db2.vault_secrets["adminPass"] testds_connectionLimit = "5" testds_liveTimeout = "15" testds_validate = "false" }) resource_c_p_u = 300 resource_memory = 512 resource_instances = 1 app_version = "5.4" depends_on = [nubes_postgres.db2] } resource "nubes_nodejs" "app3" { # NodeJS демо, работающий с тем же Postgres. resource_name = "node_0" resource_realm = nubes_postgres.db2.resource_realm domain = "node" git_path = "https://gitea-naeel.giteak8s.services.ngcloud.ru/naeel/testnode.git" health_path = "/healthz" app_version = "23" json_env = jsonencode({ # Переменные подключения к Postgres. PGHOST = nubes_postgres.db2.state_out_flat["internalConnect.master"] PGPORT = "5432" PGUSER = nubes_postgres.db2.vault_secrets["adminUser"] PGPASSWORD = nubes_postgres.db2.vault_secrets["adminPass"] PGSSLMODE = "require" DATABASE_URL = format( "postgresql://%s:%s@%s:5432/postgres", nubes_postgres.db2.vault_secrets["adminUser"], nubes_postgres.db2.vault_secrets["adminPass"], nubes_postgres.db2.state_out_flat["internalConnect.master"] ) }) resource_c_p_u = 300 resource_memory = 256 resource_instances = 1 depends_on = [nubes_postgres.db2] }