142 lines
4.6 KiB
Terraform
142 lines
4.6 KiB
Terraform
resource "nubes_postgres" "db2" {
|
|
# Основной Postgres-кластер для демо.
|
|
resource_name = "pg-testing"
|
|
s3_uid = "6d6061cb-b0c1-44b9-8969-a70f08fe673c"
|
|
# s3_uid = "6d6061cb-b0c1-44b9-8969-a70f08fe673c"
|
|
resource_realm = "k8s-3.ext.nubes.ru"
|
|
resource_instances = 1
|
|
resource_memory = 1024
|
|
resource_c_p_u = 1000
|
|
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
|
|
|
|
adopt_existing_on_create = true
|
|
|
|
}
|
|
|
|
# output "pg_vault_secrets" {
|
|
# value = nubes_postgres.db2.vault_secrets
|
|
# sensitive = true
|
|
# }
|
|
resource "nubes_lucee" "app1" {
|
|
# Lucee UI, который читает/пишет в Postgres.
|
|
resource_name = "lucy11"
|
|
resource_realm = nubes_postgres.db2.resource_realm
|
|
domain = "web07"
|
|
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?sslmode=require"
|
|
testds_username = nubes_postgres.db2.vault_secrets["adminUser"]
|
|
testds_password = nubes_postgres.db2.vault_secrets["adminPass"]
|
|
testds_connectionLimit = "7"
|
|
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]
|
|
|
|
adopt_existing_on_create = true
|
|
|
|
}
|
|
|
|
resource "nubes_s3bucket" "baba_bucket" {
|
|
resource_name = "baba-buck-test2"
|
|
s3_user_uid = "6d6061cb-b0c1-44b9-8969-a70f08fe673c"
|
|
bucket_name = "baba0"
|
|
# adopt_existing_on_create=true
|
|
}
|
|
|
|
|
|
|
|
resource "nubes_nodejs" "app3" {
|
|
# NodeJS демо, работающий с тем же Postgres.
|
|
resource_name = "node_0111"
|
|
resource_realm = nubes_postgres.db2.resource_realm
|
|
domain = "node07"
|
|
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
|
|
|
|
adopt_existing_on_create = true
|
|
# suspend_on_destroy = true
|
|
|
|
depends_on = [nubes_postgres.db2]
|
|
}
|
|
|
|
# resource "nubes_nodejs" "app4" {
|
|
# # NodeJS демо, работающий с тем же Postgres.
|
|
# resource_name = "node_0113"
|
|
# resource_realm = nubes_postgres.db2.resource_realm
|
|
# domain = "node07"
|
|
# 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
|
|
|
|
# adopt_existing_on_create = true
|
|
# # suspend_on_destroy = true
|
|
|
|
# depends_on = [nubes_postgres.db2]
|
|
# }
|
|
|