From ecace0311b0a2f7d31391d523d03dffd9a38163a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Tue, 21 Jul 2026 08:18:48 +0400 Subject: [PATCH] docs: TEST_STAND README + clean terraform.tfvars.example --- TEST_STAND/CRUD/README.md | 50 ++++++++++++++++++++++++ TEST_STAND/CRUD/terraform.tfvars.example | 31 +++++++-------- 2 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 TEST_STAND/CRUD/README.md diff --git a/TEST_STAND/CRUD/README.md b/TEST_STAND/CRUD/README.md new file mode 100644 index 0000000..bb039fc --- /dev/null +++ b/TEST_STAND/CRUD/README.md @@ -0,0 +1,50 @@ +# CRUD Test Stand + +Три приложения (Lucee / Flask / Node.js) + общая PostgreSQL. Каждое делает CRUD в одной таблице `crud_items`. + +## Что где менять + +### 1. `terraform.tfvars` — скопировать из `terraform.tfvars.example` + +| Параметр | Где брать | +|---|---| +| `api_token` | ЛК → Профиль → Токены → создать «Технический» | +| `realm` | Кластер Kubernetes: `k8s-3-sandbox-nubes-ru` (песочница) или другой | +| `s3_name` | ЛК → S3 → Пользователи → имя пользователя | +| `s3_user_uid` | Там же — UUID. **ИЛИ** `s3_name` — любое одно, провайдер сам найдёт пару | + +### 2. `locals.tf` — сменить домены + +Каждое приложение должно иметь **уникальный** домен. Замени: + +``` +lucee_domain = "..." # станет <имя>.luceek8s.dev.nubes.ru +flask_domain = "..." # станет <имя>.pythonk8s.dev.nubes.ru +nodejs_domain = "..." # станет <имя>.<суффикс>.dev.nubes.ru +``` + +### 3. `locals.tf` — git_revision + +При изменении кода в репозиториях (`tfluceecrud`, `tfflaskcrud`, `tfnodejscrud`) — обновить `*_git_revision` на новый хеш коммита. Terraform сам сделает redeploy. + +## Порядок запуска + +```bash +terraform init +terraform apply # PG + user + DB +terraform apply # Lucee + Flask + Node.js (PG уже в стейте) +``` + +Два apply нужно только при первом создании. Дальше — один. + +## Состав + +| Файл | Ресурс | +|---|---| +| `main.tf` | Провайдер (`nubes-test/nubes`) + переменные | +| `postgres.tf` | `nubes_postgres.main_pg` | +| `postgres_user_db.tf` | Пользователь + БД | +| `lucee.tf` | `nubes_lucee.applucee` | +| `flask.tf` | `nubes_flask.appflask` | +| `nodejs.tf` | `nubes_nodejs.appnodejs` | +| `locals.tf` | Все настраиваемые значения | diff --git a/TEST_STAND/CRUD/terraform.tfvars.example b/TEST_STAND/CRUD/terraform.tfvars.example index a9239ee..2b9b5e8 100644 --- a/TEST_STAND/CRUD/terraform.tfvars.example +++ b/TEST_STAND/CRUD/terraform.tfvars.example @@ -1,20 +1,17 @@ # ============================================================================= -# terraform.tfvars.example — скопировать в terraform.tfvars и заполнить +# terraform.tfvars.example +# Скопировать: cp terraform.tfvars.example terraform.tfvars +# Заполнить своими значениями. +# ============================================================================= +# +# Где брать: +# api_token — ЛК → Профиль → Токены → создать «Технический» +# realm — ЛК → Кластеры → выбрать (напр. k8s-3-sandbox-nubes-ru) +# s3_name — ЛК → S3 → Пользователи → имя +# s3_user_uid — там же → UUID. Указать ОДНО из s3_name/s3_user_uid # ============================================================================= -# API-токен Nubes (из ЛК: Профиль → Токены) -api_token = "" - -# S3 UID — идентификатор S3-сервиса (UUID, см. ЛК → S3) -s3_uid = "" - -# resource_realm — кластер Kubernetes для развёртывания -# Возможные значения: iot-naeel, k8s-3-sandbox-nubes-ru, k8s-4-sandbox-nubes-ru, naeel-test-3 -realm = "" - -# S3-пользователь: UUID (s3_user_uid) ИЛИ имя (s3_name) -# Можно указать любое одно — провайдер сам найдёт другое по API -# UUID S3-пользователя (из ЛК → S3 → Пользователи) -s3_user_uid = "" -# Имя S3-пользователя (например, "my-s3-user") -s3_name = "" +api_token = "" # JWT-токен +realm = "k8s-3-sandbox-nubes-ru" # кластер Kubernetes +s3_name = "" # имя S3-пользователя +s3_user_uid = "" # UUID S3-пользователя