docs: HOWTO for cloud devops + update TEST_STAND manifests for new API Gateway

- HOWTO_IMPLEMENT_NEW_CLOUD_SERVICE.md: rules for implementing new managed services
  (naming, params, map-fixed blocks, operations, subresources, validation, checklist)
- HOWTO_ADD_NEW_SERVICE.md: how to add service to terraform provider pipeline
- TEST_STAND/*/main.tf: version 5.0.57, api_endpoint -> lk-api-gateway-test
- TEST_STAND/POSTGRES/resources.tf: rewritten for new map-fixed param structure
This commit is contained in:
“Naeel”
2026-07-02 17:38:42 +04:00
parent 612aa53caf
commit 0c8223dd11
7 changed files with 550 additions and 39 deletions
+2 -2
View File
@@ -2,7 +2,7 @@ terraform {
required_providers {
nubes = {
source = "terra.k8c.ru/nubes/nubes"
version = "2.0.6"
version = "5.0.57"
}
}
}
@@ -15,6 +15,6 @@ variable "api_token" {
provider "nubes" {
api_token = var.api_token
api_endpoint = "https://deck-api-test.ngcloud.ru/api/v1/index.cfm"
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
}
+2 -2
View File
@@ -2,7 +2,7 @@ terraform {
required_providers {
nubes = {
source = "terra.k8c.ru/nubes/nubes"
version = "2.0.8"
version = "5.0.57"
}
}
}
@@ -15,6 +15,6 @@ variable "api_token" {
provider "nubes" {
api_token = var.api_token
api_endpoint = "https://deck-api-test.ngcloud.ru/api/v1/index.cfm"
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
}
+2 -2
View File
@@ -2,7 +2,7 @@ terraform {
required_providers {
nubes = {
source = "terra.k8c.ru/nubes-test/nubes"
version = "5.0.75"
version = "5.0.57"
}
}
}
@@ -25,7 +25,7 @@ variable "realm" {
provider "nubes" {
api_token = var.api_token
api_endpoint = "https://deck-api-test.ngcloud.ru/api/v1/index.cfm"
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
# log_level = "debug" # none | info | debug, default = "none"
}
+37 -30
View File
@@ -1,38 +1,46 @@
resource "nubes_postgres" "npg" {
resource_name = "pg4tf033"
s3_uid = var.s3_uid
resource_realm = var.realm
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_name = "pg4tf033"
cluster_configuration = jsonencode({
platform = var.realm
instances = 1
memory = 512
cpu = 500
disk = "1"
})
startup_configuration = jsonencode({
appVersion = "17"
})
access_configuration = jsonencode({
needExternalAddressMaster = false
})
postgres_configuration = jsonencode({
enablePgPoolerMaster = false
enablePgPoolerSlave = false
allowNoSsl = false
s3Uid = var.s3_uid
jsonParameters = jsonencode({
log_connections = "off"
log_disconnections = "off"
})
})
backup_configuration = jsonencode({})
autoscale_configuration = jsonencode({
autoScale = false
percentage = 10
techWindow = 0
quotaGb = "1"
})
# suspend_on_destroy = false
operation_timeout = "11m"
adopt_existing_on_create = true
}
# resource "nubes_s3bucket" "baba_bucket" {
# resource_name = "baba-buck-test1"
# s3_user_uid = var.s3_uid
# bucket_name = "baba000"
# adopt_existing_on_create=true
# }
resource "nubes_postgres_user" "pg_user" {
postgres_id = nubes_postgres.npg.id
username = "user0"
@@ -45,6 +53,5 @@ resource "nubes_postgres_database" "db2_app" {
db_name = "db_terra"
db_owner = nubes_postgres_user.pg_user.username
adopt_existing_on_create = true
# suspend_on_destroy = false
}
+4 -3
View File
@@ -2,20 +2,21 @@ terraform {
required_providers {
nubes = {
source = "terra.k8c.ru/nubes-test/nubes"
version = "5.0.75"
version = "5.0.57"
}
}
}
provider "nubes" {
api_token = var.api_token
api_endpoint = "https://deck-api-test.ngcloud.ru/api/v1/index.cfm"
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
insecure = true
}
# S3 bucket — замени "buck0" на своё имя везде ниже
resource "nubes_s3bucket" "bukka" { # ← замени buck0 на своё имя ресурса
resource_name = "Бакет тест1" # ← замени buck0 на своё имя ресурса
s3_user_uid = var.s3_user_uid
s3_user_uid = "naeel-s3"
# s3_user_uid = var.s3_user_uid
bucket_name = "buck0" # ← замени buck0 на своё имя бакета
}