add: documentation

This commit is contained in:
“Naeel”
2026-06-30 15:45:24 +04:00
parent 540c1f7293
commit ca276d200f
1055 changed files with 47294 additions and 0 deletions
@@ -0,0 +1,179 @@
# Resource nubes_clickhouse
Service ID: `120`
Service Name: ClickHouse
[Overview](clickhouse.md) | [Parameters](clickhouse_params.md) | [Operations](clickhouse_ops.md)
## Operations
| Operation | Kind | Action | Subresource | ID | Params | Description |
|---|---|---|---|---|---|---|
| `create` | `instance` | `create` | `` | `181` | resourceRealm, s3Uid, resourceInstances, resourceInstancesShards, resourceCPU, resourceMemory, appVersion, resourceDisk, needExternalAddressMaster, ipSpaceNameMaster, needCreateKeeper, resourceCPUKeeper, resourceMemoryKeeper, resourceInstancesKeeper, ext_BACKUP_SCHEDULE, ext_BACKUP_NUM_TO_RETAIN | Операция создания кластера ClickHouse<br/><br/>Для подключения к кластеру также необходимо создать базу данных через операцию `create_database` и создание пользователя через операцию `create_user` |
| `create_database` | `subresource` | `create` | `database` | `186` | databaseName | База данных создаётся на всех репликах кластера ClickHouse |
| `create_user` | `subresource` | `create` | `user` | `185` | username, databaseName, accessHosts | |
| `delete` | `instance` | `delete` | `` | `184` | | Удаление возможно только после остановки сервиса через операцию `suspend`<br/>После выполнения операции необходимо выждать определенное кол-во времени |
| `delete_database` | `subresource` | `delete` | `database` | `188` | databaseName | Необратимое действие!!!<br/>Трижды подумай, заблокируй телефон тимлида и не выполняй это действие |
| `delete_user` | `subresource` | `delete` | `user` | `187` | username | |
| `modify` | `instance` | `modify` | `` | `189` | resourceInstances, resourceInstancesShards, resourceCPU, resourceMemory, appVersion, resourceDisk, needExternalAddressMaster, ipSpaceNameMaster, needCreateKeeper, resourceCPUKeeper, resourceMemoryKeeper, resourceInstancesKeeper, ext_BACKUP_SCHEDULE, ext_BACKUP_NUM_TO_RETAIN | |
| `resume` | `instance` | `resume` | `` | `183` | | |
| `suspend` | `instance` | `suspend` | `` | `182` | | Операция приводит к удалению всех подов<br/>Persistent Volume остаются нетронутыми |
### Operation: create
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>572</td><td><strong><code class="code-no-wrap">resourceRealm</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>Выбрать платформу из списка<br/><br/>**Если список не отображается**<br/>обратитесь к сервис менеджеру с вопросом предоставления ресурсной платформы</td><td>func=getAvailableResourceRealms</td></tr>
<tr><td>573</td><td><strong><code class="code-no-wrap">s3Uid</code></strong></td><td><code>uuid</code></td><td>ДА</td><td></td><td>**Если список не отображается** <br/>перейдите в раздел `S3 Object Storage` <br/>операция `create`</td><td>ref_svc_id=12</td></tr>
<tr><td>574</td><td><strong><code class="code-no-wrap">resourceInstances</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>1</code></td><td>**Для синхронизации данных между репликами** необходимо включить `Создать ClickHouse-Keeper`</td><td>minvalue=1; maxvalue=7</td></tr>
<tr><td>575</td><td><strong><code class="code-no-wrap">resourceInstancesShards</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>1</code></td><td>**Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. <br/>**Реплика** - это точная копия данных внутри одного шарда</td><td>minvalue=1; maxvalue=7</td></tr>
<tr><td>576</td><td><strong><code class="code-no-wrap">resourceCPU</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>1000</code></td><td>Указывается в Milicores<br/>`1000` Mili == `1` Ядро</td><td>minvalue=1000; maxvalue=8000</td></tr>
<tr><td>577</td><td><strong><code class="code-no-wrap">resourceMemory</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>1536</code></td><td>Указывается в Megabytes</td><td>minvalue=1536; maxvalue=8192</td></tr>
<tr><td>578</td><td><strong><code class="code-no-wrap">appVersion</code></strong></td><td><code>string</code></td><td>ДА</td><td><code>25.10</code></td><td>Версия `clickhouse-server`</td><td>value_list=25.10</td></tr>
<tr><td>579</td><td><strong><code class="code-no-wrap">resourceDisk</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>10</code></td><td>Указывается в Gigabytes</td><td>minvalue=1; maxvalue=999</td></tr>
<tr><td>580</td><td><strong><code class="code-no-wrap">needExternalAddressMaster</code></strong></td><td><code>boolean</code></td><td>ДА</td><td><code>false</code></td><td>Для выделения IP также необходимо указать имя Ip-space.<br/>Его можно получить из свойств ресурсной платформы</td><td>value_list=false, true</td></tr>
<tr><td>581</td><td><strong><code class="code-no-wrap">ipSpaceNameMaster</code></strong></td><td><code>string</code></td><td>НЕТ</td><td></td><td>Имя ipSpace для публикации внешнего адреса<br/><br/>Не может быть пустым, если включен `Выделение белого ip для master ноды`</td><td></td></tr>
<tr><td>582</td><td><strong><code class="code-no-wrap">needCreateKeeper</code></strong></td><td><code>boolean</code></td><td>ДА</td><td><code>true</code></td><td>Аналог `Zookeeper`, представленный от ClickHouse</td><td>value_list=false, true</td></tr>
<tr><td>583</td><td><strong><code class="code-no-wrap">resourceCPUKeeper</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>50</code></td><td>Указывается в Milicores<br/>`1000` Mili == `1` Ядро</td><td>minvalue=50; maxvalue=8000</td></tr>
<tr><td>584</td><td><strong><code class="code-no-wrap">resourceMemoryKeeper</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>152</code></td><td>Указывается в Megabytes</td><td>minvalue=152; maxvalue=8192</td></tr>
<tr><td>585</td><td><strong><code class="code-no-wrap">resourceInstancesKeeper</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>1</code></td><td>Для **теста** - 1 нода. <br/>Для **продуктива** - 3 ноды</td><td>minvalue=1; maxvalue=3; value_list=1, 3</td></tr>
<tr><td>586</td><td><strong><code class="code-no-wrap">ext_BACKUP_SCHEDULE</code></strong></td><td><code>string</code></td><td>ДА</td><td><code>0 0 * * *</code></td><td>Принимает формат `CRON`</td><td>regex=^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$</td></tr>
<tr><td>587</td><td><strong><code class="code-no-wrap">ext_BACKUP_NUM_TO_RETAIN</code></strong></td><td><code>integer</code></td><td>ДА</td><td><code>7</code></td><td>Кол-во **полных** резервных копий<br/>Кол-во инкрементов - неограничено<br/><br/>Полная резервная копия выполняется раз в неделю<br/>*Если изначально полной резервной копии нет* выполняется полный бекап<br/>В остальные дни по крону выполняются **инкременты**</td><td>minvalue=3; maxvalue=60</td></tr>
</tbody></table>
### Operation: create_database
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>600</td><td><strong><code class="code-no-wrap">databaseName</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>Пример: `db01`</td><td>regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$</td></tr>
</tbody></table>
### Operation: create_user
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>596</td><td><strong><code class="code-no-wrap">username</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>Пример: `myusername`</td><td>regex=^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$; maxlength=62; minlength=2</td></tr>
<tr><td>598</td><td><strong><code class="code-no-wrap">databaseName</code></strong></td><td><code>json</code></td><td>ДА</td><td><code>[&quot;database&quot;]</code></td><td>Если базы не существует - при выполнении операции вернётся ошибка</td><td></td></tr>
<tr><td>599</td><td><strong><code class="code-no-wrap">accessHosts</code></strong></td><td><code>string</code></td><td>ДА</td><td><code>::/0</code></td><td>Пример: `::/0`</td><td></td></tr>
</tbody></table>
### Operation: delete
None.
### Operation: delete_database
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>602</td><td><strong><code class="code-no-wrap">databaseName</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ</td><td></td></tr>
</tbody></table>
### Operation: delete_user
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>601</td><td><strong><code class="code-no-wrap">username</code></strong></td><td></td><td>ДА</td><td></td><td>Имя пользователя, созданное через операцию `create_user`</td><td></td></tr>
</tbody></table>
### Operation: modify
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>603</td><td><strong><code class="code-no-wrap">resourceInstances</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>**Для синхронизации данных между репликами** необходимо включить `Создать ClickHouse-Keeper`</td><td>minvalue=1; maxvalue=7</td></tr>
<tr><td>604</td><td><strong><code class="code-no-wrap">resourceInstancesShards</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>**Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. <br/>**Реплика** - это точная копия данных внутри одного шарда</td><td>minvalue=1; maxvalue=7</td></tr>
<tr><td>605</td><td><strong><code class="code-no-wrap">resourceCPU</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Указывается в Milicores<br/>`1000` Mili == `1` Ядро</td><td>minvalue=1000; maxvalue=8000</td></tr>
<tr><td>606</td><td><strong><code class="code-no-wrap">resourceMemory</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Указывается в Megabytes</td><td>minvalue=1536; maxvalue=8192</td></tr>
<tr><td>607</td><td><strong><code class="code-no-wrap">appVersion</code></strong></td><td><code>string</code></td><td>ДА</td><td><code>25.10</code></td><td>Версия `clickhouse-server`</td><td></td></tr>
<tr><td>608</td><td><strong><code class="code-no-wrap">resourceDisk</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Указывается в Gigabytes<br/>**Нельзя** выставлять меньше текущего значения</td><td>minvalue=1; maxvalue=999</td></tr>
<tr><td>609</td><td><strong><code class="code-no-wrap">needExternalAddressMaster</code></strong></td><td><code>boolean</code></td><td>ДА</td><td></td><td>Для выделения IP также необходимо указать имя Ip-space.<br/>Его можно получить из свойств ресурсной платформы</td><td>value_list=false, true</td></tr>
<tr><td>610</td><td><strong><code class="code-no-wrap">ipSpaceNameMaster</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>Имя ipSpace для публикации внешнего адреса<br/><br/>Не может быть пустым, если включен `Выделение белого ip для master ноды`</td><td></td></tr>
<tr><td>611</td><td><strong><code class="code-no-wrap">needCreateKeeper</code></strong></td><td><code>boolean</code></td><td>ДА</td><td></td><td>Аналог `Zookeeper`, представленный от ClickHouse</td><td>value_list=false, true</td></tr>
<tr><td>612</td><td><strong><code class="code-no-wrap">resourceCPUKeeper</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Указывается в Milicores<br/>`1000` Mili == `1` Ядро</td><td>minvalue=50; maxvalue=8000</td></tr>
<tr><td>613</td><td><strong><code class="code-no-wrap">resourceMemoryKeeper</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Указывается в Megabytes</td><td>minvalue=152; maxvalue=8192</td></tr>
<tr><td>614</td><td><strong><code class="code-no-wrap">resourceInstancesKeeper</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Для **теста** - 1 нода. <br/>Для **продуктива** - 3 ноды</td><td>minvalue=1; maxvalue=3; value_list=1, 3</td></tr>
<tr><td>615</td><td><strong><code class="code-no-wrap">ext_BACKUP_SCHEDULE</code></strong></td><td><code>string</code></td><td>ДА</td><td><code>0 0 * * *</code></td><td>Принимает формат `CRON`</td><td>regex=^((((\d+,)+\d+|(\d+(\/|-|#)\d+)|(\d+L?)|(\*(\/\d+)?)|(L(-\d+)?)|(\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)$</td></tr>
<tr><td>616</td><td><strong><code class="code-no-wrap">ext_BACKUP_NUM_TO_RETAIN</code></strong></td><td><code>integer</code></td><td>ДА</td><td></td><td>Кол-во **полных** резервных копий<br/>Кол-во инкрементов - неограничено<br/><br/>Полная резервная копия выполняется раз в неделю<br/>*Если изначально полной резервной копии нет* выполняется полный бекап<br/>В остальные дни по крону выполняются **инкременты**</td><td>minvalue=3; maxvalue=60</td></tr>
</tbody></table>
### Operation: resume
None.
### Operation: suspend
None.
## Subresources
### nubes_clickhouse_database
#### Example
```hcl
resource "nubes_clickhouse_database" "example" {
clickhouse_id = nubes_clickhouse.example.id
database_name = "TODO"
}
```
#### Create parameters
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>600</td><td><strong><code class="code-no-wrap">databaseName</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>Пример: `db01`</td><td>regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$</td></tr>
</tbody></table>
#### Modify parameters
None.
#### Delete parameters
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>602</td><td><strong><code class="code-no-wrap">databaseName</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ</td><td></td></tr>
</tbody></table>
### nubes_clickhouse_user
#### Example
```hcl
resource "nubes_clickhouse_user" "example" {
clickhouse_id = nubes_clickhouse.example.id
username = "TODO"
database_name = ["database"]
access_hosts = ::/0
}
```
#### Create parameters
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>596</td><td><strong><code class="code-no-wrap">username</code></strong></td><td><code>string</code></td><td>ДА</td><td></td><td>Пример: `myusername`</td><td>regex=^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$; maxlength=62; minlength=2</td></tr>
<tr><td>598</td><td><strong><code class="code-no-wrap">databaseName</code></strong></td><td><code>json</code></td><td>ДА</td><td><code>[&quot;database&quot;]</code></td><td>Если базы не существует - при выполнении операции вернётся ошибка</td><td></td></tr>
<tr><td>599</td><td><strong><code class="code-no-wrap">accessHosts</code></strong></td><td><code>string</code></td><td>ДА</td><td><code>::/0</code></td><td>Пример: `::/0`</td><td></td></tr>
</tbody></table>
#### Modify parameters
None.
#### Delete parameters
<table class="resource-table">
<thead><tr><th>ID</th><th>Code</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th><th>Constraints</th></tr></thead>
<tbody>
<tr><td>601</td><td><strong><code class="code-no-wrap">username</code></strong></td><td></td><td>ДА</td><td></td><td>Имя пользователя, созданное через операцию `create_user`</td><td></td></tr>
</tbody></table>