v0.5.0: 3 стенда — изоляция состояния, WSGI middleware, OpenAPI server selector, POLYGON_STANDS env
- loader.py: STANDS dict, get_services/get_ops_index per stand, POLYGON_STANDS env
- mock_state.py: get_state(stand_id) — ленивая инициализация
- app.py: StandMiddleware — перезапись PATH_INFO до Flask-роутинга
- Все роуты: LocalProxy(state), LocalProxy(SERVICES/OPS_INDEX) через g.stand_id
- openapi.py: _build_servers() — по одному серверу на стенд
- services/stand{1,2,3}/ — 37 YAML на стенд из STANDS/dev и STANDS/test
- tests/test_api.py: +4 multi-stand теста (изоляция, fail-next, OpenAPI servers)
- Обратная совместимость: /api/v1/svc/... → стенд по умолчанию
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
name: akhq
|
||||
service_id: 119
|
||||
service_display_name: Akhq
|
||||
service_short_name: Akhq
|
||||
service_man: '# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>AKHQ — это веб-интерфейс для работы с кластерами Apache Kafka.<br/>Позволяет просматривать
|
||||
топики, consumer group''ы, сообщения, ACL, схему безопасности, состояние брокеров и метаданные.<br/>Поддерживает работу с несколькими кластерами Kafka одновременно, включая внутренние и внешние (TLS)
|
||||
подключения.<br/><br/>## Доступные операции<br/>- **create** — Создание ресурса AKHQ<br/>- **suspend** — Остановка ресурса<br/>- **resume** — Возобновление работы ресурса<br/>- **modify** —
|
||||
Модификация настроек<br/>- **delete** — Удаление ресурса<br/><br/>---<br/>## 2. Параметры развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>*
|
||||
**Кластер Kafka к которому нужно настроить подключение**<br/>Для использования AKHQ необходимо предварительно развернуть сервис Kafka. Пример: `kafka-external`.<br/><br/>* **Платформа для развертывания:**<br/>Платформа
|
||||
для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/>Количество узлов для работы Akhq. Пример `2`<br/><br/>* **Квота
|
||||
(megabyte) памяти пода:**<br/>Квота памяти пода в мегабайтах. Пример: `512`<br/><br/>* **Квота (millicore ) ядра пода:**<br/>Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `500`<br/><br/>* **Имя
|
||||
домена:**<br/>Dns Имя по которому будет происходить обращение к сервису. Указать необходимо уникальное имя до . ( то есть если необходимо получить dns ui) Пример: `kafka-external`<br/><br/>---<br/>##
|
||||
4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевым из них является:<br/><br/>**connectionUrl**<br/>Это полное доменное имя (FQDN),
|
||||
по которому будет доступен интерфейс AKHQ. После развёртывания подождите несколько минут — UI станет доступен по HTTPS, как только все сервисы полностью запустятся.<br/><br/>**Учетные данные**<br/>Здесь
|
||||
представлены поля для ввода логина и пароля, с помощью которых вы сможете авторизоваться в сервисе.<br/><br/>---<br/>## 5. Дополнительная информация<br/>Учётные записи, созданные для работы с AKHQ, предоставляют
|
||||
доступ только для просмотра данных. Для управления Kafka, пожалуйста, используйте возможности личного кабинета.<br/>---'
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 175
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 176
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
- svcOperationId: 180
|
||||
operation: modify
|
||||
kind: instance
|
||||
action: modify
|
||||
- svcOperationId: 178
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 177
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
stateOut: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 550
|
||||
svcOperationCfsParam: resourceRealm
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 551
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '512'
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 552
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '500'
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 553
|
||||
svcOperationCfsParam: domain
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 554
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '1'
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 555
|
||||
svcOperationCfsParam: kafkaUid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 565
|
||||
svcOperationCfsParam: kafkaUid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
175:
|
||||
- 550
|
||||
- 551
|
||||
- 552
|
||||
- 553
|
||||
- 554
|
||||
- 555
|
||||
176: []
|
||||
180:
|
||||
- 565
|
||||
178: []
|
||||
177: []
|
||||
stateParams:
|
||||
resourceRealm: ''
|
||||
resourceMemory: '512'
|
||||
resourceCPU: '500'
|
||||
domain: ''
|
||||
resourceInstances: '1'
|
||||
kafkaUid: ''
|
||||
Reference in New Issue
Block a user