refactor: restructure project — separate tools, config, generated, provider
TOOLS/ — generators + scripts + config + ARCHITECTURE.md ├── yaml-generator/ (code) ├── resource-generator/ (code) ├── docs-generator/ (code) ├── scripts/ (← devops/*.sh) ├── config/ (← devops/profiles/ + devops/config/) │ ├── test/ profile.env, services_list.txt, operation_timeouts.json │ ├── prod/ │ └── dev/ └── ARCHITECTURE.md (← devops/ARCHITECTURE.md) generated/ — pipeline output only (gitignored) ├── test/resources_yaml/, go/, docs/, provider_build/ ├── prod/ └── dev/ provider/ — code only, no generated files resources_yaml/ — DELETED (generated) internal/resources_gen/ — DELETED (generated) devops/ — removed (replaced by TOOLS/scripts + TOOLS/config + generated/) Generators now fail if NUBES_*_DIR not set (no defaults to provider/). Provider requires pipeline to populate resources_gen/ before build.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Resource nubes_nextcloud
|
||||
|
||||
Service ID: `50`
|
||||
|
||||
Service Name: Nextcloud
|
||||
|
||||
[Manual](nextcloud.md) | [Create params](nextcloud_params_create.md) | [Modify params](nextcloud_params_modify.md) | [Output params](nextcloud_outputs.md) | [Operations](nextcloud_ops.md) | [Example](nextcloud_example.md)
|
||||
|
||||
## Create params
|
||||
|
||||
**Обязательные параметры (вводимые пользователем)**
|
||||
|
||||
<table class="resource-table resource-table-compact resource-table-required">
|
||||
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Description</th><th>Constraints</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>564</td><td><strong><code class="code-no-wrap">psql_uid</code></strong></td><td><code>uuid</code></td><td></td><td>ref_svc_id=90</td></tr>
|
||||
<tr><td>570</td><td><strong><code class="code-no-wrap">redis_uid</code></strong></td><td><code>uuid</code></td><td></td><td>ref_svc_id=91</td></tr>
|
||||
</tbody></table>
|
||||
|
||||
**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте**
|
||||
<table class="resource-table resource-table-compact">
|
||||
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>21</td><td><strong><code class="code-no-wrap">domain</code></strong></td><td><code>string</code></td><td><code>web01</code></td><td>Наименование домена. Если будет указан FQDN, то происходят проверки DNS. Если указан поддомен, то будет добавлен в зону services.ngcloud.ru<br/>Можно указать клиентскую DNS-Запись. Важно, чтобы запись смотрела на Ingress кластера</td><td>regex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$</td></tr>
|
||||
<tr><td>99</td><td><strong><code class="code-no-wrap">resource_cpu</code></strong></td><td><code>integer</code></td><td><code>1000</code></td><td>Квота ядра пода (Указывается в mili). 1 ядро = 1000 Mili</td><td>minvalue=100; maxvalue=4000</td></tr>
|
||||
<tr><td>100</td><td><strong><code class="code-no-wrap">resource_memory</code></strong></td><td><code>integer</code></td><td><code>1024</code></td><td>Квота памяти пода (Указывается в Megabytes)</td><td>minvalue=1024; maxvalue=8192</td></tr>
|
||||
<tr><td>101</td><td><strong><code class="code-no-wrap">resource_disk</code></strong></td><td><code>integer</code></td><td><code>2</code></td><td>Квота диска (Указывается в GIGAbytes)</td><td>minvalue=2; maxvalue=999</td></tr>
|
||||
<tr><td>192</td><td><strong><code class="code-no-wrap">document_server</code></strong></td><td><code>string</code></td><td><code>collabora</code></td><td>Выбор сервера документов (onlyoffice)/(collabora). onlyoffice пока не доступен</td><td>value_list=collabora</td></tr>
|
||||
<tr><td>470</td><td><strong><code class="code-no-wrap">resource_instances</code></strong></td><td><code>integer</code></td><td><code>1</code></td><td>Количество узлов<br/>Не может пока быть больше одного, так как нужны SC под RWMany</td><td>minvalue=1; maxvalue=7; value_list=1</td></tr>
|
||||
<tr><td>569</td><td><strong><code class="code-no-wrap">app_version</code></strong></td><td></td><td><code>32.0.1</code></td><td></td><td>value_list=32.0.1</td></tr>
|
||||
</tbody></table>
|
||||
|
||||
<div class="lifecycle-note">
|
||||
<strong>Параметры поведения (кратко)</strong><br/>
|
||||
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.<br/>
|
||||
При `terraform destroy` или удалении ресурса из манифеста:<br/>
|
||||
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).<br/>
|
||||
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.<br/>
|
||||
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:<br/>
|
||||
- `false` — если ресурс уже есть, будет ошибка.<br/>
|
||||
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).<br/>
|
||||
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.
|
||||
</div>
|
||||
Reference in New Issue
Block a user