# 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` | Все настраиваемые значения |