diff --git a/.gitignore b/.gitignore index eb0717f..fc7f76f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,10 @@ *.tfvars .terraform.lock.hcl +# === Generated docs (by stand — NEVER commit, regenerate from API) === +universal_rebuild/docs_gen/ +universal_rebuild/docs-gen/ + # === Build artifacts (generated by devops scripts) === devops/profiles/*/generated/ *.zip @@ -74,3 +78,4 @@ terraform-provider-nubes_* universal_rebuild/service_spec_gen universal_rebuild/service_ops_gen universal_rebuild/service_params_gen +Тазетдинов_Nubes_Акт_ГПХ.docx diff --git a/devops/04_build_and_publish_docs.sh b/devops/04_build_and_publish_docs.sh index 5ea8fa7..4dcd811 100755 --- a/devops/04_build_and_publish_docs.sh +++ b/devops/04_build_and_publish_docs.sh @@ -75,24 +75,24 @@ S3CFG_REGISTRY="$(resolve_root_path "$S3CFG_REGISTRY")" TMP_DOCS_DIR="" if [[ -n "$PROFILE_DIR" ]]; then - PROFILE_DOCS_DIR="${PROFILE_DIR}/generated/docs" - PROFILE_DOCS_DIR="$(resolve_root_path "$PROFILE_DOCS_DIR")" - if [[ -d "$PROFILE_DOCS_DIR" ]]; then - TMP_DOCS_DIR="$(mktemp -d)" - cp -a "${ROOT_DIR}/docs/." "$TMP_DOCS_DIR/" - mkdir -p "$TMP_DOCS_DIR/30_registry/resources" - cp -a "$PROFILE_DOCS_DIR/." "$TMP_DOCS_DIR/30_registry/resources/" - export MKDOCS_DOCS_DIR="$TMP_DOCS_DIR" + # ⛔ NEVER merge with docs/ — ONLY generated docs from docs_gen// + DOCS_GEN_DIR="${DOCS_GEN_DIR:-universal_rebuild/docs_gen/test}" + DOCS_GEN_DIR="$(resolve_root_path "$DOCS_GEN_DIR")" + if [[ -d "$DOCS_GEN_DIR" ]]; then + export MKDOCS_DOCS_DIR="$DOCS_GEN_DIR" + else + echo "Error: DOCS_GEN_DIR not found: $DOCS_GEN_DIR" >&2 + exit 2 fi fi DOCS_API_ENDPOINT="${NUBES_API_ENDPOINT:-https://deck-api.ngcloud.ru/api/v1/index.cfm}" DOCS_API_ENDPOINT="$(normalize_api_endpoint "$DOCS_API_ENDPOINT")" -if [[ -n "$TMP_DOCS_DIR" ]]; then +if [[ -n "${MKDOCS_DOCS_DIR:-}" ]]; then export DOCS_GUIDE_VERSION="$VERSION" export DOCS_GUIDE_API_ENDPOINT="$DOCS_API_ENDPOINT" - export DOCS_GUIDE_FILE="$TMP_DOCS_DIR/30_registry/guides/getting-started.md" + export DOCS_GUIDE_FILE="${MKDOCS_DOCS_DIR}/guides/getting-started.md" python3 - <<'PY' import os import re @@ -238,7 +238,7 @@ build_docs() { exit 2 } -trap 'rm -f "$TMP_CFG"; if [[ -n "$TMP_DOCS_DIR" ]]; then rm -rf "$TMP_DOCS_DIR"; fi' EXIT +trap 'rm -f "$TMP_CFG"' EXIT build_docs : diff --git a/devops/profiles/test/profile.env b/devops/profiles/test/profile.env index c80893c..d146ccf 100644 --- a/devops/profiles/test/profile.env +++ b/devops/profiles/test/profile.env @@ -7,6 +7,9 @@ RELEASE_VERSION="5.0.57" PROVIDER_VERSION="5.0.57" DOCS_VERSION="5.0.57" +# Docs generation — ONLY from docs_gen// (never from docs/) +DOCS_GEN_DIR="universal_rebuild/docs_gen/test" + # Registry/S3 settings REGISTRY_HOST="terra.k8c.ru" REGISTRY_HOSTNAME="terra.k8c.ru" diff --git a/universal_rebuild/docs-gen/akhq.md b/universal_rebuild/docs-gen/akhq.md deleted file mode 100644 index b160ca3..0000000 --- a/universal_rebuild/docs-gen/akhq.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## MAN - -
-# Инструкция по развертыванию Apache Kafka через платформу

---
## 1. Общая информация
AKHQ — это веб-интерфейс для работы с кластерами Apache Kafka.
Позволяет просматривать топики, consumer group'ы, сообщения, ACL, схему безопасности, состояние брокеров и метаданные.
Поддерживает работу с несколькими кластерами Kafka одновременно, включая внутренние и внешние (TLS) подключения.

## Доступные операции
- **create** — Создание ресурса AKHQ
- **suspend** — Остановка ресурса
- **resume** — Возобновление работы ресурса
- **modify** — Модификация настроек
- **delete** — Удаление ресурса

---
## 2. Параметры развертывания кластера
Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:

* **Кластер Kafka к которому нужно настроить подключение**
Для использования AKHQ необходимо предварительно развернуть сервис Kafka. Пример: `kafka-external`.

* **Платформа для развертывания:**
Платформа для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.

* **Количество узлов в сети:**
Количество узлов для работы Akhq. Пример `2`

* **Квота (megabyte) памяти пода:**
Квота памяти пода в мегабайтах. Пример: `512`

* **Квота (millicore ) ядра пода:**
Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `500`

* **Имя домена:**
Dns Имя по которому будет происходить обращение к сервису. Указать необходимо уникальное имя до . ( то есть если необходимо получить dns ui) Пример: `kafka-external`

---
## 4. Выходные параметры
После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.
Ключевым из них является:

**connectionUrl**
Это полное доменное имя (FQDN), по которому будет доступен интерфейс AKHQ. После развёртывания подождите несколько минут — UI станет доступен по HTTPS, как только все сервисы полностью запустятся.

**Учетные данные**
Здесь представлены поля для ввода логина и пароля, с помощью которых вы сможете авторизоваться в сервисе.

---
## 5. Дополнительная информация
Учётные записи, созданные для работы с AKHQ, предоставляют доступ только для просмотра данных. Для управления Kafka, пожалуйста, используйте возможности личного кабинета.
--- -
diff --git a/universal_rebuild/docs-gen/akhq_example.md b/universal_rebuild/docs-gen/akhq_example.md deleted file mode 100644 index 8d86dd9..0000000 --- a/universal_rebuild/docs-gen/akhq_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## Copy-ready manifest (`akhq_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_akhq" "baza" { - resource_realm = "TODO" # Выбрать платформу из списка - domain = "TODO" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm - kafka_uid = "TODO" # Выбрать кластер из списка - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - resource_memory = 512 # Пример: `1024` - resource_cpu = 500 # Пример: `1000` - resource_instances = 1 -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_akhq.baza.state_params["имя_ключа"] -nubes_akhq.baza.state_out["имя_ключа"] -nubes_akhq.baza.state_params_flat["имя_ключа"] -nubes_akhq.baza.state_out_flat["имя_ключа"] -nubes_akhq.baza.vault_secrets["имя_ключа"] -nubes_akhq.baza.vault_url -nubes_akhq.baza.vault_user_path -nubes_akhq.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/akhq_ops.md b/universal_rebuild/docs-gen/akhq_ops.md deleted file mode 100644 index 9e4364f..0000000 --- a/universal_rebuild/docs-gen/akhq_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](akhq_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](akhq_params_modify.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/akhq_outputs.md b/universal_rebuild/docs-gen/akhq_outputs.md deleted file mode 100644 index 22405f5..0000000 --- a/universal_rebuild/docs-gen/akhq_outputs.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` - -### `vault_secrets` ключи - -- `vault_secrets["pass"]` -- `vault_secrets["user"]` - diff --git a/universal_rebuild/docs-gen/akhq_params.md b/universal_rebuild/docs-gen/akhq_params.md deleted file mode 100644 index b419cf6..0000000 --- a/universal_rebuild/docs-gen/akhq_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## Parameters - -- [Create params](akhq_params_create.md) -- [Modify params](akhq_params_modify.md) diff --git a/universal_rebuild/docs-gen/akhq_params_create.md b/universal_rebuild/docs-gen/akhq_params_create.md deleted file mode 100644 index 687ca12..0000000 --- a/universal_rebuild/docs-gen/akhq_params_create.md +++ /dev/null @@ -1,40 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
550resource_realmstringВыбрать платформу из спискаfunc=getAvailableResourceRealms
553domainstringЕсли будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$
555kafka_uiduuidВыбрать кластер из спискаref_svc_id=116
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
551resource_memoryinteger512Пример: `1024`minvalue=512
552resource_cpuinteger500Пример: `1000`minvalue=500
554resource_instancesinteger1minvalue=1
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/akhq_params_modify.md b/universal_rebuild/docs-gen/akhq_params_modify.md deleted file mode 100644 index 1ba2657..0000000 --- a/universal_rebuild/docs-gen/akhq_params_modify.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_akhq - -Service ID: `119` - -Service Name: Akhq - -[Manual](akhq.md) | [Create params](akhq_params_create.md) | [Modify params](akhq_params_modify.md) | [Output params](akhq_outputs.md) | [Operations](akhq_ops.md) | [Example](akhq_example.md) - -## Modify params - - - - - -
IDCodeTypeDescriptionConstraints
565kafka_uiduuidВыбрать кластер из спискаref_svc_id=116
diff --git a/universal_rebuild/docs-gen/clickhouse.md b/universal_rebuild/docs-gen/clickhouse.md deleted file mode 100644 index b496cff..0000000 --- a/universal_rebuild/docs-gen/clickhouse.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## MAN - -
-# Инструкция по управлению кластерами и пользователями ClickHouse

---

## Общая информация

ClickHouse — это колоночная система управления базами данных, предназначенная для обработки аналитических запросов в реальном времени. Платформа позволяет создавать, удалять, приостанавливать и возобновлять кластеры ClickHouse, а также управлять базами данных и пользователями.

Кластер создаётся через оператор Altinity (`https://github.com/Altinity/clickhouse-operator`) в ресурсной платформе типа `k8s`

Кластеры могут создаваться шардированными с произвольным количеством реплик. Для обеспечения отказоустойчивости и координации обязательно включение параметра `Создать ClickHouse-Keeper`.

Кластера создаются с обязательным бекапом. Для этого необходимо предварительно создать услугу `S3 Object Storage`.
---

## Доступные операции

* **create** — Создание кластера
* **delete** — Удаление кластера
* **suspend** — Приостановка работы кластера
* **resume** — Возобновление работы кластера
* **create_database** — Создание базы данных
* **delete_database** — Удаление базы данных
* **create_user** — Создание пользователя и настройка прав доступа к базе данных
* **delete_user** — Удаление пользователя

## Процесс создания и первого подключения

1. Выполнить операцию `create` - будет создан кластер
2. Выполнить операцию `create_database` - будет создана база данных
3. Выполнить операцию `create_user` - будет создан пользователь (выбрать доступ подключения к БД, созданной в п.2)

## Примеры подключения

### Подключение через HTTP-интерфейс

```bash
# Проверка доступности кластера
curl "http://<username>:<password>@<host>:8123/" -d "SELECT 1"

# Выполнение запроса
curl "http://<username>:<password>@<host>:8123/" -d "SHOW DATABASES"
```

## Простые кейсы
*Создать БД и обычной таблицы*
```clickhouse
CREATE TABLE database.table
(
id UInt64,
value String
)
ENGINE = MergeTree()
ORDER BY id;

INSERT INTO database.table SELECT number, toString(number) FROM numbers(10000000);

SELECT count() FROM database.table;
```
Базы и таблицы не реплицируются без специального ключа (`ON CLUSTER 'clickhousek8s'`)
В случае создания в стиле, описанным выше, необходимо будет выполнять действия на всех шардах/репликах


*Создание БД и шардированной таблицы*
```clickhouse
CREATE TABLE database.localUsers
(
id UInt64,
value String
)
ENGINE = MergeTree()
ORDER BY id;

CREATE TABLE database.shardedTable
AS localUsers
ENGINE = Distributed('clickhousek8s', 'database', 'localUsers', id);

INSERT INTO shardedTable SELECT number, toString(number) FROM numbers(10000000);

SELECT count() FROM shardedTable;
```
Важный момент - в данном примере таблицы придётся также выполнять на всех нодах ClickHouse

*Создание реплицируемой и шардированной таблицы*
```clickhouse
CREATE TABLE IF NOT EXISTS database.localUsers ON cluster 'clickhousek8s'
(
user_id UInt64,
name String,
email String
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/localUsers',
'{replica}'
)
ORDER BY user_id;

CREATE TABLE IF NOT EXISTS database.users ON cluster 'clickhousek8s'
AS database.localUsers
ENGINE = Distributed('clickhousek8s', 'database', 'localUsers', rand());

INSERT INTO database.users VALUES (1, 'Alice', 'alice@example.com');
INSERT INTO database.users VALUES (2, 'Bob', 'bob@example.com');
INSERT INTO database.users VALUES (3, 'Charlie', 'charlie@example.com');
INSERT INTO database.users VALUES (4, 'David', 'david@example.com');
INSERT INTO database.users VALUES (5, 'Gosha', 'gosha@example.com');
INSERT INTO database.users VALUES (6, 'Eve', 'eve@example.com');
INSERT INTO database.users VALUES (7, 'Frank', 'frank@example.com');
INSERT INTO database.users VALUES (8, 'Grace', 'grace@example.com');
INSERT INTO database.users VALUES (9, 'Hannah', 'hannah@example.com');
INSERT INTO database.users VALUES (10, 'Ivan', 'ivan@example.com');

SELECT * FROM database.localUsers;
SELECT * FROM database.users;

SELECT COUNT(*) AS total_users FROM database.users;
SELECT COUNT(*) AS total_users_local FROM database.localUsers;
``` -
diff --git a/universal_rebuild/docs-gen/clickhouse_database.md b/universal_rebuild/docs-gen/clickhouse_database.md deleted file mode 100644 index 3c6c66d..0000000 --- a/universal_rebuild/docs-gen/clickhouse_database.md +++ /dev/null @@ -1,27 +0,0 @@ -# Resource nubes_clickhouse_database - -Service: `nubes_clickhouse` (ID: 120) - -[ClickHouse (основной)](clickhouse.md) | [Operations](clickhouse_ops.md) | [Database](clickhouse_database.md) | [Example](clickhouse_database_example.md) - -## Create params - -**Обязательные параметры** - -None. - -**Параметры со значением по умолчанию** - - - - - -
IDCodeTypeDefaultDescriptionConstraints
600db_namestringdb01Пример: `db01`regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
602db_namestringВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ
diff --git a/universal_rebuild/docs-gen/clickhouse_database_example.md b/universal_rebuild/docs-gen/clickhouse_database_example.md deleted file mode 100644 index e953051..0000000 --- a/universal_rebuild/docs-gen/clickhouse_database_example.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_clickhouse_database — Example - -Service: `nubes_clickhouse` (ID: 120) - -[ClickHouse (основной)](clickhouse.md) | [Operations](clickhouse_ops.md) | [Database](clickhouse_database.md) | [Example](clickhouse_database_example.md) - -## Copy-ready manifest (`clickhouse_database_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_clickhouse должен быть создан заранее -# resource "nubes_clickhouse" "baza" { ... } - -resource "nubes_clickhouse_database" "example" { - clickhouse_id = nubes_clickhouse.baza.id - - # Параметры со значением по умолчанию - db_name = "db01" # Пример: `db01` -} -``` diff --git a/universal_rebuild/docs-gen/clickhouse_example.md b/universal_rebuild/docs-gen/clickhouse_example.md deleted file mode 100644 index 2d1179b..0000000 --- a/universal_rebuild/docs-gen/clickhouse_example.md +++ /dev/null @@ -1,49 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## Copy-ready manifest (`clickhouse_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_clickhouse" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" - clickhouse_keeper_configuration = "TODO" - clickhouse_configuration = "TODO" - backup_configuration = "TODO" - autoscale_configuration = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_clickhouse.baza.state_params["имя_ключа"] -nubes_clickhouse.baza.state_out["имя_ключа"] -nubes_clickhouse.baza.state_params_flat["имя_ключа"] -nubes_clickhouse.baza.state_out_flat["имя_ключа"] -nubes_clickhouse.baza.vault_secrets["имя_ключа"] -nubes_clickhouse.baza.vault_url -nubes_clickhouse.baza.vault_user_path -nubes_clickhouse.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/clickhouse_ops.md b/universal_rebuild/docs-gen/clickhouse_ops.md deleted file mode 100644 index a2c10d2..0000000 --- a/universal_rebuild/docs-gen/clickhouse_ops.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](clickhouse_params_create.md) -- `create_database` — База данных создаётся на всех репликах кластера ClickHouse. См. [nubes_clickhouse_database](clickhouse_database.md) -- `create_user` — . См. [nubes_clickhouse_user](clickhouse_user.md) -- `delete` — Удаление возможно только после остановки сервиса через операцию `suspend` После выполнения операции необходимо выждать определенное кол-во времени -- `delete_database` — Необратимое действие!!! Трижды подумай, заблокируй телефон тимлида и не выполняй это действие. См. [nubes_clickhouse_database](clickhouse_database.md) -- `delete_user` — . См. [nubes_clickhouse_user](clickhouse_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](clickhouse_params_modify.md) -- `reconcile` -- `resume` -- `suspend` — Операция приводит к удалению всех подов Persistent Volume остаются нетронутыми diff --git a/universal_rebuild/docs-gen/clickhouse_outputs.md b/universal_rebuild/docs-gen/clickhouse_outputs.md deleted file mode 100644 index 82ea3b7..0000000 --- a/universal_rebuild/docs-gen/clickhouse_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/clickhouse_params.md b/universal_rebuild/docs-gen/clickhouse_params.md deleted file mode 100644 index c78f96d..0000000 --- a/universal_rebuild/docs-gen/clickhouse_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## Parameters - -- [Create params](clickhouse_params_create.md) -- [Modify params](clickhouse_params_modify.md) diff --git a/universal_rebuild/docs-gen/clickhouse_params_create.md b/universal_rebuild/docs-gen/clickhouse_params_create.md deleted file mode 100644 index 92fd988..0000000 --- a/universal_rebuild/docs-gen/clickhouse_params_create.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
837startup_configurationmap-fixed
838cluster_configurationmap-fixed
839access_configurationmap-fixed
840clickhouse_keeper_configurationmap-fixed
841clickhouse_configurationmap-fixed
842backup_configurationmap-fixed
843autoscale_configurationmap-fixed
851clickhouse_files_configurationarray-map-fixedФормат:
- path: somethings3.xml
xmlConfig: '&lt;clickhouse&gt;......&lt;/clickhouse&gt;'
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/clickhouse_params_modify.md b/universal_rebuild/docs-gen/clickhouse_params_modify.md deleted file mode 100644 index d53484d..0000000 --- a/universal_rebuild/docs-gen/clickhouse_params_modify.md +++ /dev/null @@ -1,21 +0,0 @@ -# Resource nubes_clickhouse - -Service ID: `120` - -Service Name: ClickHouse - -[Manual](clickhouse.md) | [Create params](clickhouse_params_create.md) | [Modify params](clickhouse_params_modify.md) | [Output params](clickhouse_outputs.md) | [Operations](clickhouse_ops.md) | [Example](clickhouse_example.md) - -## Modify params - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
844cluster_configurationmap-fixed
845clickhouse_keeper_configurationmap-fixed
846access_configurationmap-fixed
847clickhouse_configurationmap-fixed
848backup_configurationmap-fixed
849autoscale_configurationmap-fixed
850clickhouse_files_configurationarray-map-fixedФормат:
- path: somethings3.xml
xmlConfig: '&lt;clickhouse&gt;......&lt;/clickhouse&gt;'
diff --git a/universal_rebuild/docs-gen/clickhouse_user.md b/universal_rebuild/docs-gen/clickhouse_user.md deleted file mode 100644 index 60e4c96..0000000 --- a/universal_rebuild/docs-gen/clickhouse_user.md +++ /dev/null @@ -1,29 +0,0 @@ -# Resource nubes_clickhouse_user - -Service: `nubes_clickhouse` (ID: 120) - -[ClickHouse (основной)](clickhouse.md) | [Operations](clickhouse_ops.md) | [User](clickhouse_user.md) | [Example](clickhouse_user_example.md) - -## Create params - -**Обязательные параметры** - -None. - -**Параметры со значением по умолчанию** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
596usernamestringmyusernameПример: `myusername`regex=^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$; maxlength=62; minlength=2
598db_namearray-map-fixed[{}]
599access_hostsstring::/0Пример: `::/0`
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
601usernameИмя пользователя, созданное через операцию `create_user`
diff --git a/universal_rebuild/docs-gen/clickhouse_user_example.md b/universal_rebuild/docs-gen/clickhouse_user_example.md deleted file mode 100644 index 7891a70..0000000 --- a/universal_rebuild/docs-gen/clickhouse_user_example.md +++ /dev/null @@ -1,35 +0,0 @@ -# Resource nubes_clickhouse_user — Example - -Service: `nubes_clickhouse` (ID: 120) - -[ClickHouse (основной)](clickhouse.md) | [Operations](clickhouse_ops.md) | [User](clickhouse_user.md) | [Example](clickhouse_user_example.md) - -## Copy-ready manifest (`clickhouse_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_clickhouse должен быть создан заранее -# resource "nubes_clickhouse" "baza" { ... } - -resource "nubes_clickhouse_user" "example" { - clickhouse_id = nubes_clickhouse.baza.id - - # Параметры со значением по умолчанию - username = "myusername" # Пример: `myusername` - db_name = [{}] - access_hosts = "::/0" # Пример: `::/0` -} -``` diff --git a/universal_rebuild/docs-gen/dnsrecord.md b/universal_rebuild/docs-gen/dnsrecord.md deleted file mode 100644 index 22f9734..0000000 --- a/universal_rebuild/docs-gen/dnsrecord.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## MAN - -
-Необходима DNS зона, в которой будет создана DNS запись.
Выберите
* Зону в которой будет создана запись
* Тип записи
* Имя записи
* Значение записи -
diff --git a/universal_rebuild/docs-gen/dnsrecord_example.md b/universal_rebuild/docs-gen/dnsrecord_example.md deleted file mode 100644 index 055917c..0000000 --- a/universal_rebuild/docs-gen/dnsrecord_example.md +++ /dev/null @@ -1,49 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## Copy-ready manifest (`dnsrecord_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_dnsrecord" "baza" { - zone_uid = "TODO" # UUID экземпляра услуги DNS-зоны - record_type = "A" # Тип DNS-записи - record_name = "TODO" # Имя записи. Имя зоны в конце проставляется автоматически - record_input = "TODO" # Значение. Необходима валидация, в зависимости от типа записи. Должно быть заменено на UUID-внешнийIP - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - record_ttl = 3600 # Time-to-Leave записи. Раз в какое время запись будет обновлена -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_dnsrecord.baza.state_params["имя_ключа"] -nubes_dnsrecord.baza.state_out["имя_ключа"] -nubes_dnsrecord.baza.state_params_flat["имя_ключа"] -nubes_dnsrecord.baza.state_out_flat["имя_ключа"] -nubes_dnsrecord.baza.vault_secrets["имя_ключа"] -nubes_dnsrecord.baza.vault_url -nubes_dnsrecord.baza.vault_user_path -nubes_dnsrecord.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/dnsrecord_ops.md b/universal_rebuild/docs-gen/dnsrecord_ops.md deleted file mode 100644 index 1ee6978..0000000 --- a/universal_rebuild/docs-gen/dnsrecord_ops.md +++ /dev/null @@ -1,14 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](dnsrecord_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](dnsrecord_params_modify.md) -- `reconcile` diff --git a/universal_rebuild/docs-gen/dnsrecord_outputs.md b/universal_rebuild/docs-gen/dnsrecord_outputs.md deleted file mode 100644 index 4d127c2..0000000 --- a/universal_rebuild/docs-gen/dnsrecord_outputs.md +++ /dev/null @@ -1,29 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["dnsServers"]` -- `state_out_flat["record"]` - diff --git a/universal_rebuild/docs-gen/dnsrecord_params.md b/universal_rebuild/docs-gen/dnsrecord_params.md deleted file mode 100644 index 84701f9..0000000 --- a/universal_rebuild/docs-gen/dnsrecord_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## Parameters - -- [Create params](dnsrecord_params_create.md) -- [Modify params](dnsrecord_params_modify.md) diff --git a/universal_rebuild/docs-gen/dnsrecord_params_create.md b/universal_rebuild/docs-gen/dnsrecord_params_create.md deleted file mode 100644 index a4a9ec3..0000000 --- a/universal_rebuild/docs-gen/dnsrecord_params_create.md +++ /dev/null @@ -1,27 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
75zone_uiduuidUUID экземпляра услуги DNS-зоныref_svc_id=109
76record_typestringТип DNS-записиvalue_list=A, AAAA, CNAME, MX, PTR, SOA, SRV, TXT, LUA, NS, SSHFP
77record_namestringИмя записи. Имя зоны в конце проставляется автоматическиunique_scope=parent
78record_inputstringЗначение. Необходима валидация, в зависимости от типа записи. Должно быть заменено на UUID-внешнийIP
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
450record_ttlinteger3600Time-to-Leave записи. Раз в какое время запись будет обновленаminvalue=30; maxvalue=604800
diff --git a/universal_rebuild/docs-gen/dnsrecord_params_modify.md b/universal_rebuild/docs-gen/dnsrecord_params_modify.md deleted file mode 100644 index d3cdbdb..0000000 --- a/universal_rebuild/docs-gen/dnsrecord_params_modify.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_dnsrecord - -Service ID: `111` - -Service Name: DNS запись - -[Manual](dnsrecord.md) | [Create params](dnsrecord_params_create.md) | [Modify params](dnsrecord_params_modify.md) | [Output params](dnsrecord_outputs.md) | [Operations](dnsrecord_ops.md) | [Example](dnsrecord_example.md) - -## Modify params - - - - - -
IDCodeTypeDescriptionConstraints
256record_inputstringЗапись. Необходима валидация, в зависимости от типа записи. Должно быть заменено на UUID-внешнийIP
diff --git a/universal_rebuild/docs-gen/dnszone.md b/universal_rebuild/docs-gen/dnszone.md deleted file mode 100644 index f8249dd..0000000 --- a/universal_rebuild/docs-gen/dnszone.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## MAN - -
-## ![image](https://img.icons8.com/?size=50&id=41400&format=png) Необходимо делегировать зону у регистратора на Авторитетные DNS (Сервера зон)

ns3.ngcloud.ru
``` bash
185.247.187.83
2a10:aa80:0:5::3
```

