add SHTURVAL_MGMT example

This commit is contained in:
2026-07-21 10:01:30 +04:00
parent 3180eaba67
commit fc6d80de96
4 changed files with 108 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# =============================================================================
# locals.tf — настраиваемые значения для Менеджмент Kubernetes кластер Штурвал
# Сервис 148 — vc_mgmt_sthutrval_cluster
# =============================================================================
locals {
# ─── Имя ресурса ─────────────────────────────────────────────────────────
shturval_mgmt_name = "shturval-mgmt-dev"
# ─── Startup Configuration ───────────────────────────────────────────────
# resource_realm — только sandbox.nubes.ru для dev
shturval_realm = "sandbox.nubes.ru"
shturval_cluster_name = "shturval-mgmt-dev-00"
# ─── Cluster Configuration ───────────────────────────────────────────────
shturval_app_version = "2.13.1" # 2.13.1 | 2.12.1 | 2.11.0
# ─── Control Plane Configuration ─────────────────────────────────────────
shturval_cp_sizing_policy = "TKG 4CPU 8RAM" # TKG 4CPU 8RAM | TKG 8CPU 16RAM | TKG 16CPU 32RAM
shturval_cp_sizing_disk = 50 # ГБ
shturval_cp_count = 1 # 1 | 3 | 5
# ─── Worker Configuration ────────────────────────────────────────────────
# JSON-строка, массив групп воркеров. Все поля имеют defaults.
shturval_worker_config = jsonencode([
{
groupName = "workers-shturval-mgmt"
sizingPolicy = "TKG 4CPU 8RAM"
sizingDisk = 50
count = 2
}
])
# ─── Access Configuration ────────────────────────────────────────────────
shturval_api_need_external = true
shturval_api_access_ip_list = "[]" # пусто = доступ всем
shturval_ingress_need_external = true
shturval_ingress_access_ip_list = "[]" # пусто = доступ всем
}
+29
View File
@@ -0,0 +1,29 @@
terraform {
required_providers {
nubes = {
source = "registry.kube5s.ru/nubes-dev/nubes"
version = "3.1.13"
}
}
}
variable "api_token" {
type = string
sensitive = true
description = "Nubes API token"
}
variable "realm" {
type = string
description = "resource_realm for Штурвал (sandbox.nubes.ru)"
}
variable "sizing_policy" {
type = string
description = "Control plane sizing policy (зависит от ресурсной платформы)"
}
provider "nubes" {
api_token = var.api_token
api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
+32
View File
@@ -0,0 +1,32 @@
# =============================================================================
# Менеджмент Kubernetes кластер Штурвал (сервис 148)
# Ресурс: nubes_vc_mgmt_sthutrval_cluster
# =============================================================================
resource "nubes_vc_mgmt_sthutrval_cluster" "shturval_mgmt" {
resource_name = local.shturval_mgmt_name
startup_configuration = {
resource_realm = local.shturval_realm
cluster_name = local.shturval_cluster_name
}
cluster_configuration = {
app_version = local.shturval_app_version
}
control_plane_configuration = {
sizing_policy = var.sizing_policy # ⚠️ обязательный, передаётся через tfvars
sizing_disk = local.shturval_cp_sizing_disk
count = local.shturval_cp_count
}
worker_configuration = local.shturval_worker_config
access_configuration = {
need_external_address_a_p_i = local.shturval_api_need_external
access_ip_list_a_p_i = local.shturval_api_access_ip_list
need_external_address_ingress = local.shturval_ingress_need_external
access_ip_list_ingress = local.shturval_ingress_access_ip_list
}
}
+8
View File
@@ -0,0 +1,8 @@
# =============================================================================
# terraform.tfvars.example — пример переменных для Штурвал Management (148)
# Скопировать в terraform.tfvars и заполнить реальными значениями
# =============================================================================
api_token = "ваш_api_токен"
realm = "sandbox.nubes.ru"
sizing_policy = "TKG 4CPU 8RAM" # TKG 4CPU 8RAM (мин) | TKG 8CPU 16RAM | TKG 16CPU 32RAM