62 lines
2.9 KiB
Terraform
62 lines
2.9 KiB
Terraform
# =============================================================================
|
|
# Переменные примера «DNS-зоны и записи».
|
|
#
|
|
# ⚠️ api_token — СЕКРЕТ. НЕ кладите его в terraform.tfvars. Держите в отдельном
|
|
# файле `secrets.auto.tfvars` (Terraform сам подхватывает `*.auto.tfvars`),
|
|
# а этот файл закройте в .gitignore. Значение — JWT из ЛК (Профиль → Токены).
|
|
# =============================================================================
|
|
|
|
# Токен доступа (JWT) к API Nubes. `sensitive = true` — Terraform не покажет
|
|
# значение в выводе плана/apply.
|
|
variable "api_token" {
|
|
description = "Nubes API token (JWT). Секрет — в secrets.auto.tfvars."
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
# Адрес API Gateway стенда. Для TEST — как в default.
|
|
variable "api_endpoint" {
|
|
description = "API Gateway URL стенда"
|
|
type = string
|
|
default = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
|
|
}
|
|
|
|
# ── Зоны и записи ────────────────────────────────────────────────────────────
|
|
# Карта «короткое имя зоны → { zone_name, records }»:
|
|
# - КЛЮЧ карты (a, b, …) — адрес зоны в state (стабильный id объекта в TF);
|
|
# - zone_name — сам домен (FQDN зоны);
|
|
# - records — карта «имя записи → { type, values }»:
|
|
# - type — тип записи (A / CNAME / TXT / …), по умолчанию "A";
|
|
# - values — СПИСОК значений (одна запись может иметь их несколько,
|
|
# напр. два A-адреса у одного имени).
|
|
#
|
|
# Здесь задан дефолт (2 зоны × 3 записи). Можно переопределить в terraform.tfvars.
|
|
variable "zones" {
|
|
description = "Зоны компании: имя + записи (type / values[])"
|
|
type = map(object({
|
|
zone_name = string
|
|
records = map(object({
|
|
type = optional(string, "A")
|
|
values = list(string)
|
|
}))
|
|
}))
|
|
default = {
|
|
a = {
|
|
zone_name = "tfzone-a.test"
|
|
records = {
|
|
www = { type = "A", values = ["10.0.0.77", "203.0.113.14"] }
|
|
api = { type = "A", values = ["192.168.3.14", "10.0.0.2"] }
|
|
cdn = { type = "CNAME", values = ["www.tfzone-a.test."] }
|
|
}
|
|
}
|
|
b = {
|
|
zone_name = "tfzone-b.test"
|
|
records = {
|
|
www = { type = "A", values = ["172.16.5.20", "10.0.0.9"] }
|
|
api = { type = "A", values = ["10.0.0.8", "198.51.100.7"] }
|
|
cdn = { type = "CNAME", values = ["www.tfzone-b.test."] }
|
|
}
|
|
}
|
|
}
|
|
}
|