ns4.ngcloud.ru
``` bash
81.22.46.43
2a10:aa80:0:6::3
``` -
diff --git a/universal_rebuild/docs-gen/dnszone_example.md b/universal_rebuild/docs-gen/dnszone_example.md deleted file mode 100644 index a537b2f..0000000 --- a/universal_rebuild/docs-gen/dnszone_example.md +++ /dev/null @@ -1,52 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## Copy-ready manifest (`dnszone_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_dnszone" "baza" { - zone_email = "TODO" # Контактный e-mail - zone_name = "TODO" # Имя зоны - resource_realm = "TODO" # Платформа для развертывания - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - zone_kind = "NATIVE" # Тип зоны - zone_time_to_refresh = 86400 # Время ожидания ответа вторичного DNS перед запросом SOA-записи с первичных серверов - zone_time_to_retry = 7200 # Время в течение которого сервер повторно попробует синхронизировать информацию с первичных DNS-серверов - zone_time_to_expire = 3600000 # Время в течение которого вторичный DNS будет пытаться завершить синхронизацию зоны с первичным - zone_time_to_live = 86400 # Время, в течение которого информация будет кешироваться другими DNS-серверами -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_dnszone.baza.state_params["имя_ключа"] -nubes_dnszone.baza.state_out["имя_ключа"] -nubes_dnszone.baza.state_params_flat["имя_ключа"] -nubes_dnszone.baza.state_out_flat["имя_ключа"] -nubes_dnszone.baza.vault_secrets["имя_ключа"] -nubes_dnszone.baza.vault_url -nubes_dnszone.baza.vault_user_path -nubes_dnszone.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/dnszone_ops.md b/universal_rebuild/docs-gen/dnszone_ops.md deleted file mode 100644 index e07344c..0000000 --- a/universal_rebuild/docs-gen/dnszone_ops.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](dnszone_params_create.md) -- `delete` diff --git a/universal_rebuild/docs-gen/dnszone_outputs.md b/universal_rebuild/docs-gen/dnszone_outputs.md deleted file mode 100644 index 0c3556d..0000000 --- a/universal_rebuild/docs-gen/dnszone_outputs.md +++ /dev/null @@ -1,32 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["dnsServers"]` -- `state_out_flat["dnsServers.ns1.nubes.ru"]` -- `state_out_flat["dnsServers.ns2.nubes.ru"]` -- `state_out_flat["zoneSerial"]` -- `state_out_flat["zoneSoaServer"]` - diff --git a/universal_rebuild/docs-gen/dnszone_params.md b/universal_rebuild/docs-gen/dnszone_params.md deleted file mode 100644 index 0f1f739..0000000 --- a/universal_rebuild/docs-gen/dnszone_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## Parameters - -- [Create params](dnszone_params_create.md) -- [Modify params](dnszone_params_modify.md) diff --git a/universal_rebuild/docs-gen/dnszone_params_create.md b/universal_rebuild/docs-gen/dnszone_params_create.md deleted file mode 100644 index 0690a8f..0000000 --- a/universal_rebuild/docs-gen/dnszone_params_create.md +++ /dev/null @@ -1,31 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
66zone_emailstringКонтактный e-mail
67zone_namestringИмя зоныregex=^([a-z0-9-]+\.)+[a-z0-9-]+$
69zone_masters_for_slavestringИспользовать если выбран тип SLAVE. IP адреса в формате через пробел для настройки Master-серверов
284resource_realmstringПлатформа для развертыванияfunc=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
68zone_kindstringNATIVEТип зоныvalue_list=NATIVE, SLAVE
70zone_time_to_refreshstring86400Время ожидания ответа вторичного DNS перед запросом SOA-записи с первичных серверов
71zone_time_to_retrystring7200Время в течение которого сервер повторно попробует синхронизировать информацию с первичных DNS-серверов
72zone_time_to_expirestring3600000Время в течение которого вторичный DNS будет пытаться завершить синхронизацию зоны с первичным
73zone_time_to_livestring86400Время, в течение которого информация будет кешироваться другими DNS-серверами
diff --git a/universal_rebuild/docs-gen/dnszone_params_modify.md b/universal_rebuild/docs-gen/dnszone_params_modify.md deleted file mode 100644 index bd1dc13..0000000 --- a/universal_rebuild/docs-gen/dnszone_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_dnszone - -Service ID: `110` - -Service Name: DNS зона - -[Manual](dnszone.md) | [Create params](dnszone_params_create.md) | [Modify params](dnszone_params_modify.md) | [Output params](dnszone_outputs.md) | [Operations](dnszone_ops.md) | [Example](dnszone_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/dummy.md b/universal_rebuild/docs-gen/dummy.md deleted file mode 100644 index 53f9855..0000000 --- a/universal_rebuild/docs-gen/dummy.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## MAN - -
-## Болванка для тестов.

А это просто много букв, чтобы посмотреть, как ведет себя текст при переполнении контейнера.


``` json
{
"iamServiceUrl": "https://auth-api-test.ngcloud.ru/api/v1/user",
"idpResponse": {
"prefix": {
"charset": "",
"status_text": "Request Time-out",
"text": true,
"errordetail": "",
"filecontent": "Connection Timeout",
"responseheader": {},
"header": "",
"statuscode": "408 Request Time-out",
"status_code": 408,
"mimetype": "Unable to determine MIME type of file."
}
}
}
``` -
diff --git a/universal_rebuild/docs-gen/dummy_example.md b/universal_rebuild/docs-gen/dummy_example.md deleted file mode 100644 index 9f0ce5d..0000000 --- a/universal_rebuild/docs-gen/dummy_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## Copy-ready manifest (`dummy_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_dummy" "baza" { - resource_realm = "TODO" # Платформа для развертывания - arr = "test" - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - duration_ms = 0 # перед завершением подождать (sleep) столько миллисекунд - fail_at_start = false # если true, завершить джоб, ничего не записывая в cmdb - fail_in_progress = false # если true, корректно начать выполнение джоба, но в процессе завершить аварийно, ничего не записывая в cmdb - where_fail = 1 # принимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault write -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_dummy.baza.state_params["имя_ключа"] -nubes_dummy.baza.state_out["имя_ключа"] -nubes_dummy.baza.state_params_flat["имя_ключа"] -nubes_dummy.baza.state_out_flat["имя_ключа"] -nubes_dummy.baza.vault_secrets["имя_ключа"] -nubes_dummy.baza.vault_url -nubes_dummy.baza.vault_user_path -nubes_dummy.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/dummy_ops.md b/universal_rebuild/docs-gen/dummy_ops.md deleted file mode 100644 index 3af1a55..0000000 --- a/universal_rebuild/docs-gen/dummy_ops.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](dummy_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](dummy_params_modify.md) -- `reconcile` -- `redeploy` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/dummy_outputs.md b/universal_rebuild/docs-gen/dummy_outputs.md deleted file mode 100644 index 52b99e1..0000000 --- a/universal_rebuild/docs-gen/dummy_outputs.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `vault_secrets` ключи - -- `vault_secrets["someKey"]` - diff --git a/universal_rebuild/docs-gen/dummy_params.md b/universal_rebuild/docs-gen/dummy_params.md deleted file mode 100644 index 67ae088..0000000 --- a/universal_rebuild/docs-gen/dummy_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## Parameters - -- [Create params](dummy_params_create.md) -- [Modify params](dummy_params_modify.md) diff --git a/universal_rebuild/docs-gen/dummy_params_create.md b/universal_rebuild/docs-gen/dummy_params_create.md deleted file mode 100644 index 69e3367..0000000 --- a/universal_rebuild/docs-gen/dummy_params_create.md +++ /dev/null @@ -1,46 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
242resource_realmstringНаименование ресурсной платформы для подключенияfunc=getAvailableResourceRealms
286bodymessagestringДата, уходящая в Vault
321map_examplemap
322json_examplejsonДля тестирования интерфейса. Сюда можно писать корректный json
396nested_ref_example
647map_fixedmap-fixedНовый тип поля
654array_map_fixed_examplearray-map-fixedArray of map-fixed
863arrarrayvalue_list=test, 2, val1
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
198duration_msinteger0перед завершением подождать (sleep) столько миллисекунд
199fail_at_startbooleanfalse**Операция не будет завершена**
Она будет в постоянном статусе PENDING, однако в Jenkins Job завершится с ошибкой
value_list=false, true
200fail_in_progressbooleanfalseесли true, корректно начать выполнение джоба, но в процессе завершить аварийно, ничего не записывая в cmdbvalue_list=false, true
201where_failinteger1принимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault writevalue_list=1, 2, 3
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/dummy_params_modify.md b/universal_rebuild/docs-gen/dummy_params_modify.md deleted file mode 100644 index b601221..0000000 --- a/universal_rebuild/docs-gen/dummy_params_modify.md +++ /dev/null @@ -1,21 +0,0 @@ -# Resource nubes_dummy - -Service ID: `1` - -Service Name: Болванка - -[Manual](dummy.md) | [Create params](dummy_params_create.md) | [Modify params](dummy_params_modify.md) | [Output params](dummy_outputs.md) | [Operations](dummy_ops.md) | [Example](dummy_example.md) - -## Modify params - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
287duration_msintegerперед завершением подождать (sleep) столько миллисекунд
288fail_at_startbooleanесли true, завершить джоб, ничего не записывая в cmdbvalue_list=false, true
289fail_in_progressbooleanесли true, корректно начать выполнение джоба, но в процессе завершить аварийно, ничего не записывая в cmdbvalue_list=false, true
290where_failintegerпринимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault writevalue_list=1, 2, 3
291bodymessageДата, уходящая в Vault
373map_examplemap
374json_example
diff --git a/universal_rebuild/docs-gen/flask.md b/universal_rebuild/docs-gen/flask.md deleted file mode 100644 index 763135a..0000000 --- a/universal_rebuild/docs-gen/flask.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## MAN - -
-# Инструкция по развертыванию Web-сервер с фреймворком Flask через платформу

## 1. Общая информация

Сервис **Web-сервер с фреймворком Flask** предназначен для развертывания веб-приложений на базе Flask.

### Доступные операции

create — включить сервис, развернуть веб-приложение с указанными параметрами.
delete — удалить сервис, только после suspend.
modify — изменить настройки сервиса и переразвернуть.
suspend — выключить веб-приложение, остановить обслуживание.
resume — включить веб-приложение после suspend.

---

## 2. Параметры развертывания

Параметры входных данных операции **create**:

### Имя домена
Описание: доменное имя для доступа к веб-приложению. Если указан FQDN, происходит проверка DNS на валидность А-записи. А-запись должна указывать на балансировщик ресурсной платформы. Если указано имя в рамках одного октета, оно будет добавлено в публичную DNS-зону.
Пример значения: строка, допустимые FQDN или имя в одном октете. Пример: example.com или myapp.

### Платформа для развертывания
Описание: кластер Kubernetes, в котором будет развернуто приложение.
Пример значения: идентификатор кластера Kubernetes.

### Квота ядра пода
Описание: количество CPU, выделяемое на под, в Milicores.
Пример значения: целое число, например 500 для 0.5 ядра.

### Квота памяти пода
Описание: количество памяти, выделяемое на под, в Megabytes.
Пример значения: целое число, например 512 для 512 MB.

### Кол-во реплик пода
Описание: количество инстансов пода для масштабирования.
Пример значения: целое число, шт, например 2.

### URL Проекта (gitpath)
Описание: полный HTTPS путь до проекта в Git-репозитории.
Пример значения: URL в формате https://github.com/myuser/myproject.git. Доступ к репозиторию должен быть публичным.

### URL HealthCheck
Описание: путь для проверки здоровья приложения внутри пода.
Пример значения: строка, путь, например /api/v1/health.

### Переменные окружения пода
Описание: структура данных, которая будет передана как переменные окружения в под.
Пример значения: ключ-значение, например {"ENV": "production"}.

---

## 3. Рекомендованные характеристики

### Тестовое окружение
- Квота ядра пода: 300m (0.3 ядра)
- Квота памяти пода: 256 MB
- Кол-во реплик пода: 1

### Промышленное окружение
- Квота ядра пода: от 1000m (1 ядро) в зависимости от нагрузки
- Квота памяти пода: от 1024 MB (1 GB) с учетом потребностей приложения
- Кол-во реплик пода: от 2 для обеспечения отказоустойчивости

---

## 4. Выходные параметры
Операция create не возвращает явных выходных параметров. Успешное выполнение операции приводит к развертыванию сервиса, доступного по указанному домену.

---

## 5. Дополнительная информация
- В корне проекта должен находиться файл requirements.txt со списком зависимостей Python.
- Исходный код веб-приложения должен располагаться в директории site.
- Запуск веб-сервера осуществляется командой python app.py.
- Используется версия Python: python:3.12-slim.
- Git-репозиторий должен быть публично доступен для платформы.
- Операция delete возможна только после suspend.
- Операция modify приводит к переразвертыванию с новыми параметрами. -
diff --git a/universal_rebuild/docs-gen/flask_example.md b/universal_rebuild/docs-gen/flask_example.md deleted file mode 100644 index cb573d4..0000000 --- a/universal_rebuild/docs-gen/flask_example.md +++ /dev/null @@ -1,49 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## Copy-ready manifest (`flask_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_flask" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" - app_configuration = "TODO" - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - json_env = {} -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_flask.baza.state_params["имя_ключа"] -nubes_flask.baza.state_out["имя_ключа"] -nubes_flask.baza.state_params_flat["имя_ключа"] -nubes_flask.baza.state_out_flat["имя_ключа"] -nubes_flask.baza.vault_secrets["имя_ключа"] -nubes_flask.baza.vault_url -nubes_flask.baza.vault_user_path -nubes_flask.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/flask_ops.md b/universal_rebuild/docs-gen/flask_ops.md deleted file mode 100644 index a9ff50c..0000000 --- a/universal_rebuild/docs-gen/flask_ops.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](flask_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](flask_params_modify.md) -- `reconcile` -- `redeploy` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/flask_outputs.md b/universal_rebuild/docs-gen/flask_outputs.md deleted file mode 100644 index 3c2d51a..0000000 --- a/universal_rebuild/docs-gen/flask_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/flask_params.md b/universal_rebuild/docs-gen/flask_params.md deleted file mode 100644 index ca3f639..0000000 --- a/universal_rebuild/docs-gen/flask_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## Parameters - -- [Create params](flask_params_create.md) -- [Modify params](flask_params_modify.md) diff --git a/universal_rebuild/docs-gen/flask_params_create.md b/universal_rebuild/docs-gen/flask_params_create.md deleted file mode 100644 index cb3cdfb..0000000 --- a/universal_rebuild/docs-gen/flask_params_create.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
1037startup_configurationmap-fixed
1038cluster_configurationmap-fixed
1039access_configurationmap-fixed
1040app_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
1041json_envmap{}
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/flask_params_modify.md b/universal_rebuild/docs-gen/flask_params_modify.md deleted file mode 100644 index 9043feb..0000000 --- a/universal_rebuild/docs-gen/flask_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_flask - -Service ID: `89` - -Service Name: Web-сервер с фреймворком Flask - -[Manual](flask.md) | [Create params](flask_params_create.md) | [Modify params](flask_params_modify.md) | [Output params](flask_outputs.md) | [Operations](flask_ops.md) | [Example](flask_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
1042cluster_configurationmap-fixed
1043app_configurationmap-fixed
1044json_envmap
diff --git a/universal_rebuild/docs-gen/gitea.md b/universal_rebuild/docs-gen/gitea.md deleted file mode 100644 index 8b02101..0000000 --- a/universal_rebuild/docs-gen/gitea.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## MAN - -
-# Инструкция по развертыванию Gitea через платформу

---
## 1. Общая информация
Gitea — это лёгкий, быстрый и самодостаточный сервис хостинга Git-репозиториев с веб-интерфейсом.
Позволяет создавать и управлять репозиториями, организациями, командами, а также настраивать CI/CD через интеграции.
Развёртывание полностью автоматизировано платформой.

## Доступные операции
- **create** — Создание сервиса Gitea
- **delete** — Удаление сервиса Gitea
- **modify** — Модификация сервиса Gitea
- **suspend** — Остановка сервиса Gitea
- **resume** — Запуск сервиса Gitea

---
## 2. Параметры развертывания
Ниже перечислены параметры, которые необходимо указать при создании ресурса Gitea:

* **Платформа для развертывания:**
Платформа для развертывания (среда, в которой будет развёрнут сервис). Пример: `k8s-3.ext.nubes.ru`.

* **Количество узлов в сети:**
Количество реплик подов Gitea. Пример: `1`

* **Квота (megabyte) памяти пода:**
Квота памяти пода в мегабайтах. Пример: `1024`

* **Квота (millicore) ядра пода:**
Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `500`

* **Размер (gigabyte) диска для базы данных:**
Размер PVC для хранения репозиториев и данных Gitea в гигабайтах. Пример: `10`

* **FQDN / Домен:**
Доменное имя, по которому будет доступен сервис. Пример: `git.example.com`

* **Инстанс услуги PostgreSQL:**
UUID услуги k8sPgsql, в которой будет создана база данных `gitea` и пользователь `techgitea`.

* **Дополнительные параметры сервера (iniServerParams):**
JSON-объект с дополнительными параметрами секции `[server]` в `app.ini`. Пример:
```json
{"MAX_CONTENT_LENGTH": "524288000"}
```

* **Дополнительные annotations для Ingress (ingressExtraAnnotations):**
JSON-объект с дополнительными annotations для Ingress-контроллера. Пример:
```json
{"nginx.ingress.kubernetes.io/proxy-body-size": "500m"}
```

---
## 3. Особенности подключения и работы с репозиториями

### 3.1. Доступ только по HTTPS
Сервис развёртывается с **rootless-образом** Gitea. SSH-сервер внутри и он **доступен только внутри кластера Kubernetes**.

**Внешний доступ к репозиториям осуществляется исключительно по HTTPS через Ingress.**

```bash
# Пример клонирования
https://<домен>/<пользователь>/<репозиторий>.git
```

### 3.2. Настройка git для передачи логина и пароля
Для работы с приватными репозиториями через HTTPS необходимо передать учётные данные. Рекомендуется использовать один из следующих способов:

**Встроить креды в URL remote**
```bash
git remote set-url origin https://<логин>:<пароль>@<домен>/<пользователь>/<репозиторий>.git
```
> **Важно:** Логин и пароль администратора создаются автоматически при развертывании и хранятся в Vault.

### 3.3. Работа с большими файлами
По умолчанию `MAX_CONTENT_LENGTH` установлен в **500 МБ**, а Ingress пропускает pack-файлы до **500 МБ**.

Если необходимо запушить файлы близкие к лимиту, увеличьте HTTP-буфер git на стороне клиента:
```bash
git config http.postBuffer 524288000
```

Для файлов **более 500 МБ** рекомендуется использовать **Git LFS**.

---
## 4. Выходные параметры
После успешного развертывания ресурса Gitea платформа возвращает ряд параметров.

Ключевым из них является:

**connectionUrl**
Это внешний URL для доступа к веб-интерфейсу и Git-репозиториям по HTTPS. Пример:
```
https://git.example.com
```

**internalConnect**
Внутренний эндпоинт для подключения к PostgreSQL из других сервисов внутри кластера.

---
## 5. Дополнительная информация
- База данных `gitea` и пользователь `techgitea` создаются автоматически в указанной услуге PostgreSQL.
- DNS-запись и TLS-сертификат (Let's Encrypt) настраиваются автоматически на основе указанного домена.
- Для изменения параметров сервера Gitea (`app.ini`) используйте операцию **modify** с полем `iniServerParams`.
- Для добавления дополнительных Ingress-annotations используйте операцию **modify** с полем `ingressExtraAnnotations`.
--- -
diff --git a/universal_rebuild/docs-gen/gitea_complex.md b/universal_rebuild/docs-gen/gitea_complex.md deleted file mode 100644 index b67da5e..0000000 --- a/universal_rebuild/docs-gen/gitea_complex.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## MAN - -
-Комплексная услуга из ["gittea", "postgres"] -
diff --git a/universal_rebuild/docs-gen/gitea_complex_example.md b/universal_rebuild/docs-gen/gitea_complex_example.md deleted file mode 100644 index 363c3ee..0000000 --- a/universal_rebuild/docs-gen/gitea_complex_example.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## Copy-ready manifest (`gitea_complex_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_gitea_complex" "baza" { -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_gitea_complex.baza.state_params["имя_ключа"] -nubes_gitea_complex.baza.state_out["имя_ключа"] -nubes_gitea_complex.baza.state_params_flat["имя_ключа"] -nubes_gitea_complex.baza.state_out_flat["имя_ключа"] -nubes_gitea_complex.baza.vault_secrets["имя_ключа"] -nubes_gitea_complex.baza.vault_url -nubes_gitea_complex.baza.vault_user_path -nubes_gitea_complex.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/gitea_complex_ops.md b/universal_rebuild/docs-gen/gitea_complex_ops.md deleted file mode 100644 index 4612ff3..0000000 --- a/universal_rebuild/docs-gen/gitea_complex_ops.md +++ /dev/null @@ -1,10 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## Operations - diff --git a/universal_rebuild/docs-gen/gitea_complex_outputs.md b/universal_rebuild/docs-gen/gitea_complex_outputs.md deleted file mode 100644 index f0593c8..0000000 --- a/universal_rebuild/docs-gen/gitea_complex_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/gitea_complex_params.md b/universal_rebuild/docs-gen/gitea_complex_params.md deleted file mode 100644 index ad58e7f..0000000 --- a/universal_rebuild/docs-gen/gitea_complex_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## Parameters - -- [Create params](gitea_complex_params_create.md) -- [Modify params](gitea_complex_params_modify.md) diff --git a/universal_rebuild/docs-gen/gitea_complex_params_create.md b/universal_rebuild/docs-gen/gitea_complex_params_create.md deleted file mode 100644 index 2f57dfd..0000000 --- a/universal_rebuild/docs-gen/gitea_complex_params_create.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - -None. - -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. diff --git a/universal_rebuild/docs-gen/gitea_complex_params_modify.md b/universal_rebuild/docs-gen/gitea_complex_params_modify.md deleted file mode 100644 index 472dee0..0000000 --- a/universal_rebuild/docs-gen/gitea_complex_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_gitea_complex - -Service ID: `114` - -Service Name: Комплексная услуга по созданию gitea - -[Manual](gitea_complex.md) | [Create params](gitea_complex_params_create.md) | [Modify params](gitea_complex_params_modify.md) | [Output params](gitea_complex_outputs.md) | [Operations](gitea_complex_ops.md) | [Example](gitea_complex_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/gitea_example.md b/universal_rebuild/docs-gen/gitea_example.md deleted file mode 100644 index efc4ac5..0000000 --- a/universal_rebuild/docs-gen/gitea_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## Copy-ready manifest (`gitea_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_gitea" "baza" { - psql_uid = "TODO" # UUID Услуги k8sPgsql. Пользователя techGitea, базу данных gitea создаёт автоматически - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - resource_cpu = 500 # Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядро - resource_memory = 512 # Квота памяти пода (Указывается в Megabytes) - resource_disk = 1 # Квота диска (Указывается в GIGAbytes) - resource_instances = 1 # Количество узлов - domain = "web01" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_gitea.baza.state_params["имя_ключа"] -nubes_gitea.baza.state_out["имя_ключа"] -nubes_gitea.baza.state_params_flat["имя_ключа"] -nubes_gitea.baza.state_out_flat["имя_ключа"] -nubes_gitea.baza.vault_secrets["имя_ключа"] -nubes_gitea.baza.vault_url -nubes_gitea.baza.vault_user_path -nubes_gitea.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/gitea_ops.md b/universal_rebuild/docs-gen/gitea_ops.md deleted file mode 100644 index 0b22aac..0000000 --- a/universal_rebuild/docs-gen/gitea_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](gitea_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](gitea_params_modify.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/gitea_outputs.md b/universal_rebuild/docs-gen/gitea_outputs.md deleted file mode 100644 index 3944814..0000000 --- a/universal_rebuild/docs-gen/gitea_outputs.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - -### `vault_secrets` ключи - -- `vault_secrets["adminPass"]` -- `vault_secrets["adminUser"]` - diff --git a/universal_rebuild/docs-gen/gitea_params.md b/universal_rebuild/docs-gen/gitea_params.md deleted file mode 100644 index f0931ff..0000000 --- a/universal_rebuild/docs-gen/gitea_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## Parameters - -- [Create params](gitea_params_create.md) -- [Modify params](gitea_params_modify.md) diff --git a/universal_rebuild/docs-gen/gitea_params_create.md b/universal_rebuild/docs-gen/gitea_params_create.md deleted file mode 100644 index 4f75b95..0000000 --- a/universal_rebuild/docs-gen/gitea_params_create.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
238psql_uiduuidUUID Услуги k8sPgsql. Пользователя techGitea, базу данных gitea создаёт автоматическиref_svc_id=90
818ingress_extra_annotationsmap
821ini_server_paramsmap
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
232resource_cpuinteger500Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядроminvalue=300; maxvalue=4000
233resource_memoryinteger512Квота памяти пода (Указывается в Megabytes)minvalue=256; maxvalue=8192
234resource_diskinteger1Квота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
235resource_instancesinteger1Количество узлов в сетиminvalue=1; maxvalue=7
237domainstringweb01Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$; unique_scope=provider
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/gitea_params_modify.md b/universal_rebuild/docs-gen/gitea_params_modify.md deleted file mode 100644 index d86886b..0000000 --- a/universal_rebuild/docs-gen/gitea_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_gitea - -Service ID: `99` - -Service Name: Gitea - -[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
259resource_cpuintegerКвота ядра пода (Указывается в mili). 1000Mili = 1 Ядроminvalue=500; maxvalue=4000
260resource_memoryintegerКвота памяти пода (Указывается в Megabytes)minvalue=256; maxvalue=8192
261resource_diskintegerКвота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
262resource_instancesintegerКоличество узлов в сетиminvalue=1; maxvalue=7
819ingress_extra_annotationsmapПримеры:
- `nginx.ingress.kubernetes.io/proxy-body-size: 500m` (Размер пакета)
- `nginx.ingress.kubernetes.io/proxy-read-timeout: &quot;600&quot;` (Время ожидания при чтении)
- `nginx.ingress.kubernetes.io/proxy-send-timeout: &quot;600&quot;` (Время ожидания отправке)
820ini_server_paramsmapПримеры:
- `MAX_CONTENT_LENGTH: 524288000(~500мб)` (Размер пакета в байтах)
diff --git a/universal_rebuild/docs-gen/harbor.md b/universal_rebuild/docs-gen/harbor.md deleted file mode 100644 index c0cad0a..0000000 --- a/universal_rebuild/docs-gen/harbor.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## MAN - -
-Расширенный реестр для управления Docker-образами с enterprise-функциями безопасности, репликации и контроля доступа.
Container Registry позволяет хранить, развертывать и управлять Docker-образами контейнеров в инфраструктуре NGcloud.
Сервис можно использовать в процессе разработки контейнеров. Например, вы можете настроить систему автоматизации на работу с реестром в Container Registry в рамках процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.
Чтобы начать работу, создайте реестр и загрузите в него Docker-образ
Авторизация: keycloak -
diff --git a/universal_rebuild/docs-gen/harbor_example.md b/universal_rebuild/docs-gen/harbor_example.md deleted file mode 100644 index 8a83bb3..0000000 --- a/universal_rebuild/docs-gen/harbor_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## Copy-ready manifest (`harbor_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_harbor" "baza" { - resource_realm = "TODO" # Платформа для развертывания - s3_uid = "TODO" # UUID экземпляра услуги S3 - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - domain = "web01" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm - resource_cpu = 100 # Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядро - resource_memory = 200 # Квота памяти пода (Указывается в Megabytes) - resource_instances = 1 # Количество узлов -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_harbor.baza.state_params["имя_ключа"] -nubes_harbor.baza.state_out["имя_ключа"] -nubes_harbor.baza.state_params_flat["имя_ключа"] -nubes_harbor.baza.state_out_flat["имя_ключа"] -nubes_harbor.baza.vault_secrets["имя_ключа"] -nubes_harbor.baza.vault_url -nubes_harbor.baza.vault_user_path -nubes_harbor.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/harbor_ops.md b/universal_rebuild/docs-gen/harbor_ops.md deleted file mode 100644 index c97c401..0000000 --- a/universal_rebuild/docs-gen/harbor_ops.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](harbor_params_create.md) -- `delete` — DEV-Ветка удаления Harbor -- `modify` — Изменение кластера. Параметры: [Modify params](harbor_params_modify.md) diff --git a/universal_rebuild/docs-gen/harbor_outputs.md b/universal_rebuild/docs-gen/harbor_outputs.md deleted file mode 100644 index 3422bbd..0000000 --- a/universal_rebuild/docs-gen/harbor_outputs.md +++ /dev/null @@ -1,40 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.k8sregistry"]` -- `state_out_flat["monitoring.k8sregistry.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - -### `vault_secrets` ключи - -- `vault_secrets["adminPass"]` - diff --git a/universal_rebuild/docs-gen/harbor_params.md b/universal_rebuild/docs-gen/harbor_params.md deleted file mode 100644 index 6819254..0000000 --- a/universal_rebuild/docs-gen/harbor_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## Parameters - -- [Create params](harbor_params_create.md) -- [Modify params](harbor_params_modify.md) diff --git a/universal_rebuild/docs-gen/harbor_params_create.md b/universal_rebuild/docs-gen/harbor_params_create.md deleted file mode 100644 index f51594a..0000000 --- a/universal_rebuild/docs-gen/harbor_params_create.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
110resource_realmstringНаименование кластера Kubernetes для подключенияfunc=getAvailableResourceRealms
231s3_uiduuidUUID экземпляра услуги S3ref_svc_id=12
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
16domainstringweb01Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$
228resource_cpuinteger100Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядроminvalue=500; maxvalue=4000
229resource_memoryinteger200Квота памяти пода (Указывается в Megabytes)minvalue=512; maxvalue=8192
230resource_instancesinteger1Количество узлов в сетиminvalue=1; maxvalue=7
diff --git a/universal_rebuild/docs-gen/harbor_params_modify.md b/universal_rebuild/docs-gen/harbor_params_modify.md deleted file mode 100644 index 71d42a0..0000000 --- a/universal_rebuild/docs-gen/harbor_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_harbor - -Service ID: `82` - -Service Name: Container Registry - -[Manual](harbor.md) | [Create params](harbor_params_create.md) | [Modify params](harbor_params_modify.md) | [Output params](harbor_outputs.md) | [Operations](harbor_ops.md) | [Example](harbor_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
822resource_instancesintegerminvalue=1; maxvalue=7
823resource_cpuintegerminvalue=500; maxvalue=4000
824resource_memoryintegerminvalue=512; maxvalue=8192
diff --git a/universal_rebuild/docs-gen/http.md b/universal_rebuild/docs-gen/http.md deleted file mode 100644 index 68075b0..0000000 --- a/universal_rebuild/docs-gen/http.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/http_example.md b/universal_rebuild/docs-gen/http_example.md deleted file mode 100644 index a39a54b..0000000 --- a/universal_rebuild/docs-gen/http_example.md +++ /dev/null @@ -1,51 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## Copy-ready manifest (`http_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_http" "baza" { - resource_realm = "TODO" # Платформа для развертывания - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - domain = "web01" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm - resource_cpu = 100 # Квота ядра пода (Указывается в mili) - resource_memory = 200 # Квота памяти пода (Указывается в Megabytes) - resource_instances = 1 # Количество узлов - registry_path = "nexus-sa.tst.nubes.ru/docker-nubes/jolt" # Путь до image, который будет установлен как deployment - ingress_annotations = {} # Формат ключ/значение Поддерживает пока простые аннотации -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_http.baza.state_params["имя_ключа"] -nubes_http.baza.state_out["имя_ключа"] -nubes_http.baza.state_params_flat["имя_ключа"] -nubes_http.baza.state_out_flat["имя_ключа"] -nubes_http.baza.vault_secrets["имя_ключа"] -nubes_http.baza.vault_url -nubes_http.baza.vault_user_path -nubes_http.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/http_ops.md b/universal_rebuild/docs-gen/http_ops.md deleted file mode 100644 index fb7982b..0000000 --- a/universal_rebuild/docs-gen/http_ops.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](http_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](http_params_modify.md) -- `reconcile` -- `redeploy` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/http_outputs.md b/universal_rebuild/docs-gen/http_outputs.md deleted file mode 100644 index 9baf737..0000000 --- a/universal_rebuild/docs-gen/http_outputs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - diff --git a/universal_rebuild/docs-gen/http_params.md b/universal_rebuild/docs-gen/http_params.md deleted file mode 100644 index 07aa372..0000000 --- a/universal_rebuild/docs-gen/http_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## Parameters - -- [Create params](http_params_create.md) -- [Modify params](http_params_modify.md) diff --git a/universal_rebuild/docs-gen/http_params_create.md b/universal_rebuild/docs-gen/http_params_create.md deleted file mode 100644 index 2add22b..0000000 --- a/universal_rebuild/docs-gen/http_params_create.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
216resource_realmstringНаименование кластера Kubernetes для подключенияfunc=getAvailableResourceRealms
241json_envmapМассив переменных, будут переданы в env приложения
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
212domainstringweb01Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$; unique_scope=provider
213resource_cpuinteger100Квота ядра пода (Указывается в mili)minvalue=100; maxvalue=4000
214resource_memoryinteger200Квота памяти пода (Указывается в Megabytes)minvalue=128; maxvalue=8192
215resource_instancesinteger1Количество реплик приложения. Трафик будет распределяться между подами в режиме Round-Robinminvalue=1; maxvalue=7
217registry_pathstringnexus-sa.tst.nubes.ru/docker-nubes/joltПуть до image, который будет установлен как deployment
782ingress_annotationsmap{}Формат ключ/значение
Поддерживает пока простые аннотации
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/http_params_modify.md b/universal_rebuild/docs-gen/http_params_modify.md deleted file mode 100644 index 75a69ec..0000000 --- a/universal_rebuild/docs-gen/http_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_http - -Service ID: `98` - -Service Name: Простой HTTP контейнер - -[Manual](http.md) | [Create params](http_params_create.md) | [Modify params](http_params_modify.md) | [Output params](http_outputs.md) | [Operations](http_ops.md) | [Example](http_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
218resource_cpuintegerminvalue=100; maxvalue=4000
219resource_memoryintegerminvalue=128; maxvalue=8192
220resource_instancesintegerКоличество узловminvalue=1; maxvalue=7
diff --git a/universal_rebuild/docs-gen/index.md b/universal_rebuild/docs-gen/index.md deleted file mode 100644 index 28a360a..0000000 --- a/universal_rebuild/docs-gen/index.md +++ /dev/null @@ -1,47 +0,0 @@ -# Ресурсы провайдера - -| ID | Ресурс | Описание | -|-----|--------|----------| -| 1 | [nubes_dummy](dummy.md) | Болванка | -| 2 | [nubes_template](template.md) | Темплейт k8s | -| 12 | [nubes_s3](s3.md) | S3 Object Storage | -| 13 | [nubes_s3bucket](s3bucket.md) | S3 бакет | -| 19 | [nubes_vc_org](vc_org.md) | Организация в Cloud Director | -| 20 | [nubes_vc_org_saas](vc_org_saas.md) | Организация [DEPRECATED] | -| 21 | [nubes_vc_vdc](vc_vdc.md) | Виртуальный датацентр (vDC) | -| 22 | [nubes_vc_nsxt](vc_nsxt.md) | Сетевой шлюз периметра (Edge) | -| 23 | [nubes_vc_vm](vc_vm.md) | VM в Cloud Director (старый формат) (vc_vm) | -| 25 | [nubes_vcexternalip](vcexternalip.md) | Публичные IP адреса | -| 26 | [nubes_vapp](vapp.md) | Виртуальный каталог ВМ (vApp) | -| 27 | [nubes_vc_vm_v2](vc_vm_v2.md) | VM в Cloud Director (vc_vmV2) | -| 28 | [nubes_vc_vm_v3](vc_vm_v3.md) | Виртуальная машина | -| 29 | [nubes_vc_vdc_group](vc_vdc_group.md) | Группа датацентров | -| 32 | [nubes_vmpostgre](vmpostgre.md) | vc_vm_postgresql_std | -| 50 | [nubes_nextcloud](nextcloud.md) | Nextcloud | -| 81 | [nubes_superset](superset.md) | Apache Superset | -| 82 | [nubes_harbor](harbor.md) | Container Registry | -| 88 | [nubes_k8s_ziti_controller](k8s_ziti_controller.md) | k8sZitiController | -| 89 | [nubes_flask](flask.md) | Web-сервер с фреймворком Flask | -| 90 | [nubes_postgres](postgres.md) | PostgreSQL | -| 91 | [nubes_redis](redis.md) | Redis | -| 92 | [nubes_mongodb](mongodb.md) | MongoDB | -| 93 | [nubes_rabbitmq](rabbitmq.md) | RabbitMQ | -| 94 | [nubes_lucee](lucee.md) | Lucee | -| 95 | [nubes_nodejs](nodejs.md) | NodeJS | -| 96 | [nubes_pgadmin](pgadmin.md) | pgAdmin | -| 97 | [nubes_nodered](nodered.md) | NodeRed | -| 98 | [nubes_http](http.md) | Простой HTTP контейнер | -| 99 | [nubes_gitea](gitea.md) | Gitea | -| 100 | [nubes_openwhisk](openwhisk.md) | Serverless Openwhisk (openwhisk_tenant) | -| 110 | [nubes_dnszone](dnszone.md) | DNS зона | -| 111 | [nubes_dnsrecord](dnsrecord.md) | DNS запись | -| 112 | [nubes_tenant](tenant.md) | Тенант в Grafana | -| 113 | [nubes_vc_complex](vc_complex.md) | Быстрый старт | -| 114 | [nubes_gitea_complex](gitea_complex.md) | Комплексная услуга по созданию gitea | -| 115 | [nubes_mariadb](mariadb.md) | Mariadb | -| 116 | [nubes_kafka](kafka.md) | ApacheKafka | -| 117 | [nubes_nifi](nifi.md) | Nifi | -| 119 | [nubes_akhq](akhq.md) | Akhq | -| 120 | [nubes_clickhouse](clickhouse.md) | ClickHouse | -| 149 | [nubes_valo_tenant](valo_tenant.md) | VALO Cloud | -| 150 | [nubes_k8s_sthutrval_cluster](k8s_sthutrval_cluster.md) | Kubernetes кластер Штурвал | diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster.md deleted file mode 100644 index b3b0523..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## MAN - -
-Перед разворачиванием убедиться, что в облаке есть 2 свободных невыделенных IP в пуле -
diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_example.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_example.md deleted file mode 100644 index 2981634..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_example.md +++ /dev/null @@ -1,49 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## Copy-ready manifest (`k8s_sthutrval_cluster_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_k8s_sthutrval_cluster" "baza" { - startup_configuration = "TODO" - control_plane_configuration = "TODO" - access_configuration = "TODO" - cluster_configuration = "TODO" - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - worker_configuration = [{}] -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_k8s_sthutrval_cluster.baza.state_params["имя_ключа"] -nubes_k8s_sthutrval_cluster.baza.state_out["имя_ключа"] -nubes_k8s_sthutrval_cluster.baza.state_params_flat["имя_ключа"] -nubes_k8s_sthutrval_cluster.baza.state_out_flat["имя_ключа"] -nubes_k8s_sthutrval_cluster.baza.vault_secrets["имя_ключа"] -nubes_k8s_sthutrval_cluster.baza.vault_url -nubes_k8s_sthutrval_cluster.baza.vault_user_path -nubes_k8s_sthutrval_cluster.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_ops.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_ops.md deleted file mode 100644 index e15a212..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_ops.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](k8s_sthutrval_cluster_params_create.md) -- `create_user` — . См. [nubes_k8s_sthutrval_cluster_user](k8s_sthutrval_cluster_user.md) -- `delete` -- `delete_user` — . См. [nubes_k8s_sthutrval_cluster_user](k8s_sthutrval_cluster_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](k8s_sthutrval_cluster_params_modify.md) -- `reconcile` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_outputs.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_outputs.md deleted file mode 100644 index 065be3b..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_outputs.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["ingressAddress"]` -- `state_out_flat["kubernetesApiAddress"]` - -### `vault_secrets` ключи - -- `vault_secrets["kubernetesAdminConfigB64"]` - diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params.md deleted file mode 100644 index 641f838..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## Parameters - -- [Create params](k8s_sthutrval_cluster_params_create.md) -- [Modify params](k8s_sthutrval_cluster_params_modify.md) diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params_create.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params_create.md deleted file mode 100644 index 4ecc132..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params_create.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
750startup_configurationmap-fixed
751control_plane_configurationmap-fixed
753access_configurationmap-fixed
755cluster_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
752worker_configurationarray-map-fixed[{}]
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params_modify.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params_modify.md deleted file mode 100644 index f2f26fb..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_params_modify.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster - -Service ID: `150` - -Service Name: Kubernetes кластер Штурвал - -[Manual](k8s_sthutrval_cluster.md) | [Create params](k8s_sthutrval_cluster_params_create.md) | [Modify params](k8s_sthutrval_cluster_params_modify.md) | [Output params](k8s_sthutrval_cluster_outputs.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [Example](k8s_sthutrval_cluster_example.md) - -## Modify params - - - - - - - - -
IDCodeTypeDescriptionConstraints
756cluster_configurationmap-fixed
757control_plane_configurationmap-fixed
758worker_configurationarray-map-fixed
759access_configurationmap-fixed
diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_user.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_user.md deleted file mode 100644 index df2fe99..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_user.md +++ /dev/null @@ -1,27 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster_user - -Service: `nubes_k8s_sthutrval_cluster` (ID: 150) - -[Kubernetes кластер Штурвал (основной)](k8s_sthutrval_cluster.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [User](k8s_sthutrval_cluster_user.md) | [Example](k8s_sthutrval_cluster_user_example.md) - -## Create params - -**Обязательные параметры** - -None. - -**Параметры со значением по умолчанию** - - - - - -
IDCodeTypeDefaultDescriptionConstraints
869adminsarray-map-fixed[{}]
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
870adminsarray-map-fixed
diff --git a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_user_example.md b/universal_rebuild/docs-gen/k8s_sthutrval_cluster_user_example.md deleted file mode 100644 index ff417ff..0000000 --- a/universal_rebuild/docs-gen/k8s_sthutrval_cluster_user_example.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_k8s_sthutrval_cluster_user — Example - -Service: `nubes_k8s_sthutrval_cluster` (ID: 150) - -[Kubernetes кластер Штурвал (основной)](k8s_sthutrval_cluster.md) | [Operations](k8s_sthutrval_cluster_ops.md) | [User](k8s_sthutrval_cluster_user.md) | [Example](k8s_sthutrval_cluster_user_example.md) - -## Copy-ready manifest (`k8s_sthutrval_cluster_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_k8s_sthutrval_cluster должен быть создан заранее -# resource "nubes_k8s_sthutrval_cluster" "baza" { ... } - -resource "nubes_k8s_sthutrval_cluster_user" "example" { - k8s_sthutrval_cluster_id = nubes_k8s_sthutrval_cluster.baza.id - - # Параметры со значением по умолчанию - admins = [{}] -} -``` diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller.md b/universal_rebuild/docs-gen/k8s_ziti_controller.md deleted file mode 100644 index 5c8b8f3..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller_example.md b/universal_rebuild/docs-gen/k8s_ziti_controller_example.md deleted file mode 100644 index 6869518..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## Copy-ready manifest (`k8s_ziti_controller_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_k8s_ziti_controller" "baza" { - resource_realm = "TODO" # Платформа для развертывания - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - resource_cpu = 300 # Квота ядра пода (milicores) - resource_memory = 512 # Квота памяти пода (MBytes) - resource_disk = 1 # Квота диска (Указывается в GIGAbytes) - resource_instances = 1 # Количество узлов - domain = "web01" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_k8s_ziti_controller.baza.state_params["имя_ключа"] -nubes_k8s_ziti_controller.baza.state_out["имя_ключа"] -nubes_k8s_ziti_controller.baza.state_params_flat["имя_ключа"] -nubes_k8s_ziti_controller.baza.state_out_flat["имя_ключа"] -nubes_k8s_ziti_controller.baza.vault_secrets["имя_ключа"] -nubes_k8s_ziti_controller.baza.vault_url -nubes_k8s_ziti_controller.baza.vault_user_path -nubes_k8s_ziti_controller.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller_ops.md b/universal_rebuild/docs-gen/k8s_ziti_controller_ops.md deleted file mode 100644 index 8da7234..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller_ops.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](k8s_ziti_controller_params_create.md) -- `delete` diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller_outputs.md b/universal_rebuild/docs-gen/k8s_ziti_controller_outputs.md deleted file mode 100644 index 6fc1fdd..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller_params.md b/universal_rebuild/docs-gen/k8s_ziti_controller_params.md deleted file mode 100644 index 343d93e..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## Parameters - -- [Create params](k8s_ziti_controller_params_create.md) -- [Modify params](k8s_ziti_controller_params_modify.md) diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller_params_create.md b/universal_rebuild/docs-gen/k8s_ziti_controller_params_create.md deleted file mode 100644 index dac54da..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller_params_create.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - -
IDCodeTypeDescriptionConstraints
298resource_realmstringПлатформа для развертыванияfunc=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
294resource_cpuinteger300Квота ядра пода (milicores)minvalue=100; maxvalue=4000
295resource_memoryinteger512Квота памяти пода (MBytes)minvalue=128; maxvalue=8192
296resource_diskinteger1Квота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
297resource_instancesinteger1Количество узловminvalue=1; maxvalue=7
299domainstringweb01Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$; unique_scope=provider
diff --git a/universal_rebuild/docs-gen/k8s_ziti_controller_params_modify.md b/universal_rebuild/docs-gen/k8s_ziti_controller_params_modify.md deleted file mode 100644 index 1998e6a..0000000 --- a/universal_rebuild/docs-gen/k8s_ziti_controller_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_k8s_ziti_controller - -Service ID: `88` - -Service Name: k8sZitiController - -[Manual](k8s_ziti_controller.md) | [Create params](k8s_ziti_controller_params_create.md) | [Modify params](k8s_ziti_controller_params_modify.md) | [Output params](k8s_ziti_controller_outputs.md) | [Operations](k8s_ziti_controller_ops.md) | [Example](k8s_ziti_controller_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/kafka.md b/universal_rebuild/docs-gen/kafka.md deleted file mode 100644 index 34f2d04..0000000 --- a/universal_rebuild/docs-gen/kafka.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## MAN - -
-# Инструкция по развертыванию Организация в Cloud Director через платформу

## 1. Общая информация

Сервис **Организация в Cloud Director** предназначен для управления изолированными организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.

### Доступные операции

**create** — Создание новой организации с заданными характеристиками и типом доступа.
**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.
**modify** — Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).
**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.
**resume** — Разморозка организации, восстановление функций управления.

---

## 2. Параметры развертывания

Параметры входных данных операции **create**:

### Платформа для развертывания
Описание: платформа, на которой будет создана организация.
Пример значения: `ngcloud.ru`.

### Тип организации
Описание: тип создаваемой организации.
Варианты:
- `iaas` — организация с прямым доступом к облаку и авторизацией через Keycloak.
- `saas` — организация под управлением Nubes, без прямого доступа к облаку.

---

## 3. Рекомендованные характеристики

### Тестовое окружение
- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.

### Промышленное окружение
- Тип организации: `saas` (упрощённая модель использования).

---

## 4. Выходные параметры

Услуга предоставляет следующие выходные параметры (формируются в процессе операций):

### Идентификатор организации
Уникальный идентификатор созданной организации. Используется для всех дальнейших API-операций.

### Статус организации
Отражает текущее состояние: active, suspended, modifying, deleting.

### Параметры сети
Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.

---

## 5. Дополнительная информация

- Для конфигурации внешних IP внутри организации необходимо предварительно создать:
-- хотя бы один **Виртуальный датацентр (VDC)**;
-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.
- Удаление организации возможно только через 14 дней после перевода в состояние suspend.
- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок и иных объектов.
- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.
- Для iaas-организаций доступ осуществляется через Keycloak.

-
diff --git a/universal_rebuild/docs-gen/kafka_example.md b/universal_rebuild/docs-gen/kafka_example.md deleted file mode 100644 index 6727567..0000000 --- a/universal_rebuild/docs-gen/kafka_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## Copy-ready manifest (`kafka_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_kafka" "baza" { - resource_instances = 1 # Пример: `2` - resource_memory = 1 # Пример: `2048` - resource_cpu = 1 # Пример: `2000` - resource_disk = 1 # Пример: `20` - resource_realm = "TODO" # Выбрать платформу из списка - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - need_external_address_master = false # Флаг, определяющий, нужно ли выделять внешний IP для доступа к master-брокеру. Пример: `true` или `false` -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_kafka.baza.state_params["имя_ключа"] -nubes_kafka.baza.state_out["имя_ключа"] -nubes_kafka.baza.state_params_flat["имя_ключа"] -nubes_kafka.baza.state_out_flat["имя_ключа"] -nubes_kafka.baza.vault_secrets["имя_ключа"] -nubes_kafka.baza.vault_url -nubes_kafka.baza.vault_user_path -nubes_kafka.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/kafka_ops.md b/universal_rebuild/docs-gen/kafka_ops.md deleted file mode 100644 index d21d9b4..0000000 --- a/universal_rebuild/docs-gen/kafka_ops.md +++ /dev/null @@ -1,21 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](kafka_params_create.md) -- `create_topic` — # Инструкция по управлению топиками Apache Kafka через платформу ## 1. Общая информация --- Топик — это основная сущность в Apache Kafka, предназначенная для приёма сообщений от продюсеров и передачи их консюмерам. Платформа позволяет создавать, удалять и изменять параметры топиков без прямого доступа к брокерам, обеспечивая удобное управление через интерфейс или API. --- ## Доступные операции - **create_topic** — Создание топика - **modify_topic** — Модификация топика - **delete_topic** — Удаление топика --- ## 2. Параметры создания топика Ниже перечислены параметры, которые необходимо указать при создании нового топика: * **Имя топика** Название топика. Должно быть уникальным в пределах кластера. Пример: `orders-events`. * **Партиции** Количество партиций топика. Рекомендуется выбирать с учётом уровня параллелизма потребителей и предполагаемой нагрузки. Пример: `6`. Здесь важно рассказать о том как происходит расчет оптимального количества Обратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки. * **Реплики** Количество реплик для каждой партиции. Обычно равно количеству доступных брокеров или меньше. Пример: `3`. --- ## 4. Параметры модификации топика Для уже существующих топиков можно изменять параметры. Все параметры являются опциональными: * **Имя топика** Название топика. Пример: `orders-events`. * **Партиции** Новое количество партиций. Пример: `12`. * **Реплики** Новое количество реплик. Пример: `2`. --- ## 5. Рекомендации * Планируйте количество партиций с запасом — уменьшение их числа невозможно. * Количество реплик должно соответствовать требуемому уровню отказоустойчивости, но не превышать количество брокеров. * Изменение параметров топика в рабочем окружении может временно влиять на производительность. Рекомендуется проводить крупные изменения в периоды минимальной нагрузки. ---. См. [nubes_kafka_topic](kafka_topic.md) -- `create_user` — # Инструкция по управлению пользователями Apache Kafka. --- ## 1. Общая информация Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру. Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам. Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka. --- ## Доступные операции - **create_user** — Создание пользователя - **modify_user** — Модификация пользователя - **delete_user** — Удаление пользователя --- ## 2. Параметры создания пользователя Ниже перечислены параметры, которые необходимо указать при создании нового пользователя: * **Имя пользователя** Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример: `username-admin` * **Топик** Название топика, к которому будут назначены права для данного пользователя. Пример: `orders-events`. Использовать маску нельзя (`orders*`), только полное название или `*`. * **Операции** Список разрешённых операций на указанном топике. Пример: `Describe, Read, Write` * **Группа** Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример: `order-consumers`. * **Разрешённые хосты** Список хостов или подсетей, с которых разрешено подключение пользователя. Пример: `192.168.1.0/24` или `*`. --- ## 3. Параметры модификации пользователя Ниже перечислены параметры, которые необходимо указать при модификации пользователя: * **Имя пользователя** Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример: `username-admin` * **Топик** Название топика, к которому будут назначены права для данного пользователя. Пример: `orders-events`. Использовать маску нельзя (`orders*`), только полное название или `*`. * **Операции** Список разрешённых операций на указанном топике. Пример: `Describe, Read, Write` * **Группа** Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример: `order-consumers`. * **Разрешённые хосты** Список хостов или подсетей, с которых разрешено подключение пользователя. Пример: `192.168.1.0/24` или `*`. --- ## 4. Параметры удалении пользователя Ниже перечислены параметры, которые необходимо указать при удалении пользователя: * **Имя пользователя** Имя удаляемого пользователя. Пример: `username-admin` ## 5. Выходные параметры После успешного создания пользователя платформа возвращает параметры, необходимые для подключения: * **ca.crt** Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении. Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.crt ``` * **ca.p12** PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.p12 ``` * **ca.password** Пароль для доступа к хранилищу `ca.p12`. Выдаеться в чистом виде. Раскодировать не нужно. * **user.crt** Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka. Используется совместно с приватным ключом `user.key` для аутентификации. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.crt ``` * **user.key** Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.key ``` * **user.p12** PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo "<содержание поля>" | base64 -d > <название>.p12 ``` * **user.password** Пароль для доступа к хранилищу `user.p12`. Выдаеться в чистом виде. Раскодировать не нужно. Эти параметры используются для настройки TLS-подключения. --- ## 6. Пример конфигурации клиента внутри кластера Пример пода: ```yaml apiVersion: v1 kind: Pod metadata: name: kafka-4 spec: volumes: - name: work emptyDir: {} containers: - name: kcat image: quay.io/strimzi/kafka:latest-kafka-4.0.0 command: ["sleep", "5600"] volumeMounts: - name: work mountPath: /work restartPolicy: Never ``` Создаём под и сохраняем сертификаты: ```bash kubectl cp user.p12 kafka-4:/work/ kubectl cp ca.p12 kafka-4:/work/ ``` Создаём файлы конфигурации: ```bash cat > /work/user-read.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user.p12 ssl.keystore.password= ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password= EOF ``` ```bash cat > /work/user-write.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user-write.p12 ssl.keystore.password= ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password= EOF ``` Листинг доступных топиков: ```bash /opt/kafka/bin/kafka-topics.sh \ --bootstrap-server kafkak8s-bootstrap-external:9093 \ --command-config /work/user-read.properties \ --list ``` Запись сообщений: ```bash /opt/kafka/bin/kafka-console-producer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic \ --producer.config /work/user-write.properties ``` Чтение сообщений: ```bash /opt/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic \ --from-beginning \ --group \ --consumer.config /work/user-read.properties \ --max-messages 50 ``` --- ## 7. Пример внешнего подключения с использованием **kcat** **Листинг топиков** ```bash kcat -b :9093 \ -L \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none ``` **Запись сообщения** ```bash echo "hello from kcat" | kcat -P \ -b :9093 \ -t write-test \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-write.crt \ -X ssl.key.location=./user-write.key \ -X ssl.endpoint.identification.algorithm=none ``` **Чтение сообщений** ```bash kcat -C \ -b :9093 \ -t write-test \ -o beginning \ -q \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none ``` --- ## 9. Рекомендации * Минимизируйте набор разрешённых операций для повышения безопасности. * Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов. * Ограничивайте доступ по IP или подсетям с помощью параметра **Разрешённые хосты**. * После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам. ---. См. [nubes_kafka_user](kafka_user.md) -- `delete` -- `delete_topic` — . См. [nubes_kafka_topic](kafka_topic.md) -- `delete_user` — # Инструкция по управлению пользователями Apache Kafka. --- ## 1. Общая информация Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру. Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам. Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka. --- ## Доступные операции - **create_user** — Создание пользователя - **modify_user** — Модификация пользователя - **delete_user** — Удаление пользователя --- ## 2. Параметры создания пользователя Ниже перечислены параметры, которые необходимо указать при создании нового пользователя: * **Имя пользователя** Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример: `username-admin` * **Топик** Название топика, к которому будут назначены права для данного пользователя. Пример: `orders-events`. Использовать маску нельзя (`orders*`), только полное название или `*`. * **Операции** Список разрешённых операций на указанном топике. Пример: `Describe, Read, Write` * **Группа** Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример: `order-consumers`. * **Разрешённые хосты** Список хостов или подсетей, с которых разрешено подключение пользователя. Пример: `192.168.1.0/24` или `*`. --- ## 3. Параметры модификации пользователя Ниже перечислены параметры, которые необходимо указать при модификации пользователя: * **Имя пользователя** Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример: `username-admin` * **Топик** Название топика, к которому будут назначены права для данного пользователя. Пример: `orders-events`. Использовать маску нельзя (`orders*`), только полное название или `*`. * **Операции** Список разрешённых операций на указанном топике. Пример: `Describe, Read, Write` * **Группа** Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример: `order-consumers`. * **Разрешённые хосты** Список хостов или подсетей, с которых разрешено подключение пользователя. Пример: `192.168.1.0/24` или `*`. --- ## 4. Параметры удалении пользователя Ниже перечислены параметры, которые необходимо указать при удалении пользователя: * **Имя пользователя** Имя удаляемого пользователя. Пример: `username-admin` ## 5. Выходные параметры После успешного создания пользователя платформа возвращает параметры, необходимые для подключения: * **ca.crt** Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении. Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.crt ``` * **ca.p12** PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.p12 ``` * **ca.password** Пароль для доступа к хранилищу `ca.p12`. Выдаеться в чистом виде. Раскодировать не нужно. * **user.crt** Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka. Используется совместно с приватным ключом `user.key` для аутентификации. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.crt ``` * **user.key** Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.key ``` * **user.p12** PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo "<содержание поля>" | base64 -d > <название>.p12 ``` * **user.password** Пароль для доступа к хранилищу `user.p12`. Выдаеться в чистом виде. Раскодировать не нужно. Эти параметры используются для настройки TLS-подключения. --- ## 6. Пример конфигурации клиента внутри кластера Пример пода: ```yaml apiVersion: v1 kind: Pod metadata: name: kafka-4 spec: volumes: - name: work emptyDir: {} containers: - name: kcat image: quay.io/strimzi/kafka:latest-kafka-4.0.0 command: ["sleep", "5600"] volumeMounts: - name: work mountPath: /work restartPolicy: Never ``` Создаём под и сохраняем сертификаты: ```bash kubectl cp user.p12 kafka-4:/work/ kubectl cp ca.p12 kafka-4:/work/ ``` Создаём файлы конфигурации: ```bash cat > /work/user-read.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user.p12 ssl.keystore.password= ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password= EOF ``` ```bash cat > /work/user-write.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user-write.p12 ssl.keystore.password= ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password= EOF ``` Листинг доступных топиков: ```bash /opt/kafka/bin/kafka-topics.sh \ --bootstrap-server kafkak8s-bootstrap-external:9093 \ --command-config /work/user-read.properties \ --list ``` Запись сообщений: ```bash /opt/kafka/bin/kafka-console-producer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic \ --producer.config /work/user-write.properties ``` Чтение сообщений: ```bash /opt/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic \ --from-beginning \ --group \ --consumer.config /work/user-read.properties \ --max-messages 50 ``` --- ## 7. Пример внешнего подключения с использованием **kcat** **Листинг топиков** ```bash kcat -b :9093 \ -L \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none ``` **Запись сообщения** ```bash echo "hello from kcat" | kcat -P \ -b :9093 \ -t write-test \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-write.crt \ -X ssl.key.location=./user-write.key \ -X ssl.endpoint.identification.algorithm=none ``` **Чтение сообщений** ```bash kcat -C \ -b :9093 \ -t write-test \ -o beginning \ -q \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none ``` --- ## 9. Рекомендации * Минимизируйте набор разрешённых операций для повышения безопасности. * Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов. * Ограничивайте доступ по IP или подсетям с помощью параметра **Разрешённые хосты**. * После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам. ---. См. [nubes_kafka_user](kafka_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](kafka_params_modify.md) -- `modify_topic` — # Инструкция по управлению топиками Apache Kafka через платформу ## 1. Общая информация --- Топик — это основная сущность в Apache Kafka, предназначенная для приёма сообщений от продюсеров и передачи их консюмерам. Платформа позволяет создавать, удалять и изменять параметры топиков без прямого доступа к брокерам, обеспечивая удобное управление через интерфейс или API. --- ## Доступные операции - **create_topic** — Создание топика - **modify_topic** — Модификация топика - **delete_topic** — Удаление топика --- ## 2. Параметры создания топика Ниже перечислены параметры, которые необходимо указать при создании нового топика: * **Имя топика** Название топика. Должно быть уникальным в пределах кластера. Пример: `orders-events`. * **Партиции** Количество партиций топика. Рекомендуется выбирать с учётом уровня параллелизма потребителей и предполагаемой нагрузки. Пример: `6`. Здесь важно рассказать о том как происходит расчет оптимального количества Обратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки. * **Реплики** Количество реплик для каждой партиции. Обычно равно количеству доступных брокеров или меньше. Пример: `3`. --- ## 4. Параметры модификации топика Для уже существующих топиков можно изменять параметры. Все параметры являются опциональными: * **Имя топика** Название топика. Пример: `orders-events`. * **Партиции** Новое количество партиций. Пример: `12`. * **Реплики** Новое количество реплик. Пример: `2`. --- ## 5. Рекомендации * Планируйте количество партиций с запасом — уменьшение их числа невозможно. * Количество реплик должно соответствовать требуемому уровню отказоустойчивости, но не превышать количество брокеров. * Изменение параметров топика в рабочем окружении может временно влиять на производительность. Рекомендуется проводить крупные изменения в периоды минимальной нагрузки. ---. См. [nubes_kafka_topic](kafka_topic.md) -- `modify_user` — # Инструкция по управлению пользователями Apache Kafka. --- ## 1. Общая информация Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру. Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам. Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka. --- ## Доступные операции - **create_user** — Создание пользователя - **modify_user** — Модификация пользователя - **delete_user** — Удаление пользователя --- ## 2. Параметры создания пользователя Ниже перечислены параметры, которые необходимо указать при создании нового пользователя: * **Имя пользователя** Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример: `username-admin` * **Топик** Название топика, к которому будут назначены права для данного пользователя. Пример: `orders-events`. Использовать маску нельзя (`orders*`), только полное название или `*`. * **Операции** Список разрешённых операций на указанном топике. Пример: `Describe, Read, Write` * **Группа** Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример: `order-consumers`. * **Разрешённые хосты** Список хостов или подсетей, с которых разрешено подключение пользователя. Пример: `192.168.1.0/24` или `*`. --- ## 3. Параметры модификации пользователя Ниже перечислены параметры, которые необходимо указать при модификации пользователя: * **Имя пользователя** Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав. Пример: `username-admin` * **Топик** Название топика, к которому будут назначены права для данного пользователя. Пример: `orders-events`. Использовать маску нельзя (`orders*`), только полное название или `*`. * **Операции** Список разрешённых операций на указанном топике. Пример: `Describe, Read, Write` * **Группа** Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп. Пример: `order-consumers`. * **Разрешённые хосты** Список хостов или подсетей, с которых разрешено подключение пользователя. Пример: `192.168.1.0/24` или `*`. --- ## 4. Параметры удалении пользователя Ниже перечислены параметры, которые необходимо указать при удалении пользователя: * **Имя пользователя** Имя удаляемого пользователя. Пример: `username-admin` ## 5. Выходные параметры После успешного создания пользователя платформа возвращает параметры, необходимые для подключения: * **ca.crt** Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении. Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.crt ``` * **ca.p12** PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.p12 ``` * **ca.password** Пароль для доступа к хранилищу `ca.p12`. Выдаеться в чистом виде. Раскодировать не нужно. * **user.crt** Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka. Используется совместно с приватным ключом `user.key` для аутентификации. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.crt ``` * **user.key** Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo '<содержание поля>' | base64 -d > <название>.key ``` * **user.p12** PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka. Выдаеться в формате base64 для получения файла сертификата использовать команду ```bash echo "<содержание поля>" | base64 -d > <название>.p12 ``` * **user.password** Пароль для доступа к хранилищу `user.p12`. Выдаеться в чистом виде. Раскодировать не нужно. Эти параметры используются для настройки TLS-подключения. --- ## 6. Пример конфигурации клиента внутри кластера Пример пода: ```yaml apiVersion: v1 kind: Pod metadata: name: kafka-4 spec: volumes: - name: work emptyDir: {} containers: - name: kcat image: quay.io/strimzi/kafka:latest-kafka-4.0.0 command: ["sleep", "5600"] volumeMounts: - name: work mountPath: /work restartPolicy: Never ``` Создаём под и сохраняем сертификаты: ```bash kubectl cp user.p12 kafka-4:/work/ kubectl cp ca.p12 kafka-4:/work/ ``` Создаём файлы конфигурации: ```bash cat > /work/user-read.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user.p12 ssl.keystore.password= ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password= EOF ``` ```bash cat > /work/user-write.properties <<'EOF' security.protocol=SSL ssl.keystore.type=PKCS12 ssl.keystore.location=/work/user-write.p12 ssl.keystore.password= ssl.truststore.type=PKCS12 ssl.truststore.location=/work/ca.p12 ssl.truststore.password= EOF ``` Листинг доступных топиков: ```bash /opt/kafka/bin/kafka-topics.sh \ --bootstrap-server kafkak8s-bootstrap-external:9093 \ --command-config /work/user-read.properties \ --list ``` Запись сообщений: ```bash /opt/kafka/bin/kafka-console-producer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic \ --producer.config /work/user-write.properties ``` Чтение сообщений: ```bash /opt/kafka/bin/kafka-console-consumer.sh \ --bootstrap-server <адрес сервис брокера>:9093 \ --topic \ --from-beginning \ --group \ --consumer.config /work/user-read.properties \ --max-messages 50 ``` --- ## 7. Пример внешнего подключения с использованием **kcat** **Листинг топиков** ```bash kcat -b :9093 \ -L \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none ``` **Запись сообщения** ```bash echo "hello from kcat" | kcat -P \ -b :9093 \ -t write-test \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-write.crt \ -X ssl.key.location=./user-write.key \ -X ssl.endpoint.identification.algorithm=none ``` **Чтение сообщений** ```bash kcat -C \ -b :9093 \ -t write-test \ -o beginning \ -q \ -X security.protocol=SSL \ -X ssl.ca.location=./ca.crt \ -X ssl.certificate.location=./user-read.crt \ -X ssl.key.location=./user-read.key \ -X ssl.endpoint.identification.algorithm=none ``` --- ## 9. Рекомендации * Минимизируйте набор разрешённых операций для повышения безопасности. * Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов. * Ограничивайте доступ по IP или подсетям с помощью параметра **Разрешённые хосты**. * После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам. ---. См. [nubes_kafka_user](kafka_user.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/kafka_outputs.md b/universal_rebuild/docs-gen/kafka_outputs.md deleted file mode 100644 index 7a36056..0000000 --- a/universal_rebuild/docs-gen/kafka_outputs.md +++ /dev/null @@ -1,54 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["externalConnect"]` -- `state_out_flat["externalConnect.bootstrap"]` -- `state_out_flat["externalConnect.bootstrap.fqdn"]` -- `state_out_flat["externalConnect.bootstrap.ip"]` -- `state_out_flat["externalConnect.bootstrap.isExternal"]` -- `state_out_flat["externalConnect.bootstrap.uuid"]` -- `state_out_flat["internalConnect"]` -- `state_out_flat["kafkaTopics"]` -- `state_out_flat["kafkaTopics.test-events"]` -- `state_out_flat["kafkaTopics.test-events.partitions"]` -- `state_out_flat["kafkaTopics.test-events.replicas"]` -- `state_out_flat["kafkaUsers"]` -- `state_out_flat["kafkaUsers.usertest"]` -- `state_out_flat["kafkaUsers.usertest.accessHosts"]` -- `state_out_flat["kafkaUsers.usertest.group"]` -- `state_out_flat["kafkaUsers.usertest.nameTopic"]` -- `state_out_flat["kafkaUsers.usertest.operations"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - -### `vault_secrets` ключи - -- `vault_secrets["users"]` - diff --git a/universal_rebuild/docs-gen/kafka_params.md b/universal_rebuild/docs-gen/kafka_params.md deleted file mode 100644 index 25cb573..0000000 --- a/universal_rebuild/docs-gen/kafka_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## Parameters - -- [Create params](kafka_params_create.md) -- [Modify params](kafka_params_modify.md) diff --git a/universal_rebuild/docs-gen/kafka_params_create.md b/universal_rebuild/docs-gen/kafka_params_create.md deleted file mode 100644 index 1a43a4e..0000000 --- a/universal_rebuild/docs-gen/kafka_params_create.md +++ /dev/null @@ -1,41 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
461resource_instancesintegerПример: `2`minvalue=1; value_list=1, 2, 3, 4, 5
462resource_memoryintegerПример: `2048`minvalue=1000
463resource_cpuintegerПример: `2000`minvalue=1000
464resource_diskintegerПример: `20`
466ip_space_name_masterstringЕсли включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`
469resource_realmstringВыбрать платформу из спискаfunc=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
465need_external_address_masterbooleanfalseФлаг, определяющий, нужно ли выделять внешний IP для доступа к master-брокеру. Пример: `true` или `false`value_list=false, true
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/kafka_params_modify.md b/universal_rebuild/docs-gen/kafka_params_modify.md deleted file mode 100644 index e6ff431..0000000 --- a/universal_rebuild/docs-gen/kafka_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_kafka - -Service ID: `116` - -Service Name: ApacheKafka - -[Manual](kafka.md) | [Create params](kafka_params_create.md) | [Modify params](kafka_params_modify.md) | [Output params](kafka_outputs.md) | [Operations](kafka_ops.md) | [Example](kafka_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
501resource_instancesintegerПример: `2`value_list=1, 2, 3, 4, 5
502resource_memoryintegerПример: `2048`minvalue=1000
503resource_cpuПример: `2000`minvalue=1000
504resource_diskintegerПример: `20`
505need_external_address_masterbooleanФлаг, определяющий, нужно ли выделять внешний IP для доступа к master-брокеру. Пример: `true` или `false`value_list=false, true
506ip_space_name_masterstringЕсли включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`
diff --git a/universal_rebuild/docs-gen/kafka_topic.md b/universal_rebuild/docs-gen/kafka_topic.md deleted file mode 100644 index e56d01e..0000000 --- a/universal_rebuild/docs-gen/kafka_topic.md +++ /dev/null @@ -1,35 +0,0 @@ -# Resource nubes_kafka_topic - -Service: `nubes_kafka` (ID: 116) - -[ApacheKafka (основной)](kafka.md) | [Operations](kafka_ops.md) | [Topic](kafka_topic.md) | [Example](kafka_topic_example.md) - -## Create params - -**Обязательные параметры** - - - - - - - -
IDCodeTypeDescriptionConstraints
523name_topicstringПример: `orders-events`
524partitionsintegerЧисло партиций можно увеличить, но уменьшить их нельзя.
525replicasintegerКоличество реплик не может привышать количество реплик брокера
- -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
526name_topicstringПример: `orders-events`
527partitionsЧисло партиций на кластер ≤ 100 × (число брокеров) × (фактор репликации). Пример `50`
528replicasКоличество партиций ≤ (число брокеров). Пример `2`
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
529name_topicstringНеобходимо выбрать топик, который необходимо удалить
diff --git a/universal_rebuild/docs-gen/kafka_topic_example.md b/universal_rebuild/docs-gen/kafka_topic_example.md deleted file mode 100644 index 179feae..0000000 --- a/universal_rebuild/docs-gen/kafka_topic_example.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_kafka_topic — Example - -Service: `nubes_kafka` (ID: 116) - -[ApacheKafka (основной)](kafka.md) | [Operations](kafka_ops.md) | [Topic](kafka_topic.md) | [Example](kafka_topic_example.md) - -## Copy-ready manifest (`kafka_topic_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_kafka должен быть создан заранее -# resource "nubes_kafka" "baza" { ... } - -resource "nubes_kafka_topic" "example" { - kafka_id = nubes_kafka.baza.id - name_topic = "TODO" # Пример: `orders-events` - partitions = 1 # Число партиций можно увеличить, но уменьшить их нельзя. - replicas = 1 # Количество реплик не может привышать количество реплик брокера -} -``` diff --git a/universal_rebuild/docs-gen/kafka_user.md b/universal_rebuild/docs-gen/kafka_user.md deleted file mode 100644 index 46a21d0..0000000 --- a/universal_rebuild/docs-gen/kafka_user.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_kafka_user - -Service: `nubes_kafka` (ID: 116) - -[ApacheKafka (основной)](kafka.md) | [Operations](kafka_ops.md) | [User](kafka_user.md) | [Example](kafka_user_example.md) - -## Create params - -**Обязательные параметры** - - - - - - - - - -
IDCodeTypeDescriptionConstraints
530usernamestringПример: `username-admin`
531name_topicstringПример: `orders-events`. Использовать маску нельзя(`orders*`), только полное название или `*`
532operationsstringПример: `Create, Describe, Read, Write`
533groupstringПример: `order-consumers` или `*`
534access_hostsstringПример: `192.168.1.0/24` или `*`
- -## Modify params - - - - - - - - - -
IDCodeTypeDescriptionConstraints
535name_topicstringПример: `orders-events`. Использовать маску нельзя(`orders*`), только полное название или `*`
536operationsstringПример: `Create, Describe, Read, Write`
537groupstringПример: `order-consumers` или `*`
538access_hostsstringПример: `192.168.1.0/24` или `*`
539usernamestringПример: `username-admin`
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
540usernamestringПример: `username-admin`
diff --git a/universal_rebuild/docs-gen/kafka_user_example.md b/universal_rebuild/docs-gen/kafka_user_example.md deleted file mode 100644 index 9e73f3a..0000000 --- a/universal_rebuild/docs-gen/kafka_user_example.md +++ /dev/null @@ -1,35 +0,0 @@ -# Resource nubes_kafka_user — Example - -Service: `nubes_kafka` (ID: 116) - -[ApacheKafka (основной)](kafka.md) | [Operations](kafka_ops.md) | [User](kafka_user.md) | [Example](kafka_user_example.md) - -## Copy-ready manifest (`kafka_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_kafka должен быть создан заранее -# resource "nubes_kafka" "baza" { ... } - -resource "nubes_kafka_user" "example" { - kafka_id = nubes_kafka.baza.id - username = "TODO" # Пример: `username-admin` - name_topic = "TODO" # Пример: `orders-events`. Использовать маску нельзя(`orders*`), только полное название или `*` - operations = "TODO" # Пример: `Create, Describe, Read, Write` - group = "TODO" # Пример: `order-consumers` или `*` - access_hosts = "TODO" # Пример: `192.168.1.0/24` или `*` -} -``` diff --git a/universal_rebuild/docs-gen/lucee.md b/universal_rebuild/docs-gen/lucee.md deleted file mode 100644 index ca3542d..0000000 --- a/universal_rebuild/docs-gen/lucee.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/lucee_example.md b/universal_rebuild/docs-gen/lucee_example.md deleted file mode 100644 index 2595b8a..0000000 --- a/universal_rebuild/docs-gen/lucee_example.md +++ /dev/null @@ -1,49 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## Copy-ready manifest (`lucee_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_lucee" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" - app_configuration = "TODO" - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - json_env = {} # Передаётся в формате КЛЮЧ:ЗНАЧЕНИЕ -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_lucee.baza.state_params["имя_ключа"] -nubes_lucee.baza.state_out["имя_ключа"] -nubes_lucee.baza.state_params_flat["имя_ключа"] -nubes_lucee.baza.state_out_flat["имя_ключа"] -nubes_lucee.baza.vault_secrets["имя_ключа"] -nubes_lucee.baza.vault_url -nubes_lucee.baza.vault_user_path -nubes_lucee.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/lucee_ops.md b/universal_rebuild/docs-gen/lucee_ops.md deleted file mode 100644 index a2e0373..0000000 --- a/universal_rebuild/docs-gen/lucee_ops.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](lucee_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](lucee_params_modify.md) -- `reconcile` -- `redeploy` -- `restart` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/lucee_outputs.md b/universal_rebuild/docs-gen/lucee_outputs.md deleted file mode 100644 index 838f21d..0000000 --- a/universal_rebuild/docs-gen/lucee_outputs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - diff --git a/universal_rebuild/docs-gen/lucee_params.md b/universal_rebuild/docs-gen/lucee_params.md deleted file mode 100644 index 730e3b2..0000000 --- a/universal_rebuild/docs-gen/lucee_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## Parameters - -- [Create params](lucee_params_create.md) -- [Modify params](lucee_params_modify.md) diff --git a/universal_rebuild/docs-gen/lucee_params_create.md b/universal_rebuild/docs-gen/lucee_params_create.md deleted file mode 100644 index 755d619..0000000 --- a/universal_rebuild/docs-gen/lucee_params_create.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
1019startup_configurationmap-fixed
1020cluster_configurationmap-fixed
1021access_configurationmap-fixed
1022app_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
1023json_envmap{}Передаётся в формате КЛЮЧ:ЗНАЧЕНИЕ
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/lucee_params_modify.md b/universal_rebuild/docs-gen/lucee_params_modify.md deleted file mode 100644 index 4bda31b..0000000 --- a/universal_rebuild/docs-gen/lucee_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_lucee - -Service ID: `94` - -Service Name: Lucee - -[Manual](lucee.md) | [Create params](lucee_params_create.md) | [Modify params](lucee_params_modify.md) | [Output params](lucee_outputs.md) | [Operations](lucee_ops.md) | [Example](lucee_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
1024cluster_configurationmap-fixed
1025app_configurationmap-fixed
1026json_envmapПередаётся в формате КЛЮЧ:ЗНАЧЕНИЕ
diff --git a/universal_rebuild/docs-gen/mariadb.md b/universal_rebuild/docs-gen/mariadb.md deleted file mode 100644 index 9161094..0000000 --- a/universal_rebuild/docs-gen/mariadb.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## MAN - -
-Mariadb кластер. Ресурсная платформа: k8s. Автоматизация: k8s operator.
Автоматическое резервное копирование, ручное восстановление. -
diff --git a/universal_rebuild/docs-gen/mariadb_database.md b/universal_rebuild/docs-gen/mariadb_database.md deleted file mode 100644 index 092f130..0000000 --- a/universal_rebuild/docs-gen/mariadb_database.md +++ /dev/null @@ -1,27 +0,0 @@ -# Resource nubes_mariadb_database - -Service: `nubes_mariadb` (ID: 115) - -[Mariadb (основной)](mariadb.md) | [Operations](mariadb_ops.md) | [Database](mariadb_database.md) | [Example](mariadb_database_example.md) - -## Create params - -**Обязательные параметры** - -None. - -**Параметры со значением по умолчанию** - - - - - -
IDCodeTypeDefaultDescriptionConstraints
734db_namestringdb-Пример: `db01`regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
745db_namestringВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ
diff --git a/universal_rebuild/docs-gen/mariadb_database_example.md b/universal_rebuild/docs-gen/mariadb_database_example.md deleted file mode 100644 index 89bbb86..0000000 --- a/universal_rebuild/docs-gen/mariadb_database_example.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_mariadb_database — Example - -Service: `nubes_mariadb` (ID: 115) - -[Mariadb (основной)](mariadb.md) | [Operations](mariadb_ops.md) | [Database](mariadb_database.md) | [Example](mariadb_database_example.md) - -## Copy-ready manifest (`mariadb_database_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_mariadb должен быть создан заранее -# resource "nubes_mariadb" "baza" { ... } - -resource "nubes_mariadb_database" "example" { - mariadb_id = nubes_mariadb.baza.id - - # Параметры со значением по умолчанию - db_name = "db-" # Пример: `db01` -} -``` diff --git a/universal_rebuild/docs-gen/mariadb_example.md b/universal_rebuild/docs-gen/mariadb_example.md deleted file mode 100644 index 626c4b5..0000000 --- a/universal_rebuild/docs-gen/mariadb_example.md +++ /dev/null @@ -1,48 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## Copy-ready manifest (`mariadb_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_mariadb" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" - mariadb_configuration = "TODO" - backup_configuration = "TODO" - autoscale_configuration = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_mariadb.baza.state_params["имя_ключа"] -nubes_mariadb.baza.state_out["имя_ключа"] -nubes_mariadb.baza.state_params_flat["имя_ключа"] -nubes_mariadb.baza.state_out_flat["имя_ключа"] -nubes_mariadb.baza.vault_secrets["имя_ключа"] -nubes_mariadb.baza.vault_url -nubes_mariadb.baza.vault_user_path -nubes_mariadb.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/mariadb_ops.md b/universal_rebuild/docs-gen/mariadb_ops.md deleted file mode 100644 index 5ae1622..0000000 --- a/universal_rebuild/docs-gen/mariadb_ops.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](mariadb_params_create.md) -- `create_database` — . См. [nubes_mariadb_database](mariadb_database.md) -- `create_user` — . См. [nubes_mariadb_user](mariadb_user.md) -- `delete` -- `delete_database` — . См. [nubes_mariadb_database](mariadb_database.md) -- `delete_user` — . См. [nubes_mariadb_user](mariadb_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](mariadb_params_modify.md) -- `reconcile` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/mariadb_outputs.md b/universal_rebuild/docs-gen/mariadb_outputs.md deleted file mode 100644 index 38f0606..0000000 --- a/universal_rebuild/docs-gen/mariadb_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/mariadb_params.md b/universal_rebuild/docs-gen/mariadb_params.md deleted file mode 100644 index 1d0477b..0000000 --- a/universal_rebuild/docs-gen/mariadb_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## Parameters - -- [Create params](mariadb_params_create.md) -- [Modify params](mariadb_params_modify.md) diff --git a/universal_rebuild/docs-gen/mariadb_params_create.md b/universal_rebuild/docs-gen/mariadb_params_create.md deleted file mode 100644 index 2bc0c0a..0000000 --- a/universal_rebuild/docs-gen/mariadb_params_create.md +++ /dev/null @@ -1,37 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
877startup_configurationmap-fixed
878cluster_configurationmap-fixed
879access_configurationmap-fixed
880mariadb_configurationmap-fixed
881backup_configurationmap-fixed
882autoscale_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/mariadb_params_modify.md b/universal_rebuild/docs-gen/mariadb_params_modify.md deleted file mode 100644 index 65a66e7..0000000 --- a/universal_rebuild/docs-gen/mariadb_params_modify.md +++ /dev/null @@ -1,19 +0,0 @@ -# Resource nubes_mariadb - -Service ID: `115` - -Service Name: Mariadb - -[Manual](mariadb.md) | [Create params](mariadb_params_create.md) | [Modify params](mariadb_params_modify.md) | [Output params](mariadb_outputs.md) | [Operations](mariadb_ops.md) | [Example](mariadb_example.md) - -## Modify params - - - - - - - - - -
IDCodeTypeDescriptionConstraints
883cluster_configurationmap-fixed
884access_configurationmap-fixed
885mariadb_configurationmap-fixed
886backup_configurationmap-fixed
887autoscale_configurationmap-fixed
diff --git a/universal_rebuild/docs-gen/mariadb_user.md b/universal_rebuild/docs-gen/mariadb_user.md deleted file mode 100644 index c590f5e..0000000 --- a/universal_rebuild/docs-gen/mariadb_user.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_mariadb_user - -Service: `nubes_mariadb` (ID: 115) - -[Mariadb (основной)](mariadb.md) | [Operations](mariadb_ops.md) | [User](mariadb_user.md) | [Example](mariadb_user_example.md) - -## Create params - -**Обязательные параметры** - - - - - -
IDCodeTypeDescriptionConstraints
736passwordstringСекрет будет записан в хранилище секретов и не будет отображаться публичноmaxlength=62; minlength=8
- -**Параметры со значением по умолчанию** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
735usernamestringuserПример: `myusername`regex=^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$; maxlength=62; minlength=2
737db_namearray-map-fixed[{}]Если базы не существует - при выполнении операции вернётся ошибка
738access_hostsstring%Пример: `%`
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
744usernamestringИмя пользователя, созданное через операцию `create_user`
diff --git a/universal_rebuild/docs-gen/mariadb_user_example.md b/universal_rebuild/docs-gen/mariadb_user_example.md deleted file mode 100644 index d939133..0000000 --- a/universal_rebuild/docs-gen/mariadb_user_example.md +++ /dev/null @@ -1,36 +0,0 @@ -# Resource nubes_mariadb_user — Example - -Service: `nubes_mariadb` (ID: 115) - -[Mariadb (основной)](mariadb.md) | [Operations](mariadb_ops.md) | [User](mariadb_user.md) | [Example](mariadb_user_example.md) - -## Copy-ready manifest (`mariadb_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_mariadb должен быть создан заранее -# resource "nubes_mariadb" "baza" { ... } - -resource "nubes_mariadb_user" "example" { - mariadb_id = nubes_mariadb.baza.id - password = "TODO" # Секрет будет записан в хранилище секретов и не будет отображаться публично - - # Параметры со значением по умолчанию - username = "user" # Пример: `myusername` - db_name = [{}] # Необходимо указать массив существующих баз - access_hosts = "%" # Пример: `%` -} -``` diff --git a/universal_rebuild/docs-gen/mongodb.md b/universal_rebuild/docs-gen/mongodb.md deleted file mode 100644 index 3502e9e..0000000 --- a/universal_rebuild/docs-gen/mongodb.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## MAN - -
-# Инструкция по развертыванию MongoDB через платформу

## 1. Общая информация

MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, горизонтальное масштабирование и гибкую модель хранения.

### Доступные операции с кластером

* **create** — создание базы
* **delete** — удаление базы данных
* **suspend** — остановка базы данных
* **resume** — запуск базы данных
* **modify** — изменение базы данных

### Доступные операции с пользователями

* **create_user** — создание пользователя
* **modify_user** — модификация пользователя
* **delete_user** — удаление пользователя

---

## 2. Параметры развертывания базы данных

Эти параметры необходимо указать при создании базы данных.

### Платформа для развертывания

Среда, в которой будет развернут кластер. Выбирается из предложенного списка.

### Количество узлов

Количество реплик в кластере MongoDB.
Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.

> **Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.

### Квота памяти пода (MB)

Объём памяти для одного пода в мегабайтах.
Пример: `2048`

### Квота CPU пода (mCPU)

CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: `1000`

### Размер диска для базы данных (GB)

Объём диска для хранения данных в гигабайтах.
Пример: `20`

### Имя ipSpace для публикации внешнего IP

Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите `no-needed`, если внешний адрес не требуется.
Пример: `internet-no-antiddos-v1`

### Список разрешённых IP-адресов

Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: `["10.0.0.0/24", "192.168.1.10/32"]`

---

## 3. Параметры модификации базы данных

Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.

### Количество узлов

Количество реплик в кластере MongoDB.
Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.

> **Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.

### Квота памяти пода (MB)

Объём памяти для одного пода в мегабайтах.
Пример: `2048`

### Квота CPU пода (mCPU)

CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: `1000`

### Размер диска для базы данных (GB)

Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при необходимости, однако уменьшить уже выделенный размер невозможно.
Пример: `20`

### Имя ipSpace для публикации внешнего IP

Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите `no-needed`, если внешний адрес не требуется.
Пример: `internet-no-antiddos-v1`

### Список разрешённых IP-адресов

Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: `["10.0.0.0/24", "192.168.1.10/32"]`

---

## 3. Параметры создания пользователя

### Имя пользователя

Указывается имя пользователя (любой регистр).
Пример: `readApp`

### Имя базы данных

Название базы, в которой будет создан пользователь.
Если база отсутствует, она будет создана автоматически.
Пример: `Apps_9392`

### Имя роли

* **read** — доступ только на чтение
* **readWrite** — чтение и изменение данных
* **dbOwner** — полный контроль над базой данных

---

## 4. Параметры модификации пользователя

### Имя пользователя

Необходимо выбрать существующего пользователя.
Если список пуст, требуется предварительно создать пользователя.

### Имя базы данных

База данных, к которой относится пользователь.
Если база отсутствует, она будет создана автоматически.
Пример: `Apps_9392`

### Имя роли

* **read**
* **readWrite**
* **dbOwner**

---

## 5. Параметры удаления пользователя

### Имя пользователя

Выберите пользователя из списка для удаления.

---

## 6. Выходные параметры

После успешного развертывания базы данных платформа возвращает ключевые параметры.

### internalConnect

Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети.
Используется для внутренних интеграций и системных сервисов.

### externalConnect

Внешний FQDN для подключения к кластеру извне.
Порт подключения — **27017**.

---

## 7. Пример подключения

Перед подключением необходимо установить **mongosh**.

Команда подключения к базе данных:

```
mongosh "mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"
```

Где:

* `<username>` — имя пользователя
* `<password>` — пароль
* `<endpoint_db>` — internalConnect или externalConnect
* `<dbName>` — имя базы данных

## 8. Дополнительная информация

Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину и паролю. -
diff --git a/universal_rebuild/docs-gen/mongodb_example.md b/universal_rebuild/docs-gen/mongodb_example.md deleted file mode 100644 index 08ec67f..0000000 --- a/universal_rebuild/docs-gen/mongodb_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## Copy-ready manifest (`mongodb_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_mongodb" "baza" { - resource_instances = 1 # Пример: `2` - resource_memory = 1 # Пример: `2048` - resource_cpu = 1 # Пример: `1000` - resource_disk = 1 # Пример: `20` - resource_realm = "TODO" # Выбрать платформу из списка - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - master_access_list = [] # Список IP-адресов, с которых разрешён доступ. Если оставить пустым — доступ открыт всем. -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_mongodb.baza.state_params["имя_ключа"] -nubes_mongodb.baza.state_out["имя_ключа"] -nubes_mongodb.baza.state_params_flat["имя_ключа"] -nubes_mongodb.baza.state_out_flat["имя_ключа"] -nubes_mongodb.baza.vault_secrets["имя_ключа"] -nubes_mongodb.baza.vault_url -nubes_mongodb.baza.vault_user_path -nubes_mongodb.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/mongodb_ops.md b/universal_rebuild/docs-gen/mongodb_ops.md deleted file mode 100644 index fb06e5b..0000000 --- a/universal_rebuild/docs-gen/mongodb_ops.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](mongodb_params_create.md) -- `create_user` — . См. [nubes_mongodb_user](mongodb_user.md) -- `delete` -- `delete_user` — . См. [nubes_mongodb_user](mongodb_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](mongodb_params_modify.md) -- `modify_user` — . См. [nubes_mongodb_user](mongodb_user.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/mongodb_outputs.md b/universal_rebuild/docs-gen/mongodb_outputs.md deleted file mode 100644 index 2a6b2dc..0000000 --- a/universal_rebuild/docs-gen/mongodb_outputs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["internalConnect"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - diff --git a/universal_rebuild/docs-gen/mongodb_params.md b/universal_rebuild/docs-gen/mongodb_params.md deleted file mode 100644 index b595ec1..0000000 --- a/universal_rebuild/docs-gen/mongodb_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## Parameters - -- [Create params](mongodb_params_create.md) -- [Modify params](mongodb_params_modify.md) diff --git a/universal_rebuild/docs-gen/mongodb_params_create.md b/universal_rebuild/docs-gen/mongodb_params_create.md deleted file mode 100644 index 4cfcb00..0000000 --- a/universal_rebuild/docs-gen/mongodb_params_create.md +++ /dev/null @@ -1,41 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
487resource_instancesintegerПример: `2`minvalue=1; maxvalue=7
588resource_memoryintegerПример: `2048`minvalue=512
589resource_cpuintegerПример: `1000`
590resource_diskintegerПример: `20`
595resource_realmstringВыбрать платформу из спискаfunc=getAvailableResourceRealms
646ip_space_name_masterstringЕсли включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
889master_access_listjson[]Передаётся как массив строк. Пример: [&quot;192.168.0.0&quot;, &quot;192.168.0.1&quot;]
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/mongodb_params_modify.md b/universal_rebuild/docs-gen/mongodb_params_modify.md deleted file mode 100644 index 9bff5f5..0000000 --- a/universal_rebuild/docs-gen/mongodb_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_mongodb - -Service ID: `92` - -Service Name: MongoDB - -[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
648resource_instancesintegerПример: `2`
649resource_memoryintegerПример: `2048`minvalue=512
650resource_cpuintegerПример: `1000`minvalue=500
651resource_diskintegerПример: `20`
653ip_space_name_masterstringЕсли включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`
890master_access_listjsonПередаётся как массив строк. Пример: [&quot;192.168.0.0&quot;, &quot;192.168.0.1&quot;]
diff --git a/universal_rebuild/docs-gen/mongodb_user.md b/universal_rebuild/docs-gen/mongodb_user.md deleted file mode 100644 index ece4f31..0000000 --- a/universal_rebuild/docs-gen/mongodb_user.md +++ /dev/null @@ -1,35 +0,0 @@ -# Resource nubes_mongodb_user - -Service: `nubes_mongodb` (ID: 92) - -[MongoDB (основной)](mongodb.md) | [Operations](mongodb_ops.md) | [User](mongodb_user.md) | [Example](mongodb_user_example.md) - -## Create params - -**Обязательные параметры** - - - - - - - -
IDCodeTypeDescriptionConstraints
635usernamestring
636db_namestring
643rolestringvalue_list=dbOwner, read, readWrite
- -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
640usernamestring
641db_namestring
642rolestringvalue_list=dbOwner, read, readWrite
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
644usernamestring
diff --git a/universal_rebuild/docs-gen/mongodb_user_example.md b/universal_rebuild/docs-gen/mongodb_user_example.md deleted file mode 100644 index 06d8568..0000000 --- a/universal_rebuild/docs-gen/mongodb_user_example.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_mongodb_user — Example - -Service: `nubes_mongodb` (ID: 92) - -[MongoDB (основной)](mongodb.md) | [Operations](mongodb_ops.md) | [User](mongodb_user.md) | [Example](mongodb_user_example.md) - -## Copy-ready manifest (`mongodb_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_mongodb должен быть создан заранее -# resource "nubes_mongodb" "baza" { ... } - -resource "nubes_mongodb_user" "example" { - mongodb_id = nubes_mongodb.baza.id - username = "TODO" - db_name = "TODO" - role = "dbOwner" -} -``` diff --git a/universal_rebuild/docs-gen/nextcloud.md b/universal_rebuild/docs-gen/nextcloud.md deleted file mode 100644 index a494623..0000000 --- a/universal_rebuild/docs-gen/nextcloud.md +++ /dev/null @@ -1,13 +0,0 @@ -# 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) - -## MAN - -
-Ресурсная платформа: k8s. Автоматизация: helm chart -
diff --git a/universal_rebuild/docs-gen/nextcloud_backup.md b/universal_rebuild/docs-gen/nextcloud_backup.md deleted file mode 100644 index 4145cbb..0000000 --- a/universal_rebuild/docs-gen/nextcloud_backup.md +++ /dev/null @@ -1,19 +0,0 @@ -# Resource nubes_nextcloud_backup - -Service: `nubes_nextcloud` (ID: 50) - -[Nextcloud (основной)](nextcloud.md) | [Operations](nextcloud_ops.md) | [Backup](nextcloud_backup.md) | [Example](nextcloud_backup_example.md) - -## Create params - -**Обязательные параметры** - - - - - -
IDCodeTypeDescriptionConstraints
1077startup_configurationmap-fixed
- -## Delete params - -None. diff --git a/universal_rebuild/docs-gen/nextcloud_backup_example.md b/universal_rebuild/docs-gen/nextcloud_backup_example.md deleted file mode 100644 index 1fd91a7..0000000 --- a/universal_rebuild/docs-gen/nextcloud_backup_example.md +++ /dev/null @@ -1,31 +0,0 @@ -# Resource nubes_nextcloud_backup — Example - -Service: `nubes_nextcloud` (ID: 50) - -[Nextcloud (основной)](nextcloud.md) | [Operations](nextcloud_ops.md) | [Backup](nextcloud_backup.md) | [Example](nextcloud_backup_example.md) - -## Copy-ready manifest (`nextcloud_backup_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_nextcloud должен быть создан заранее -# resource "nubes_nextcloud" "baza" { ... } - -resource "nubes_nextcloud_backup" "example" { - nextcloud_id = nubes_nextcloud.baza.id - startup_configuration = "TODO" -} -``` diff --git a/universal_rebuild/docs-gen/nextcloud_example.md b/universal_rebuild/docs-gen/nextcloud_example.md deleted file mode 100644 index 6122245..0000000 --- a/universal_rebuild/docs-gen/nextcloud_example.md +++ /dev/null @@ -1,46 +0,0 @@ -# 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) - -## Copy-ready manifest (`nextcloud_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_nextcloud" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" - app_configuration = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_nextcloud.baza.state_params["имя_ключа"] -nubes_nextcloud.baza.state_out["имя_ключа"] -nubes_nextcloud.baza.state_params_flat["имя_ключа"] -nubes_nextcloud.baza.state_out_flat["имя_ключа"] -nubes_nextcloud.baza.vault_secrets["имя_ключа"] -nubes_nextcloud.baza.vault_url -nubes_nextcloud.baza.vault_user_path -nubes_nextcloud.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/nextcloud_ops.md b/universal_rebuild/docs-gen/nextcloud_ops.md deleted file mode 100644 index 47b0bce..0000000 --- a/universal_rebuild/docs-gen/nextcloud_ops.md +++ /dev/null @@ -1,19 +0,0 @@ -# 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) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](nextcloud_params_create.md) -- `create_backup` — Перед запуском обязательно надо перевести экземпляр Nextcloud в статус 'suspended'. См. [nubes_nextcloud_backup](nextcloud_backup.md) -- `delete` — DEV-Ветка удаления Nextcloud -- `modify` — Изменение кластера. Параметры: [Modify params](nextcloud_params_modify.md) -- `reconcile` -- `recovery` -- `restart` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/nextcloud_outputs.md b/universal_rebuild/docs-gen/nextcloud_outputs.md deleted file mode 100644 index 1a8707b..0000000 --- a/universal_rebuild/docs-gen/nextcloud_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# 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) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/nextcloud_params.md b/universal_rebuild/docs-gen/nextcloud_params.md deleted file mode 100644 index 2c1eb71..0000000 --- a/universal_rebuild/docs-gen/nextcloud_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# 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) - -## Parameters - -- [Create params](nextcloud_params_create.md) -- [Modify params](nextcloud_params_modify.md) diff --git a/universal_rebuild/docs-gen/nextcloud_params_create.md b/universal_rebuild/docs-gen/nextcloud_params_create.md deleted file mode 100644 index c6723ab..0000000 --- a/universal_rebuild/docs-gen/nextcloud_params_create.md +++ /dev/null @@ -1,35 +0,0 @@ -# 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 - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
1055startup_configurationmap-fixed
1056cluster_configurationmap-fixed
1057access_configurationmap-fixed
1058app_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/nextcloud_params_modify.md b/universal_rebuild/docs-gen/nextcloud_params_modify.md deleted file mode 100644 index 47d56d1..0000000 --- a/universal_rebuild/docs-gen/nextcloud_params_modify.md +++ /dev/null @@ -1,16 +0,0 @@ -# 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) - -## Modify params - - - - - - -
IDCodeTypeDescriptionConstraints
1059cluster_configurationmap-fixed
1060app_configurationmap-fixed
diff --git a/universal_rebuild/docs-gen/nifi.md b/universal_rebuild/docs-gen/nifi.md deleted file mode 100644 index cf2c590..0000000 --- a/universal_rebuild/docs-gen/nifi.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/nifi_example.md b/universal_rebuild/docs-gen/nifi_example.md deleted file mode 100644 index 200ecc0..0000000 --- a/universal_rebuild/docs-gen/nifi_example.md +++ /dev/null @@ -1,46 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## Copy-ready manifest (`nifi_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_nifi" "baza" { - kafka_uid = "TODO" # Выбрать кластер из списка - partitions = 1 # Число партиций на кластер ≤ 100 × (число брокеров) × (фактор репликации). Пример `50` - replicas = 1 # Количество партиций ≤ (число брокеров). Пример `2` - name_topic = "TODO" # Пример: `orders-events` -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_nifi.baza.state_params["имя_ключа"] -nubes_nifi.baza.state_out["имя_ключа"] -nubes_nifi.baza.state_params_flat["имя_ключа"] -nubes_nifi.baza.state_out_flat["имя_ключа"] -nubes_nifi.baza.vault_secrets["имя_ключа"] -nubes_nifi.baza.vault_url -nubes_nifi.baza.vault_user_path -nubes_nifi.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/nifi_ops.md b/universal_rebuild/docs-gen/nifi_ops.md deleted file mode 100644 index a896c6a..0000000 --- a/universal_rebuild/docs-gen/nifi_ops.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](nifi_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](nifi_params_modify.md) diff --git a/universal_rebuild/docs-gen/nifi_outputs.md b/universal_rebuild/docs-gen/nifi_outputs.md deleted file mode 100644 index 976b25e..0000000 --- a/universal_rebuild/docs-gen/nifi_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/nifi_params.md b/universal_rebuild/docs-gen/nifi_params.md deleted file mode 100644 index 4dcadac..0000000 --- a/universal_rebuild/docs-gen/nifi_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## Parameters - -- [Create params](nifi_params_create.md) -- [Modify params](nifi_params_modify.md) diff --git a/universal_rebuild/docs-gen/nifi_params_create.md b/universal_rebuild/docs-gen/nifi_params_create.md deleted file mode 100644 index d5c4baa..0000000 --- a/universal_rebuild/docs-gen/nifi_params_create.md +++ /dev/null @@ -1,23 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
471kafka_uiduuidВыбрать кластер из спискаref_svc_id=116
472partitionsintegerОбратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки.
473replicasintegerКоличество партиций ≤ (число брокеров). Пример `2`
474name_topicstringПример: `orders-events`
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. diff --git a/universal_rebuild/docs-gen/nifi_params_modify.md b/universal_rebuild/docs-gen/nifi_params_modify.md deleted file mode 100644 index 7f34ef0..0000000 --- a/universal_rebuild/docs-gen/nifi_params_modify.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_nifi - -Service ID: `117` - -Service Name: Nifi - -[Manual](nifi.md) | [Create params](nifi_params_create.md) | [Modify params](nifi_params_modify.md) | [Output params](nifi_outputs.md) | [Operations](nifi_ops.md) | [Example](nifi_example.md) - -## Modify params - - - - - - -
IDCodeTypeDescriptionConstraints
477partitionsintegerОбратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки.
478replicasintegerКоличество партиций ≤ (число брокеров). Пример `2`
diff --git a/universal_rebuild/docs-gen/nodejs.md b/universal_rebuild/docs-gen/nodejs.md deleted file mode 100644 index a1c6804..0000000 --- a/universal_rebuild/docs-gen/nodejs.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## MAN - -
-Развертывает контейнер в k8s кластере с node, который можно использовать для запуска своих приложений.
Приложение должно быть доступно по ссылки в git репозитории, которая является входным параметром. -
diff --git a/universal_rebuild/docs-gen/nodejs_example.md b/universal_rebuild/docs-gen/nodejs_example.md deleted file mode 100644 index 6591faf..0000000 --- a/universal_rebuild/docs-gen/nodejs_example.md +++ /dev/null @@ -1,49 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## Copy-ready manifest (`nodejs_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_nodejs" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" - app_configuration = "TODO" - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - json_env = {} # Передаётся в формате КЛЮЧ:ЗНАЧЕНИЕ -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_nodejs.baza.state_params["имя_ключа"] -nubes_nodejs.baza.state_out["имя_ключа"] -nubes_nodejs.baza.state_params_flat["имя_ключа"] -nubes_nodejs.baza.state_out_flat["имя_ключа"] -nubes_nodejs.baza.vault_secrets["имя_ключа"] -nubes_nodejs.baza.vault_url -nubes_nodejs.baza.vault_user_path -nubes_nodejs.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/nodejs_ops.md b/universal_rebuild/docs-gen/nodejs_ops.md deleted file mode 100644 index 46c51e1..0000000 --- a/universal_rebuild/docs-gen/nodejs_ops.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](nodejs_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](nodejs_params_modify.md) -- `reconcile` -- `redeploy` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/nodejs_outputs.md b/universal_rebuild/docs-gen/nodejs_outputs.md deleted file mode 100644 index 5fa8a14..0000000 --- a/universal_rebuild/docs-gen/nodejs_outputs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - diff --git a/universal_rebuild/docs-gen/nodejs_params.md b/universal_rebuild/docs-gen/nodejs_params.md deleted file mode 100644 index daf96ca..0000000 --- a/universal_rebuild/docs-gen/nodejs_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## Parameters - -- [Create params](nodejs_params_create.md) -- [Modify params](nodejs_params_modify.md) diff --git a/universal_rebuild/docs-gen/nodejs_params_create.md b/universal_rebuild/docs-gen/nodejs_params_create.md deleted file mode 100644 index 6151786..0000000 --- a/universal_rebuild/docs-gen/nodejs_params_create.md +++ /dev/null @@ -1,39 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - -
IDCodeTypeDescriptionConstraints
1028startup_configurationmap-fixed
1029cluster_configurationmap-fixed
1030access_configurationmap-fixed
1031app_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
1032json_envmap{}Передаётся в формате КЛЮЧ:ЗНАЧЕНИЕ
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/nodejs_params_modify.md b/universal_rebuild/docs-gen/nodejs_params_modify.md deleted file mode 100644 index b0158e2..0000000 --- a/universal_rebuild/docs-gen/nodejs_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_nodejs - -Service ID: `95` - -Service Name: NodeJS - -[Manual](nodejs.md) | [Create params](nodejs_params_create.md) | [Modify params](nodejs_params_modify.md) | [Output params](nodejs_outputs.md) | [Operations](nodejs_ops.md) | [Example](nodejs_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
1033cluster_configurationmap-fixed
1034app_configurationmap-fixed
1035json_envmapПередаётся в формате КЛЮЧ:ЗНАЧЕНИЕ
diff --git a/universal_rebuild/docs-gen/nodered.md b/universal_rebuild/docs-gen/nodered.md deleted file mode 100644 index 54ecff3..0000000 --- a/universal_rebuild/docs-gen/nodered.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/nodered_example.md b/universal_rebuild/docs-gen/nodered_example.md deleted file mode 100644 index c780843..0000000 --- a/universal_rebuild/docs-gen/nodered_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## Copy-ready manifest (`nodered_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_nodered" "baza" { - resource_realm = "TODO" # Платформа для развертывания - domain = "TODO" # Наименование поддомена, будет добавлено в k8stemplate.dev.nubes.ru - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - resource_cpu = 500 # Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядро - resource_memory = 512 # Квота памяти пода (Указывается в Megabytes) - resource_disk = 1 # Квота диска (Указывается в GIGAbytes) - resource_instances = 1 # Количество узлов -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_nodered.baza.state_params["имя_ключа"] -nubes_nodered.baza.state_out["имя_ключа"] -nubes_nodered.baza.state_params_flat["имя_ключа"] -nubes_nodered.baza.state_out_flat["имя_ключа"] -nubes_nodered.baza.vault_secrets["имя_ключа"] -nubes_nodered.baza.vault_url -nubes_nodered.baza.vault_user_path -nubes_nodered.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/nodered_ops.md b/universal_rebuild/docs-gen/nodered_ops.md deleted file mode 100644 index 2d6074e..0000000 --- a/universal_rebuild/docs-gen/nodered_ops.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](nodered_params_create.md) -- `delete` diff --git a/universal_rebuild/docs-gen/nodered_outputs.md b/universal_rebuild/docs-gen/nodered_outputs.md deleted file mode 100644 index 74e4213..0000000 --- a/universal_rebuild/docs-gen/nodered_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/nodered_params.md b/universal_rebuild/docs-gen/nodered_params.md deleted file mode 100644 index 60a797d..0000000 --- a/universal_rebuild/docs-gen/nodered_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## Parameters - -- [Create params](nodered_params_create.md) -- [Modify params](nodered_params_modify.md) diff --git a/universal_rebuild/docs-gen/nodered_params_create.md b/universal_rebuild/docs-gen/nodered_params_create.md deleted file mode 100644 index f976ccb..0000000 --- a/universal_rebuild/docs-gen/nodered_params_create.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
196resource_realmstringНаименование кластера Kubernetes для подключенияfunc=getAvailableResourceRealms
197domainstringНаименование поддомена, будет добавлено в k8stemplate.dev.nubes.ruregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$; unique_scope=provider
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
193resource_cpuinteger500Квота ядра пода (Указывается в mili). 1000Mili = 1 Ядроminvalue=100; maxvalue=4000
194resource_memoryinteger512Квота памяти пода (Указывается в Megabytes)minvalue=128; maxvalue=8192
195resource_diskinteger1Квота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
323resource_instancesinteger1Количество узловminvalue=1; maxvalue=7
diff --git a/universal_rebuild/docs-gen/nodered_params_modify.md b/universal_rebuild/docs-gen/nodered_params_modify.md deleted file mode 100644 index be00f3b..0000000 --- a/universal_rebuild/docs-gen/nodered_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_nodered - -Service ID: `97` - -Service Name: NodeRed - -[Manual](nodered.md) | [Create params](nodered_params_create.md) | [Modify params](nodered_params_modify.md) | [Output params](nodered_outputs.md) | [Operations](nodered_ops.md) | [Example](nodered_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/openwhisk.md b/universal_rebuild/docs-gen/openwhisk.md deleted file mode 100644 index 059ed46..0000000 --- a/universal_rebuild/docs-gen/openwhisk.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## MAN - -
-Добавление и удаления пользователя для работы с Openwhisk -
diff --git a/universal_rebuild/docs-gen/openwhisk_example.md b/universal_rebuild/docs-gen/openwhisk_example.md deleted file mode 100644 index 9787419..0000000 --- a/universal_rebuild/docs-gen/openwhisk_example.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## Copy-ready manifest (`openwhisk_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_openwhisk" "baza" { -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_openwhisk.baza.state_params["имя_ключа"] -nubes_openwhisk.baza.state_out["имя_ключа"] -nubes_openwhisk.baza.state_params_flat["имя_ключа"] -nubes_openwhisk.baza.state_out_flat["имя_ключа"] -nubes_openwhisk.baza.vault_secrets["имя_ключа"] -nubes_openwhisk.baza.vault_url -nubes_openwhisk.baza.vault_user_path -nubes_openwhisk.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/openwhisk_ops.md b/universal_rebuild/docs-gen/openwhisk_ops.md deleted file mode 100644 index e931c78..0000000 --- a/universal_rebuild/docs-gen/openwhisk_ops.md +++ /dev/null @@ -1,10 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## Operations - diff --git a/universal_rebuild/docs-gen/openwhisk_outputs.md b/universal_rebuild/docs-gen/openwhisk_outputs.md deleted file mode 100644 index e2cdfe5..0000000 --- a/universal_rebuild/docs-gen/openwhisk_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/openwhisk_params.md b/universal_rebuild/docs-gen/openwhisk_params.md deleted file mode 100644 index 1a9b0e5..0000000 --- a/universal_rebuild/docs-gen/openwhisk_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## Parameters - -- [Create params](openwhisk_params_create.md) -- [Modify params](openwhisk_params_modify.md) diff --git a/universal_rebuild/docs-gen/openwhisk_params_create.md b/universal_rebuild/docs-gen/openwhisk_params_create.md deleted file mode 100644 index f6d47cf..0000000 --- a/universal_rebuild/docs-gen/openwhisk_params_create.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - -None. - -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. diff --git a/universal_rebuild/docs-gen/openwhisk_params_modify.md b/universal_rebuild/docs-gen/openwhisk_params_modify.md deleted file mode 100644 index 7791043..0000000 --- a/universal_rebuild/docs-gen/openwhisk_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_openwhisk - -Service ID: `100` - -Service Name: Serverless Openwhisk (openwhisk_tenant) - -[Manual](openwhisk.md) | [Create params](openwhisk_params_create.md) | [Modify params](openwhisk_params_modify.md) | [Output params](openwhisk_outputs.md) | [Operations](openwhisk_ops.md) | [Example](openwhisk_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/pgadmin.md b/universal_rebuild/docs-gen/pgadmin.md deleted file mode 100644 index 5c2feaf..0000000 --- a/universal_rebuild/docs-gen/pgadmin.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## MAN - -
-Инструмент с графическим интерфейсом для управления базами данных PostgreSQL -
diff --git a/universal_rebuild/docs-gen/pgadmin_example.md b/universal_rebuild/docs-gen/pgadmin_example.md deleted file mode 100644 index c0cc9b8..0000000 --- a/universal_rebuild/docs-gen/pgadmin_example.md +++ /dev/null @@ -1,51 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## Copy-ready manifest (`pgadmin_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_pgadmin" "baza" { - resource_realm = "TODO" # Платформа для развертывания - login = "TODO" # Логин для подключения к pgAdmin, в формате email (login@email.net) - password = "TODO" # Пароль для подключения к pgAdmin - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - domain = "web01" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm - resource_cpu = 500 # Квота ядра пода (milicores). 1000Mili = 1 Ядро - resource_memory = 512 # Квота памяти пода (MBytes) - resource_disk = 1 # Квота диска (Указывается в GIGAbytes) -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_pgadmin.baza.state_params["имя_ключа"] -nubes_pgadmin.baza.state_out["имя_ключа"] -nubes_pgadmin.baza.state_params_flat["имя_ключа"] -nubes_pgadmin.baza.state_out_flat["имя_ключа"] -nubes_pgadmin.baza.vault_secrets["имя_ключа"] -nubes_pgadmin.baza.vault_url -nubes_pgadmin.baza.vault_user_path -nubes_pgadmin.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/pgadmin_ops.md b/universal_rebuild/docs-gen/pgadmin_ops.md deleted file mode 100644 index 7449f5e..0000000 --- a/universal_rebuild/docs-gen/pgadmin_ops.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](pgadmin_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](pgadmin_params_modify.md) -- `redeploy` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/pgadmin_outputs.md b/universal_rebuild/docs-gen/pgadmin_outputs.md deleted file mode 100644 index a88297a..0000000 --- a/universal_rebuild/docs-gen/pgadmin_outputs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["connectionUrl"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - diff --git a/universal_rebuild/docs-gen/pgadmin_params.md b/universal_rebuild/docs-gen/pgadmin_params.md deleted file mode 100644 index 3afd95c..0000000 --- a/universal_rebuild/docs-gen/pgadmin_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## Parameters - -- [Create params](pgadmin_params_create.md) -- [Modify params](pgadmin_params_modify.md) diff --git a/universal_rebuild/docs-gen/pgadmin_params_create.md b/universal_rebuild/docs-gen/pgadmin_params_create.md deleted file mode 100644 index f87da9c..0000000 --- a/universal_rebuild/docs-gen/pgadmin_params_create.md +++ /dev/null @@ -1,41 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
169resource_realmstringНаименование кластера Kubernetes для подключенияfunc=getAvailableResourceRealms
170loginstringЛогин для подключения к pgAdmin, в формате email (login@email.net)regex=^([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)$; maxlength=255; minlength=3
171passwordstringПароль для подключения к pgAdmin
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
164domainstringweb01Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$; unique_scope=provider
165resource_cpuinteger500Квота ядра пода (milicores). 1000Mili = 1 Ядроminvalue=500; maxvalue=4000
166resource_memoryinteger512Квота памяти пода (MBytes)minvalue=512; maxvalue=8192
167resource_diskinteger1Квота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/pgadmin_params_modify.md b/universal_rebuild/docs-gen/pgadmin_params_modify.md deleted file mode 100644 index 28c4957..0000000 --- a/universal_rebuild/docs-gen/pgadmin_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_pgadmin - -Service ID: `96` - -Service Name: pgAdmin - -[Manual](pgadmin.md) | [Create params](pgadmin_params_create.md) | [Modify params](pgadmin_params_modify.md) | [Output params](pgadmin_outputs.md) | [Operations](pgadmin_ops.md) | [Example](pgadmin_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
172resource_cpuintegerКвота ядра пода (Указывается в mili). 1000Mili = 1 Ядроminvalue=500; maxvalue=4000
173resource_memoryintegerКвота памяти пода (MBytes)minvalue=512; maxvalue=8192
174resource_diskintegerКвота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
diff --git a/universal_rebuild/docs-gen/postgres.md b/universal_rebuild/docs-gen/postgres.md deleted file mode 100644 index 61e7668..0000000 --- a/universal_rebuild/docs-gen/postgres.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## MAN - -
-# Инструкция по развертыванию PostgreSQL через платформу

---
## 1. Общая информация

PostgreSQL — это надёжная объектно-реляционная СУБД с открытым исходным кодом, поддерживающая расширенный набор функций, транзакции и хранение сложных типов данных. Развёртывание полностью автоматизировано платформой на базе Zalando Postgres Operator с использованием Kubernetes.

## Доступные операции

- **create** — Создание кластера
- **delete** — Удаление кластера
- **modify** — Модификация кластера
- **suspend** — Остановка кластера
- **resume** — Запуск кластера
- **restart** — Перезапуск кластера
- **recovery** — Восстановление из резервной копии

- **create_user** — Создание пользователя
- **delete_user** — Удаление пользователя

- **create_database** — Создание базы данных
- **delete_database** — Удаление базы данных


---
## 2. Параметры развертывания кластера

Ниже перечислены параметры, которые необходимо указать при создании ресурса PostgreSQL:

* **Платформа для развертывания:**
Платформа для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.

* **Количество узлов в сети:**
Количество инстансов (реплик) в кластере PostgreSQL. Пример: `2` (master + slave).

* **Квота (megabyte) памяти пода:**
Квота памяти пода в мегабайтах. Пример: `2048`

* **Квота (millicore) ядра пода:**
Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`

* **Размер (gigabyte) диска для базы данных:**
Размер диска для хранения данных в гигабайтах. Пример: `20`

* **Выделяет внешний IP для доступа к master:**
Флаг, определяющий, нужно ли выделять внешний IP для доступа к master. Пример: `true` или `false`

* **Имя ipSpace для публикации внешнего IP master:**
Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`

* **Выделяет внешний IP для доступа к slave:**
Флаг для выделения внешнего IP для slave (реплики чтения). Работает, если slave присутствует в кластере.

* **Имя ipSpace для публикации внешнего IP slave:**
Если включен параметр для slave, то поле необходимо заполнить.

* **UUID экземпляра услуги S3:**
UUID экземпляра S3 для хранения резервных копий.

* **Версия PostgreSQL:**
Версия PostgreSQL для развертывания. Пример: `16`

* **Расписание бэкапов (ext_BACKUP_SCHEDULE):**
Необязательный. Cron-выражение для времени запуска бэкапов. По умолчанию: `0 0 * * *` (ежедневно в полночь).

* **Количество сохраняемых бэкапов (ext_BACKUP_NUM_TO_RETAIN):**
Необязательный. Количество сохраняемых бэкапов. По умолчанию: `7`

* **PgPooler (master / slave):**
Флаги включения PgBouncer для подключений на запись и чтение. При включении создаётся отдельный под.

* **Разрешить подключение без SSL (allowNoSSL):**
По умолчанию подключение с sslmode=require. При `true` разрешается подключение без SSL.

* **Автоскейлинг PV (autoScale):**
Включает автоскейлинг тома. Требует настройки autoScalePercentage, autoScaleTechWindow, autoScaleQuotaGb.

* **Дополнительные параметры PostgreSQL (jsonParameters):**
JSON с переменными конфигурации PostgreSQL. Документация: https://www.postgresql.org/docs/current/runtime-config.html

---
## 3. Выходные параметры

После успешного развертывания ресурса PostgreSQL платформа возвращает ряд параметров.

#### externalConnect

Внешние эндпоинты для подключения к кластеру:
- **master** — для операций записи (host: `write.${namespace}`, port: 5432)
- **slave** — для операций чтения (host: `read.${namespace}`, port: 5432)

Пример ответа платформы:

```json
{
"slave": {
"ip": "",
"fqdn": "",
"uuid": "",
"isExternal": false
},
"master": {
"ip": "<ip>",
"fqdn": "write.<namespace>.<cluster-domain>",
"uuid": "<uuid>",
"isExternal": false
}
}
```

Поля: `ip` — внешний IP; `fqdn` — полное имя хоста; `uuid` — идентификатор; `isExternal` — признак внешнего доступа.

#### internalConnect

Внутренние эндпоинты (FQDN) для подключения из других сервисов внутри той же сети Kubernetes.

Пример ответа платформы:

```json
{
"slave": "",
"master": {
"slave": "",
"master": {
"slave": "",
"master": "postgresqlk8s-master.<namespace>.svc.cluster.local"
}
}
}
```

Для подключения используйте значение `master.master.master` (host для записи) или соответствующее значение slave (host для чтения).

Для подключения используется порт **5432**.

---
## 4. Управление пользователями

### create_user — Создание пользователя

* **Имя пользователя (username):**
Имя создаваемого пользователя. Используется для подключения к базе и настройки прав.
Пример: `myapp_user`

* **Роль (role):**
Тип роли пользователя. Допустимые значения:
- `app_user` — базовые права для DML-операций (SELECT, INSERT, UPDATE, DELETE)
- `ddl_user` — расширенные права: createdb, createrole (управление базами и ролями)

Защищённые имена, которые нельзя использовать: `admin`, `postgres`, `standby`.

### delete_user — Удаление пользователя

* **Имя пользователя (username):**
Имя удаляемого пользователя. Пример: `myapp_user`

Пользователя нельзя удалить, если он является владельцем базы данных. Сначала удалите или передайте владение базами данных другому пользователю.

---
## 5. Управление базами данных

### create_database — Создание базы данных

* **Имя базы данных (dbName):**
Название создаваемой базы данных. Пример: `myapp_db`

* **Владелец базы данных (dbOwner):**
Имя пользователя-владельца базы. Должен существовать в кластере (создан через create_user). Пример: `myapp_user`

### delete_database — Удаление базы данных

* **Имя базы данных (dbName):**
Название удаляемой базы данных. Пример: `myapp_db`
-
diff --git a/universal_rebuild/docs-gen/postgres_backup.md b/universal_rebuild/docs-gen/postgres_backup.md deleted file mode 100644 index 96074ea..0000000 --- a/universal_rebuild/docs-gen/postgres_backup.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_postgres_backup - -Service: `nubes_postgres` (ID: 90) - -[PostgreSQL (основной)](postgres.md) | [Operations](postgres_ops.md) | [Backup](postgres_backup.md) | [Example](postgres_backup_example.md) - -## Create params - -None. - -## Delete params - -None. diff --git a/universal_rebuild/docs-gen/postgres_backup_example.md b/universal_rebuild/docs-gen/postgres_backup_example.md deleted file mode 100644 index 6b89b8d..0000000 --- a/universal_rebuild/docs-gen/postgres_backup_example.md +++ /dev/null @@ -1,30 +0,0 @@ -# Resource nubes_postgres_backup — Example - -Service: `nubes_postgres` (ID: 90) - -[PostgreSQL (основной)](postgres.md) | [Operations](postgres_ops.md) | [Backup](postgres_backup.md) | [Example](postgres_backup_example.md) - -## Copy-ready manifest (`postgres_backup_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_postgres должен быть создан заранее -# resource "nubes_postgres" "baza" { ... } - -resource "nubes_postgres_backup" "example" { - postgres_id = nubes_postgres.baza.id -} -``` diff --git a/universal_rebuild/docs-gen/postgres_database.md b/universal_rebuild/docs-gen/postgres_database.md deleted file mode 100644 index af1dd78..0000000 --- a/universal_rebuild/docs-gen/postgres_database.md +++ /dev/null @@ -1,24 +0,0 @@ -# Resource nubes_postgres_database - -Service: `nubes_postgres` (ID: 90) - -[PostgreSQL (основной)](postgres.md) | [Operations](postgres_ops.md) | [Database](postgres_database.md) | [Example](postgres_database_example.md) - -## Create params - -**Обязательные параметры** - - - - - - -
IDCodeTypeDescriptionConstraints
741db_namestringregex=^[A-Za-z0-9]+$
742db_ownerstring
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
743db_namestring
diff --git a/universal_rebuild/docs-gen/postgres_database_example.md b/universal_rebuild/docs-gen/postgres_database_example.md deleted file mode 100644 index ce5e739..0000000 --- a/universal_rebuild/docs-gen/postgres_database_example.md +++ /dev/null @@ -1,32 +0,0 @@ -# Resource nubes_postgres_database — Example - -Service: `nubes_postgres` (ID: 90) - -[PostgreSQL (основной)](postgres.md) | [Operations](postgres_ops.md) | [Database](postgres_database.md) | [Example](postgres_database_example.md) - -## Copy-ready manifest (`postgres_database_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_postgres должен быть создан заранее -# resource "nubes_postgres" "baza" { ... } - -resource "nubes_postgres_database" "example" { - postgres_id = nubes_postgres.baza.id - db_name = "TODO" - db_owner = "TODO" -} -``` diff --git a/universal_rebuild/docs-gen/postgres_example.md b/universal_rebuild/docs-gen/postgres_example.md deleted file mode 100644 index 8f9ef75..0000000 --- a/universal_rebuild/docs-gen/postgres_example.md +++ /dev/null @@ -1,48 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## Copy-ready manifest (`postgres_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_postgres" "baza" { - cluster_configuration = "TODO" - startup_configuration = "TODO" - access_configuration = "TODO" - postgres_configuration = "TODO" - backup_configuration = "TODO" - autoscale_configuration = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_postgres.baza.state_params["имя_ключа"] -nubes_postgres.baza.state_out["имя_ключа"] -nubes_postgres.baza.state_params_flat["имя_ключа"] -nubes_postgres.baza.state_out_flat["имя_ключа"] -nubes_postgres.baza.vault_secrets["имя_ключа"] -nubes_postgres.baza.vault_url -nubes_postgres.baza.vault_user_path -nubes_postgres.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/postgres_ops.md b/universal_rebuild/docs-gen/postgres_ops.md deleted file mode 100644 index cc2703c..0000000 --- a/universal_rebuild/docs-gen/postgres_ops.md +++ /dev/null @@ -1,23 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](postgres_params_create.md) -- `create_backup` — . См. [nubes_postgres_backup](postgres_backup.md) -- `create_database` — . См. [nubes_postgres_database](postgres_database.md) -- `create_user` — . См. [nubes_postgres_user](postgres_user.md) -- `delete` -- `delete_database` — . См. [nubes_postgres_database](postgres_database.md) -- `delete_user` — . См. [nubes_postgres_user](postgres_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](postgres_params_modify.md) -- `reconcile` -- `recovery` -- `restart` — ВНИМАНИЕ - Рестарт предполагает УДАЛЕНИЕ подов. Может быть полная поломка. Крайне осторожно запускать при работе -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/postgres_outputs.md b/universal_rebuild/docs-gen/postgres_outputs.md deleted file mode 100644 index f07b697..0000000 --- a/universal_rebuild/docs-gen/postgres_outputs.md +++ /dev/null @@ -1,65 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["externalConnect"]` -- `state_out_flat["externalConnect.master"]` -- `state_out_flat["externalConnect.master.fqdn"]` -- `state_out_flat["externalConnect.master.ip"]` -- `state_out_flat["externalConnect.master.isExternal"]` -- `state_out_flat["externalConnect.master.uuid"]` -- `state_out_flat["externalConnect.slave"]` -- `state_out_flat["externalConnect.slave.fqdn"]` -- `state_out_flat["externalConnect.slave.ip"]` -- `state_out_flat["externalConnect.slave.isExternal"]` -- `state_out_flat["externalConnect.slave.uuid"]` -- `state_out_flat["internalConnect"]` -- `state_out_flat["internalConnect.master"]` -- `state_out_flat["internalConnect.slave"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.k8spostgresql"]` -- `state_out_flat["monitoring.k8spostgresql.url"]` -- `state_out_flat["monitoring.k8spostgresqlbackup"]` -- `state_out_flat["monitoring.k8spostgresqlbackup.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - -### `vault_secrets` ключи - -- `vault_secrets["adminPass"]` -- `vault_secrets["adminUser"]` -- `vault_secrets["standbyPass"]` -- `vault_secrets["standbyUser"]` - -### Пример для связки с Lucee/NodeJS - -```hcl -testds_connectionString = "jdbc:postgresql://${nubes_postgres.db2.state_out_flat["internalConnect.master"]}:5432/postgres?sslmode=require" -testds_username = nubes_postgres.db2.vault_secrets["adminUser"] -testds_password = nubes_postgres.db2.vault_secrets["adminPass"] -``` diff --git a/universal_rebuild/docs-gen/postgres_params.md b/universal_rebuild/docs-gen/postgres_params.md deleted file mode 100644 index b44e9f4..0000000 --- a/universal_rebuild/docs-gen/postgres_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## Parameters - -- [Create params](postgres_params_create.md) -- [Modify params](postgres_params_modify.md) diff --git a/universal_rebuild/docs-gen/postgres_params_create.md b/universal_rebuild/docs-gen/postgres_params_create.md deleted file mode 100644 index 8957e32..0000000 --- a/universal_rebuild/docs-gen/postgres_params_create.md +++ /dev/null @@ -1,38 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
788cluster_configurationmap-fixed
789startup_configurationmap-fixed
790access_configurationmap-fixed
791postgres_configurationmap-fixed
792postgres_confarray-map-fixed
793backup_configurationmap-fixed
794autoscale_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/postgres_params_modify.md b/universal_rebuild/docs-gen/postgres_params_modify.md deleted file mode 100644 index 5a67a37..0000000 --- a/universal_rebuild/docs-gen/postgres_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_postgres - -Service ID: `90` - -Service Name: PostgreSQL - -[Manual](postgres.md) | [Create params](postgres_params_create.md) | [Modify params](postgres_params_modify.md) | [Output params](postgres_outputs.md) | [Operations](postgres_ops.md) | [Example](postgres_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
795cluster_configurationmap-fixed
796access_configurationmap-fixed
797postgres_configurationmap-fixed
798postgres_confarray-map-fixed
799backup_configurationmap-fixed
800autoscale_configurationmap-fixed
diff --git a/universal_rebuild/docs-gen/postgres_user.md b/universal_rebuild/docs-gen/postgres_user.md deleted file mode 100644 index e82e589..0000000 --- a/universal_rebuild/docs-gen/postgres_user.md +++ /dev/null @@ -1,24 +0,0 @@ -# Resource nubes_postgres_user - -Service: `nubes_postgres` (ID: 90) - -[PostgreSQL (основной)](postgres.md) | [Operations](postgres_ops.md) | [User](postgres_user.md) | [Example](postgres_user_example.md) - -## Create params - -**Обязательные параметры** - - - - - - -
IDCodeTypeDescriptionConstraints
733usernamestringregex=^[A-Za-z0-9]+$; maxlength=62; minlength=2
740rolestring`app_user` — стандартный пользователь с базовым набором прав
`ddl_user` — пользователь с расширенными правами, включая управление ролями и базами данных
value_list=app_user, ddl_user
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
739usernamestringПример: `username-admin`
diff --git a/universal_rebuild/docs-gen/postgres_user_example.md b/universal_rebuild/docs-gen/postgres_user_example.md deleted file mode 100644 index 3c3ab2d..0000000 --- a/universal_rebuild/docs-gen/postgres_user_example.md +++ /dev/null @@ -1,32 +0,0 @@ -# Resource nubes_postgres_user — Example - -Service: `nubes_postgres` (ID: 90) - -[PostgreSQL (основной)](postgres.md) | [Operations](postgres_ops.md) | [User](postgres_user.md) | [Example](postgres_user_example.md) - -## Copy-ready manifest (`postgres_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_postgres должен быть создан заранее -# resource "nubes_postgres" "baza" { ... } - -resource "nubes_postgres_user" "example" { - postgres_id = nubes_postgres.baza.id - username = "TODO" - role = "app_user" # Выбрать роль из списка -} -``` diff --git a/universal_rebuild/docs-gen/rabbitmq.md b/universal_rebuild/docs-gen/rabbitmq.md deleted file mode 100644 index d0e5af3..0000000 --- a/universal_rebuild/docs-gen/rabbitmq.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## MAN - -
-# Инструкция по развертыванию RabbitMQ через платформу

---
## 1. Общая информация
RabbitMQ — это брокер сообщений с открытым исходным кодом, который обеспечивает надёжную доставку сообщений между приложениями.
Позволяет надёжно передавать сообщения между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние, так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.

## Доступные операции
- **create** — Создание кластера
- **modify** — Изменение параметров кластера
- **delete** — Удаление кластера
- **suspend** — Остановка кластера
- **resume** — Запуск кластера


---
## 2. Параметры развертывания кластера
Ниже перечислены параметры, которые необходимо указать при создании ресурса RabbitMQ:

* **Платформа для развертывания:**
Платформа для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.

* **Количество узлов в сети:**
Количество реплик в кластере RabbitMQ. При значении больше 1 создаётся кластер с репликацией для обеспечения высокой доступности.
Пример: `1` (single node) или `3` (кластер с репликацией)

* **Квота (megabyte) памяти пода:**
Квота памяти пода в мегабайтах. Пример: `2048`

* **Квота (millicore) ядра пода:**
Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`

* **Размер (gigabyte) диска для базы данных:**
Размер диска для хранения данных RabbitMQ в гигабайтах. Пример: `50`

* **Выделяет внешний IP для доступа к master:**
Флаг, определяющий, нужно ли выделять внешний IP для доступа к master-узлу. При включении создаётся Service типа LoadBalancer и настраивается VIP на порту 5672.
Пример: `true` или `false`

* **Имя ipSpace для публикации внешнего IP master:**
Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`


---
## 3. Модификация кластера
Операция **modify** позволяет изменить параметры существующего кластера RabbitMQ.

**Изменяемые параметры:**
* **Квота (megabyte) памяти пода** — можно увеличить или уменьшить
* **Квота (millicore) ядра пода** — можно увеличить или уменьшить
* **Размер (gigabyte) диска для базы данных** — можно только увеличить (уменьшение не поддерживается)
* **Количество узлов в сети** — можно только увеличить (уменьшение не поддерживается)
* **Выделяет внешний IP для доступа к master** — можно включить или выключить
* **Имя ipSpace для публикации внешнего IP master** — можно изменить при включенном внешнем IP

**Ограничения:**
* Уменьшение размера диска не поддерживается
* Уменьшение количества реплик не поддерживается

---
## 4. Выходные параметры
После успешного развертывания ресурса RabbitMQ платформа возвращает ряд параметров в разделе "Поля состояния (сгенерированные значения)":

**clusterDomain**
Домен кластера Kubernetes, в котором развернут RabbitMQ.
Пример: `cluster.local`

**inernalConnect**
Внутренние эндпоинты для подключения к кластеру RabbitMQ из других сервисов, развернутых внутри той же сети.
Содержит:
* **master** — FQDN для подключения к кластеру. Пример: `rabbitmqk8s.{namespace}.svc.{clusterDomain}`

**externalConnect**
Внешние эндпоинты для подключения к кластеру RabbitMQ извне.
Содержит объекты с полями:
* **admin** — доступ к веб-интерфейсу управления:
* `fqdn` — полное доменное имя для веб-интерфейса. Пример: `admin.{namespace}.{domain}`
* `ip` — IP-адрес
* **master** — доступ к AMQP протоколу (если включен внешний IP):
* `fqdn` — полное доменное имя для AMQP. Пример: `write.{namespace}.{domain}`
* `ip` — IP-адрес

**monitoring**
Информация о дашбордах мониторинга:
* **allDashboards** — URL для доступа ко всем дашбордам Grafana

Для подключения используются следующие порты:

* **5672** — AMQP протокол (внутренний и внешний доступ, если включен внешний IP)
* **15672** — веб-интерфейс управления (доступен через Ingress по HTTPS)

**Учётные данные**
Данные для подключения к RabbitMQ доступны в разделе "Учётные данные":
* **adminUser** — имя пользователя администратора
* **adminPass** — пароль администратора


---
## 5. Примеры подключения через консоль (rabbitmqadmin)

### Работа с очередями через rabbitmqadmin

Для работы с RabbitMQ через консоль используется утилита `rabbitmqadmin`. Установите её или используйте образ с предустановленной утилитой.

Задайте переменные окружения с учётными данными:

```bash
export RABBITMQ_USERNAME=<adminUser>
export RABBITMQ_PASSWORD=<adminPass>
export RABBIT_HOST=<host>
```

Где:
* `<adminUser>` и `<adminPass>` — учётные данные из раздела "Учётные данные"
* `<host>` — адрес для подключения:
* Для внешнего подключения: `externalConnect.admin.fqdn` или `externalConnect.master.fqdn`

**Создание очереди:**

```bash
rabbitmqadmin \
-H "$RABBIT_HOST" -P 15672 \
-u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \
declare queue name=healthcheck durable=false
```

**Листинг очередей:**

```bash
rabbitmqadmin \
-H "$RABBIT_HOST" -P 15672 \
-u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \
list queues
```

**Отправка сообщения:**

```bash
rabbitmqadmin \
-H "$RABBIT_HOST" -P 15672 \
-u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \
publish exchange=amq.default routing_key=healthcheck payload="ping-$(date +%s)"
```

**Чтение сообщения:**

```bash
rabbitmqadmin \
-H "$RABBIT_HOST" -P 15672 \
-u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \
get queue=healthcheck ackmode=ack_requeue_false
```

---
## 6. Дополнительная информация
Для подключения к кластеру RabbitMQ используйте полученные эндпоинты из раздела "Поля состояния (сгенерированные значения)" и учётные данные из раздела "Учётные данные".

Веб-интерфейс управления доступен по адресу, указанному в параметре `externalConnect.admin.fqdn` через HTTPS.

Для внутреннего подключения используйте адрес из `inernalConnect.master` на порту 5672.

--- -
diff --git a/universal_rebuild/docs-gen/rabbitmq_example.md b/universal_rebuild/docs-gen/rabbitmq_example.md deleted file mode 100644 index 0a039c2..0000000 --- a/universal_rebuild/docs-gen/rabbitmq_example.md +++ /dev/null @@ -1,50 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## Copy-ready manifest (`rabbitmq_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_rabbitmq" "baza" { - resource_realm = "TODO" # Выбрать платформу из списка - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - resource_cpu = 1000 # Пример: `2000` - resource_memory = 1124 # Пример: `2048` - resource_disk = 30 # Пример: `20` - resource_instances = 1 # Пример: `1` - need_external_address_master = false # Флаг, определяющий, нужно ли выделять внешний IP для доступа к master. Пример: `true` или `false` -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_rabbitmq.baza.state_params["имя_ключа"] -nubes_rabbitmq.baza.state_out["имя_ключа"] -nubes_rabbitmq.baza.state_params_flat["имя_ключа"] -nubes_rabbitmq.baza.state_out_flat["имя_ключа"] -nubes_rabbitmq.baza.vault_secrets["имя_ключа"] -nubes_rabbitmq.baza.vault_url -nubes_rabbitmq.baza.vault_user_path -nubes_rabbitmq.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/rabbitmq_ops.md b/universal_rebuild/docs-gen/rabbitmq_ops.md deleted file mode 100644 index fe63cf6..0000000 --- a/universal_rebuild/docs-gen/rabbitmq_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](rabbitmq_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](rabbitmq_params_modify.md) -- `resume` -- `suspend` — Пока не работает из за того что RabbitmqCluster нельзя занулить diff --git a/universal_rebuild/docs-gen/rabbitmq_outputs.md b/universal_rebuild/docs-gen/rabbitmq_outputs.md deleted file mode 100644 index 30d870e..0000000 --- a/universal_rebuild/docs-gen/rabbitmq_outputs.md +++ /dev/null @@ -1,48 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["clusterDomain"]` -- `state_out_flat["externalConnect"]` -- `state_out_flat["externalConnect.admin"]` -- `state_out_flat["externalConnect.admin.fqdn"]` -- `state_out_flat["externalConnect.admin.ip"]` -- `state_out_flat["externalConnect.admin.isExternal"]` -- `state_out_flat["externalConnect.admin.uuid"]` -- `state_out_flat["inernalConnect"]` -- `state_out_flat["inernalConnect.master"]` -- `state_out_flat["inernalConnect.slave"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.base"]` -- `state_out_flat["monitoring.base.url"]` -- `state_out_flat["monitoring.loki"]` -- `state_out_flat["monitoring.loki.url"]` - -### `vault_secrets` ключи - -- `vault_secrets["adminPass"]` -- `vault_secrets["adminUser"]` - diff --git a/universal_rebuild/docs-gen/rabbitmq_params.md b/universal_rebuild/docs-gen/rabbitmq_params.md deleted file mode 100644 index b743d18..0000000 --- a/universal_rebuild/docs-gen/rabbitmq_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## Parameters - -- [Create params](rabbitmq_params_create.md) -- [Modify params](rabbitmq_params_modify.md) diff --git a/universal_rebuild/docs-gen/rabbitmq_params_create.md b/universal_rebuild/docs-gen/rabbitmq_params_create.md deleted file mode 100644 index 1a1b21f..0000000 --- a/universal_rebuild/docs-gen/rabbitmq_params_create.md +++ /dev/null @@ -1,41 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
119resource_realmstringВыбрать платформу из спискаfunc=getAvailableResourceRealms
543ip_space_name_masterstringПример: `internet-no-antiddos-v1`
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
116resource_cpuinteger1000Пример: `2000`minvalue=500; maxvalue=4000
117resource_memoryinteger1124Пример: `2048`minvalue=512; maxvalue=8192
118resource_diskinteger30Пример: `20`minvalue=5; maxvalue=999
224resource_instancesinteger1Пример: `1`minvalue=1; maxvalue=7
225need_external_address_masterbooleanfalseФлаг, определяющий, нужно ли выделять внешний IP для доступа к master. Пример: `true` или `false`value_list=false, true
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/rabbitmq_params_modify.md b/universal_rebuild/docs-gen/rabbitmq_params_modify.md deleted file mode 100644 index 6df624c..0000000 --- a/universal_rebuild/docs-gen/rabbitmq_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_rabbitmq - -Service ID: `93` - -Service Name: RabbitMQ - -[Manual](rabbitmq.md) | [Create params](rabbitmq_params_create.md) | [Modify params](rabbitmq_params_modify.md) | [Output params](rabbitmq_outputs.md) | [Operations](rabbitmq_ops.md) | [Example](rabbitmq_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
304resource_cpuintegerПример: `2000`minvalue=500; maxvalue=4000
305resource_memoryintegerПример: `2048`minvalue=512; maxvalue=8192
306resource_diskintegerПример: `20`minvalue=1; maxvalue=999
307resource_instancesintegerПример: `1`minvalue=1; maxvalue=7
308need_external_address_masterbooleanВыделяет внешний (белый) IP для доступа к mastervalue_list=false, true
545ip_space_name_masterstringПример: `internet-no-antiddos-v1`
diff --git a/universal_rebuild/docs-gen/redis.md b/universal_rebuild/docs-gen/redis.md deleted file mode 100644 index 4dfd2ea..0000000 --- a/universal_rebuild/docs-gen/redis.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## MAN - -
-Redis кластер. Под кеши.
Ресурсная платформа: k8s.
Автоматизация: k8s operator
port 6379 -
diff --git a/universal_rebuild/docs-gen/redis_example.md b/universal_rebuild/docs-gen/redis_example.md deleted file mode 100644 index 32ab170..0000000 --- a/universal_rebuild/docs-gen/redis_example.md +++ /dev/null @@ -1,45 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## Copy-ready manifest (`redis_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_redis" "baza" { - startup_configuration = "TODO" - cluster_configuration = "TODO" - access_configuration = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_redis.baza.state_params["имя_ключа"] -nubes_redis.baza.state_out["имя_ключа"] -nubes_redis.baza.state_params_flat["имя_ключа"] -nubes_redis.baza.state_out_flat["имя_ключа"] -nubes_redis.baza.vault_secrets["имя_ключа"] -nubes_redis.baza.vault_url -nubes_redis.baza.vault_user_path -nubes_redis.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/redis_ops.md b/universal_rebuild/docs-gen/redis_ops.md deleted file mode 100644 index 4156679..0000000 --- a/universal_rebuild/docs-gen/redis_ops.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](redis_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](redis_params_modify.md) -- `reconcile` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/redis_outputs.md b/universal_rebuild/docs-gen/redis_outputs.md deleted file mode 100644 index c735f67..0000000 --- a/universal_rebuild/docs-gen/redis_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/redis_params.md b/universal_rebuild/docs-gen/redis_params.md deleted file mode 100644 index 131dd5e..0000000 --- a/universal_rebuild/docs-gen/redis_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## Parameters - -- [Create params](redis_params_create.md) -- [Modify params](redis_params_modify.md) diff --git a/universal_rebuild/docs-gen/redis_params_create.md b/universal_rebuild/docs-gen/redis_params_create.md deleted file mode 100644 index 2eff875..0000000 --- a/universal_rebuild/docs-gen/redis_params_create.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
1061startup_configurationmap-fixed
1062cluster_configurationmap-fixed
1063access_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/redis_params_modify.md b/universal_rebuild/docs-gen/redis_params_modify.md deleted file mode 100644 index b4ed8a0..0000000 --- a/universal_rebuild/docs-gen/redis_params_modify.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_redis - -Service ID: `91` - -Service Name: Redis - -[Manual](redis.md) | [Create params](redis_params_create.md) | [Modify params](redis_params_modify.md) | [Output params](redis_outputs.md) | [Operations](redis_ops.md) | [Example](redis_example.md) - -## Modify params - - - - - - -
IDCodeTypeDescriptionConstraints
1064cluster_configurationmap-fixed
1065access_configurationmap-fixed
diff --git a/universal_rebuild/docs-gen/s3.md b/universal_rebuild/docs-gen/s3.md deleted file mode 100644 index 15a87a0..0000000 --- a/universal_rebuild/docs-gen/s3.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## MAN - -
-Руководство доступно по ссылке:
https://docs.s3.msk-1.ngcloud.ru/s3/s3.description.html -
diff --git a/universal_rebuild/docs-gen/s3_example.md b/universal_rebuild/docs-gen/s3_example.md deleted file mode 100644 index fc69b64..0000000 --- a/universal_rebuild/docs-gen/s3_example.md +++ /dev/null @@ -1,44 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## Copy-ready manifest (`s3_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_s3" "baza" { - resource_realm = "TODO" # Платформа для развертывания - display_name = "TODO" # Человеко-читаемое имя (транслит из Elma) - передаётся имя клиента -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_s3.baza.state_params["имя_ключа"] -nubes_s3.baza.state_out["имя_ключа"] -nubes_s3.baza.state_params_flat["имя_ключа"] -nubes_s3.baza.state_out_flat["имя_ключа"] -nubes_s3.baza.vault_secrets["имя_ключа"] -nubes_s3.baza.vault_url -nubes_s3.baza.vault_user_path -nubes_s3.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/s3_ops.md b/universal_rebuild/docs-gen/s3_ops.md deleted file mode 100644 index 655b982..0000000 --- a/universal_rebuild/docs-gen/s3_ops.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](s3_params_create.md) -- `create_sub_user` — . См. [nubes_s3_sub_user](s3_sub_user.md) -- `delete` -- `delete_sub_user` — . См. [nubes_s3_sub_user](s3_sub_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](s3_params_modify.md) -- `reconcile` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/s3_outputs.md b/universal_rebuild/docs-gen/s3_outputs.md deleted file mode 100644 index e1cdeb2..0000000 --- a/universal_rebuild/docs-gen/s3_outputs.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["dtEndTrial"]` -- `state_out_flat["dtStartTrial"]` -- `state_out_flat["isTrial"]` -- `state_out_flat["monitoring"]` -- `state_out_flat["monitoring.allDashboards"]` -- `state_out_flat["monitoring.s3ceph"]` -- `state_out_flat["monitoring.s3ceph.url"]` -- `state_out_flat["urlConnect"]` - -### `vault_secrets` ключи - -- `vault_secrets["1325_access_key"]` -- `vault_secrets["1325_secret_key"]` -- `vault_secrets["1325_technicalS3Backup_access_key"]` -- `vault_secrets["1325_technicalS3Backup_secret_key"]` - diff --git a/universal_rebuild/docs-gen/s3_params.md b/universal_rebuild/docs-gen/s3_params.md deleted file mode 100644 index d61aced..0000000 --- a/universal_rebuild/docs-gen/s3_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## Parameters - -- [Create params](s3_params_create.md) -- [Modify params](s3_params_modify.md) diff --git a/universal_rebuild/docs-gen/s3_params_create.md b/universal_rebuild/docs-gen/s3_params_create.md deleted file mode 100644 index b9a9364..0000000 --- a/universal_rebuild/docs-gen/s3_params_create.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
163resource_realmкластер S3 для подключенияfunc=getAvailableResourceRealms
320display_namestringЧеловеко-читаемое имя (транслит из Elma) - передаётся имя клиентаregex=^[a-zA-Z0-9_]{1,61}[a-zA-Z0-9]$
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/s3_params_modify.md b/universal_rebuild/docs-gen/s3_params_modify.md deleted file mode 100644 index d5a1da0..0000000 --- a/universal_rebuild/docs-gen/s3_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_s3 - -Service ID: `12` - -Service Name: S3 Object Storage - -[Manual](s3.md) | [Create params](s3_params_create.md) | [Modify params](s3_params_modify.md) | [Output params](s3_outputs.md) | [Operations](s3_ops.md) | [Example](s3_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
50max_size_gb_per_userintegermaxSizeGb. Передаём рукамиminvalue=1; maxvalue=50000
51max_objects_per_bucketintegerКвота на бакет. Кол-во объектов. Передаём рукамиminvalue=1; maxvalue=10000000
52max_buckets_per_userintegerКвота на пользователя. Количество бакетов пользователя. Передаём рукамиminvalue=1; maxvalue=1000
diff --git a/universal_rebuild/docs-gen/s3_sub_user.md b/universal_rebuild/docs-gen/s3_sub_user.md deleted file mode 100644 index 1975010..0000000 --- a/universal_rebuild/docs-gen/s3_sub_user.md +++ /dev/null @@ -1,24 +0,0 @@ -# Resource nubes_s3_sub_user - -Service: `nubes_s3` (ID: 12) - -[S3 Object Storage (основной)](s3.md) | [Operations](s3_ops.md) | [Sub_user](s3_sub_user.md) | [Example](s3_sub_user_example.md) - -## Create params - -**Обязательные параметры** - - - - - - -
IDCodeTypeDescriptionConstraints
60sub_user_namestring
61sub_user_accessstringvalue_list=read, write, readwrite, full
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
63sub_user_namestringsubUserName. По идее услуга уже создана - должен передаваться из ЛК
diff --git a/universal_rebuild/docs-gen/s3_sub_user_example.md b/universal_rebuild/docs-gen/s3_sub_user_example.md deleted file mode 100644 index b1baf20..0000000 --- a/universal_rebuild/docs-gen/s3_sub_user_example.md +++ /dev/null @@ -1,32 +0,0 @@ -# Resource nubes_s3_sub_user — Example - -Service: `nubes_s3` (ID: 12) - -[S3 Object Storage (основной)](s3.md) | [Operations](s3_ops.md) | [Sub_user](s3_sub_user.md) | [Example](s3_sub_user_example.md) - -## Copy-ready manifest (`s3_sub_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_s3 должен быть создан заранее -# resource "nubes_s3" "baza" { ... } - -resource "nubes_s3_sub_user" "example" { - s3_id = nubes_s3.baza.id - sub_user_name = "TODO" - sub_user_access = "read" -} -``` diff --git a/universal_rebuild/docs-gen/s3bucket.md b/universal_rebuild/docs-gen/s3bucket.md deleted file mode 100644 index 27d17d7..0000000 --- a/universal_rebuild/docs-gen/s3bucket.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/s3bucket_example.md b/universal_rebuild/docs-gen/s3bucket_example.md deleted file mode 100644 index d31fe8b..0000000 --- a/universal_rebuild/docs-gen/s3bucket_example.md +++ /dev/null @@ -1,51 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## Copy-ready manifest (`s3bucket_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_s3bucket" "baza" { - s3_user_uid = "TODO" # UID Корневой услуги S3. На основе него будет создан бакет. - bucket_name = "TODO" # Имя бакета s3 - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - max_size = -1 # Максимальный размер бакета s3. Если поставить -1, будет безлимит. Размер указывается в Bytes - read_all = false # Публичный доступ на чтение позволяет любому пользователю интернета скачивать объекты из бакета. - list_all = false # Публичный доступ к листингу позволяет любому пользователю интернета получить список объектов в бакете. - cors_all = false # Публичный доступ к чтению настроек позволяет любому пользователю интернета читать конфигурации CORS - placement = "HOT" # Класс хранилища, который используется по умолчанию при загрузке объектов. Чем холоднее, тем дешевле место, но дороже обращения -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_s3bucket.baza.state_params["имя_ключа"] -nubes_s3bucket.baza.state_out["имя_ключа"] -nubes_s3bucket.baza.state_params_flat["имя_ключа"] -nubes_s3bucket.baza.state_out_flat["имя_ключа"] -nubes_s3bucket.baza.vault_secrets["имя_ключа"] -nubes_s3bucket.baza.vault_url -nubes_s3bucket.baza.vault_user_path -nubes_s3bucket.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/s3bucket_ops.md b/universal_rebuild/docs-gen/s3bucket_ops.md deleted file mode 100644 index 61b2abb..0000000 --- a/universal_rebuild/docs-gen/s3bucket_ops.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](s3bucket_params_create.md) -- `delete` diff --git a/universal_rebuild/docs-gen/s3bucket_outputs.md b/universal_rebuild/docs-gen/s3bucket_outputs.md deleted file mode 100644 index f62a754..0000000 --- a/universal_rebuild/docs-gen/s3bucket_outputs.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["httpConnect"]` - diff --git a/universal_rebuild/docs-gen/s3bucket_params.md b/universal_rebuild/docs-gen/s3bucket_params.md deleted file mode 100644 index 9977e26..0000000 --- a/universal_rebuild/docs-gen/s3bucket_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## Parameters - -- [Create params](s3bucket_params_create.md) -- [Modify params](s3bucket_params_modify.md) diff --git a/universal_rebuild/docs-gen/s3bucket_params_create.md b/universal_rebuild/docs-gen/s3bucket_params_create.md deleted file mode 100644 index 0ae6f44..0000000 --- a/universal_rebuild/docs-gen/s3bucket_params_create.md +++ /dev/null @@ -1,29 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
124s3_user_uiduuidUID Корневой услуги S3. На основе него будет создан бакет.ref_svc_id=12
125bucket_namestringИмя бакета s3
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
126max_size-1Максимальный размер бакета s3. Если поставить 0, будет безлимит. Размер указывается в Bytes
127read_allbooleanfalseПубличный доступ на чтение позволяет любому пользователю интернета скачивать объекты из бакета.value_list=false, true
128list_allbooleanfalseПубличный доступ к листингу позволяет любому пользователю интернета получить список объектов в бакете.value_list=false, true
129cors_allbooleanfalseПубличный доступ к чтению настроек позволяет любому пользователю интернета читать конфигурации CORSvalue_list=false, true
130placementstringHOTКласс хранилища, который используется по умолчанию при загрузке объектов. Чем холоднее, тем дешевле место, но дороже обращенияvalue_list=HOT, COLD
diff --git a/universal_rebuild/docs-gen/s3bucket_params_modify.md b/universal_rebuild/docs-gen/s3bucket_params_modify.md deleted file mode 100644 index ca24765..0000000 --- a/universal_rebuild/docs-gen/s3bucket_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_s3bucket - -Service ID: `13` - -Service Name: S3 бакет - -[Manual](s3bucket.md) | [Create params](s3bucket_params_create.md) | [Modify params](s3bucket_params_modify.md) | [Output params](s3bucket_outputs.md) | [Operations](s3bucket_ops.md) | [Example](s3bucket_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/superset.md b/universal_rebuild/docs-gen/superset.md deleted file mode 100644 index 93094e9..0000000 --- a/universal_rebuild/docs-gen/superset.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## MAN - -
-Apache Superset как сервис.
Ресурсная платформа: k8s.
Автоматизация: k8s operator.
Авторизация: 2FA keycloak (для доменного логина @mgmt.nubes.ru) -
diff --git a/universal_rebuild/docs-gen/superset_example.md b/universal_rebuild/docs-gen/superset_example.md deleted file mode 100644 index e04dbe7..0000000 --- a/universal_rebuild/docs-gen/superset_example.md +++ /dev/null @@ -1,51 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## Copy-ready manifest (`superset_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_superset" "baza" { - resource_realm = "TODO" # Платформа для развертывания - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - domain = "web01" # Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm - emails = "testuser1" # Учётная запись, которой будут выданы админские права. В формате email [ну не совсем. Для доменных учетных записей - без доменного суффикса]. Обязана находиться в Keycloak. Можно передавать несколько через пробел - resource_cpu = 500 # Квота ядра пода (Указывается в mili). 1000 Mili = 1 ядро - resource_memory = 512 # Квота памяти пода (Указывается в Megabytes) - resource_disk = 1 # Квота диска (Указывается в GIGAbytes) - resource_instances = 1 # Количество узлов -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_superset.baza.state_params["имя_ключа"] -nubes_superset.baza.state_out["имя_ключа"] -nubes_superset.baza.state_params_flat["имя_ключа"] -nubes_superset.baza.state_out_flat["имя_ключа"] -nubes_superset.baza.vault_secrets["имя_ключа"] -nubes_superset.baza.vault_url -nubes_superset.baza.vault_user_path -nubes_superset.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/superset_ops.md b/universal_rebuild/docs-gen/superset_ops.md deleted file mode 100644 index 5aa441d..0000000 --- a/universal_rebuild/docs-gen/superset_ops.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](superset_params_create.md) -- `delete` — DEV-Ветка удаления Superset diff --git a/universal_rebuild/docs-gen/superset_outputs.md b/universal_rebuild/docs-gen/superset_outputs.md deleted file mode 100644 index 4d7a1fd..0000000 --- a/universal_rebuild/docs-gen/superset_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/superset_params.md b/universal_rebuild/docs-gen/superset_params.md deleted file mode 100644 index 2984f1c..0000000 --- a/universal_rebuild/docs-gen/superset_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## Parameters - -- [Create params](superset_params_create.md) -- [Modify params](superset_params_modify.md) diff --git a/universal_rebuild/docs-gen/superset_params_create.md b/universal_rebuild/docs-gen/superset_params_create.md deleted file mode 100644 index 6652cf1..0000000 --- a/universal_rebuild/docs-gen/superset_params_create.md +++ /dev/null @@ -1,29 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - -
IDCodeTypeDescriptionConstraints
109resource_realmstringНаименование кластера Kubernetes для подключенияfunc=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
14domainstringweb01Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealmregex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$
20emailsstringtestuser1Учётная запись, которой будут выданы админские права. В формате email [ну не совсем. Для доменных учетных записей - без доменного суффикса]. Обязана находиться в Keycloak. Можно передавать несколько через пробел
96resource_cpuinteger500Квота ядра пода (Указывается в mili). 1000 Mili = 1 ядроminvalue=100; maxvalue=4000
97resource_memoryinteger512Квота памяти пода (Указывается в Megabytes)minvalue=128; maxvalue=8192
98resource_diskinteger1Квота диска (Указывается в GIGAbytes)minvalue=1; maxvalue=999
227resource_instancesinteger1Количество узловminvalue=1; maxvalue=7
diff --git a/universal_rebuild/docs-gen/superset_params_modify.md b/universal_rebuild/docs-gen/superset_params_modify.md deleted file mode 100644 index 5a6e1ca..0000000 --- a/universal_rebuild/docs-gen/superset_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_superset - -Service ID: `81` - -Service Name: Apache Superset - -[Manual](superset.md) | [Create params](superset_params_create.md) | [Modify params](superset_params_modify.md) | [Output params](superset_outputs.md) | [Operations](superset_ops.md) | [Example](superset_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/template.md b/universal_rebuild/docs-gen/template.md deleted file mode 100644 index b4d0dc3..0000000 --- a/universal_rebuild/docs-gen/template.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/template_example.md b/universal_rebuild/docs-gen/template_example.md deleted file mode 100644 index c0a59d9..0000000 --- a/universal_rebuild/docs-gen/template_example.md +++ /dev/null @@ -1,45 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## Copy-ready manifest (`template_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_template" "baza" { - cluster_configuration = "TODO" - startup_configuration = "TODO" - access_configuration = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_template.baza.state_params["имя_ключа"] -nubes_template.baza.state_out["имя_ключа"] -nubes_template.baza.state_params_flat["имя_ключа"] -nubes_template.baza.state_out_flat["имя_ключа"] -nubes_template.baza.vault_secrets["имя_ключа"] -nubes_template.baza.vault_url -nubes_template.baza.vault_user_path -nubes_template.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/template_ops.md b/universal_rebuild/docs-gen/template_ops.md deleted file mode 100644 index f431055..0000000 --- a/universal_rebuild/docs-gen/template_ops.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](template_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](template_params_modify.md) -- `reconcile` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/template_outputs.md b/universal_rebuild/docs-gen/template_outputs.md deleted file mode 100644 index ab5623d..0000000 --- a/universal_rebuild/docs-gen/template_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/template_params.md b/universal_rebuild/docs-gen/template_params.md deleted file mode 100644 index 7fdd8d3..0000000 --- a/universal_rebuild/docs-gen/template_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## Parameters - -- [Create params](template_params_create.md) -- [Modify params](template_params_modify.md) diff --git a/universal_rebuild/docs-gen/template_params_create.md b/universal_rebuild/docs-gen/template_params_create.md deleted file mode 100644 index 6266f53..0000000 --- a/universal_rebuild/docs-gen/template_params_create.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
813cluster_configurationmap-fixed
814startup_configurationmap-fixed
815access_configurationmap-fixed
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/template_params_modify.md b/universal_rebuild/docs-gen/template_params_modify.md deleted file mode 100644 index 4611040..0000000 --- a/universal_rebuild/docs-gen/template_params_modify.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_template - -Service ID: `2` - -Service Name: Темплейт k8s - -[Manual](template.md) | [Create params](template_params_create.md) | [Modify params](template_params_modify.md) | [Output params](template_outputs.md) | [Operations](template_ops.md) | [Example](template_example.md) - -## Modify params - - - - - - -
IDCodeTypeDescriptionConstraints
816cluster_configurationmap-fixed
817access_configurationmap-fixed
diff --git a/universal_rebuild/docs-gen/tenant.md b/universal_rebuild/docs-gen/tenant.md deleted file mode 100644 index 409820a..0000000 --- a/universal_rebuild/docs-gen/tenant.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/tenant_example.md b/universal_rebuild/docs-gen/tenant_example.md deleted file mode 100644 index bcbb9b2..0000000 --- a/universal_rebuild/docs-gen/tenant_example.md +++ /dev/null @@ -1,44 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## Copy-ready manifest (`tenant_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_tenant" "baza" { - grafana_org_name = "TODO" # WZ-Код клиента - resource_realm = "TODO" # Платформа для развертывания -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_tenant.baza.state_params["имя_ключа"] -nubes_tenant.baza.state_out["имя_ключа"] -nubes_tenant.baza.state_params_flat["имя_ключа"] -nubes_tenant.baza.state_out_flat["имя_ключа"] -nubes_tenant.baza.vault_secrets["имя_ключа"] -nubes_tenant.baza.vault_url -nubes_tenant.baza.vault_user_path -nubes_tenant.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/tenant_ops.md b/universal_rebuild/docs-gen/tenant_ops.md deleted file mode 100644 index 5058136..0000000 --- a/universal_rebuild/docs-gen/tenant_ops.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](tenant_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](tenant_params_modify.md) diff --git a/universal_rebuild/docs-gen/tenant_outputs.md b/universal_rebuild/docs-gen/tenant_outputs.md deleted file mode 100644 index 4ebe277..0000000 --- a/universal_rebuild/docs-gen/tenant_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/tenant_params.md b/universal_rebuild/docs-gen/tenant_params.md deleted file mode 100644 index 4db7d6b..0000000 --- a/universal_rebuild/docs-gen/tenant_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## Parameters - -- [Create params](tenant_params_create.md) -- [Modify params](tenant_params_modify.md) diff --git a/universal_rebuild/docs-gen/tenant_params_create.md b/universal_rebuild/docs-gen/tenant_params_create.md deleted file mode 100644 index 10d4d27..0000000 --- a/universal_rebuild/docs-gen/tenant_params_create.md +++ /dev/null @@ -1,21 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
239grafana_org_namestringWZ-Код клиентаregex=^WZ[\d]+$
240resource_realmstringПлатформа для развертыванияfunc=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. diff --git a/universal_rebuild/docs-gen/tenant_params_modify.md b/universal_rebuild/docs-gen/tenant_params_modify.md deleted file mode 100644 index cc3e107..0000000 --- a/universal_rebuild/docs-gen/tenant_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_tenant - -Service ID: `112` - -Service Name: Тенант в Grafana - -[Manual](tenant.md) | [Create params](tenant_params_create.md) | [Modify params](tenant_params_modify.md) | [Output params](tenant_outputs.md) | [Operations](tenant_ops.md) | [Example](tenant_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/valo_tenant.md b/universal_rebuild/docs-gen/valo_tenant.md deleted file mode 100644 index 6860e2f..0000000 --- a/universal_rebuild/docs-gen/valo_tenant.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## MAN - -
-# Инструкция по развертыванию Тенант Valo через платформу

## 1. Общая информация
Тенант Valo — логический изолированный экземпляр сервиса VALO Cloud, предоставляющий защищённое облачное хранилище, синхронизацию данных и доступ к документам с различных устройств. При создании тенант автоматически разворачивается в тестовом режиме сроком на 2 месяца. Перевод в промышленную эксплуатацию выполняется отдельной операцией.

### Доступные операции

* **create** — создание нового тенанта в тестовом режиме сроком на 2 месяца.
* **modify** — изменение настроек тенанта, включая перевод из ТЕСТ в ПРОД.
* **suspend** — выключение (приостановка работы) тенанта.
* **resume** — включение ранее приостановленного тенанта.
* **delete** — удаление тенанта; доступно только после выполнения операции suspend.

---

## 2. Параметры развертывания

Параметры входных данных операции **create**:

### Платформа для развертывания
Описание: платформа, на которой будет создан тенант.
Пример значения: `valo.ngcloud.ru`.

### DNS-Префикс
Описание: Будет добавлено в зону valo.ngcloud.ru
Пример значения: `mysimpledomain`.

### Параметры хранилища
Описание: Сколько места будет выделено под использование в тенанте. Данные хранятся в S3. Размер указывается в Gigabytes
Пример значения: `10`.

### Настройки тенанта
Описание: Ряд конфигурации Valo-тенанта, такие как настройки пользователя и доступного функционала
Пример значения: `опционально в рамках настройки`.

---

## 3. Рекомендованные характеристики

### Тестовое окружение
Достаточно развернуть тенант в ТЕСТ. Срок предоставляется в 2 месяца. По истечению срока тенант автоматически переводится в `suspend` на стороне ресурсной платформы

### Промышленное окружение
Для разблокировки используйте операцию `modify`

---

## 4. Выходные параметры

Услуга предоставляет следующие выходные параметры (формируются в процессе операций):

### Статус тенанта
Отражает текущее состояние и параметры.

---

## 5. Дополнительная информация
Тенант всегда создаётся в режиме ТЕСТ и не может быть сразу переведён в ПРОД без операции modify.
Удаление тенанта возможно только после его выключения с помощью операции suspend.
Срок тестового режима составляет 2 месяца с момента создания.
Операции suspend и resume используются для временного управления доступностью сервиса без потери конфигурации.
-
diff --git a/universal_rebuild/docs-gen/valo_tenant_example.md b/universal_rebuild/docs-gen/valo_tenant_example.md deleted file mode 100644 index c2a8186..0000000 --- a/universal_rebuild/docs-gen/valo_tenant_example.md +++ /dev/null @@ -1,48 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## Copy-ready manifest (`valo_tenant_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_valo_tenant" "baza" { - resource_realm = "TODO" - domain = "TODO" # Будет добавлено в зону valo.ngcloud.ru - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - valo_options = {} - s3_storage = 10 # Параметр указывается в `Gb` -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_valo_tenant.baza.state_params["имя_ключа"] -nubes_valo_tenant.baza.state_out["имя_ключа"] -nubes_valo_tenant.baza.state_params_flat["имя_ключа"] -nubes_valo_tenant.baza.state_out_flat["имя_ключа"] -nubes_valo_tenant.baza.vault_secrets["имя_ключа"] -nubes_valo_tenant.baza.vault_url -nubes_valo_tenant.baza.vault_user_path -nubes_valo_tenant.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/valo_tenant_ops.md b/universal_rebuild/docs-gen/valo_tenant_ops.md deleted file mode 100644 index 89cb168..0000000 --- a/universal_rebuild/docs-gen/valo_tenant_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](valo_tenant_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](valo_tenant_params_modify.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/valo_tenant_outputs.md b/universal_rebuild/docs-gen/valo_tenant_outputs.md deleted file mode 100644 index 2d4ea5d..0000000 --- a/universal_rebuild/docs-gen/valo_tenant_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/valo_tenant_params.md b/universal_rebuild/docs-gen/valo_tenant_params.md deleted file mode 100644 index 2c3d14f..0000000 --- a/universal_rebuild/docs-gen/valo_tenant_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## Parameters - -- [Create params](valo_tenant_params_create.md) -- [Modify params](valo_tenant_params_modify.md) diff --git a/universal_rebuild/docs-gen/valo_tenant_params_create.md b/universal_rebuild/docs-gen/valo_tenant_params_create.md deleted file mode 100644 index a0e9538..0000000 --- a/universal_rebuild/docs-gen/valo_tenant_params_create.md +++ /dev/null @@ -1,38 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
655resource_realmstringfunc=getAvailableResourceRealms
656domainstringБудет добавлено в зону valo.ngcloud.ruregex=^[a-z0-9](?:[a-z0-9-]{3,61}[a-z0-9])?$; maxlength=61; minlength=3
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - -
IDCodeTypeDefaultDescriptionConstraints
657valo_optionsmap-fixed{}
658s3_storageinteger10Данные хранятся в отдельном экземпляре S3minvalue=1; maxvalue=999
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/valo_tenant_params_modify.md b/universal_rebuild/docs-gen/valo_tenant_params_modify.md deleted file mode 100644 index 4b07bec..0000000 --- a/universal_rebuild/docs-gen/valo_tenant_params_modify.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_valo_tenant - -Service ID: `149` - -Service Name: VALO Cloud - -[Manual](valo_tenant.md) | [Create params](valo_tenant_params_create.md) | [Modify params](valo_tenant_params_modify.md) | [Output params](valo_tenant_outputs.md) | [Operations](valo_tenant_ops.md) | [Example](valo_tenant_example.md) - -## Modify params - - - - - - -
IDCodeTypeDescriptionConstraints
659valo_optionsmap-fixed
660s3_storageintegerДанные хранятся в отдельном экземпляре S3
diff --git a/universal_rebuild/docs-gen/vapp.md b/universal_rebuild/docs-gen/vapp.md deleted file mode 100644 index 630f47c..0000000 --- a/universal_rebuild/docs-gen/vapp.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## MAN - -
-# Инструкция по развертыванию Виртуальный каталог ВМ (vApp) через платформу

## 1. Общая информация

**Виртуальный каталог ВМ (vApp)** — это логическая каталог, объединённая в единый управляемый объект. Сервис предназначен для совместного развертывания, управления жизненным циклом и сетевого взаимодействия набора связанных ВМ. Основные функции включают:
- централизованное управление включением, выключением и приостановкой группы ВМ;
- унифицированный сетевой доступ через привязанный Edge-шлюз;

### Доступные операции

**create** — Создание нового vApp с привязкой к заданным услугам VDC и Edge
**delete** — Удаление существующего vApp. Требуется предварительный перевод vApp в состояние *suspend*. Полное удаление возможно через 14 дней.
**suspend** — Остановка vApp (выключение всех ВМ внутри каталога)
**resume** — Запуск vApp (включение всех ВМ внутри каталога)

---

## 2. Параметры развертывания

Параметры берутся из операции **create**.

### UUID Услуги VDC
Уникальный идентификатор услуги «Виртуальный датацентр (vDC)».
Используется для определения вычислительной инфраструктуры, в которой будет развернут vApp.

### UUID Услуги Edge
Уникальный идентификатор услуги «Сетевой шлюз периметра (Edge)».
Обеспечивает маршрутизацию и сетевое подключение. Может быть привязан к группе VDC, поэтому выбирается отдельно.

### Имя vApp
Строгое имя, соответствующее маске формирования DNS-имени.
Используется как часть в DNS-имени при создании виртуальных машин.

---

## 3. Рекомендованные характеристики
Так как является промежуточным этапом для создания ВМ, все характеристики описываются в услуге `Виртуальная машина`

---

## 4. Выходные параметры

### Параметры vApp
Заданные при создании vApp

---

## 5. Дополнительная информация

- Привязка к VDC и Edge осуществляется раздельно, поскольку один Edge может обслуживать несколько VDC (через услугу `Группа виртуальных датацентров (groupvDC)`). Это гарантирует возможность развернуть ВМ в единой сети, но в разных виртуальных датацентрах.
- Перед удалением vApp необходимо вручную перевести его в состояние **suspend**. Удаление возможно только спустя 14 дней после этого шага.
- Операция delete удаляет весь vApp полностью, включая все виртуальные машины, связанные с ним.
- Рекомендуется заранее планировать сетевые связи и назначения DNS-имён для обеспечения корректной работы сервисов, развернутых внутри vApp.
- При проектировании инфраструктуры следует учитывать зависимости между Edge-шлюзом, VDC и размещаемыми ВМ, чтобы избежать ограничений при масштабировании и интеграции. -
diff --git a/universal_rebuild/docs-gen/vapp_example.md b/universal_rebuild/docs-gen/vapp_example.md deleted file mode 100644 index cb6b098..0000000 --- a/universal_rebuild/docs-gen/vapp_example.md +++ /dev/null @@ -1,45 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## Copy-ready manifest (`vapp_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vapp" "baza" { - nsxt_uid = "TODO" # UUID Услуги `Сетевой шлюз периметра (Edge)` - vapp_name = "TODO" # Уникальное в рамках организации - vdc_uid = "TODO" # UUID Услуги `Виртуальный датацентр (vDC)` -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vapp.baza.state_params["имя_ключа"] -nubes_vapp.baza.state_out["имя_ключа"] -nubes_vapp.baza.state_params_flat["имя_ключа"] -nubes_vapp.baza.state_out_flat["имя_ключа"] -nubes_vapp.baza.vault_secrets["имя_ключа"] -nubes_vapp.baza.vault_url -nubes_vapp.baza.vault_user_path -nubes_vapp.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vapp_ops.md b/universal_rebuild/docs-gen/vapp_ops.md deleted file mode 100644 index b787780..0000000 --- a/universal_rebuild/docs-gen/vapp_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vapp_params_create.md) -- `delete` -- `reconcile` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/vapp_outputs.md b/universal_rebuild/docs-gen/vapp_outputs.md deleted file mode 100644 index 0ff0f8e..0000000 --- a/universal_rebuild/docs-gen/vapp_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vapp_params.md b/universal_rebuild/docs-gen/vapp_params.md deleted file mode 100644 index 4c7addc..0000000 --- a/universal_rebuild/docs-gen/vapp_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## Parameters - -- [Create params](vapp_params_create.md) -- [Modify params](vapp_params_modify.md) diff --git a/universal_rebuild/docs-gen/vapp_params_create.md b/universal_rebuild/docs-gen/vapp_params_create.md deleted file mode 100644 index 3b23cff..0000000 --- a/universal_rebuild/docs-gen/vapp_params_create.md +++ /dev/null @@ -1,34 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
190nsxt_uiduuidК какой сети может быть подключен виртуальный каталогref_svc_id=22
191vapp_namestringИмеет строгую маску `^[a-z0-9][a-z0-9.-]{3,61}[a-z0-9]$`

Используется в формировании DNS-Имени (для виртуальных машин)
regex=^[a-z0-9][a-z0-9.-]{3,61}[a-z0-9]$; minlength=3
623vdc_uiduuidВ каких ресурсах будет создан виртуальный каталогref_svc_id=21
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vapp_params_modify.md b/universal_rebuild/docs-gen/vapp_params_modify.md deleted file mode 100644 index 4fca747..0000000 --- a/universal_rebuild/docs-gen/vapp_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_vapp - -Service ID: `26` - -Service Name: Виртуальный каталог ВМ (vApp) - -[Manual](vapp.md) | [Create params](vapp_params_create.md) | [Modify params](vapp_params_modify.md) | [Output params](vapp_outputs.md) | [Operations](vapp_ops.md) | [Example](vapp_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/vc_complex.md b/universal_rebuild/docs-gen/vc_complex.md deleted file mode 100644 index c83cece..0000000 --- a/universal_rebuild/docs-gen/vc_complex.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## MAN - -
-# Создает окружение для ВМ.

## Создает сервисы:
**Организация**
**Виртуальный датацентр**
**Каталог**
**Сетевой шлюз периметра**

-
diff --git a/universal_rebuild/docs-gen/vc_complex_example.md b/universal_rebuild/docs-gen/vc_complex_example.md deleted file mode 100644 index 90773e7..0000000 --- a/universal_rebuild/docs-gen/vc_complex_example.md +++ /dev/null @@ -1,59 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## Copy-ready manifest (`vc_complex_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_complex" "baza" { - resource_realm = "TODO" # Платформа для развертывания - vapp_name = "TODO" # Имя vApp - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - vdc_provider_gateway = "sandbox-v1cl1-pvdc" # Взять из свойств ресурсной платформы. Путь .vcd.providerVdc - взять KEY providerGateway Cloud Director. Влияет ресурсы будут предоставлены. Является полем (List) в свойствах рес. платформы ЛК, но сам параметр передаётся только как один String - virtual_services_count = 1 # Кол-во виртуальных сервисов, которые выделяются на AVI. Во избежании коллапса пока выделяется до 4 - ip_space_name = "internet-ipv4-v1" # Имя ip Space для внешнего IP. Целесообразнее брать самый дешёвый, так как это vip для исходящего трафика. Необходимо задавать если включен needExternalAddressSNAT - storage_config = [{"name": "", "size": 1024}] # Описывается как массив объектов, где описывается имя политики и её размер - vdc_network_pool = "nsxt-sandbox-geneve-np" - cpu_guaranteed = 20 - mem_guaranteed = 20 - segroup_name = "SEGROUP-SANDBOX-CL1-SHARED-01" # Наименование segroup, в котором будут выделяться пулы на AVI - need_external_address_snat = true # Выделяет внешний IP на Edge. Используется для SNAT всего трафика - need_enable_avi = false # Включает AVI в Cloud Director - cpu_allocated = 1 # шт - mem_allocated = 10 # gb - v_ipcount = 0 # ш -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_complex.baza.state_params["имя_ключа"] -nubes_vc_complex.baza.state_out["имя_ключа"] -nubes_vc_complex.baza.state_params_flat["имя_ключа"] -nubes_vc_complex.baza.state_out_flat["имя_ключа"] -nubes_vc_complex.baza.vault_secrets["имя_ключа"] -nubes_vc_complex.baza.vault_url -nubes_vc_complex.baza.vault_user_path -nubes_vc_complex.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_complex_ops.md b/universal_rebuild/docs-gen/vc_complex_ops.md deleted file mode 100644 index 9d016bc..0000000 --- a/universal_rebuild/docs-gen/vc_complex_ops.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_complex_params_create.md) diff --git a/universal_rebuild/docs-gen/vc_complex_outputs.md b/universal_rebuild/docs-gen/vc_complex_outputs.md deleted file mode 100644 index 629a059..0000000 --- a/universal_rebuild/docs-gen/vc_complex_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vc_complex_params.md b/universal_rebuild/docs-gen/vc_complex_params.md deleted file mode 100644 index 82b3c13..0000000 --- a/universal_rebuild/docs-gen/vc_complex_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## Parameters - -- [Create params](vc_complex_params_create.md) -- [Modify params](vc_complex_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_complex_params_create.md b/universal_rebuild/docs-gen/vc_complex_params_create.md deleted file mode 100644 index 6b0b9ec..0000000 --- a/universal_rebuild/docs-gen/vc_complex_params_create.md +++ /dev/null @@ -1,37 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
332resource_realmstringНаименование ресурсной платформыfunc=getAvailableResourceRealms
334vapp_namestringИмя vAppregex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
358vdc_provider_gatewaystringsandbox-v1cl1-pvdcВзять из свойств ресурсной платформы.
Путь .vcd.providerVdc - взять KEY

providerGateway Cloud Director. Влияет ресурсы будут предоставлены. Является полем (List&lt;String&gt;) в свойствах рес. платформы ЛК, но сам параметр передаётся только как один String
359virtual_services_count1Кол-во виртуальных сервисов, которые выделяются на AVI. Во избежании коллапса пока выделяется до 4minvalue=1; maxvalue=4
360ip_space_namestringinternet-ipv4-v1Имя ip Space для внешнего IP. Целесообразнее брать самый дешёвый, так как это vip для исходящего трафика. Необходимо задавать если включен needExternalAddressSNAT
399storage_configjson[{"name": "", "size": 1024}]Описывается как массив объектов, где описывается имя политики и её размер
400vdc_network_poolstringnsxt-sandbox-geneve-np
401cpu_guaranteedinteger20value_list=20, 50, 80
402mem_guaranteedinteger20value_list=20, 50, 80
403segroup_namestringSEGROUP-SANDBOX-CL1-SHARED-01Наименование segroup, в котором будут выделяться пулы на AVI
404need_external_address_snatbooleantrueВыделяет внешний IP на Edge. Используется для SNAT всего трафикаvalue_list=false, true
405need_enable_avibooleanfalseВключает AVI в Cloud Directorvalue_list=false, true
566cpu_allocatedstring1штminvalue=1
567mem_allocatedinteger10gbminvalue=1
568v_ipcountinteger0шminvalue=0; maxvalue=20
diff --git a/universal_rebuild/docs-gen/vc_complex_params_modify.md b/universal_rebuild/docs-gen/vc_complex_params_modify.md deleted file mode 100644 index b6a1be3..0000000 --- a/universal_rebuild/docs-gen/vc_complex_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_vc_complex - -Service ID: `113` - -Service Name: Быстрый старт - -[Manual](vc_complex.md) | [Create params](vc_complex_params_create.md) | [Modify params](vc_complex_params_modify.md) | [Output params](vc_complex_outputs.md) | [Operations](vc_complex_ops.md) | [Example](vc_complex_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/vc_nsxt.md b/universal_rebuild/docs-gen/vc_nsxt.md deleted file mode 100644 index 0c8056d..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## MAN - -
-# Инструкция по развертыванию Сетевой шлюз периметра (Edge) через платформу

## 1. Общая информация

Сервис **Сетевой шлюз периметра (Edge)** предназначен для создания периметрового сетевого шлюза в рамках одного виртуального датацентра (vDC) или группы виртуальных датацентров (groupvDC).
При создании автоматически разворачивается routed-сеть с адресным пространством `10.10.102.0/24`.
Сервис обеспечивает сетевую изоляцию, маршрутизацию, а также может включать функциональность балансировщика нагрузки AVI (ALB) для последующей интеграции, включая поддержку кластеров Штурвал.

### Доступные операции

**create** — Создание нового Edge с привязкой к vDC или groupvDC и развёртыванием routed-сети.
**delete** — Удаление ранее созданного Edge. Недоступно при наличии зависимых услуг (vApp, VM, Кластер Штурвал).
**modify** — Изменение параметров и сетевых настроек существующего Edge.

---

## 2. Параметры развертывания

Ниже приведены параметры операции **create**.

### Тип родительской услуги
Определяет контекст размещения Edge.
Допустимые значения: `vdc`, `groupvdc`.
Использование:
- При выборе `vdc` обязателен параметр **UUID VDC**.
- При выборе `groupvdc` обязателен параметр **UUID Группы VDC**.

### UUID VDC
Идентификатор виртуального датацентра.
Необходимо предварительно создать vDC через услугу «Виртуальный датацентр (vDC)».
Указывается только при выборе родительского типа `vdc`.

### UUID Группы VDC
Идентификатор группы виртуальных датацентров.
Создаётся через услугу «Группа виртуальных датацентров (groupvDC)».
Используется при выборе родительского типа `groupvdc`.

### Включить ALB
Флаг активации AVI Load Balancer в Cloud Director.
Пример значения: `true`/`false`.
Нужен для развёртывания кластера Штурвал и возможности создания Virtual Services.

### Наименование segroup
Имя сервиса групп (segroup) на уровне ресурсной платформы.
Обязательно при включённом ALB.
Определяет группу, в которой будут выделяться пулы AVI для Virtual Services.

### virtualServicesCount
Количество резервируемых виртуальных сервисов (Virtual Services) на AVI.
Типичное значение: 1–10 в зависимости от нагрузки.

---

## 3. Рекомендованные характеристики

### Тестовое окружение (Test)

- Тип родительской услуги: `vdc`
- virtualServicesCount: 1–2
- ALB: выключен по умолчанию (включать только при необходимости тестирования Штурвала)
- segroup: задаётся только при включённом ALB
- VDC гарантии CPU/RAM: минимальные (поскольку изменить их после создания нельзя)

### Промышленное окружение (Production)

- Тип родительской услуги: `groupvdc` при работе с распределёнными нагрузками или `vdc` для локализованных проектов
- virtualServicesCount: 3–10, исходя из предполагаемого количества публикаций
- ALB: включён, если требуется высокая доступность сервисов или используется кластер Штурвал
- segroup: рекомендуется использовать выделенную группу под проект
- VDC гарантии CPU/RAM: повышенные, с учётом того, что изменить их после создания невозможно без пересоздания vDC

---

## 4. Выходные параметры

### Имя Edge
Уникальное название созданного сетевого шлюза, используется для ссылок и дальнейших операций.

### Имя routed-сети
Автоматически созданная routed-сеть с подсетью `10.10.102.0/24`, используется для подключения ресурсов.

### Параметры Edge
Набор параметров, указанных пользователем при создании: тип услуги, ALB, segroup, virtualServicesCount и др.
Используются в операциях modify и для анализа состояния сервиса.

---

## 5. Дополнительная информация

- В рамках сервиса **один раз при создании задаётся гарантированная доля CPU/RAM vDC**. Изменить её невозможно — требуется пересоздание vDC.
- Удаление Edge недоступно при наличии зависимых ресурсов (vApp, VM, кластер Штурвал).
- При использовании ALB необходимо корректно указывать segroup, чтобы обеспечить корректное выделение пулов AVI.
- При выборе режима `groupvdc` следует учитывать распределение нагрузки между несколькими vDC.
- SNAT для всех ресурсов внутри Edge можно активировать через операцию modify (параметры выделения VIP и ipSpace).

-
diff --git a/universal_rebuild/docs-gen/vc_nsxt_example.md b/universal_rebuild/docs-gen/vc_nsxt_example.md deleted file mode 100644 index 0af1946..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt_example.md +++ /dev/null @@ -1,47 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## Copy-ready manifest (`vc_nsxt_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_nsxt" "baza" { - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - need_enable_avi = false # Включение Load Balancer - virtual_services_count = 1 # Кол-во виртуальных сервисов, которые **резервируются** на AVI - vdc_type = "vdc" # Тип родительской услуги -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_nsxt.baza.state_params["имя_ключа"] -nubes_vc_nsxt.baza.state_out["имя_ключа"] -nubes_vc_nsxt.baza.state_params_flat["имя_ключа"] -nubes_vc_nsxt.baza.state_out_flat["имя_ключа"] -nubes_vc_nsxt.baza.vault_secrets["имя_ключа"] -nubes_vc_nsxt.baza.vault_url -nubes_vc_nsxt.baza.vault_user_path -nubes_vc_nsxt.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_nsxt_ops.md b/universal_rebuild/docs-gen/vc_nsxt_ops.md deleted file mode 100644 index 03af84f..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt_ops.md +++ /dev/null @@ -1,14 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_nsxt_params_create.md) -- `delete` — Невозможно удалить если routed-сеть в Edge связана с: - vApp - VM - Kubernetes-кластер Штурвал Запустить операцию возможно, но будет ошибка -- `modify` — Изменение кластера. Параметры: [Modify params](vc_nsxt_params_modify.md) -- `reconcile` diff --git a/universal_rebuild/docs-gen/vc_nsxt_outputs.md b/universal_rebuild/docs-gen/vc_nsxt_outputs.md deleted file mode 100644 index 717cbc4..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vc_nsxt_params.md b/universal_rebuild/docs-gen/vc_nsxt_params.md deleted file mode 100644 index 2cf1cc1..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## Parameters - -- [Create params](vc_nsxt_params_create.md) -- [Modify params](vc_nsxt_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_nsxt_params_create.md b/universal_rebuild/docs-gen/vc_nsxt_params_create.md deleted file mode 100644 index 90c487e..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt_params_create.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
8vdc_uidstringНеобходимо, если выбран тип подключаемой VDC: `vdc`ref_svc_id=21
622vdc_group_uidstringНеобходимо, если выбран тип подключаемой VDC: `groupvdc`ref_svc_id=29
825qos_profileif (vdcUid != '&quot;) {
наборфункций1
}

elif (vdcGroupUid != &quot;&quot;) {
наборфункций2
}

else {
return &quot;Необходимо выбрать vdc или vdcgroup&quot;
}
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
340need_enable_avibooleanfalseПараметры `Наименование segroup`, `Кол-во VS на AVI` необходимо также указатьvalue_list=false, true
341virtual_services_countinteger1Во избежании коллапса пока выделяется до 4
Необходимо указывать, если включён параметр `Включить ALB`
minvalue=1; maxvalue=4
621vdc_typestringvdcПри выборе vdc обеспечивает сетевую доступность только в рамках этого vdc
При выборе groupvdc обеспечивает сетевую доступность между всеми vdc, которые включены в groupvdc
value_list=vdc, vdcGroup
diff --git a/universal_rebuild/docs-gen/vc_nsxt_params_modify.md b/universal_rebuild/docs-gen/vc_nsxt_params_modify.md deleted file mode 100644 index 0030cd9..0000000 --- a/universal_rebuild/docs-gen/vc_nsxt_params_modify.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_nsxt - -Service ID: `22` - -Service Name: Сетевой шлюз периметра (Edge) - -[Manual](vc_nsxt.md) | [Create params](vc_nsxt_params_create.md) | [Modify params](vc_nsxt_params_modify.md) | [Output params](vc_nsxt_outputs.md) | [Operations](vc_nsxt_ops.md) | [Example](vc_nsxt_example.md) - -## Modify params - - - - - - - - -
IDCodeTypeDescriptionConstraints
368need_enable_avibooleanПараметры `Наименование segroup`, `Кол-во VS на AVI` необходимо также указатьvalue_list=false, true
369virtual_services_countintegerВо избежании коллапса пока выделяется до 4
Необходимо указывать, если включён параметр `Включить ALB`
minvalue=1; maxvalue=4
372ip_space_namestringНеобходимо указывать, если включён параметр `Выделить VIP для SNAT`
856qos_profilestring
diff --git a/universal_rebuild/docs-gen/vc_org.md b/universal_rebuild/docs-gen/vc_org.md deleted file mode 100644 index e500201..0000000 --- a/universal_rebuild/docs-gen/vc_org.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## MAN - -
-# Инструкция по развертыванию Организация в Cloud Director через платформу

## 1. Общая информация

Сервис **Организация в Cloud Director** предназначен для управления изолированными организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.

### Доступные операции

**create** — Создание новой организации с заданными характеристиками и типом доступа.
**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.
**modify** — Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).
**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.
**resume** — Разморозка организации, восстановление функций управления.

---

## 2. Параметры развертывания

Параметры входных данных операции **create**:

### Платформа для развертывания
Описание: платформа, на которой будет создана организация.
Пример значения: `ngcloud.ru`.

### Тип организации
Описание: тип создаваемой организации.
Варианты:
- `iaas` — организация с прямым доступом к облаку и авторизацией через Keycloak.
- `saas` — организация под управлением Nubes, без прямого доступа к облаку.

---

## 3. Рекомендованные характеристики

### Тестовое окружение
- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.

### Промышленное окружение
- Тип организации: `saas` (упрощённая модель использования).

---

## 4. Выходные параметры

Услуга предоставляет следующие выходные параметры (формируются в процессе операций):

### Url организации
Для быстрого доступа в тенант

### Статус организации
Отражает текущее состояние и параметры.

---

## 5. Дополнительная информация

- Для конфигурации внешних IP внутри организации необходимо предварительно создать:
-- хотя бы один **Виртуальный датацентр (VDC)** привязанный к этой организации;
-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к vdc выше.
- Удаление организации возможно только через 14 дней после перевода в состояние suspend.
- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок и иных объектов.
- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.
- Для iaas-организаций доступ осуществляется через Keycloak. -
diff --git a/universal_rebuild/docs-gen/vc_org_example.md b/universal_rebuild/docs-gen/vc_org_example.md deleted file mode 100644 index 41b7d1b..0000000 --- a/universal_rebuild/docs-gen/vc_org_example.md +++ /dev/null @@ -1,46 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## Copy-ready manifest (`vc_org_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_org" "baza" { - resource_realm = "TODO" # Облако в котором будет развёрнут тенант - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - organization_type = "iaas" # Доступ к организации предоставляется только при выборе `iaas` -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_org.baza.state_params["имя_ключа"] -nubes_vc_org.baza.state_out["имя_ключа"] -nubes_vc_org.baza.state_params_flat["имя_ключа"] -nubes_vc_org.baza.state_out_flat["имя_ключа"] -nubes_vc_org.baza.vault_secrets["имя_ключа"] -nubes_vc_org.baza.vault_url -nubes_vc_org.baza.vault_user_path -nubes_vc_org.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_org_ops.md b/universal_rebuild/docs-gen/vc_org_ops.md deleted file mode 100644 index aebdbcb..0000000 --- a/universal_rebuild/docs-gen/vc_org_ops.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_org_params_create.md) -- `create_user` — . См. [nubes_vc_org_user](vc_org_user.md) -- `delete` — Удалить возможно только через 14 дней после выполнения операции `suspend` **ОСТОРЖНО: Удаление приводит к полному удалению всех сущностей внутри этого тенанта** Если существуют инстансы VDC, Edge, vApp, Vm или Kubernetes-кластер Штурвал, которые были созданы, из ЛК удалены не будут. Необходимо обратиться к `технической поддержке` для удаления инстансов -- `delete_user` — . См. [nubes_vc_org_user](vc_org_user.md) -- `modify` — Изменение кластера. Параметры: [Modify params](vc_org_params_modify.md) -- `reconcile` -- `resume` -- `suspend` — Операция **не останавливает ВМки** в облаке, но не даёт редактировать все сущности внутри тенанта diff --git a/universal_rebuild/docs-gen/vc_org_outputs.md b/universal_rebuild/docs-gen/vc_org_outputs.md deleted file mode 100644 index 9de11b9..0000000 --- a/universal_rebuild/docs-gen/vc_org_outputs.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["urlConnect"]` - diff --git a/universal_rebuild/docs-gen/vc_org_params.md b/universal_rebuild/docs-gen/vc_org_params.md deleted file mode 100644 index e187b07..0000000 --- a/universal_rebuild/docs-gen/vc_org_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## Parameters - -- [Create params](vc_org_params_create.md) -- [Modify params](vc_org_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_org_params_create.md b/universal_rebuild/docs-gen/vc_org_params_create.md deleted file mode 100644 index 28f12f0..0000000 --- a/universal_rebuild/docs-gen/vc_org_params_create.md +++ /dev/null @@ -1,36 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - -
IDCodeTypeDescriptionConstraints
418resource_realmstringВыбрать платформу из списка

**Если список не отображается**
обратитесь к сервис менеджеру с вопросом предоставления ресурсной платформы
func=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
556organization_typestringiaasДоступ к организации предоставляется только при выборе `iaas`value_list=iaas, saas
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vc_org_params_modify.md b/universal_rebuild/docs-gen/vc_org_params_modify.md deleted file mode 100644 index 4142f72..0000000 --- a/universal_rebuild/docs-gen/vc_org_params_modify.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_vc_org - -Service ID: `19` - -Service Name: Организация в Cloud Director - -[Manual](vc_org.md) | [Create params](vc_org_params_create.md) | [Modify params](vc_org_params_modify.md) | [Output params](vc_org_outputs.md) | [Operations](vc_org_ops.md) | [Example](vc_org_example.md) - -## Modify params - - - - - -
IDCodeTypeDescriptionConstraints
662v_ipconfigurearray-map-fixed
diff --git a/universal_rebuild/docs-gen/vc_org_saas.md b/universal_rebuild/docs-gen/vc_org_saas.md deleted file mode 100644 index 95ae27c..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## MAN - -
-Верхнеуровневая сущность создаваемая для Заказчика.
Внутри Организация вы можете создать: Виртуальные датацентры, Каталоги. -
diff --git a/universal_rebuild/docs-gen/vc_org_saas_example.md b/universal_rebuild/docs-gen/vc_org_saas_example.md deleted file mode 100644 index fc0e72e..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas_example.md +++ /dev/null @@ -1,43 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## Copy-ready manifest (`vc_org_saas_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_org_saas" "baza" { - resource_realm = "TODO" # Платформа для развертывания -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_org_saas.baza.state_params["имя_ключа"] -nubes_vc_org_saas.baza.state_out["имя_ключа"] -nubes_vc_org_saas.baza.state_params_flat["имя_ключа"] -nubes_vc_org_saas.baza.state_out_flat["имя_ключа"] -nubes_vc_org_saas.baza.vault_secrets["имя_ключа"] -nubes_vc_org_saas.baza.vault_url -nubes_vc_org_saas.baza.vault_user_path -nubes_vc_org_saas.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_org_saas_ops.md b/universal_rebuild/docs-gen/vc_org_saas_ops.md deleted file mode 100644 index bcc4618..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas_ops.md +++ /dev/null @@ -1,14 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_org_saas_params_create.md) -- `delete` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/vc_org_saas_outputs.md b/universal_rebuild/docs-gen/vc_org_saas_outputs.md deleted file mode 100644 index 15052c9..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vc_org_saas_params.md b/universal_rebuild/docs-gen/vc_org_saas_params.md deleted file mode 100644 index a9c08f3..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## Parameters - -- [Create params](vc_org_saas_params_create.md) -- [Modify params](vc_org_saas_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_org_saas_params_create.md b/universal_rebuild/docs-gen/vc_org_saas_params_create.md deleted file mode 100644 index d73866d..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas_params_create.md +++ /dev/null @@ -1,32 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - -
IDCodeTypeDescriptionConstraints
185resource_realmstringНаименование ресурсной платформыfunc=getAvailableResourceRealms
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. - -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vc_org_saas_params_modify.md b/universal_rebuild/docs-gen/vc_org_saas_params_modify.md deleted file mode 100644 index ad45c99..0000000 --- a/universal_rebuild/docs-gen/vc_org_saas_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_vc_org_saas - -Service ID: `20` - -Service Name: Организация [DEPRECATED] - -[Manual](vc_org_saas.md) | [Create params](vc_org_saas_params_create.md) | [Modify params](vc_org_saas_params_modify.md) | [Output params](vc_org_saas_outputs.md) | [Operations](vc_org_saas_ops.md) | [Example](vc_org_saas_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/vc_org_user.md b/universal_rebuild/docs-gen/vc_org_user.md deleted file mode 100644 index 10b4e0f..0000000 --- a/universal_rebuild/docs-gen/vc_org_user.md +++ /dev/null @@ -1,27 +0,0 @@ -# Resource nubes_vc_org_user - -Service: `nubes_vc_org` (ID: 19) - -[Организация в Cloud Director (основной)](vc_org.md) | [Operations](vc_org_ops.md) | [User](vc_org_user.md) | [Example](vc_org_user_example.md) - -## Create params - -**Обязательные параметры** - -None. - -**Параметры со значением по умолчанию** - - - - - -
IDCodeTypeDefaultDescriptionConstraints
871adminsarray-map-fixed[{}]
- -## Delete params - - - - - -
IDCodeTypeDescriptionConstraints
872adminsarray-map-fixed
diff --git a/universal_rebuild/docs-gen/vc_org_user_example.md b/universal_rebuild/docs-gen/vc_org_user_example.md deleted file mode 100644 index 7a8afe4..0000000 --- a/universal_rebuild/docs-gen/vc_org_user_example.md +++ /dev/null @@ -1,33 +0,0 @@ -# Resource nubes_vc_org_user — Example - -Service: `nubes_vc_org` (ID: 19) - -[Организация в Cloud Director (основной)](vc_org.md) | [Operations](vc_org_ops.md) | [User](vc_org_user.md) | [Example](vc_org_user_example.md) - -## Copy-ready manifest (`vc_org_user_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_vc_org должен быть создан заранее -# resource "nubes_vc_org" "baza" { ... } - -resource "nubes_vc_org_user" "example" { - vc_org_id = nubes_vc_org.baza.id - - # Параметры со значением по умолчанию - admins = [{}] -} -``` diff --git a/universal_rebuild/docs-gen/vc_vdc.md b/universal_rebuild/docs-gen/vc_vdc.md deleted file mode 100644 index 2d8fa57..0000000 --- a/universal_rebuild/docs-gen/vc_vdc.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## MAN - -
-# Инструкция по развертыванию Виртуальный датацентр (vDC) через платформу

## 1. Общая информация

**Виртуальный датацентр (vDC)** — это логическая изолированная среда в VMware Cloud Director, предназначенная для размещения и управления виртуальными машинами, сетевой инфраструктурой и ресурсами хранения. Сервис обеспечивает выделение вычислительных ресурсов под конкретную организацию и предоставляет гибкие параметры масштабирования, контроля потребления и разделения ресурсов.

### Доступные операции

**create** — Создание виртуального датацентра (vDC) с заданными параметрами CPU, RAM, Storage и сетевой конфигурацией.
**delete** — Удаление vDC. Требуется предварительный перевод vDC в состояние *suspend*. Полное удаление возможно через 14 дней.
**modify** — Внесение изменений в параметры ресурсов (CPU/RAM/Storage), выделенных для vDC.
**suspend** — Заморозка vDC. Новые ресурсы или изменения внутри vDC становятся невозможными, работа ВМ не останавливается.
**resume** — Разморозка vDC. Восстановление возможности управления сущностями внутри vDC.

---

## 2. Параметры развертывания

Ниже перечислены входные параметры операции **create**.

### UUID Организации
Уникальный идентификатор организации в Cloud Director. Перед созданием vDC требуется предварительное создание услугу `Организация в Cloud Director`.

### Provider VDC в Cloud Director
Свойство ресурсной платформы, определяющее, какой пул физических ресурсов будет использоваться.

### Network Pool в Cloud Director
Определяет возможности сетевой конфигурации, включая создание Edge Gateway и выход во внешние сети.

### Гарантированная доля ЯДЕР
Гарантированный процент вычислительных ресурсов (CPU), закрепленный за vDC. Значение устанавливается разово при создании.

### Гарантированная доля ОЗУ
Гарантированный процент оперативной памяти, закрепленный за vDC. Также задаётся один раз при создании.

### Сколько аллоцировать на VDC ЯДЕР
Количество виртуальных ядер, выделяемых в рамках vDC.

### Сколько аллоцировать на VDC ОЗУ
Количество оперативной памяти в GB, выделяемой для vDC.

### Конфигурация Storage
Набор дисковых политик и их объёмов, выделяемых для vDC. Указывается имя политики и требуемый размер (GB).

---

## 3. Рекомендованные характеристики

### Тестовое окружение

- Количество ядер CPU: 10–20
- Аллоцируемая RAM: 16–64 GB
- Гарантированная доля CPU: 20%
- Гарантированная доля RAM: 20%
- Storage:
- Политика `SATA`
- Объём: 100–300 GB

### Промышленное окружение

- Количество ядер CPU: 16–128
- Аллоцируемая RAM: 64–512 GB
- Гарантированная доля CPU: 50%
- Гарантированная доля RAM: 50%
- Storage:
- Политики уровня `SSD`
- Объём: 1–10 TB, выбор несколько политик под разные нагрузки

---

## 4. Выходные параметры

Выходные параметры формируются операцией **create** (и используются другими операциями):

### Имя vDC
Уникальный идентификатор созданного виртуального датацентра. Используется в дальнейших операциях (modify, suspend, delete).

### Параметры выделенных ресурсов
Подтверждение итогового объёма CPU/RAM/Storage, выделенных vDC. Используются для учёта и контроля потребления.

---

## 5. Дополнительная информация

- Перед созданием vDC необходимо обеспечить наличие корректно созданной организации и доступных пула ресурсов ресурсной платформы.
- Гарантированная доля CPU и RAM задаётся **однократно при создании vDC**. После развертывания изменить эти значения невозможно; для изменения необходимо пересоздать vDC.
- Удаление vDC возможно только через **14 дней после перевода в состояние *suspend***. Удаление очищает все связанные сущности (ВМ, сети, каталоги), поэтому необходимо убедиться, что данные перенесены.
- Платформа Cloud Director использует концепцию изолированных организационных ресурсов, поэтому корректная настройка Provider VDC и Network Pool является обязательной при создании vDC.
- При изменении параметров (modify) изменяются только показатели CPU, RAM и Storage. Сетевые параметры и гарантированные доли остаются неизменными.
-
diff --git a/universal_rebuild/docs-gen/vc_vdc_example.md b/universal_rebuild/docs-gen/vc_vdc_example.md deleted file mode 100644 index b9134a9..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_example.md +++ /dev/null @@ -1,51 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## Copy-ready manifest (`vc_vdc_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_vdc" "baza" { - organization_uid = "TODO" # Для создания VDC предварительно необходимо создать организацию через услугу `Организация в Cloud Director` - provider_vdc = "TODO" # Приписка `2.8` - Скорость vCPU - 2800MHz И так далее... - network_provider = "TODO" - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - storage_config = [{}] # Первая политика в списке указывается как "По умолчанию" - cpu_guaranteed = 20 # % резервирования - cpu_allocated = 80 # шт - mem_allocated = 200 # gb -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_vdc.baza.state_params["имя_ключа"] -nubes_vc_vdc.baza.state_out["имя_ключа"] -nubes_vc_vdc.baza.state_params_flat["имя_ключа"] -nubes_vc_vdc.baza.state_out_flat["имя_ключа"] -nubes_vc_vdc.baza.vault_secrets["имя_ключа"] -nubes_vc_vdc.baza.vault_url -nubes_vc_vdc.baza.vault_user_path -nubes_vc_vdc.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_vdc_group.md b/universal_rebuild/docs-gen/vc_vdc_group.md deleted file mode 100644 index 1ff3cd6..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## MAN - -
-# Инструкция по развертыванию Группа виртуальных датацентров (groupvDC) через платформу

## 1. Общая информация

Сервис **Группа виртуальных датацентров (groupvDC)** предназначен для логического объединения нескольких виртуальных датацентров (vDC) в единую группу. Это позволяет растягивать SDN между разными vDC и централизованно управлять сетевой связностью. Управление инфраструктурой осуществляется через Cloud Director.
Сервис применяется в случаях, когда требуется обеспечить единое сетевое пространство для распределенных виртуальных датацентров.

### Доступные операции

**create** — Создание новой группы виртуальных датацентров.
**delete** — Удаление существующей группы vDC.
**add_vdc** — Добавление дополнительного виртуального датацентра в группу.
**remove_vdc** — Удаление ранее добавленного виртуального датацентра из группы.

---

## 2. Параметры развертывания

Параметры операции **create**:

### UUID VDC
Идентификатор виртуального датацентра, который будет являться первичным в группе.
Описание: требуется предварительно создать виртуальный датацентр с помощью услуги `Виртуальный датацентр (vDC)`.

---

## 3. Рекомендованные характеристики

### Тестовое окружение
- Для тестового окружения создавать группу VDC нет необходимости, так как это создаёт дополнительный слой абстракции в Cloud Director

### Промышленное окружение
- Для промышленного окружения, если в тенанте существуют разные VDC, создание groupvdc позволит снизить сетевые издержки (за счёт общей сети)

---

## 4. Выходные параметры

### Параметры groupvdc
Набор параметров, указанных пользователем при создании

---

## 5. Дополнительная информация
- Группа vDC используется для растягивания SDN между несколькими виртуальными датацентрами. Управление всеми сетевыми элементами внутри группы выполняется Cloud Director.
- Удалить первичный vDC (тот, что был указан при операции **create**) невозможно. Для его удаления необходимо удалить всю группу и создать новую.
- Перед добавлением любого vDC в группу он должен быть предварительно развернут через сервис `Виртуальный датацентр (vDC)`.
- Сети создаются не в этой услуге, а в услуге `Сетевой шлюз периметра (Edge)`. В ней необходимо будет выбрать тип `groupvdc` -
diff --git a/universal_rebuild/docs-gen/vc_vdc_group_example.md b/universal_rebuild/docs-gen/vc_vdc_group_example.md deleted file mode 100644 index 9d838a9..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_example.md +++ /dev/null @@ -1,43 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## Copy-ready manifest (`vc_vdc_group_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_vdc_group" "baza" { - vdc_uid = "TODO" -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_vdc_group.baza.state_params["имя_ключа"] -nubes_vc_vdc_group.baza.state_out["имя_ключа"] -nubes_vc_vdc_group.baza.state_params_flat["имя_ключа"] -nubes_vc_vdc_group.baza.state_out_flat["имя_ключа"] -nubes_vc_vdc_group.baza.vault_secrets["имя_ключа"] -nubes_vc_vdc_group.baza.vault_url -nubes_vc_vdc_group.baza.vault_user_path -nubes_vc_vdc_group.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_vdc_group_ops.md b/universal_rebuild/docs-gen/vc_vdc_group_ops.md deleted file mode 100644 index ed3ebe7..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## Operations - -- `add_vdc` — **Не нужно** выбирать UUID VDC, который уже был добавлен в группу. См. [nubes_vc_vdc_group_vdc](vc_vdc_group_vdc.md) -- `create` — Создание кластера. Параметры: [Create params](vc_vdc_group_params_create.md) -- `delete` -- `reconcile` -- `remove_vdc` — . См. [nubes_vc_vdc_group_vdc](vc_vdc_group_vdc.md) diff --git a/universal_rebuild/docs-gen/vc_vdc_group_outputs.md b/universal_rebuild/docs-gen/vc_vdc_group_outputs.md deleted file mode 100644 index 5714cde..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vc_vdc_group_params.md b/universal_rebuild/docs-gen/vc_vdc_group_params.md deleted file mode 100644 index d292ab9..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## Parameters - -- [Create params](vc_vdc_group_params_create.md) -- [Modify params](vc_vdc_group_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_vdc_group_params_create.md b/universal_rebuild/docs-gen/vc_vdc_group_params_create.md deleted file mode 100644 index 624e982..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_params_create.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - -
IDCodeTypeDescriptionConstraints
618vdc_uiduuidref_svc_id=21
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. diff --git a/universal_rebuild/docs-gen/vc_vdc_group_params_modify.md b/universal_rebuild/docs-gen/vc_vdc_group_params_modify.md deleted file mode 100644 index 721de57..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_vc_vdc_group - -Service ID: `29` - -Service Name: Группа датацентров - -[Manual](vc_vdc_group.md) | [Create params](vc_vdc_group_params_create.md) | [Modify params](vc_vdc_group_params_modify.md) | [Output params](vc_vdc_group_outputs.md) | [Operations](vc_vdc_group_ops.md) | [Example](vc_vdc_group_example.md) - -## Modify params - -None. diff --git a/universal_rebuild/docs-gen/vc_vdc_group_vdc.md b/universal_rebuild/docs-gen/vc_vdc_group_vdc.md deleted file mode 100644 index 0bf40c0..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_vdc.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_vdc_group_vdc - -Service: `nubes_vc_vdc_group` (ID: 29) - -[Группа датацентров (основной)](vc_vdc_group.md) | [Operations](vc_vdc_group_ops.md) | [Vdc](vc_vdc_group_vdc.md) | [Example](vc_vdc_group_vdc_example.md) - -## Create params - -None. - -## Delete params - -None. diff --git a/universal_rebuild/docs-gen/vc_vdc_group_vdc_example.md b/universal_rebuild/docs-gen/vc_vdc_group_vdc_example.md deleted file mode 100644 index 1fca2a8..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_group_vdc_example.md +++ /dev/null @@ -1,30 +0,0 @@ -# Resource nubes_vc_vdc_group_vdc — Example - -Service: `nubes_vc_vdc_group` (ID: 29) - -[Группа датацентров (основной)](vc_vdc_group.md) | [Operations](vc_vdc_group_ops.md) | [Vdc](vc_vdc_group_vdc.md) | [Example](vc_vdc_group_vdc_example.md) - -## Copy-ready manifest (`vc_vdc_group_vdc_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} - -# Родительский ресурс — nubes_vc_vdc_group должен быть создан заранее -# resource "nubes_vc_vdc_group" "baza" { ... } - -resource "nubes_vc_vdc_group_vdc" "example" { - vc_vdc_group_id = nubes_vc_vdc_group.baza.id -} -``` diff --git a/universal_rebuild/docs-gen/vc_vdc_ops.md b/universal_rebuild/docs-gen/vc_vdc_ops.md deleted file mode 100644 index b1a1776..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_ops.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_vdc_params_create.md) -- `delete` — Удалить возможно только через 14 дней после выполнения операции `suspend` **ОСТОРЖНО: Удаление приводит к полному удалению всех сущностей внутри этого VDC** Если существуют инстансы Edge, vApp, Vm или Kubernetes-кластер Штурвал, которые были созданы, из ЛК удалены не будут. Необходимо обратиться к `технической поддержке` для удаления инстансов -- `modify` — Изменение кластера. Параметры: [Modify params](vc_vdc_params_modify.md) -- `reconcile` -- `resume` -- `suspend` — Операция **не останавливает ВМки** в облаке, но не даёт редактировать все сущности внутри VDC diff --git a/universal_rebuild/docs-gen/vc_vdc_outputs.md b/universal_rebuild/docs-gen/vc_vdc_outputs.md deleted file mode 100644 index a435292..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_outputs.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["vdcName"]` - diff --git a/universal_rebuild/docs-gen/vc_vdc_params.md b/universal_rebuild/docs-gen/vc_vdc_params.md deleted file mode 100644 index 03c0037..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## Parameters - -- [Create params](vc_vdc_params_create.md) -- [Modify params](vc_vdc_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_vdc_params_create.md b/universal_rebuild/docs-gen/vc_vdc_params_create.md deleted file mode 100644 index 5529ac4..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_params_create.md +++ /dev/null @@ -1,41 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - -
IDCodeTypeDescriptionConstraints
30organization_uiduuidДля создания VDC предварительно необходимо создать организацию через услугу `Организация в Cloud Director`ref_svc_id=19
335provider_vdcstringПриписка `2.8` - Скорость vCPU - 2800MHz
И так далее...
746network_providerstring
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
361storage_configarray-map-fixed[{}]Первая политика в списке указывается как &quot;По умолчанию&quot;
397cpu_guaranteedinteger20Свойство нельзя изменить после созданияvalue_list=20, 50, 80
557cpu_allocatedinteger80штminvalue=1; maxvalue=1000
558mem_allocatedinteger200gbminvalue=1; maxvalue=4096
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vc_vdc_params_modify.md b/universal_rebuild/docs-gen/vc_vdc_params_modify.md deleted file mode 100644 index 4bb0906..0000000 --- a/universal_rebuild/docs-gen/vc_vdc_params_modify.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_vc_vdc - -Service ID: `21` - -Service Name: Виртуальный датацентр (vDC) - -[Manual](vc_vdc.md) | [Create params](vc_vdc_params_create.md) | [Modify params](vc_vdc_params_modify.md) | [Output params](vc_vdc_outputs.md) | [Operations](vc_vdc_ops.md) | [Example](vc_vdc_example.md) - -## Modify params - - - - - - - -
IDCodeTypeDescriptionConstraints
560cpu_allocatedintegerштminvalue=1; maxvalue=999
561mem_allocatedintegergbminvalue=1; maxvalue=1024
562storage_configarray-map-fixedПервая политика в списке указывается как &quot;По умолчанию&quot;
diff --git a/universal_rebuild/docs-gen/vc_vm.md b/universal_rebuild/docs-gen/vc_vm.md deleted file mode 100644 index e0c84ef..0000000 --- a/universal_rebuild/docs-gen/vc_vm.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## MAN - -
-Виртуальная машина без каких-либо особенностей.
Данная услуга запускает vc_ip для выдачи белого адреса и подключения к ВМ -
diff --git a/universal_rebuild/docs-gen/vc_vm_example.md b/universal_rebuild/docs-gen/vc_vm_example.md deleted file mode 100644 index 948577e..0000000 --- a/universal_rebuild/docs-gen/vc_vm_example.md +++ /dev/null @@ -1,52 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## Copy-ready manifest (`vc_vm_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_vm" "baza" { - vapp_uid = "TODO" # InstanceUid vApp. vApp должен быть создан - ip_space_name = "TODO" # Брать из свойств ресурсной платформы .vcd.ipSpace Имя IP-space для выделения внешнего IP (IP выделяется обязательно) - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - vm_name = "vm0001" # Имя ВМ. Не поддерживает спец-символы - vm_cpu = 2 # CPU - vm_ram = 2 # RAM (GB) - vm_disksize = 10 # Размер диска под сервис (GB) - template_name = "RockyLinux_9-16G" # ОС - access_ip_list = "79.111.119.78/32 185.247.187.1/32" # Вставить содержимое из 'curl ifconfig.io' IP адреса в CIDR формате через пробел для настройки аксес листов -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_vm.baza.state_params["имя_ключа"] -nubes_vc_vm.baza.state_out["имя_ключа"] -nubes_vc_vm.baza.state_params_flat["имя_ключа"] -nubes_vc_vm.baza.state_out_flat["имя_ключа"] -nubes_vc_vm.baza.vault_secrets["имя_ключа"] -nubes_vc_vm.baza.vault_url -nubes_vc_vm.baza.vault_user_path -nubes_vc_vm.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_vm_ops.md b/universal_rebuild/docs-gen/vc_vm_ops.md deleted file mode 100644 index ff1e0cf..0000000 --- a/universal_rebuild/docs-gen/vc_vm_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_vm_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](vc_vm_params_modify.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/vc_vm_outputs.md b/universal_rebuild/docs-gen/vc_vm_outputs.md deleted file mode 100644 index d5163ba..0000000 --- a/universal_rebuild/docs-gen/vc_vm_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vc_vm_params.md b/universal_rebuild/docs-gen/vc_vm_params.md deleted file mode 100644 index 0ff6c3e..0000000 --- a/universal_rebuild/docs-gen/vc_vm_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## Parameters - -- [Create params](vc_vm_params_create.md) -- [Modify params](vc_vm_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_vm_params_create.md b/universal_rebuild/docs-gen/vc_vm_params_create.md deleted file mode 100644 index 5bed0ba..0000000 --- a/universal_rebuild/docs-gen/vc_vm_params_create.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - -
IDCodeTypeDescriptionConstraints
33vapp_uiduuidInstanceUid vApp. vApp должен быть созданref_svc_id=26
406ip_space_namestringБрать из свойств ресурсной платформы
.vcd.ipSpace

Имя IP-space для выделения внешнего IP (IP выделяется обязательно)
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
35vm_namestringvm0001Имя ВМ. Не поддерживает спец-символыregex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
36vm_cpustring2CPU
37vm_ramstring2RAM (GB)
38vm_disksizestring10Размер диска под сервис (GB)
176template_namestringRockyLinux_9-16GОСvalue_list=RockyLinux_9-16G, OracleLinux_9-16G, Ubuntu_24-20G, Ubuntu_22-20G
177access_ip_liststring79.111.119.78/32 185.247.187.1/32IP адреса в CIDR формате через пробел для настройки аксес листов
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vc_vm_params_modify.md b/universal_rebuild/docs-gen/vc_vm_params_modify.md deleted file mode 100644 index 0ec4505..0000000 --- a/universal_rebuild/docs-gen/vc_vm_params_modify.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_vm - -Service ID: `23` - -Service Name: VM в Cloud Director (старый формат) (vc_vm) - -[Manual](vc_vm.md) | [Create params](vc_vm_params_create.md) | [Modify params](vc_vm_params_modify.md) | [Output params](vc_vm_outputs.md) | [Operations](vc_vm_ops.md) | [Example](vc_vm_example.md) - -## Modify params - - - - - - - - -
IDCodeTypeDescriptionConstraints
186vm_cpuintegerCPU
187vm_ramintegerRAM
188vm_disksizeintegerРазмер диска под сервис (GB)
189access_ip_liststringIP адреса в CIDR формате через пробел для настройки аксес листов
diff --git a/universal_rebuild/docs-gen/vc_vm_v2.md b/universal_rebuild/docs-gen/vc_vm_v2.md deleted file mode 100644 index ada3402..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## MAN - -
-Manual not available. -
diff --git a/universal_rebuild/docs-gen/vc_vm_v2_example.md b/universal_rebuild/docs-gen/vc_vm_v2_example.md deleted file mode 100644 index d0401de..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2_example.md +++ /dev/null @@ -1,45 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## Copy-ready manifest (`vc_vm_v2_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_vm_v2" "baza" { - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - server_list_json = [{}] # Необходимо изменить vappUid и ipSpaceName Пример конфигурации взять по ссылке ниже Объект серверов вида [{}] (Map(Object)) Более подробнее смотреть в README.md (https://gitea.mgmt.nubes.ru/cloudServices/vcVmV2) -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_vm_v2.baza.state_params["имя_ключа"] -nubes_vc_vm_v2.baza.state_out["имя_ключа"] -nubes_vc_vm_v2.baza.state_params_flat["имя_ключа"] -nubes_vc_vm_v2.baza.state_out_flat["имя_ключа"] -nubes_vc_vm_v2.baza.vault_secrets["имя_ключа"] -nubes_vc_vm_v2.baza.vault_url -nubes_vc_vm_v2.baza.vault_user_path -nubes_vc_vm_v2.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_vm_v2_ops.md b/universal_rebuild/docs-gen/vc_vm_v2_ops.md deleted file mode 100644 index 9d940af..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2_ops.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_vm_v2_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](vc_vm_v2_params_modify.md) -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/vc_vm_v2_outputs.md b/universal_rebuild/docs-gen/vc_vm_v2_outputs.md deleted file mode 100644 index 3b9bace..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vc_vm_v2_params.md b/universal_rebuild/docs-gen/vc_vm_v2_params.md deleted file mode 100644 index e60c762..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## Parameters - -- [Create params](vc_vm_v2_params_create.md) -- [Modify params](vc_vm_v2_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_vm_v2_params_create.md b/universal_rebuild/docs-gen/vc_vm_v2_params_create.md deleted file mode 100644 index b1c20cc..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2_params_create.md +++ /dev/null @@ -1,32 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - -None. - -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - -
IDCodeTypeDefaultDescriptionConstraints
301server_list_jsonjson[{}]Необходимо изменить vappUid и ipSpaceName
Пример конфигурации взять по ссылке ниже

Объект серверов вида [{}] (Map(Object))
Более подробнее смотреть в README.md (https://gitea.mgmt.nubes.ru/cloudServices/vcVmV2)
maxlength=65536; minlength=10
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vc_vm_v2_params_modify.md b/universal_rebuild/docs-gen/vc_vm_v2_params_modify.md deleted file mode 100644 index eedbec8..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v2_params_modify.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resource nubes_vc_vm_v2 - -Service ID: `27` - -Service Name: VM в Cloud Director (vc_vmV2) - -[Manual](vc_vm_v2.md) | [Create params](vc_vm_v2_params_create.md) | [Modify params](vc_vm_v2_params_modify.md) | [Output params](vc_vm_v2_outputs.md) | [Operations](vc_vm_v2_ops.md) | [Example](vc_vm_v2_example.md) - -## Modify params - - - - - -
IDCodeTypeDescriptionConstraints
302server_list_jsonjsonОбъект серверов вида [{}] (Map(Object))
Более подробнее смотреть в README.md (https://gitea.mgmt.nubes.ru/cloudServices/vcVmV2)
maxlength=65536; minlength=10
diff --git a/universal_rebuild/docs-gen/vc_vm_v3.md b/universal_rebuild/docs-gen/vc_vm_v3.md deleted file mode 100644 index 95856d8..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## MAN - -
-# Документация по разворачиванию ВМ в Личном кабинете

Данный сервис позволяет разворачивать виртуальные машины (ВМ) непосредственно из Личного кабинета (ЛК).

## Доступные операции
- **create** — Создание виртуальной машины
- **delete** — Удаление виртуальной машины
- **resume** — Запуск виртуальной машины
- **suspend** — Остановка виртуальной машины

---

## Параметры для развёртывания ВМ

### Обязательные параметры:

**vappUid**
UUID vApp, в которой будет создаваться виртуальная машина.
*Пример: WZ00400*

**vmName**
Уникальное имя виртуальной машины.
*Пример: test-vm*

**vmCpu**
Количество ядер процессора. Должно быть больше 0.
*Пример: 1*

**vmRam**
Объем оперативной памяти в гигабайтах. Должно быть больше 0.
*Пример: 1*


**accessPortList**
Белый список портов для доступа к виртуальной машине извне в формате JSON.
*Пример: ["22","10050]*

**imageVm**
Образ операционной системы для развёртывания.
*Доступные значения: RockyLinux_9-16G-cloudinit, Ubuntu_22-20G, Debian_13-20G*

**userLogin**
Логин пользователя для SSH-доступа.
*По умолчанию: myuser*

**userPublicKey**
Публичный SSH-ключ пользователя в формате OpenSSH.
*Пример: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...*

**needAddZabbixTemplate**
Значение истина\ложь, определяющее будет ли добавлен хост в zabbix.
*Пример: true*

### Опциональные параметры:

**accessIpList**
Белый список IP-адресов для доступа к виртуальной машине в формате JSON. Если оставить пустым, вм будет доступена со всех адресов.
*Пример: ["192.168.1.1", "10.0.0.5"]*

**vmDisk**
Размер дополнительного диска в гигабайтах. Должно быть больше 0.
*Пример: 50*

**ipSpaceName**
Внешний IP-адрес. Если не требуется — укажите значение "no-needed" (В нем не будет работать сбор метрик zabbix).

**cloudInit**
YAML-скрипт для кастомизации системы через cloud-init.

---

## Доступные образы операционных систем

### RockyLinux_9-16G-cloudinit
Базовый образ на основе Rocky Linux 9 (Rocky-9.6-x86_64-minimal) для серверных задач.
- Размер системного диска: 16 ГБ
- Поддержка cloud-init
- Минимальные требования: 1 vCPU, 1 ГБ RAM

### Ubuntu_22-20G
Образ на основе Ubuntu Server 22.04 LTS для облачного окружения.
- Размер системного диска: 20 ГБ
- Поддержка cloud-init
- Минимальные требования: 1 vCPU, 1 ГБ RAM

### Debian_13-20G
Образ на основе Debian 13 (Trixie) для стабильной серверной работы.
- Размер системного диска: 20 ГБ
- Поддержка cloud-init
- Минимальные требования: 1 vCPU, 1 ГБ RAM

---

## Пример использования Cloud-init

```yaml
users:
- name: myuser
sudo: ALL=(ALL) NOPASSWD:ALL
groups: sudo
shell: /bin/bash
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...

packages:
- nginx

runcmd:
- systemctl enable --now nginx
- systemctl restart nginx
```

---

## Результат выполнения

После успешного развёртывания в Личном кабинете появится новая виртуальная машина с заданными характеристиками. SSH-доступ осуществляется с использованием указанных логина и публичного ключа.

---

## Важные примечания

### Особенности работы:
- Для отключения внешнего IP укажите значение "no-needed" в параметре ipSpaceName
- Параметр cloudInit является опциональным

### Ограничения:
- Не рекомендуется использовать продолжительные инструкции в cloud-init (таймаут 5 минут)
- Не поддерживается запись файлов через cloud-init
- Не реализовано создание резервных копий ВМ

---

## Диагностика проблем с cloud-init

### Основной лог-файл:
```bash
/var/log/cloud-init.log
```

### Пакет не устанавливается:
- Проверьте доступность пакета в репозитории
- Убедитесь в правильности написания имени пакета
- Попробуйте установить вручную: `apt install <имя_пакета>` (Debian/Ubuntu) или `dnf install <имя_пакета>` (Rocky Linux)

### Команда не выполняется:
- Проверьте наличие требуемой утилиты в системе
- Убедитесь в правильности синтаксиса команды
- Попробуйте выполнить команду вручную для диагностики -
diff --git a/universal_rebuild/docs-gen/vc_vm_v3_example.md b/universal_rebuild/docs-gen/vc_vm_v3_example.md deleted file mode 100644 index 7512e9a..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3_example.md +++ /dev/null @@ -1,53 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## Copy-ready manifest (`vc_vm_v3_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vc_vm_v3" "baza" { - vapp_uid = "TODO" - ip_space_name = "TODO" - image_vm = "TODO" - user_public_key = "TODO" # Публичная часть SSH-Ключа для пользователя - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - vm_name = "web01" - vm_cpu = 1 # шт - vm_ram = 1 # Gb - user_login = "myuser" # Учётка SSH - access_port_list = ["22"] # По каким портам открыть доступ к ВМ. Порты 22, 10050 проставляются автоматически Пока доступно: 22 - SSH, 80 - HTTP, 443 - HTTPS, 10050 - ZABBIX -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vc_vm_v3.baza.state_params["имя_ключа"] -nubes_vc_vm_v3.baza.state_out["имя_ключа"] -nubes_vc_vm_v3.baza.state_params_flat["имя_ключа"] -nubes_vc_vm_v3.baza.state_out_flat["имя_ключа"] -nubes_vc_vm_v3.baza.vault_secrets["имя_ключа"] -nubes_vc_vm_v3.baza.vault_url -nubes_vc_vm_v3.baza.vault_user_path -nubes_vc_vm_v3.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vc_vm_v3_ops.md b/universal_rebuild/docs-gen/vc_vm_v3_ops.md deleted file mode 100644 index db02218..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3_ops.md +++ /dev/null @@ -1,17 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vc_vm_v3_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](vc_vm_v3_params_modify.md) -- `reconcile` -- `redeploy` -- `resume` -- `suspend` diff --git a/universal_rebuild/docs-gen/vc_vm_v3_outputs.md b/universal_rebuild/docs-gen/vc_vm_v3_outputs.md deleted file mode 100644 index d0ef2e1..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3_outputs.md +++ /dev/null @@ -1,30 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["externalConnect"]` -- `state_out_flat["fqdn"]` -- `state_out_flat["internalConnect"]` - diff --git a/universal_rebuild/docs-gen/vc_vm_v3_params.md b/universal_rebuild/docs-gen/vc_vm_v3_params.md deleted file mode 100644 index 9c63ad1..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## Parameters - -- [Create params](vc_vm_v3_params_create.md) -- [Modify params](vc_vm_v3_params_modify.md) diff --git a/universal_rebuild/docs-gen/vc_vm_v3_params_create.md b/universal_rebuild/docs-gen/vc_vm_v3_params_create.md deleted file mode 100644 index aff77f9..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3_params_create.md +++ /dev/null @@ -1,46 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
407vapp_uiduuidref_svc_id=26
411vm_diskintegerОсновной диск у vm зависит от образа (см. документацию)
Если необходимо дополнительное место для vm, введите колличество Gb в эту форму
regex=^(?:$|(?:0|[1-9]\d{0,2}|1\d{3}|20(?:[0-3]\d|4[0-8])))$
412ip_space_namestring
413access_ip_listjsonФормат массива
Каким адресам будет предоставлен доступ до вм

Требует выделенного внешнего IP
Если ничего не передано, то выставлено [&quot;0.0.0.0/0&quot;]
regex=^(?:$|\[\s*(?:"(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,2})?"(?:\s*,\s*"(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,2})?")*)\s*\])$
414image_vmstring
415cloud_inityamlМожно передать создание дополнительных пользователей.
На текущий момент не реализовано выполнения в cloud-init, установки пакетов, выполнения команд и записи файлов.
417user_public_keystringПубличная часть SSH-Ключа для пользователя
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - - - - -
IDCodeTypeDefaultDescriptionConstraints
408vm_namestringweb01regex=^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
409vm_cpuinteger1штminvalue=1; maxvalue=64
410vm_raminteger1Gbminvalue=1; maxvalue=256
416user_loginmyuserУчётка SSH
448access_port_liststring["22"]По каким портам открыть доступ к ВМ.
Порты 22, 10050 проставляются автоматически
Пока доступно:
22 - SSH,
80 - HTTP,
443 - HTTPS,
10050 - ZABBIX
- -
-Параметры поведения (кратко)
-По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
-При `terraform destroy` или удалении ресурса из манифеста:
-- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
-- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
-При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
-- `false` — если ресурс уже есть, будет ошибка.
-- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
-Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления. -
diff --git a/universal_rebuild/docs-gen/vc_vm_v3_params_modify.md b/universal_rebuild/docs-gen/vc_vm_v3_params_modify.md deleted file mode 100644 index e993928..0000000 --- a/universal_rebuild/docs-gen/vc_vm_v3_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_vc_vm_v3 - -Service ID: `28` - -Service Name: Виртуальная машина - -[Manual](vc_vm_v3.md) | [Create params](vc_vm_v3_params_create.md) | [Modify params](vc_vm_v3_params_modify.md) | [Output params](vc_vm_v3_outputs.md) | [Operations](vc_vm_v3_ops.md) | [Example](vc_vm_v3_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
493vm_cpuintegerштminvalue=1; maxvalue=64
494vm_ramintegerGbminvalue=1; maxvalue=256
495vm_diskintegerОсновной диск у vm зависит от образа (см. документацию)
Если необходимо дополнительное место для vm, введите колличество Gb в эту форму
regex=^(?:$|(?:0|[1-9]\d{0,2}|1\d{3}|20(?:[0-3]\d|4[0-8])))$
496ip_space_namestringno-needed, без внешнего ip
internet-antiddos-v1, с функцией защиты от ddos атак
internet-no-antiddos-v1, с функцией защиты от ddos атак
internet-ipv4-v1 тестовое простанство dev
value_list=no-needed, internet-antiddos-v1, internet-no-antiddos-v1, internet-ipv4-v1
497access_ip_listjsonФормат массива
Каким адресам будет предоставлен доступ до вм

Требует выделенного внешнего IP
Если ничего не передано, то выставлено [&quot;0.0.0.0/0&quot;]
498access_port_listjsonФормат массива
По каким портам открыть доступ к ВМ.
Пока доступно:
22 - SSH,
80 - HTTP,
443 - HTTPS,
10050 - ZABBIX
diff --git a/universal_rebuild/docs-gen/vcexternalip.md b/universal_rebuild/docs-gen/vcexternalip.md deleted file mode 100644 index 3fe625c..0000000 --- a/universal_rebuild/docs-gen/vcexternalip.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## MAN - -
-**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**
Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать

Резервировать публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.
Вы можете назначить IP адрес для существующего экземпляра сервиса. -
diff --git a/universal_rebuild/docs-gen/vcexternalip_example.md b/universal_rebuild/docs-gen/vcexternalip_example.md deleted file mode 100644 index 09eefd7..0000000 --- a/universal_rebuild/docs-gen/vcexternalip_example.md +++ /dev/null @@ -1,51 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## Copy-ready manifest (`vcexternalip_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vcexternalip" "baza" { - service_uid = "TODO" - internal_addr_access = "TODO" # Внутренний адрес для связки ната. Требует dnatCreate=true или snatCreate=true - from_service_namespace = "TODO" # Namespace составной услуги (для отображения правил FW) - ip_space_name = "TODO" # Тип ip Space (internet-ipv4-v1 / internet-antiddos-v1 / internet-no-antiddos-v1) - resource_realm = "TODO" # Платформа для развертывания - - # Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте - dnat_create = true # Необходимо создать DNAT-правило. - internal_port_access = 5432 # Порт для связки ната с адресом. Несколько значений можно передавать через пробел. Если передать all, то dnat будет на все порты. Требует dnatCreate=true -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vcexternalip.baza.state_params["имя_ключа"] -nubes_vcexternalip.baza.state_out["имя_ключа"] -nubes_vcexternalip.baza.state_params_flat["имя_ключа"] -nubes_vcexternalip.baza.state_out_flat["имя_ключа"] -nubes_vcexternalip.baza.vault_secrets["имя_ключа"] -nubes_vcexternalip.baza.vault_url -nubes_vcexternalip.baza.vault_user_path -nubes_vcexternalip.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vcexternalip_ops.md b/universal_rebuild/docs-gen/vcexternalip_ops.md deleted file mode 100644 index 5668481..0000000 --- a/universal_rebuild/docs-gen/vcexternalip_ops.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## Operations - -- `create` — Создание кластера. Параметры: [Create params](vcexternalip_params_create.md) -- `delete` -- `modify` — Изменение кластера. Параметры: [Modify params](vcexternalip_params_modify.md) diff --git a/universal_rebuild/docs-gen/vcexternalip_outputs.md b/universal_rebuild/docs-gen/vcexternalip_outputs.md deleted file mode 100644 index aaa59e1..0000000 --- a/universal_rebuild/docs-gen/vcexternalip_outputs.md +++ /dev/null @@ -1,28 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов - -## Реальные поля из облака (running/suspended snapshot) - -Поля ниже получены из реальных инстансов этого сервиса в облаке. -Используйте их как готовые ключи для `state_out_flat` и `vault_secrets`. - -### `state_out_flat` ключи - -- `state_out_flat["externalIp"]` - diff --git a/universal_rebuild/docs-gen/vcexternalip_params.md b/universal_rebuild/docs-gen/vcexternalip_params.md deleted file mode 100644 index 1db2fcc..0000000 --- a/universal_rebuild/docs-gen/vcexternalip_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## Parameters - -- [Create params](vcexternalip_params_create.md) -- [Modify params](vcexternalip_params_modify.md) diff --git a/universal_rebuild/docs-gen/vcexternalip_params_create.md b/universal_rebuild/docs-gen/vcexternalip_params_create.md deleted file mode 100644 index 995a3b8..0000000 --- a/universal_rebuild/docs-gen/vcexternalip_params_create.md +++ /dev/null @@ -1,36 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - - - - - - - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
140service_uidstring
143snat_createbooleanНеобходимо создать SNAT-правило.
144internal_addr_accessstringВнутренний адрес для связки ната. Требует dnatCreate=true или snatCreate=true
324from_service_namespacestringNamespace составной услуги (для отображения правил FW)
325from_service_cloud_edge_namestringEdge составной услуги (указывать, если resourceRealm связан с CloudDirector)
326from_service_cloud_vdc_nameVdc составной услуги (указывать, если resourceRealm связан с CloudDirector)
327from_service_cloud_org_namestringOrg составной услуги (указывать, если resourceRealm связан с CloudDirector)
328from_service_cloud_vmware_urlstringApi-Url составной услуги (указывать, если resourceRealm связан с CloudDirector)
336ip_space_namestringТип ip Space (internet-ipv4-v1 / internet-antiddos-v1 / internet-no-antiddos-v1)
488resource_realmstringПлатформа для развертыванияfunc=getAvailableResourceRealms
624from_service_cloud_edge_scopestring
626from_service_vdc_group_namestring
- -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** - - - - - -
IDCodeTypeDefaultDescriptionConstraints
141dnat_createbooleantrueНеобходимо создать DNAT-правило.
142internal_port_accessstring5432Порт для связки ната с адресом. Несколько значений можно передавать через пробел. Если передать all, то dnat будет на все порты. Требует dnatCreate=true
diff --git a/universal_rebuild/docs-gen/vcexternalip_params_modify.md b/universal_rebuild/docs-gen/vcexternalip_params_modify.md deleted file mode 100644 index f17b66c..0000000 --- a/universal_rebuild/docs-gen/vcexternalip_params_modify.md +++ /dev/null @@ -1,20 +0,0 @@ -# Resource nubes_vcexternalip - -Service ID: `25` - -Service Name: Публичные IP адреса - -[Manual](vcexternalip.md) | [Create params](vcexternalip_params_create.md) | [Modify params](vcexternalip_params_modify.md) | [Output params](vcexternalip_outputs.md) | [Operations](vcexternalip_ops.md) | [Example](vcexternalip_example.md) - -## Modify params - - - - - - - - - - -
IDCodeTypeDescriptionConstraints
627service_uidstring
628ip_space_namestring
629dnat_createboolean
630snat_createboolean
631internal_port_accessstring
632internal_addr_accessstring
diff --git a/universal_rebuild/docs-gen/vmpostgre.md b/universal_rebuild/docs-gen/vmpostgre.md deleted file mode 100644 index 31d8dad..0000000 --- a/universal_rebuild/docs-gen/vmpostgre.md +++ /dev/null @@ -1,13 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## MAN - -
-Сервис настройки PostgreSQL для виртуальной машины.
Требует наличия ВМ -
diff --git a/universal_rebuild/docs-gen/vmpostgre_example.md b/universal_rebuild/docs-gen/vmpostgre_example.md deleted file mode 100644 index 1e5aa5f..0000000 --- a/universal_rebuild/docs-gen/vmpostgre_example.md +++ /dev/null @@ -1,42 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## Copy-ready manifest (`vmpostgre_main.tf`) - -```hcl -terraform { - required_providers { - nubes = { - source = "terra.k8c.ru/nubes/nubes" - version = "5.0.57" - } - } -} - -# Токен доступа api_token к Nubes API — замените на реальный. -provider "nubes" { - api_token = "token_***" - api_endpoint = "https://deck-api.ngcloud.ru/api/v1/index.cfm" -} -resource "nubes_vmpostgre" "baza" { -} -``` - -## Outputs usage - -```hcl -# Выходные параметры можно использовать как -nubes_vmpostgre.baza.state_params["имя_ключа"] -nubes_vmpostgre.baza.state_out["имя_ключа"] -nubes_vmpostgre.baza.state_params_flat["имя_ключа"] -nubes_vmpostgre.baza.state_out_flat["имя_ключа"] -nubes_vmpostgre.baza.vault_secrets["имя_ключа"] -nubes_vmpostgre.baza.vault_url -nubes_vmpostgre.baza.vault_user_path -nubes_vmpostgre.baza.vault_fields -``` diff --git a/universal_rebuild/docs-gen/vmpostgre_ops.md b/universal_rebuild/docs-gen/vmpostgre_ops.md deleted file mode 100644 index a83096e..0000000 --- a/universal_rebuild/docs-gen/vmpostgre_ops.md +++ /dev/null @@ -1,10 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## Operations - diff --git a/universal_rebuild/docs-gen/vmpostgre_outputs.md b/universal_rebuild/docs-gen/vmpostgre_outputs.md deleted file mode 100644 index 5c8d505..0000000 --- a/universal_rebuild/docs-gen/vmpostgre_outputs.md +++ /dev/null @@ -1,18 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## Output params - -- `state_params` (map) — параметры, отправленные в API при создании/изменении -- `state_out` (map) — ответ API с результатами/выходными значениями -- `state_params_flat` (map) — параметры в плоском виде (ключи с путями) -- `state_out_flat` (map) — ответы в плоском виде (ключи с путями) -- `vault_secrets` (map) — секреты, записанные в Vault для ресурса -- `vault_url` (string) — адрес Vault для ресурса -- `vault_user_path` (string) — путь пользователя в Vault -- `vault_fields` (list) — список ключей доступных секретов diff --git a/universal_rebuild/docs-gen/vmpostgre_params.md b/universal_rebuild/docs-gen/vmpostgre_params.md deleted file mode 100644 index 8b28da6..0000000 --- a/universal_rebuild/docs-gen/vmpostgre_params.md +++ /dev/null @@ -1,12 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## Parameters - -- [Create params](vmpostgre_params_create.md) -- [Modify params](vmpostgre_params_modify.md) diff --git a/universal_rebuild/docs-gen/vmpostgre_params_create.md b/universal_rebuild/docs-gen/vmpostgre_params_create.md deleted file mode 100644 index f140764..0000000 --- a/universal_rebuild/docs-gen/vmpostgre_params_create.md +++ /dev/null @@ -1,16 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## Create params - -**Обязательные параметры (вводимые пользователем)** - -None. - -**Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте** -None. diff --git a/universal_rebuild/docs-gen/vmpostgre_params_modify.md b/universal_rebuild/docs-gen/vmpostgre_params_modify.md deleted file mode 100644 index 9ce30ad..0000000 --- a/universal_rebuild/docs-gen/vmpostgre_params_modify.md +++ /dev/null @@ -1,11 +0,0 @@ -# Resource nubes_vmpostgre - -Service ID: `32` - -Service Name: vc_vm_postgresql_std - -[Manual](vmpostgre.md) | [Create params](vmpostgre_params_create.md) | [Modify params](vmpostgre_params_modify.md) | [Output params](vmpostgre_outputs.md) | [Operations](vmpostgre_ops.md) | [Example](vmpostgre_example.md) - -## Modify params - -None.