{"queryDurationMs":52,"svc":{"svcId":151,"svc":"Vault","svcShort":"k8sOpenbao","code":null,"version":"master","orchestratorName":"Openbao","createUrl":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/create/job/master/buildWithParameters","isProductionReady":true,"resourceRealmTypeId":3,"iconSrc":null,"descr":"Хранилище секретов","man":"# Инструкция по развертыванию Хранилища секретов через платформу

## 1. Общая информация
Хранилище секретов — сервис централизованного и защищённого хранения чувствительных данных (секретов, ключей, конфигураций). Предназначен для использования приложениями и сервисами в Kubernetes с управлением доступом на основе ролей.
В качестве приложения используется открытый проект OpenBao с поддержкой кластерного режима RAFT.

### Доступные операции
**create** — Создание хранилища секретов и инициализация кластера.
**delete** — Удаление хранилища секретов с полной очисткой всех связанных сущностей.
**modify** — Изменение параметров развернутого хранилища секретов.
**suspend** — Приостановка работы кластера без удаления Persistent Volume.
**resume** — Возобновление работы кластера с автоматическим unseal всех нод.
**restart** — Поочередный перезапуск нод с последующим подключением в кластер.
**create_kv** — Создание Key/Value хранилища версии V2.
**delete_kv** — Удаление Key/Value хранилища со всеми содержащимися секретами.
**create_secrets** — Создание секрета внутри Key/Value хранилища.
**delete_secrets** — Удаление секрета из Key/Value хранилища.
**update_secrets** — Обновление значения секрета.
**recovery_secrets** — Откат секрета к указанной версии.
**create_role** — Создание роли для управления Key/Value хранилищем или секретами.
**update_role** — Обновление параметров роли.
**delete_role** — Удаление роли доступа.

---

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

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

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

### Имя домена
Описание: Доменное имя сервиса. При указании полного FQDN выполняется проверка DNS A-записи или добавляется А-запись в техническую зону.
Формат значения: secrets.domain.com / mysecretdomain.

### Кол-во реплик
Описание: Количество узлов в кластере.
Формат значения: целое число.

### Квота ядра пода
Описание: Лимит CPU для одного узла. Указывается в milicores (1000 milicores = 1 CPU).
Формат значения: целое число.

### Квота памяти пода
Описание: Лимит оперативной памяти для одного узла. Указывается в megabytes.
Формат значения: целое число.

### Размер диска под хранение секретов
Описание: Объем диска для хранения данных. Фактический объем равен значению, умноженному на количество реплик. Указывается в Gigabytes
Формат значения: целое число.

### Версия OpenBao
Описание: Версия OpenBao для развертывания сервиса.
Формат значения: выбор из предоставленного списка версий.

---

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

### Тестовое окружение
Кол-во реплик: 2.
Квота ядра пода: 200.
Квота памяти пода: 256.
Размер диска под хранение секретов: 1.
Версия OpenBao: актуальная стабильная версия.

### Промышленное окружение
Кол-во реплик: от 3.
Квота ядра пода: от 1000.
Квота памяти пода: от 1024.
Размер диска под хранение секретов: от 10.
Версия OpenBao: актуальная стабильная версия.

---

## 4. Выходные параметры
Настройки внутри хранилища (kv/secrets/roles) — конфигурации Key/Value, секретов и ролей, созданные соответствующими операциями.
Настройки самого хранилище (сайзинг, объемы) — параметры ресурсов и хранилища данных, примененные к сервису.
Статус кластера (running / suspended) — текущее состояние работы кластера.
url для подключения к веб — адрес веб-интерфейса сервиса.

---

## 5. Дополнительная информация
При удалении хранилища все данные и настройки безвозвратно удаляются.
При использовании доменного имени требуется корректная настройка DNS.
Операции управления секретами и ролями выполняются только после успешного создания хранилища.
Удаление кластера производится через операцию `suspend`, а удаление становится доступно через 14 дней после остановки кластера
Правило выше не относится к операции `delete_kv` / `delete_secrets` / `delete_role`","operations":[{"svcOperationId":215,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/suspend/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":216,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/resume/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":237,"operation":"create_policy","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/create_policy/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":233,"operation":"delete_secrets","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/delete_secrets/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":234,"operation":"restart","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/restart/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":210,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/create/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":211,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/modify/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":238,"operation":"update_policy","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/update_policy/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":239,"operation":"delete_policy","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/delete_policy/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":232,"operation":"recovery_secrets","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/recovery_secrets/job/master/buildWithParameters","descr":null,"man":"Данная операция подразумевает откат на конкретную версию в секрете.

**Это не восстановление удалённого секрета**"},{"svcOperationId":212,"operation":"create_kv","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/create_kv/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":230,"operation":"update_secrets","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/create_secrets/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":213,"operation":"delete_kv","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/delete_kv/job/master/buildWithParameters","descr":null,"man":"**ОСТОРОЖНО**
Удаление KV подразумевает удаление ВСЕХ secrets внутри этой KV"},{"svcOperationId":231,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/delete/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":214,"operation":"create_secrets","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/create_secrets/job/master/buildWithParameters","descr":null,"man":null},{"svcOperationId":236,"operation":"reconcile","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Openbao/job/reconcile/job/master/buildWithParameters","descr":null,"man":null}]},"runDurationMs":53}