diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..ae4fd98 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,34 @@ +# AGENTS.md — инструкция по каталогу tf_examples + +Для ИИ-агента в IDE. Этот каталог — готовые примеры использования провайдера Nubes. + +## Структура примера + +``` +tf_examples// + main.tf # ресурсы + variables.tf # объявления переменных + terraform.tfvars.example # ПАРАМЕТРЫ (этот файл — то, что правят/проверяют) + README.md # что делает пример +``` + +## Как работать с примером + +1. Не выдумывать поля: сверять `terraform.tfvars.example` со спекой ресурса. + Источники схемы: страница ресурса на сайте доков + (`https://tf-docs.nodejsk8s.dev.nubes.ru///`) либо машиночитаемая + схема `https://tf-docs.nodejsk8s.dev.nubes.ru//schema/.json`; + если этот репозиторий склонирован внутри провайдера — ещё `../provider/resources_yaml/*.yaml`. +2. Секреты — только в `secrets.auto.tfvars` (в `.gitignore`), НЕ в tfvars. +3. `terraform plan`/`apply` запускает пользователь. + +## Маппинг «пример → ресурсы» + +| Пример | Ресурсы (обычно) | +|---|---| +| `CRUD/` | nubes_postgres, nubes_s3_bucket, nubes_kafka, nubes_nodejs/flask/lucee | +| `Maria_CRUD/` | nubes_mariadb | +| `SHTURVAL_MGMT/` | nubes_k8s_* (Штурвал) | +| `fullpipe_chain/`, `iot-rmq-demo/` | nubes_rabbitmq + IoT-приложения | + +Для точных полей всегда открывать спеку конкретного ресурса, а не доверять памяти. diff --git a/Maria_CRUD/main.tf b/Maria_CRUD/main.tf index cfa4e26..66dbbe1 100644 --- a/Maria_CRUD/main.tf +++ b/Maria_CRUD/main.tf @@ -25,6 +25,12 @@ variable "realm" { description = "Resource platform shared by the MariaDB cluster and its apps" } +variable "mariadb_user_password" { + type = string + sensitive = true + description = "Пароль пользователя MariaDB (подресурс user). Задаётся в secrets.auto.tfvars." +} + # api_endpoint — TEST-стенд. Для DEV/PROD менять вместе с source провайдера и токеном. provider "nubes" { api_token = var.api_token diff --git a/Maria_CRUD/terraform.tfvars.example b/Maria_CRUD/terraform.tfvars.example index f6a0e8a..67cde3b 100644 --- a/Maria_CRUD/terraform.tfvars.example +++ b/Maria_CRUD/terraform.tfvars.example @@ -6,4 +6,8 @@ api_token = "" # Ресурсная платформа (кластер K8s) — одна и та же для БД и всех приложений. # Список доступных можно получить через API: GET /resourceRealms/available?svcId=115 # или посмотреть в ЛК в разделе кластеров/ресурсных платформ. -realm = "k8s-4-sandbox-nubes-ru" \ No newline at end of file +realm = "k8s-4-sandbox-nubes-ru" + +# Пароль пользователя MariaDB (подресурс user) — только для локального запуска. +# Секрет хранить в отдельном secrets.auto.tfvars (в .gitignore), туда же api_token. +mariadb_user_password = "" \ No newline at end of file diff --git a/SHTURVAL_MGMT/terraform.tfvars.example b/SHTURVAL_MGMT/terraform.tfvars.example index e47ba83..b3014d1 100644 --- a/SHTURVAL_MGMT/terraform.tfvars.example +++ b/SHTURVAL_MGMT/terraform.tfvars.example @@ -3,6 +3,6 @@ # Скопировать в terraform.tfvars и заполнить реальными значениями # ============================================================================= -api_token = "ваш_api_токен" +api_token = "" realm = "sandbox.nubes.ru" sizing_policy = "TKG 4CPU 8RAM" # TKG 4CPU 8RAM (мин) | TKG 8CPU 16RAM | TKG 16CPU 32RAM diff --git a/fullpipe_chain/terraform.tfvars.example b/fullpipe_chain/terraform.tfvars.example index a2ef8e3..66221ea 100644 --- a/fullpipe_chain/terraform.tfvars.example +++ b/fullpipe_chain/terraform.tfvars.example @@ -8,7 +8,7 @@ # ОБЯЗАТЕЛЬНО: ЛК → Профиль → Токены → «Технический». # Не оставляйте примерный токен и не передавайте настоящий токен коллегам. -api_token = "eyJhbGciOi..." +api_token = "" # ОБЯЗАТЕЛЬНО: точное название услуги «Организация в Cloud Director» в ЛК. # Организацию создайте заранее в ЛК; Terraform её не создаёт и не удаляет. diff --git a/iot-rmq-demo/terraform.tfvars.example b/iot-rmq-demo/terraform.tfvars.example index 831d762..e14e993 100644 --- a/iot-rmq-demo/terraform.tfvars.example +++ b/iot-rmq-demo/terraform.tfvars.example @@ -6,7 +6,7 @@ # API-токен из личного кабинета Nubes Cloud # (Настройки → API-ключи → Создать) -api_token = "ВАШ_API_ТОКЕН" +api_token = "" # K8s-кластер для развёртывания # (например: k8s-4-sandbox-nubes-ru — тестовый кластер) diff --git a/modify_resources/terraform.tfvars.example b/modify_resources/terraform.tfvars.example index 8090407..0ac46d0 100644 --- a/modify_resources/terraform.tfvars.example +++ b/modify_resources/terraform.tfvars.example @@ -1,7 +1,7 @@ # Скопируйте файл в terraform.tfvars и заполните значениями из ЛК. # terraform.tfvars не публикуйте и не коммитьте: в нём токен доступа. -api_token = "eyJhbGciOi..." # ЛК → Профиль → Токены → «Технический» +api_token = "" # ЛК → Профиль → Токены → «Технический» organization = "organ" # название услуги «Организация в Cloud Director» в ЛК nsxt_uid = "00000000-0000-0000-0000-000000000000" # UUID шлюза из карточки услуги в ЛК