add: documentation
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
# PostgreSQL UI Parameters Verification
|
||||
|
||||
**Date:** 2026-01-28
|
||||
**Source:** User provided screenshots of "Create PostgreSQL" operation in Nubes UI.
|
||||
|
||||
## Observed UI Fields (Creation Form)
|
||||
|
||||
The form "Создание экземпляра: PostgreSQL" contains the following fields in order:
|
||||
|
||||
1. **Платформа для развертывания** (Dropdown) *Required*
|
||||
* Value: `k8s-3.ext.nubes.ru`
|
||||
* Provider Mapping: `resource_realm` (Confirmed)
|
||||
|
||||
2. **Услуга S3 для резервных копий** (Dropdown) *Required*
|
||||
* Label: `Услуга S3 для резервных копий.`
|
||||
* Example Value: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
|
||||
* Note: "Экземпляр (учетная запись) S3 для резервного копирования. Резервное копирование обязательно"
|
||||
* Provider Mapping: `s3_uid` (Confirmed) https://registry.terraform.io/providers/nubes/nubes/latest/docs/resources/postgres#s3_uid
|
||||
|
||||
3. **Квота ядра пода (mili)** (Input) *Required*
|
||||
* Label: `Квота ядра пода (Указывается в mili)`
|
||||
* Value: `500`
|
||||
* Provider Mapping: `cpu`
|
||||
|
||||
4. **Квота памяти пода (MB)** (Input) *Required*
|
||||
* Label: `Квота памяти пода (Указывается в MegaBytes)`
|
||||
* Value: `512`
|
||||
* Provider Mapping: `memory`
|
||||
|
||||
5. **Размер диска для базы данных (GB)** (Input) *Required*
|
||||
* Label: `Размер диска для базы данных (GigaBytes)`
|
||||
* Value: `10`
|
||||
* Provider Mapping: `disk`
|
||||
|
||||
6. **Количество узлов** (Input)
|
||||
* Label: `Количество узлов`
|
||||
* Value: `1`
|
||||
* Provider Mapping: `instances`
|
||||
|
||||
7. **Выделение белого ip для master ноды** (Checkbox)
|
||||
* Label: `Выделение белого ip для master ноды`
|
||||
* Value: Unchecked
|
||||
* Provider Mapping: `need_external_address_master`
|
||||
|
||||
8. **Имя ipSpace для публикации VIP master** (Input)
|
||||
* Label: `Имя ipSpace для публикации VIP master`
|
||||
* Note: "Не может быть пустым, если включен needExternalAddressMaster"
|
||||
* Provider Mapping: `ip_space_name_master`
|
||||
|
||||
9. **Выделение белого ip для slave ноды** (Checkbox)
|
||||
* Label: `Выделение белого ip для slave ноды`
|
||||
* Value: Unchecked
|
||||
* Provider Mapping: `need_external_address_slave`
|
||||
|
||||
10. **Имя ipSpace для публикации VIP slave** (Input)
|
||||
* Label: `Имя ipSpace для публикации VIP slave`
|
||||
* Note: "Не может быть пустым, если включен needExternalAddressSlave"
|
||||
* Provider Mapping: `ip_space_name_slave`
|
||||
|
||||
11. **Количество резервных копий** (Input)
|
||||
* Label: `Количество резервных копий`
|
||||
* Value: `7`
|
||||
* Note: "Не обязательный. По умолчанию: 24 (sic! screenshot says 24, provider default is 7? check code)"
|
||||
* Provider Mapping: `backup_retention`
|
||||
|
||||
12. **Расписание резервного копирования** (Input)
|
||||
* Label: `Расписание резервного копирования`
|
||||
* Value: `0 0 * * *`
|
||||
* Note: "Не обязательный. Время запуска бекапа"
|
||||
* Provider Mapping: `backup_schedule`
|
||||
|
||||
13. **Версия PostgreSQL** (Dropdown) *Required*
|
||||
* Label: `Версия PostgreSQL`
|
||||
* Value: `17`
|
||||
* Provider Mapping: `version`
|
||||
|
||||
14. **Параметры postgresql.conf в виде JSON** (Text Area/Beautify)
|
||||
* Label: `Параметры postgresql.conf в виде JSON`
|
||||
* Value: `{"log_connections": "off", "log_disconnections": "off"}` (Screenshot example)
|
||||
* Provider Mapping: `parameters` (Note: Resource field is `parameters`, docs refer to it as `config_json` sometimes? Check consistency).
|
||||
|
||||
15. **Включить pgPooler для Master** (Checkbox)
|
||||
* Label: `Включить pgPooler для Master`
|
||||
* Value: Unchecked
|
||||
* Provider Mapping: `enable_pgpooler_master`
|
||||
|
||||
16. **Включить pgPooler для Slave** (Checkbox)
|
||||
* Label: `Включить pgPooler для Slave`
|
||||
* Value: Unchecked
|
||||
* Provider Mapping: `enable_pgpooler_slave`
|
||||
|
||||
17. **Выключить sslmode** (Checkbox)
|
||||
* Label: `Выключить sslmode`
|
||||
* Value: Unchecked
|
||||
* Provider Mapping: `allow_no_ssl`
|
||||
|
||||
18. **Включить autoScale** (Checkbox)
|
||||
* Label: `Включить autoScale`
|
||||
* Value: Checked (in screenshot)
|
||||
* Provider Mapping: `auto_scale`
|
||||
|
||||
19. **На сколько % расширяется диск (мин. 1G)** (Input)
|
||||
* Label: `На сколько % расширяется диск (мин. 1G)`
|
||||
* Value: `10`
|
||||
* Provider Mapping: `auto_scale_percentage`
|
||||
|
||||
20. **Тех окно обновления дисков** (Input)
|
||||
* Label: `Тех окно обновления дисков`
|
||||
* Value: `0`
|
||||
* Note: "Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)"
|
||||
* Provider Mapping: `auto_scale_tech_window`
|
||||
|
||||
21. **Квота для autoScale** (Input)
|
||||
* Label: `Квота для autoScale`
|
||||
* Value: `1`
|
||||
* Provider Mapping: `auto_scale_quota_gb`
|
||||
|
||||
## Discrepancies & Action Items
|
||||
|
||||
1. **Backup Retention Default**: Screenshot note says "По умолчанию: 24", but Terraform code default might be `7`. Should probably clarify or match UI default if critical.
|
||||
2. **Parameters Name**: Check if Terraform argument is `parameters` or `config_json`.
|
||||
* *Check*: `internal/provider/postgres_resource.go` uses `Parameters`.
|
||||
* *Check*: `docs/registry/resources/postgres.md` uses `config_json`. **MISMATCH**.
|
||||
3. **Required fields**:
|
||||
* `Платформа для развертывания` and `Услуга S3...` are definitely required and match our updates.
|
||||
|
||||
## Plan
|
||||
1. **Fix Mismatch**: Rename `config_json` -> `parameters` in documentation to match Go struct, or rename Go struct field to `config_json` to match documentation. (Prefer `parameters` as it maps to UI "Параметры...").
|
||||
2. **Verify Defaults**: Ensure `backup_retention` defaults make sense.
|
||||
|
||||
Reference in New Issue
Block a user