feat: from_stands.py — конвертер STANDS YAML → polygon configs (37 сервисов)
This commit is contained in:
@@ -0,0 +1,374 @@
|
||||
name: k8s_openbao
|
||||
service_id: 151
|
||||
service_display_name: Vault
|
||||
service_short_name: k8sOpenbao
|
||||
service_man: '# Инструкция по развертыванию Хранилища секретов через платформу<br/><br/>## 1. Общая информация<br/>Хранилище секретов — сервис централизованного и защищённого хранения чувствительных данных
|
||||
(секретов, ключей, конфигураций). Предназначен для использования приложениями и сервисами в Kubernetes с управлением доступом на основе ролей.<br/>В качестве приложения используется открытый проект OpenBao
|
||||
с поддержкой кластерного режима RAFT.<br/><br/>### Доступные операции<br/>**create** — Создание хранилища секретов и инициализация кластера.<br/>**delete** — Удаление хранилища секретов с полной очисткой
|
||||
всех связанных сущностей.<br/>**modify** — Изменение параметров развернутого хранилища секретов.<br/>**suspend** — Приостановка работы кластера без удаления Persistent Volume.<br/>**resume** — Возобновление
|
||||
работы кластера с автоматическим unseal всех нод.<br/>**restart** — Поочередный перезапуск нод с последующим подключением в кластер.<br/>**create_kv** — Создание Key/Value хранилища версии V2.<br/>**delete_kv**
|
||||
— Удаление Key/Value хранилища со всеми содержащимися секретами.<br/>**create_secrets** — Создание секрета внутри Key/Value хранилища.<br/>**delete_secrets** — Удаление секрета из Key/Value хранилища.<br/>**update_secrets**
|
||||
— Обновление значения секрета.<br/>**recovery_secrets** — Откат секрета к указанной версии.<br/>**create_role** — Создание роли для управления Key/Value хранилищем или секретами.<br/>**update_role** —
|
||||
Обновление параметров роли.<br/>**delete_role** — Удаление роли доступа.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа
|
||||
для развертывания<br/>Описание: Кластер Kubernetes, в котором будет развернуто приложение.<br/>Формат значения: имя Kubernetes-кластера.<br/><br/>### Имя домена<br/>Описание: Доменное имя сервиса. При
|
||||
указании полного FQDN выполняется проверка DNS A-записи или добавляется А-запись в техническую зону.<br/>Формат значения: secrets.domain.com / mysecretdomain.<br/><br/>### Кол-во реплик<br/>Описание:
|
||||
Количество узлов в кластере.<br/>Формат значения: целое число.<br/><br/>### Квота ядра пода<br/>Описание: Лимит CPU для одного узла. Указывается в milicores (1000 milicores = 1 CPU).<br/>Формат значения:
|
||||
целое число.<br/><br/>### Квота памяти пода<br/>Описание: Лимит оперативной памяти для одного узла. Указывается в megabytes.<br/>Формат значения: целое число.<br/><br/>### Размер диска под хранение секретов<br/>Описание:
|
||||
Объем диска для хранения данных. Фактический объем равен значению, умноженному на количество реплик. Указывается в Gigabytes<br/>Формат значения: целое число.<br/><br/>### Версия OpenBao<br/>Описание:
|
||||
Версия OpenBao для развертывания сервиса.<br/>Формат значения: выбор из предоставленного списка версий.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### Тестовое окружение<br/>Кол-во
|
||||
реплик: 2.<br/>Квота ядра пода: 200.<br/>Квота памяти пода: 256.<br/>Размер диска под хранение секретов: 1.<br/>Версия OpenBao: актуальная стабильная версия.<br/><br/>### Промышленное окружение<br/>Кол-во
|
||||
реплик: от 3.<br/>Квота ядра пода: от 1000.<br/>Квота памяти пода: от 1024.<br/>Размер диска под хранение секретов: от 10.<br/>Версия OpenBao: актуальная стабильная версия.<br/><br/>---<br/><br/>## 4.
|
||||
Выходные параметры<br/>Настройки внутри хранилища (kv/secrets/roles) — конфигурации Key/Value, секретов и ролей, созданные соответствующими операциями.<br/>Настройки самого хранилище (сайзинг, объемы)
|
||||
— параметры ресурсов и хранилища данных, примененные к сервису.<br/>Статус кластера (running / suspended) — текущее состояние работы кластера.<br/>url для подключения к веб — адрес веб-интерфейса сервиса.<br/><br/>---<br/><br/>##
|
||||
5. Дополнительная информация<br/>При удалении хранилища все данные и настройки безвозвратно удаляются.<br/>При использовании доменного имени требуется корректная настройка DNS.<br/>Операции управления
|
||||
секретами и ролями выполняются только после успешного создания хранилища.<br/>Удаление кластера производится через операцию `suspend`, а удаление становится доступно через 14 дней после остановки кластера<br/>Правило
|
||||
выше не относится к операции `delete_kv` / `delete_secrets` / `delete_role`'
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 210
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 212
|
||||
operation: create_kv
|
||||
kind: subresource
|
||||
action: create
|
||||
- svcOperationId: 237
|
||||
operation: create_policy
|
||||
kind: subresource
|
||||
action: create
|
||||
- svcOperationId: 214
|
||||
operation: create_secrets
|
||||
kind: subresource
|
||||
action: create
|
||||
- svcOperationId: 231
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
- svcOperationId: 213
|
||||
operation: delete_kv
|
||||
kind: subresource
|
||||
action: delete
|
||||
- svcOperationId: 239
|
||||
operation: delete_policy
|
||||
kind: subresource
|
||||
action: delete
|
||||
- svcOperationId: 233
|
||||
operation: delete_secrets
|
||||
kind: subresource
|
||||
action: delete
|
||||
- svcOperationId: 211
|
||||
operation: modify
|
||||
kind: instance
|
||||
action: modify
|
||||
- svcOperationId: 236
|
||||
operation: reconcile
|
||||
kind: action
|
||||
action: reconcile
|
||||
- svcOperationId: 232
|
||||
operation: recovery_secrets
|
||||
kind: subresource
|
||||
action: recovery
|
||||
- svcOperationId: 234
|
||||
operation: restart
|
||||
kind: action
|
||||
action: restart
|
||||
- svcOperationId: 216
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 215
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
- svcOperationId: 238
|
||||
operation: update_policy
|
||||
kind: subresource
|
||||
action: update
|
||||
- svcOperationId: 230
|
||||
operation: update_secrets
|
||||
kind: subresource
|
||||
action: update
|
||||
stateOut:
|
||||
kvs: {}
|
||||
policies: {}
|
||||
secrets: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 663
|
||||
svcOperationCfsParam: resourceRealm
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 664
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '500'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 665
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '3'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 666
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '512'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 667
|
||||
svcOperationCfsParam: resourceDisk
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '10'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 668
|
||||
svcOperationCfsParam: appVersion
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: 2.5.2
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- 2.5.2
|
||||
- svcOperationCfsParamId: 669
|
||||
svcOperationCfsParam: domain
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: bao-ovkw1qbi
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 675
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: kvname-bbycmhbz
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 728
|
||||
svcOperationCfsParam: policySettings
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
capabilities:
|
||||
dataType: json
|
||||
defaultValue: '["read", "list"]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
path:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 729
|
||||
svcOperationCfsParam: policyName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: policy-xqjoiy6t
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 677
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 678
|
||||
svcOperationCfsParam: secretPath
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: path/to/mysecret
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 679
|
||||
svcOperationCfsParam: secretData
|
||||
dataType: map
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 676
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 732
|
||||
svcOperationCfsParam: policyName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 726
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 727
|
||||
svcOperationCfsParam: secretPath
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 670
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 671
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '500'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 672
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '512'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 673
|
||||
svcOperationCfsParam: resourceDisk
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 674
|
||||
svcOperationCfsParam: appVersion
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- 2.5.2
|
||||
- svcOperationCfsParamId: 723
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 724
|
||||
svcOperationCfsParam: secretPath
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 725
|
||||
svcOperationCfsParam: secretVersion
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 730
|
||||
svcOperationCfsParam: policyName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 731
|
||||
svcOperationCfsParam: policySettings
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
capabilities:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
path:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 719
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 720
|
||||
svcOperationCfsParam: secretPath
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 721
|
||||
svcOperationCfsParam: needFullUpdateSecret
|
||||
dataType: boolean
|
||||
isRequired: true
|
||||
defaultValue: 'false'
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 722
|
||||
svcOperationCfsParam: secretData
|
||||
dataType: map
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
210:
|
||||
- 663
|
||||
- 664
|
||||
- 665
|
||||
- 666
|
||||
- 667
|
||||
- 668
|
||||
- 669
|
||||
212:
|
||||
- 675
|
||||
237:
|
||||
- 728
|
||||
- 729
|
||||
214:
|
||||
- 677
|
||||
- 678
|
||||
- 679
|
||||
231: []
|
||||
213:
|
||||
- 676
|
||||
239:
|
||||
- 732
|
||||
233:
|
||||
- 726
|
||||
- 727
|
||||
211:
|
||||
- 670
|
||||
- 671
|
||||
- 672
|
||||
- 673
|
||||
- 674
|
||||
236: []
|
||||
232:
|
||||
- 723
|
||||
- 724
|
||||
- 725
|
||||
234: []
|
||||
216: []
|
||||
215: []
|
||||
238:
|
||||
- 730
|
||||
- 731
|
||||
230:
|
||||
- 719
|
||||
- 720
|
||||
- 721
|
||||
- 722
|
||||
stateParams:
|
||||
resourceRealm: ''
|
||||
resourceCPU: '500'
|
||||
resourceInstances: '3'
|
||||
resourceMemory: '512'
|
||||
resourceDisk: '10'
|
||||
appVersion: 2.5.2
|
||||
domain: bao-ovkw1qbi
|
||||
Reference in New Issue
Block a user