191 lines
5.6 KiB
Terraform
191 lines
5.6 KiB
Terraform
variable "api_token" {
|
|
type = string
|
|
sensitive = true
|
|
description = "API-токен Nubes"
|
|
}
|
|
|
|
variable "api_endpoint" {
|
|
type = string
|
|
default = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
|
|
description = "API Gateway URL"
|
|
}
|
|
|
|
# Имя (display_name, напр. "kontora") ИЛИ UUID организации из ЛК
|
|
variable "organization" {
|
|
type = string
|
|
description = "Имя или UUID организации (vc_org)"
|
|
}
|
|
|
|
# --- Модификаторы (IP на орге + SNAT на эдже) ---
|
|
|
|
variable "ip_space_name" {
|
|
type = string
|
|
description = "Имя ipSpace, доступное организации (смотреть в ЛК, напр. internet-ipv4-v1)"
|
|
}
|
|
|
|
variable "ip_count" {
|
|
type = string
|
|
default = "3"
|
|
description = "Сколько внешних IP выделить на организации (count — строка)"
|
|
}
|
|
|
|
variable "vdc_resource_name" {
|
|
type = string
|
|
default = "fullpipe-vdc"
|
|
description = "Имя VDC"
|
|
}
|
|
|
|
variable "vdc_network_provider" {
|
|
type = string
|
|
default = null
|
|
description = "Сетевой провайдер. Заполнить значением из текущей страницы ЛК"
|
|
}
|
|
|
|
variable "vdc_provider_vdc" {
|
|
type = string
|
|
default = null
|
|
description = "Provider VDC. Заполнить значением из текущей страницы ЛК"
|
|
}
|
|
|
|
variable "vdc_cpu_allocated" {
|
|
type = number
|
|
default = 8
|
|
description = "vCPU (шт.)"
|
|
}
|
|
|
|
variable "vdc_cpu_guaranteed" {
|
|
type = number
|
|
default = 0
|
|
description = "Резервирование vCPU (%, допустимо: 0, 50, 80)"
|
|
}
|
|
|
|
variable "vdc_mem_allocated" {
|
|
type = number
|
|
default = 32
|
|
description = "RAM (GB)"
|
|
}
|
|
|
|
variable "vdc_storage_config" {
|
|
type = string
|
|
default = "[{\"name\":\"SATA\",\"size\":\"200\"}]"
|
|
description = "Дисковое хранилище (JSON-массив, size в GB). Имя политики должно существовать в ресурсном пуле (например, SATA, SSD)"
|
|
}
|
|
|
|
# --- vc_nsxt (Сетевой шлюз периметра / Edge) ---
|
|
|
|
variable "nsxt_resource_name" {
|
|
type = string
|
|
default = "fullpipe-edge"
|
|
description = "Имя Edge (vc_nsxt)"
|
|
}
|
|
|
|
variable "nsxt_vdc_type" {
|
|
type = string
|
|
default = "vdc"
|
|
description = "Тип родительской услуги: vdc или vdcGroup"
|
|
}
|
|
|
|
variable "nsxt_need_enable_avi" {
|
|
type = bool
|
|
default = true
|
|
description = "Включить AVI Load Balancer (ALB)"
|
|
}
|
|
|
|
variable "nsxt_virtual_services_count" {
|
|
type = number
|
|
default = 3
|
|
description = "Кол-во виртуальных сервисов на AVI (1..4; Штурвал: ≥ 3)"
|
|
}
|
|
|
|
variable "nsxt_ip_addr_pool" {
|
|
type = string
|
|
default = "10.10.102.0/24"
|
|
description = "Адресный пул routed-сети (маска /24 обязательна)"
|
|
}
|
|
|
|
variable "nsxt_main_dns" {
|
|
type = string
|
|
default = "81.22.46.22"
|
|
description = "Основной DNS"
|
|
}
|
|
|
|
variable "nsxt_second_dns" {
|
|
type = string
|
|
default = "185.247.187.77"
|
|
description = "Второй DNS"
|
|
}
|
|
|
|
# --- Штурвал (менеджмент-кластер Kubernetes, сервис 148) ---
|
|
|
|
variable "shturval_resource_name" {
|
|
type = string
|
|
default = "shturval-mgmt-dev"
|
|
description = "Имя услуги Штурвал в ЛК"
|
|
}
|
|
|
|
variable "shturval_realm" {
|
|
type = string
|
|
default = "sandbox.nubes.ru"
|
|
description = "Облако (resource_realm), в котором разворачивается Штурвал. Для DEV — sandbox.nubes.ru"
|
|
}
|
|
|
|
variable "shturval_cluster_name" {
|
|
type = string
|
|
default = "shturval-mgmt-dev-00"
|
|
description = "Имя кластера внутри Штурвала"
|
|
}
|
|
|
|
variable "shturval_app_version" {
|
|
type = string
|
|
default = "2.13.1"
|
|
description = "Версия Штурвала: 2.13.1, 2.12.1 или 2.11.0"
|
|
}
|
|
|
|
variable "shturval_cp_sizing_policy" {
|
|
type = string
|
|
default = "TKG 4CPU 8RAM"
|
|
description = "Политика размера control plane, зависит от ресурсной платформы: TKG 4CPU 8RAM | TKG 8CPU 16RAM | TKG 16CPU 32RAM"
|
|
}
|
|
|
|
variable "shturval_cp_sizing_disk" {
|
|
type = number
|
|
default = 50
|
|
description = "Диск control plane, ГБ"
|
|
}
|
|
|
|
variable "shturval_cp_count" {
|
|
type = number
|
|
default = 1
|
|
description = "Количество узлов control plane: 1, 3 или 5"
|
|
}
|
|
|
|
variable "shturval_worker_config" {
|
|
type = string
|
|
default = "[{\"groupName\":\"workers-shturval-mgmt\",\"sizingPolicy\":\"TKG 4CPU 8RAM\",\"sizingDisk\":50,\"count\":2}]"
|
|
description = "Группы воркеров JSON-строкой (groupName, sizingPolicy, sizingDisk, count). После создания не изменяется"
|
|
}
|
|
|
|
variable "shturval_api_need_external" {
|
|
type = bool
|
|
default = true
|
|
description = "Выделить внешний адрес для Kubernetes API"
|
|
}
|
|
|
|
variable "shturval_api_access_ip_list" {
|
|
type = string
|
|
default = "[]"
|
|
description = "Список адресов доступа к Kubernetes API. Пустой массив — доступ всем"
|
|
}
|
|
|
|
variable "shturval_ingress_need_external" {
|
|
type = bool
|
|
default = true
|
|
description = "Выделить внешний адрес для Ingress"
|
|
}
|
|
|
|
variable "shturval_ingress_access_ip_list" {
|
|
type = string
|
|
default = "[]"
|
|
description = "Список адресов доступа к Ingress. Пустой массив — доступ всем"
|
|
}
|