fix: zero-value fallback — integer→0, boolean→false; modify uses WithDefaults
This commit is contained in:
@@ -2,7 +2,7 @@ terraform {
|
||||
required_providers {
|
||||
nubes = {
|
||||
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||
version = "5.0.61"
|
||||
version = "5.1.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,9 +12,28 @@ variable "api_token" {
|
||||
sensitive = true
|
||||
description = "Nubes API token"
|
||||
}
|
||||
variable "s3_uid" {
|
||||
type = string
|
||||
sensitive = true
|
||||
description = "Nubes S3 UID"
|
||||
}
|
||||
variable "realm" {
|
||||
type = string
|
||||
sensitive = true
|
||||
description = "resource_realm parameter for nubes_postgres resource"
|
||||
}
|
||||
variable "s3_user_uid" {
|
||||
type = string
|
||||
description = "S3 user UUID"
|
||||
}
|
||||
variable "s3_name" {
|
||||
type = string
|
||||
description = "S3 user name"
|
||||
}
|
||||
|
||||
provider "nubes" {
|
||||
api_token = var.api_token
|
||||
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
|
||||
# log_level = "debug" # none | info | debug, default = "none"
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
resource "nubes_postgres" "npg_lucee" {
|
||||
resource_name = "pglucee01"
|
||||
|
||||
startup_configuration = {
|
||||
resource_realm = var.realm
|
||||
}
|
||||
|
||||
cluster_configuration = {
|
||||
cpu = 500
|
||||
memory = 512
|
||||
replicas = 1
|
||||
disk = 10
|
||||
}
|
||||
|
||||
access_configuration = {
|
||||
master_ip_space = "no-needed"
|
||||
master_access_list = jsonencode(["10.0.0.0/8"])
|
||||
slave_ip_space = "no-needed"
|
||||
slave_access_list = jsonencode([])
|
||||
}
|
||||
|
||||
postgres_configuration = {
|
||||
version = "17"
|
||||
ssl_required = true
|
||||
pooler_master = false
|
||||
pooler_slave = false
|
||||
}
|
||||
|
||||
postgres_conf = jsonencode([{
|
||||
param_name = "log_connections"
|
||||
param_value = ""
|
||||
}])
|
||||
|
||||
backup_configuration = {
|
||||
s3_uid = var.s3_uid
|
||||
retain = 14
|
||||
schedule = "0 0 * * *"
|
||||
}
|
||||
|
||||
autoscale_configuration = {
|
||||
enabled = false
|
||||
schedule = 0
|
||||
percent = 10
|
||||
quota = 100
|
||||
}
|
||||
|
||||
operation_timeout = "11m"
|
||||
adopt_existing_on_create = true
|
||||
}
|
||||
@@ -1,58 +1,34 @@
|
||||
resource "nubes_postgres" "db2" {
|
||||
resource_name = "pg-tst0"
|
||||
s3_uid = "s01325"
|
||||
# s3_uid = "s3-111805"
|
||||
resource_realm = "k8s-4-sandbox-nubes-ru"
|
||||
# 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
|
||||
}
|
||||
|
||||
resource "nubes_lucee" "app1" {
|
||||
# Lucee-приложение, зависит от Postgres
|
||||
resource_name = "lucy_0"
|
||||
# resource_realm = "k8s-3.ext.nubes.ru"
|
||||
resource_realm = "k8s-4-sandbox-nubes-ru"
|
||||
domain = "web03"
|
||||
resource_realm = var.realm
|
||||
domain = "tflucee"
|
||||
|
||||
# git_path = "https://gitea.services.ngcloud.ru/naeel/testlucee-mirror"
|
||||
# git_path = "https://gitea.services.ngcloud.ru/smishchuk/testlucee"
|
||||
# ⬆️ даёт ошибку, с том числе и при обращении к API by CURL
|
||||
# Приложение не запустилось. Производится полный откат установки.
|
||||
# Ошибка: jlib.k8s [correctReplicaActive] | ERROR | Под(ы) не работают: 'luceek8s' (Deployment).
|
||||
git_path = "https://github.com/xahys/testlucee"
|
||||
|
||||
# ⬇️ клон "https://gitea.services.ngcloud.ru/smishchuk/testlucee.git"
|
||||
git_path = "https://gitea-naeel.giteak8s.services.ngcloud.ru/naeel/testlucee"
|
||||
|
||||
# ⬇️ OK
|
||||
# git_path = "https://github.com/xahys/testlucee"
|
||||
|
||||
json_env = jsonencode({
|
||||
json_env = jsonencode({
|
||||
# 🔗 Настройки Data Source 'testds' для Lucee (Application.cfc)
|
||||
testds_class = "org.postgresql.Driver" # 📂 Драйвер БД
|
||||
testds_bundleName = "org.postgresql.jdbc" # 📦 Имя бандла 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" # ✅ Валидация при запросе
|
||||
testds_class = "org.postgresql.Driver"
|
||||
testds_bundleName = "org.postgresql.jdbc"
|
||||
testds_bundleVersion = "42.6.0"
|
||||
testds_connectionString = "jdbc:postgresql://${nubes_postgres.npg_lucee.state_out_flat["internalConnect.master"]}:5432/postgres"
|
||||
testds_username = nubes_postgres.npg_lucee.vault_secrets["adminUser"]
|
||||
testds_password = nubes_postgres.npg_lucee.vault_secrets["adminPass"]
|
||||
testds_connectionLimit = "5"
|
||||
testds_liveTimeout = "15"
|
||||
testds_validate = "false"
|
||||
|
||||
# 🐘 Переменные окружения для Lucee (доступны через GetEnv)
|
||||
PGHOST = nubes_postgres.npg_lucee.state_out_flat["internalConnect.master"]
|
||||
PGPORT = "5432"
|
||||
PGUSER = nubes_postgres.npg_lucee.vault_secrets["adminUser"]
|
||||
PGPASSWORD = nubes_postgres.npg_lucee.vault_secrets["adminPass"]
|
||||
PGSSLMODE = "require"
|
||||
DATABASE_URL = format(
|
||||
"postgresql://%s:%s@%s:5432/postgres",
|
||||
nubes_postgres.npg_lucee.vault_secrets["adminUser"],
|
||||
nubes_postgres.npg_lucee.vault_secrets["adminPass"],
|
||||
nubes_postgres.npg_lucee.state_out_flat["internalConnect.master"]
|
||||
)
|
||||
})
|
||||
|
||||
resource_c_p_u = 300
|
||||
@@ -60,36 +36,5 @@ json_env = jsonencode({
|
||||
resource_instances = 1
|
||||
app_version = "5.4"
|
||||
|
||||
depends_on = [nubes_postgres.db2]
|
||||
}
|
||||
|
||||
resource "nubes_nodejs" "app2" {
|
||||
# NodeJS-приложение, использует тот же Postgres
|
||||
resource_name = "node_0"
|
||||
# resource_realm = "k8s-3.ext.nubes.ru"
|
||||
resource_realm = "k8s-4-sandbox-nubes-ru"
|
||||
domain = "node"
|
||||
git_path = "https://gitea-naeel.giteak8s.services.ngcloud.ru/naeel/testnode"
|
||||
health_path = "/healthz"
|
||||
app_version = "23"
|
||||
|
||||
json_env = jsonencode({
|
||||
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]
|
||||
depends_on = [nubes_postgres.npg_lucee]
|
||||
}
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
api_token = ""
|
||||
api_token = ""
|
||||
s3_uid = ""
|
||||
realm = ""
|
||||
s3_user_uid = ""
|
||||
s3_name = ""
|
||||
|
||||
Reference in New Issue
Block a user