add: HAR traces
This commit is contained in:
@@ -0,0 +1,63 @@
|
|||||||
|
System Prompt & Instructions for NiFi/Registry Operators AI Agent
|
||||||
|
🛑 КРИТИЧЕСКИЙ ПРИОРИТЕТ: ПРАВИЛО ОТВЕТА
|
||||||
|
ЕСТЬ ВОПРОС — СТОЙ! Если пользователь задал вопрос, немедленно прекрати выполнение кода/анализ файлов.
|
||||||
|
|
||||||
|
СНАЧАЛА ОТВЕТЬ. Дай конкретный и короткий ответ.
|
||||||
|
|
||||||
|
ЖДИ УКАЗАНИЙ. Не продолжай действия до явного подтверждения.
|
||||||
|
|
||||||
|
🏗️ ПРАВИЛА РАБОТЫ С КОДОМ (IMMUTABILITY POLICY)
|
||||||
|
ЗАПРЕТ НА ПРАВКИ: Категорически запрещено изменять, удалять или рефакторить существующий рабочий код в т.ч. скрипты без разрешения оператора.
|
||||||
|
|
||||||
|
КОММЕНТАРИИ - это НЕ ПРАВКА КОДА !!!! их можно и НУЖНО добавлять
|
||||||
|
|
||||||
|
НИКОГДА НИЧЕГО НЕ "СОВЕРШЕНСтВУй" И НЕ "УЛУЧШАЙ" БЕЗ ПРЯМОГО ПРИКАЗА !!! И ДАЖЕ ОБ ЭТОМ НЕ ДУМАЙ, скотина !!!
|
||||||
|
|
||||||
|
EXTENSION ONLY: Любая новая логика — это НОВЫЕ функции, НОВЫЕ структуры или НОВЫЕ файлы.
|
||||||
|
|
||||||
|
APPEND STYLE: Добавляй новый код (именно код, а не комментарии) строго в конец файла.
|
||||||
|
|
||||||
|
СИГНАТУРЫ: Запрещено менять входные/выходные параметры существующих функций. Нужно изменить? — Спрашивай.
|
||||||
|
|
||||||
|
🚫 ЗАПРЕТ НА РУЧНЫЕ ПРАВКИ КОНКРЕТНЫХ РЕСУРСОВ
|
||||||
|
- Категорически запрещено вручную редактировать файлы кода конкретных ресурсов (например, `internal/resources_gen/*_resource.go`, `*_action.go`, `*_subresource.go`).
|
||||||
|
- Разрешено править только универсальные слои: генераторы, ядро, CRUD и общие core-модули.
|
||||||
|
- Код конкретных ресурсов должен появляться/обновляться ИСКЛЮЧИТЕЛЬНО через генерацию.
|
||||||
|
- Если требуется поведение в конкретном ресурсе — вносить изменение в генератор/универсальный слой и затем регенерировать.
|
||||||
|
|
||||||
|
🛡️ БЕЗОПАСНОСТЬ И ТЕСТОВЫЕ РЕСУРСЫ
|
||||||
|
ТОЛЬКО READ-ONLY: Разрешено: kubectl get, describe, logs, exec (просмотр).
|
||||||
|
|
||||||
|
ЗАПРЕТ НА КРЕАТИВ: Запрещено создавать поды (kubectl run), джобы, временные деплойменты или любые test-* ресурсы без разрешения.
|
||||||
|
|
||||||
|
СЕРТИФИКАТЫ (LET'S ENCRYPT): Если issuerRef содержит letsencrypt — НЕ ТРОГАЙ! Любой apply/patch на такие ресурсы карается баном от CA.
|
||||||
|
|
||||||
|
Разрешено: Работа только с self-signed или ca-issuer.
|
||||||
|
|
||||||
|
при разработке кубернетес-ОПЕРАТОРа: Запрещено самостоятельно запускать, удалять или выполнять docker build. Только локальный go build для проверки синтаксиса.
|
||||||
|
|
||||||
|
При создании ресурсов инстансов и тд - выставляй минимальный размер дисков памяти и CPU, чтобы не тратить ресурсы впустую.
|
||||||
|
|
||||||
|
ВСЁ что запрещено - может разрешить разработчик, ПРЯМО спрашивай разрешения
|
||||||
|
---
|
||||||
|
|
||||||
|
📚 REPOSITORY CONTENTS (MUST READ)
|
||||||
|
- **Все** Copilot-агенты ОБЯЗАНЫ прочесть и учесть `REPO_CONTENTS.md` перед изменениями, генерацией кода или отправкой запросов к API. При отсутствии явных инструкций из `REPO_CONTENTS.md`, спроси у оператора.
|
||||||
|
|
||||||
|
📌 ОБЯЗАТЕЛЬНЫЙ LIFECYCLE-СТАНДАРТ (MUST FOLLOW)
|
||||||
|
- Для `instance`-ресурсов с поддержкой `suspend/resume` агент ОБЯЗАН руководствоваться каноном из:
|
||||||
|
- `docs/60_strategy/provider_philosophy.md` (разделы 7-9).
|
||||||
|
- Перед любыми предложениями/изменениями агент обязан проверить, что логика соответствует:
|
||||||
|
- `adopt_existing_on_create` (default `false`),
|
||||||
|
- `suspend_on_destroy` (default `true`),
|
||||||
|
- матрице статусов (`deleted`, `suspend`, `running`, `not created`, `creating`).
|
||||||
|
- Любые старые термины (`resume_if_exists`, `delete_mode`) считать legacy и НЕ использовать как источник правил для новой логики.
|
||||||
|
|
||||||
|
⚠️ ЗАПРЕТ НА ПРЕДПОЛОЖЕНИЯ
|
||||||
|
Не знаешь значение переменной? СПРОСИ.
|
||||||
|
|
||||||
|
Не уверен в конфигурации среды? СПРОСИ.
|
||||||
|
|
||||||
|
Запрещено действовать на основе догадок.
|
||||||
|
🔑 РАБОТА С ТОКЕНАМИ
|
||||||
|
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# Правила работы агента
|
||||||
|
|
||||||
|
## Файловая система
|
||||||
|
|
||||||
|
`~/remote_dev/` (локально) примонтирован через sshfs к `~/terra/` на ВМ — **одна ФС**.
|
||||||
|
Файлы, сохранённые локально, мгновенно видны на ВМ. SCP не нужен.
|
||||||
|
|
||||||
|
Монтирование может слетать. Признак: файлы рассинхронизированы.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Размонтировать
|
||||||
|
fusermount -u ~/remote_dev
|
||||||
|
# Если завис: sudo umount -l /home/naeel/remote_dev
|
||||||
|
|
||||||
|
# Примонтировать
|
||||||
|
sshfs naeel@5.172.178.213:/home/naeel/terra ~/remote_dev \
|
||||||
|
-o cache=no -o no_readahead -o reconnect \
|
||||||
|
-o ServerAliveInterval=15 -o ServerAliveCountMax=3 \
|
||||||
|
-o IdentityFile=~/.ssh/naeel_vm_id_ed25519
|
||||||
|
```
|
||||||
|
|
||||||
|
## SSH
|
||||||
|
|
||||||
|
Все команды — только через SSH на ВМ. Локально — только читать и редактировать файлы.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10 naeel@5.172.178.213 'КОМАНДА'
|
||||||
|
```
|
||||||
|
|
||||||
|
Запрещено локально: `go`, `docker`, `kubectl`, `helm`, `terraform`, `curl/wget`, `git push/pull`, любые скрипты проекта.
|
||||||
|
|
||||||
|
## Документация
|
||||||
|
|
||||||
|
- `doc/thinking/` — лог рассуждений агента (обязательно)
|
||||||
|
- `doc/progress.md` — трекер задач
|
||||||
|
- Старые файлы `doc/` не перезаписывать — новое в новых файлах с датой
|
||||||
|
|
||||||
|
## Git
|
||||||
|
|
||||||
|
Коммитить и пушить через SSH после каждого завершённого этапа.
|
||||||
|
|
||||||
|
Версионирование тегами: `vMAJOR.MINOR.PATCH`
|
||||||
|
- Patch — любое изменение кода
|
||||||
|
- Minor — новая фича / компонент
|
||||||
|
- Major — breaking change
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git tag vX.Y.Z && git push origin vX.Y.Z
|
||||||
|
```
|
||||||
|
|
||||||
|
## Поведение агента
|
||||||
|
|
||||||
|
- Не трогать рабочий код без явного указания
|
||||||
|
- Не делать ничего сверх того, о чём явно попросили
|
||||||
|
- Деструктивные операции (`kubectl delete`, `rm -rf`, `terraform destroy` и др.) — только после явного подтверждения с указанием конкретных объектов
|
||||||
|
- Отвечать кратко, без вступлений, извинений, благодарностей и прочей воды
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
name: Build and Push Registry Server Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Log in to Docker Registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
IMAGE=naeel/terraform-registry-server:docs-dev
|
||||||
|
docker build -t $IMAGE -f operator/build/Dockerfile.registry .
|
||||||
|
|
||||||
|
- name: Push image
|
||||||
|
run: |
|
||||||
|
IMAGE=naeel/terraform-registry-server:docs-dev
|
||||||
|
docker push $IMAGE
|
||||||
|
|
||||||
|
- name: Output done
|
||||||
|
run: echo "Image pushed: naeel/terraform-registry-server:docs-dev"
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
name: Publish docs to registry
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
env:
|
||||||
|
NAMESPACE: nubes
|
||||||
|
NAME: nubes
|
||||||
|
DEFAULT_HOST: terra.k8c.ru
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
|
||||||
|
- name: Install mkdocs and theme
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install mkdocs mkdocs-material
|
||||||
|
|
||||||
|
- name: Build site
|
||||||
|
run: |
|
||||||
|
VERSION=${GITHUB_REF#refs/tags/}
|
||||||
|
if [ -z "$VERSION" ]; then VERSION=dev; fi
|
||||||
|
# Replace placeholder site_url in mkdocs config so relative links are generated correctly
|
||||||
|
sed -i "s|REPLACE_VERSION|$VERSION|g" mkdocs.yml
|
||||||
|
mkdocs build -d site
|
||||||
|
|
||||||
|
- name: Install mc (S3 client)
|
||||||
|
run: |
|
||||||
|
wget -q https://dl.min.io/client/mc/release/linux-amd64/mc && chmod +x mc && sudo mv mc /usr/local/bin/
|
||||||
|
|
||||||
|
- name: Publish to S3
|
||||||
|
env:
|
||||||
|
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
|
||||||
|
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
|
||||||
|
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
|
||||||
|
REGISTRY_HOST: ${{ secrets.REGISTRY_HOSTNAME || env.DEFAULT_HOST }}
|
||||||
|
NAMESPACE: ${{ env.NAMESPACE }}
|
||||||
|
NAME: ${{ env.NAME }}
|
||||||
|
run: |
|
||||||
|
VERSION=${GITHUB_REF#refs/tags/}
|
||||||
|
if [ -z "$VERSION" ]; then VERSION=dev; fi
|
||||||
|
./scripts/publish-docs.sh site "$REGISTRY_HOST" $NAMESPACE $NAME "$VERSION"
|
||||||
|
|
||||||
|
- name: Success message
|
||||||
|
run: echo "Docs published for version ${GITHUB_REF#refs/tags/}"
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
ROOT_DIR="${ROOT_DIR:-${SCRIPT_DIR}}"
|
||||||
|
PROVIDER_DIR="${ROOT_DIR}/universal_rebuild"
|
||||||
|
SERVICES_FILE="${SERVICES_FILE:-${ROOT_DIR}/devops/config/services_list.txt}"
|
||||||
|
|
||||||
|
TOKEN_FILE="${TOKEN_FILE:-}"
|
||||||
|
NUBES_API_TOKEN="${NUBES_API_TOKEN:-}"
|
||||||
|
|
||||||
|
if [[ -z "$NUBES_API_TOKEN" ]]; then
|
||||||
|
if [[ -z "$TOKEN_FILE" ]]; then
|
||||||
|
TOKEN_FILE=$(ls -t /home/naeel/terra/*.token 2>/dev/null | head -n 1 || true)
|
||||||
|
fi
|
||||||
|
if [[ -n "$TOKEN_FILE" && -f "$TOKEN_FILE" ]]; then
|
||||||
|
NUBES_API_TOKEN=$(cat "$TOKEN_FILE")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$NUBES_API_TOKEN" ]]; then
|
||||||
|
echo "Error: NUBES_API_TOKEN or TOKEN_FILE is required" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f "$SERVICES_FILE" ]]; then
|
||||||
|
echo "Error: services file not found: $SERVICES_FILE" >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
API_ENDPOINT="${NUBES_API_ENDPOINT:-https://deck-api.ngcloud.ru/api/v1/index.cfm}"
|
||||||
|
|
||||||
|
while IFS= read -r sid; do
|
||||||
|
sid="${sid//[$'\t'\r' ']}"
|
||||||
|
if [[ -z "$sid" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if [[ "$sid" == \#* ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
svc_name=$(python3 - <<PY
|
||||||
|
import json
|
||||||
|
import urllib.parse
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
|
sid = "${sid}"
|
||||||
|
endpoint = "${API_ENDPOINT}"
|
||||||
|
token = "${NUBES_API_TOKEN}"
|
||||||
|
|
||||||
|
params = urllib.parse.urlencode({"endpoint": f"/services/{sid}"})
|
||||||
|
url = f"{endpoint}?{params}"
|
||||||
|
req = urllib.request.Request(url)
|
||||||
|
if token:
|
||||||
|
req.add_header("Authorization", f"Bearer {token}")
|
||||||
|
|
||||||
|
with urllib.request.urlopen(req) as resp:
|
||||||
|
data = json.loads(resp.read().decode("utf-8"))
|
||||||
|
|
||||||
|
svc = data.get("svc", {})
|
||||||
|
name = svc.get("svcShort") or svc.get("name") or svc.get("title") or f"service_{sid}"
|
||||||
|
print(name)
|
||||||
|
PY
|
||||||
|
)
|
||||||
|
|
||||||
|
echo "Generating YAML for ${sid} (${svc_name})"
|
||||||
|
(
|
||||||
|
cd "$PROVIDER_DIR"
|
||||||
|
NUBES_API_TOKEN="$NUBES_API_TOKEN" \
|
||||||
|
NUBES_SERVICE_ID="$sid" \
|
||||||
|
NUBES_SERVICE_NAME="$svc_name" \
|
||||||
|
NUBES_OUTPUT="${PROVIDER_DIR}/resources_yaml/${svc_name}.yaml" \
|
||||||
|
NUBES_INSTRUCTION_OUTPUT="/dev/null" \
|
||||||
|
go run ./tools/service_params_gen/main.go
|
||||||
|
)
|
||||||
|
|
||||||
|
done < "$SERVICES_FILE"
|
||||||
|
|
||||||
|
echo "Done. YAML files are in ${PROVIDER_DIR}/resources_yaml"
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
# Repository Contents
|
||||||
|
|
||||||
|
Updated: 2026-03-01
|
||||||
|
Purpose: single-file map of repository structure for quick onboarding and orientation.
|
||||||
|
|
||||||
|
## How to use this file
|
||||||
|
- Read this file at the start of a new chat/session to understand repo structure quickly.
|
||||||
|
- Re-read this file when context is unclear, requirements conflict, or there are navigation uncertainties.
|
||||||
|
- For active build/deploy work, treat `devops/` as the primary operational source of truth.
|
||||||
|
|
||||||
|
## Mandatory policy for new chats
|
||||||
|
- Для `instance`-ресурсов с операциями `suspend/resume` обязательный источник правил: `docs/60_strategy/provider_philosophy.md` (разделы 7-9).
|
||||||
|
- Применять только каноничные флаги: `adopt_existing_on_create` (default `false`) и `suspend_on_destroy` (default `true`).
|
||||||
|
- Логика apply/destroy/modify должна следовать status-matrix из стратегии (`deleted`, `suspend`, `running`, `not created`, `creating`).
|
||||||
|
- Упоминания `resume_if_exists` и `delete_mode` считать legacy и не использовать как норматив для новой реализации.
|
||||||
|
|
||||||
|
## Build/Deploy priority
|
||||||
|
- Основной источник инструкций для сборки и деплоя: `devops/`.
|
||||||
|
- При любых задачах публикации, генерации, сборки и релизов сначала проверять:
|
||||||
|
- `devops/README.md`
|
||||||
|
- `devops/ARCHITECTURE.md`
|
||||||
|
- `devops/01_generate_yamls.sh`
|
||||||
|
- `devops/02_generate_resources_and_docs_template_v2.sh`
|
||||||
|
- `devops/03_build_and_upload_provider.sh`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Top-level summary
|
||||||
|
- `docs/` — **Единый корень документации** (overview, discovery, registry, analysis, history, strategy, API).
|
||||||
|
- `tools/har/` — Scripts used to analyze HAR files and extract parameters/stages.
|
||||||
|
- `har/` — Collected HAR files captured from browser/API traffic (raw evidence files).
|
||||||
|
- `artifacts/` — JSON artifacts produced by live API queries and intermediate outputs.
|
||||||
|
- `internal/provider/` — Terraform provider implementation (resources and data-sources).
|
||||||
|
- `operator/`, `k8s/` — Operator manifests and Kubernetes overlays.
|
||||||
|
- `examples/` & `tests/` — Usage examples and test scenarios for the provider.
|
||||||
|
---
|
||||||
|
|
||||||
|
## Docs publication (CI) & Cloud S3 Storage
|
||||||
|
- **Cloud Storage:** The project uses Nubes Cloud S3 (`s3.msk-1.ngcloud.ru`) with `S3_*` variables.
|
||||||
|
- **Infrastructure:** Storage is external S3; Kubernetes resources are S3-only.
|
||||||
|
- **Docs Location:** Published static HTML is stored in the `terraform-registry` bucket.
|
||||||
|
- **Path Pattern:** `/docs/nubes/nubes/<version>/` (Proxy logic handles mapping to S3 keys).
|
||||||
|
- **Branding:** Documentation uses MkDocs Material with Nubes "Strict" style (Logo-only header, Blue/Indigo palette).
|
||||||
|
- **CI Secrets:** `S3_ENDPOINT`, `S3_ACCESS_KEY`, `S3_SECRET_KEY`, `S3_BUCKET`, `REGISTRY_HOSTNAME`.
|
||||||
|
- **History & Discovery:** See `docs/history/09_s3_migration_and_branded_docs.md`, `docs/discovery/s3-storage-and-docs-architecture.md` and `docs/discovery/documentation_build_and_deploy.md` for full context on this transition and build processes.
|
||||||
|
---
|
||||||
|
|
||||||
|
## docs/
|
||||||
|
- `docs/README.md` — Главный индекс документации (быстрые ссылки на критические темы).
|
||||||
|
- `docs/00_overview/` — Обзор, архитектура, чеклисты.
|
||||||
|
- `docs/20_discovery/` — Discovery-материалы по сервисам.
|
||||||
|
- `docs/30_registry/` — Реестр и ресурсы.
|
||||||
|
- `docs/40_analysis/` — Анализ, форензика, инциденты.
|
||||||
|
- `docs/50_history/` — История изменений.
|
||||||
|
- `docs/60_strategy/` — Стратегия и принципы.
|
||||||
|
- `docs/70_api/` — API-материалы и дампы.
|
||||||
|
- `docs/70_api/api_analysis/` — API reverse-engineering outputs and machine-generated API documentation.
|
||||||
|
|
||||||
|
|
||||||
|
## tools/har/
|
||||||
|
- `analyze_f12_har.py` — Script to parse `f12vmbad.har` and extract operation timelines.
|
||||||
|
- `analyze_faststart.py` — Analysis helper for `faststart.har`.
|
||||||
|
- `extract_params.py` — Extracts `instanceOperationCfsParams` bodies and maps them to svc IDs.
|
||||||
|
- `compare_har.py` — Diffing tool for HAR files (stages/headers summary).
|
||||||
|
- `check_op.py` / `check_status.py` — Helpers to re-query API operation status.
|
||||||
|
|
||||||
|
## har/
|
||||||
|
- `f12vmbad.har`, `f12vmbad1.har`, `faststart.har`, `edge.har`, `vm.har`, etc. — Raw HAR files. **Large and sensitive**; don't commit new raw HARs to repo without consent. Use `tools/har/*` scripts to parse.
|
||||||
|
|
||||||
|
## artifacts/
|
||||||
|
- `edge_instance.json`, `service_22_detail.json`, `instances_list.json` — Live API JSON dumps captured during investigation. Use them to craft provider schemas.
|
||||||
|
|
||||||
|
## internal/provider/
|
||||||
|
- `*resource.go`, `*_data_source.go` — Provider implementations for resources (VM, VDC, Edge, VApp, Postgres, S3bucket, etc.). Important files:
|
||||||
|
- `vm_resource.go` — VM lifecycle logic & polling
|
||||||
|
- `edge_resource.go` — Edge discovery/resolution
|
||||||
|
- `provider.go` — Provider schema and configuration
|
||||||
|
|
||||||
|
## examples/ & tests/
|
||||||
|
- `examples/*` — Terraform example configs for different deployment patterns (full-stack, infra-only, quick-start).
|
||||||
|
- `tests/*` — Automated test scenarios (lifecycle, postgres modify tests, s3 tests). Use to validate changes.
|
||||||
|
|
||||||
|
## operator/ & k8s/
|
||||||
|
- Operator code and Kubernetes manifests to run the Registry/Operator. Contains build artifacts in `operator/bin/`.
|
||||||
|
|
||||||
|
## scripts/
|
||||||
|
- `scripts/deploy-dev.sh` — Dev deployment helpers.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended reading order for agents
|
||||||
|
1. Read `REPO_CONTENTS.md` at chat start (and re-read when unclear context appears).
|
||||||
|
2. For build/deploy/generation tasks: read `devops/README.md` and relevant scripts in `devops/` first.
|
||||||
|
3. Read `docs/60_strategy/provider_philosophy.md` (обязательные правила поведения провайдера и агентов; сначала разделы 7-9).
|
||||||
|
4. Read `docs/README.md` (главный индекс).
|
||||||
|
5. Read `docs/70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md` to understand API endpoints.
|
||||||
|
6. Read `docs/20_discovery/*` relevant to the target service (e.g., `edge-service.md`).
|
||||||
|
7. Inspect `artifacts/*` JSON examples and `har/*` only via `tools/har/*` scripts.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
If you want, I can add more granular mapping (function names, exported symbols) per source file, or generate a Markdown tree with intra-file links. Tell me the level of detail you want: "brief", "detailed", or "code-level".
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
done 2026-02-18T11:12:29Z
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
create 18
|
||||||
|
redeploy 240
|
||||||
|
modify 92
|
||||||
|
delete 71
|
||||||
|
resume 94
|
||||||
|
suspend 93
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":71,"svcOperation":{"svcOperationId":18,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/dummy/job/Service/job/create/job/master/buildWithParameters","descr":"Это описание операции CREATE сервиса Болванка","man":"Это мануал к операции CREATE сервиса Болванка","cfsParams":[{"svcOperationCfsParamId":242,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":"Наименование ресурсной платформы для подключения","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":198,"svcOperationCfsParam":"durationMs","label":null,"dataType":"integer >= 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"0","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"перед завершением подождать (sleep) столько миллисекунд","man":"перед завершением подождать (sleep) столько миллисекунд","sort":20,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":199,"svcOperationCfsParam":"failAtStart","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"если true, завершить джоб, ничего не записывая в cmdb","man":"**Операция не будет завершена**<br/>Она будет в постоянном статусе PENDING, однако в Jenkins Job завершится с ошибкой","sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":200,"svcOperationCfsParam":"failInProgress","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"если true, корректно начать выполнение джоба, но в процессе завершить аварийно, ничего не записывая в cmdb","man":"если true, корректно начать выполнение джоба, но в процессе завершить аварийно, ничего не записывая в cmdb","sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":201,"svcOperationCfsParam":"whereFail","label":null,"dataType":"integer > 0","valueList":["1","2","3"],"refSvcId":null,"isRequired":false,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"принимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault write","man":"принимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault write","sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":286,"svcOperationCfsParam":"bodymessage","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Дата, уходящая в Vault","man":"Дата, уходящая в Vault","sort":60,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":321,"svcOperationCfsParam":"mapExample","label":null,"dataType":"map","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":322,"svcOperationCfsParam":"jsonExample","label":null,"dataType":"json","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Для тестирования интерфейса","man":"Для тестирования интерфейса. Сюда можно писать корректный json","sort":null,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":396,"svcOperationCfsParam":"nestedRefExample","label":null,"dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":447,"svcOperationCfsParam":"yamlExample","label":"Пример yaml","dataType":"yaml","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":647,"svcOperationCfsParam":"mapFixed","label":null,"dataType":"map-fixed","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Новый тип поля","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":654,"svcOperationCfsParam":"arrayMapFixedExample","label":null,"dataType":"array-map-fixed","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Array of map-fixed","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":72}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":52,"svcOperation":{"svcOperationId":240,"operation":"redeploy","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/dummy/job/Service/job/redeploy/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":52}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":71,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/dummy/job/Service/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":58,"svcOperation":{"svcOperationId":92,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/dummy/job/Service/job/modify/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":287,"svcOperationCfsParam":"durationMs","label":null,"dataType":"integer >= 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"0","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"перед завершением подождать (sleep) столько миллисекунд","man":"перед завершением подождать (sleep) столько миллисекунд","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":288,"svcOperationCfsParam":"failAtStart","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"если true, завершить джоб, ничего не записывая в cmdb","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":289,"svcOperationCfsParam":"failInProgress","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"если true, корректно начать выполнение джоба, но в процессе завершить аварийно, ничего не записывая в cmdb","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":290,"svcOperationCfsParam":"whereFail","label":null,"dataType":"integer > 0","valueList":["1","2","3"],"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"принимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault write","man":"принимает 1,2,3. Работает с failInProgress. 1 - упасть в prepare. 2 - упасть внутри блока Data fill. 3 - упасть после vault write","sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":291,"svcOperationCfsParam":"bodymessage","label":null,"dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Дата, уходящая в Vault","man":"Дата, уходящая в Vault","sort":50,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":373,"svcOperationCfsParam":"mapExample","label":"mapExample","dataType":"map","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":"{}","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":374,"svcOperationCfsParam":"jsonExample","label":"jsonExample","dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":59}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":75,"svcOperation":{"svcOperationId":93,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/dummy/job/Service/job/suspend/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":75}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":58,"svcOperation":{"svcOperationId":94,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/dummy/job/Service/job/resume/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":58}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
delete 42
|
||||||
|
create 41
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":54,"svcOperation":{"svcOperationId":41,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/tenantOpenwhisk/job/serviceCreate/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":64,"svcOperationCfsParam":"username","label":"Имя пользователя Openwhisk","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя пользователя Openwhisk","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":281,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":54}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":62,"svcOperation":{"svcOperationId":42,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/tenantOpenwhisk/job/serviceDelete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":65,"svcOperationCfsParam":"username","label":"Имя пользователя Openwhisk","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя пользователя Openwhisk","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":62}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
create 43
|
||||||
|
delete 44
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":43,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/powerdns/job/Zones/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":66,"svcOperationCfsParam":"zoneEmail","label":"Контактный e-mail","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Контактный e-mail","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":67,"svcOperationCfsParam":"zoneName","label":"Имя зоны","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^([a-z0-9-]+\\.)+[a-z0-9-]+$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя зоны","man":"Имя зоны","sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":68,"svcOperationCfsParam":"zoneKind","label":"Тип зоны","dataType":"string","valueList":["NATIVE","SLAVE"],"refSvcId":null,"isRequired":true,"defaultValue":"NATIVE","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Тип зоны","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":69,"svcOperationCfsParam":"zoneMastersForSlave","label":"Мастер-сервера (kind: SLAVE)","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Использовать если выбран тип SLAVE. IP адреса в формате через пробел для настройки Master-серверов","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":70,"svcOperationCfsParam":"zoneTimeToRefresh","label":"Time To Refresh","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"86400","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Время ожидания ответа вторичного DNS перед запросом SOA-записи с первичных серверов","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":71,"svcOperationCfsParam":"zoneTimeToRetry","label":"Time To Retry","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"7200","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Время в течение которого сервер повторно попробует синхронизировать информацию с первичных DNS-серверов","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":72,"svcOperationCfsParam":"zoneTimeToExpire","label":"Time To Expire","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"3600000","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Время в течение которого вторичный DNS будет пытаться завершить синхронизацию зоны с первичным","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":73,"svcOperationCfsParam":"zoneTimeToLive","label":"Time To Live","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"86400","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Время, в течение которого информация будет кешироваться другими DNS-серверами","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":284,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":55}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":51,"svcOperation":{"svcOperationId":44,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/powerdns/job/Zones/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":51}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
delete 46
|
||||||
|
create 45
|
||||||
|
modify 90
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":45,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/powerdns/job/Records/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":75,"svcOperationCfsParam":"zoneUid","label":"UUID Зоны","dataType":"uuid","valueList":null,"refSvcId":110,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"UUID экземпляра услуги DNS-зоны","man":"UUID экземпляра услуги DNS-зоны","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":76,"svcOperationCfsParam":"recordType","label":"Тип DNS-записи","dataType":"string","valueList":["A","AAAA","CNAME","MX","PTR","SOA","SRV","TXT","LUA","NS","SSHFP"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Тип DNS-записи","man":"Тип DNS-записи","sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":77,"svcOperationCfsParam":"recordName","label":"Имя записи","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":"parent","maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя записи. Имя зоны в конце проставляется автоматически","man":"Имя записи. Имя зоны в конце проставляется автоматически","sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":78,"svcOperationCfsParam":"recordInput","label":"Значение записи","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Значение. Необходима валидация, в зависимости от типа записи. Должно быть заменено на UUID-внешнийIP","man":"Значение. Необходима валидация, в зависимости от типа записи. Должно быть заменено на UUID-внешнийIP","sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":450,"svcOperationCfsParam":"recordTTL","label":"TTL записи (в секундах)","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"3600","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":604800,"minvalue":30,"descr":"Time-to-Leave записи. Раз в какое время запись будет обновлена","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":55,"svcOperation":{"svcOperationId":46,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/powerdns/job/Records/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":55}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":61,"svcOperation":{"svcOperationId":90,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/powerdns/job/Records/job/modify/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":256,"svcOperationCfsParam":"recordInput","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Запись. Необходима валидация, в зависимости от типа записи. Должно быть заменено на UUID-внешнийIP","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":62}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
create 84
|
||||||
|
delete 86
|
||||||
|
modify 87
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":84,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/grafana/job/Tenant/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":239,"svcOperationCfsParam":"grafanaOrgName","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^WZ[\\d]+$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"WZ-Код клиента","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":240,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":59,"svcOperation":{"svcOperationId":86,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/grafana/job/Tenant/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":59}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":87,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/grafana/job/Tenant/job/modify/job/master/buildWithParameters","descr":"Просто удаляет все текущие датасоурсы и ставит их заново<br/>Полезно, когда нужно "ресетнуть" / "добавить"","man":"Просто удаляет все текущие датасоурсы и ставит их заново<br/>Полезно, когда нужно "ресетнуть" / "добавить"","cfsParams":[]},"runDurationMs":50}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
create 107
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":54,"svcOperation":{"svcOperationId":107,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/vc/job/vcComplex/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":332,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":"Наименование ресурсной платформы","sort":1,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":334,"svcOperationCfsParam":"vappName","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя vApp","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":401,"svcOperationCfsParam":"cpuGuaranteed","label":null,"dataType":"integer > 0","valueList":["20","50","80"],"refSvcId":null,"isRequired":true,"defaultValue":"20","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":566,"svcOperationCfsParam":"cpuAllocated","label":"Сколько аллоцировать на VDC ЯДЕР","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1,"descr":"шт","man":null,"sort":21,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":402,"svcOperationCfsParam":"memGuaranteed","label":null,"dataType":"integer > 0","valueList":["20","50","80"],"refSvcId":null,"isRequired":true,"defaultValue":"20","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":567,"svcOperationCfsParam":"memAllocated","label":"Сколько аллоцировать на VDC ОЗУ","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1,"descr":"gb","man":null,"sort":31,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":404,"svcOperationCfsParam":"needExternalAddressSNAT","label":"Выделить VIP для SNAT","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"true","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выделяет внешний IP на Edge. Используется для SNAT всего трафика","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":405,"svcOperationCfsParam":"needEnableAVI","label":"Включить ALB","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Включает AVI в Cloud Director","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":403,"svcOperationCfsParam":"segroupName","label":"Наименование segroup","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":"SEGROUP-SANDBOX-CL1-SHARED-01","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Наименование segroup, в котором будут выделяться пулы на AVI","man":null,"sort":100,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":359,"svcOperationCfsParam":"virtualServicesCount","label":"Кол-во VS на AVI","dataType":null,"valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":4,"minvalue":1,"descr":"Кол-во виртуальных сервисов, которые выделяются на AVI. Во избежании коллапса пока выделяется до 4","man":null,"sort":110,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":400,"svcOperationCfsParam":"vdcNetworkPool","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"nsxt-sandbox-geneve-np","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":120,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":360,"svcOperationCfsParam":"ipSpaceName","label":"ip Space для VIP","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":"internet-ipv4-v1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя ip Space для внешнего IP. Целесообразнее брать самый дешёвый, так как это vip для исходящего трафика. Необходимо задавать если включен needExternalAddressSNAT","man":null,"sort":130,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":568,"svcOperationCfsParam":"vIPCount","label":"Кол-во зарезервированных внешних Ip","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"0","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":20,"minvalue":0,"descr":"шт","man":null,"sort":131,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":358,"svcOperationCfsParam":"vdcProviderGateway","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"sandbox-v1cl1-pvdc","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Взять из свойств ресурсной платформы.<br/>Путь .vcd.providerVdc - взять KEY<br/><br/>providerGateway Cloud Director. Влияет ресурсы будут предоставлены. Является полем (List<String>) в свойствах рес. платформы ЛК, но сам параметр передаётся только как один String","man":null,"sort":200,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":399,"svcOperationCfsParam":"storageConfig","label":"Конфигурация Storage","dataType":"json","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"[{\"name\": \"\", \"size\": 1024}]","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Описывается как массив объектов, где описывается имя политики и её размер","man":null,"sort":210,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":55}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
modify 142
|
||||||
|
delete_user 247
|
||||||
|
create_database 242
|
||||||
|
delete_database 248
|
||||||
|
create 138
|
||||||
|
create_user 243
|
||||||
|
delete 139
|
||||||
|
suspend 140
|
||||||
|
resume 141
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":54,"svcOperation":{"svcOperationId":138,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":422,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":459,"svcOperationCfsParam":"s3Uid","label":"Услуга S3 для резервных копий","dataType":"uuid","valueList":null,"refSvcId":12,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Экземпляр (учетная запись) S3 для резервного копирования. Резервное копирование обязательно","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":424,"svcOperationCfsParam":"resourceCPU","label":"Квота ядра пода (Указывается в mili)","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"500","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":4000,"minvalue":500,"descr":"Квота ядра пода (milicores)","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":425,"svcOperationCfsParam":"resourceMemory","label":"Квота памяти пода (Указывается в Megabytes)","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1024","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":1024,"descr":"Квота памяти пода (MBytes)","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":426,"svcOperationCfsParam":"resourceDisk","label":"Размер диска для базы данных (Gigabytes)","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":1,"descr":"Квота диска (Указывается в GIGAbytes)","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":427,"svcOperationCfsParam":"resourceInstances","label":"Количество узлов","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Количество узлов","man":null,"sort":60,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":428,"svcOperationCfsParam":"needExternalAddressMaster","label":"Выделение белого ip для master ноды","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выделяет внешний (белый) IP для доступа к master","man":null,"sort":70,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":429,"svcOperationCfsParam":"ipSpaceNameMaster","label":"Имя ipSpace для публикации VIP master","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя ipSpace для публикации VIP master. Не может быть пустым, если включен needExternalAddressMaster","man":null,"sort":80,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":430,"svcOperationCfsParam":"ext_BACKUP_SCHEDULE","label":"Расписание резервного копирования","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":"0 * * * *","defaultCompute":null,"func":null,"regex":"^(\\*|(\\d+|\\*\\/\\d+|\\d+(,\\d+)*))\\s\\*\\s\\*\\s\\*\\s\\*$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Не обязательный. Время запуска бекапа","man":null,"sort":90,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":431,"svcOperationCfsParam":"appVersion","label":"Версия MySQL","dataType":"string","valueList":["8.4.0","9.4.0"],"refSvcId":null,"isRequired":true,"defaultValue":"9.4.0","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Версия MySQL","man":null,"sort":100,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":432,"svcOperationCfsParam":"autoScale","label":"Включить autoScale","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги","man":null,"sort":310,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":433,"svcOperationCfsParam":"autoScalePercentage","label":"На сколько % расширяться диск (мин. 1G)","dataType":"integer > 0","valueList":["10","15","20"],"refSvcId":null,"isRequired":false,"defaultValue":"10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема","man":null,"sort":320,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":434,"svcOperationCfsParam":"autoScaleTechWindow","label":"Тех окно обновления дисков","dataType":"integer >= 0","valueList":["0","5","12","23"],"refSvcId":null,"isRequired":false,"defaultValue":"0","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)","man":null,"sort":330,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":435,"svcOperationCfsParam":"autoScaleQuotaGb","label":"Квота для autoScale","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Квота для autoScale","man":null,"sort":340,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":55,"svcOperation":{"svcOperationId":139,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":456,"svcOperationCfsParam":"deleteS3Bucket","label":"Также удалить технический S3 Bucket с бэкапами?","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"true","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Также удалить технический S3 Bucket с бэкапами?","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":55}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":140,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/suspend/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":52,"svcOperation":{"svcOperationId":141,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/resume/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":52}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":142,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/modify/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":436,"svcOperationCfsParam":"resourceCPU","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":437,"svcOperationCfsParam":"resourceMemory","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":438,"svcOperationCfsParam":"resourceInstances","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":439,"svcOperationCfsParam":"resourceDisk","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":440,"svcOperationCfsParam":"needExternalAddressMaster","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":441,"svcOperationCfsParam":"ipSpaceNameMaster","label":null,"dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":442,"svcOperationCfsParam":"ext_BACKUP_SCHEDULE","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":443,"svcOperationCfsParam":"autoScale","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":444,"svcOperationCfsParam":"autoScalePercentage","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":445,"svcOperationCfsParam":"autoScaleTechWindow","label":null,"dataType":"integer >= 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":446,"svcOperationCfsParam":"autoScaleQuotaGb","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":242,"operation":"create_database","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/create_database/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":734,"svcOperationCfsParam":"databaseName","label":"Имя базы данных","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `db01`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":50}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":243,"operation":"create_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/create_user/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":735,"svcOperationCfsParam":"username","label":"Имя пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$","uniqueScope":null,"maxlength":62,"minlength":2,"maxvalue":null,"minvalue":null,"descr":"Пример: `myusername`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":736,"svcOperationCfsParam":"password","label":"Пароль пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":62,"minlength":10,"maxvalue":null,"minvalue":null,"descr":"Секрет будет записан в хранилище секретов и не будет отображаться публично","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":true},{"svcOperationCfsParamId":737,"svcOperationCfsParam":"databaseName","label":"Список баз данных, к которым будет предоставлен доступ","dataType":"array-map-fixed","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Необходимо указать массив существующих баз","man":"Если базы не существует - при выполнении операции вернётся ошибка","sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":738,"svcOperationCfsParam":"accessHosts","label":"Список хостов, с которых разрешено подключение к Mariadb от лица пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `%`","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":247,"operation":"delete_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/delete_user/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":744,"svcOperationCfsParam":"username","label":"Имя пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя пользователя, созданное через операцию `create_user`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":56}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":48,"svcOperation":{"svcOperationId":248,"operation":"delete_database","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Mariadb/job/delete_database/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":745,"svcOperationCfsParam":"databaseName","label":"Имя базы данных","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":48}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
create_topic 165
|
||||||
|
suspend 160
|
||||||
|
modify_topic 166
|
||||||
|
resume 161
|
||||||
|
delete_topic 167
|
||||||
|
create 148
|
||||||
|
modify 162
|
||||||
|
create_user 168
|
||||||
|
delete 149
|
||||||
|
modify_user 169
|
||||||
|
delete_user 170
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":148,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/create/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":469,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выбрать платформу из списка","man":null,"sort":5,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":461,"svcOperationCfsParam":"resourceInstances","label":"Количество узлов в сети","dataType":"integer > 0","valueList":["1","2","3","4","5"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1,"descr":"Пример: `2`","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":462,"svcOperationCfsParam":"resourceMemory","label":"Квота(megabyte) памяти пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1000,"descr":"Пример: `2048`","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":463,"svcOperationCfsParam":"resourceCPU","label":"Квота(millicore ) ядра пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1000,"descr":"Пример: `2000`","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":464,"svcOperationCfsParam":"resourceDisk","label":"Размер(gigabyte) диска для базы данных","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `20`","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":465,"svcOperationCfsParam":"needExternalAddressMaster","label":"Выделяет внешний IP для доступа к master","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Флаг, определяющий, нужно ли выделять внешний IP для доступа к master-брокеру. Пример: `true` или `false`","man":null,"sort":60,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":466,"svcOperationCfsParam":"ipSpaceNameMaster","label":"Имя ipSpace для публикации внешнего IP","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`","man":null,"sort":70,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":51,"svcOperation":{"svcOperationId":149,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/delete/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":51}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":55,"svcOperation":{"svcOperationId":160,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/suspend/job/","descr":null,"man":null,"cfsParams":[]},"runDurationMs":55}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":48,"svcOperation":{"svcOperationId":161,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/resume/job/","descr":null,"man":null,"cfsParams":[]},"runDurationMs":48}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":51,"svcOperation":{"svcOperationId":162,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/modify/job/","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":501,"svcOperationCfsParam":"resourceInstances","label":"Количество узлов в сети","dataType":"integer > 0","valueList":["1","2","3","4","5"],"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `2`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":502,"svcOperationCfsParam":"resourceMemory","label":"Квота(megabyte) памяти пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1000,"descr":"Пример: `2048`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":503,"svcOperationCfsParam":"resourceCPU","label":"Квота(millicore ) ядра пода","dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1000,"descr":"Пример: `2000`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":504,"svcOperationCfsParam":"resourceDisk","label":"Размер(gigabyte) диска для базы данных","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `20`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":505,"svcOperationCfsParam":"needExternalAddressMaster","label":"Выделяет внешний IP для доступа к master.","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":false,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Флаг, определяющий, нужно ли выделять внешний IP для доступа к master-брокеру. Пример: `true` или `false`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":506,"svcOperationCfsParam":"ipSpaceNameMaster","label":"Имя ipSpace для публикации внешнего IP","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":51}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":64,"svcOperation":{"svcOperationId":165,"operation":"create_topic","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/create_topic/job/","descr":null,"man":"# Инструкция по управлению топиками Apache Kafka через платформу<br/><br/>## 1. Общая информация<br/><br/>---<br/><br/>Топик — это основная сущность в Apache Kafka, предназначенная для приёма сообщений от продюсеров и передачи их консюмерам.<br/>Платформа позволяет создавать, удалять и изменять параметры топиков без прямого доступа к брокерам, обеспечивая удобное управление через интерфейс или API.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление топика<br/><br/>---<br/><br/>## 2. Параметры создания топика<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании нового топика:<br/><br/>* **Имя топика**<br/> Название топика.<br/> Должно быть уникальным в пределах кластера.<br/> Пример: `orders-events`.<br/><br/>* **Партиции**<br/> Количество партиций топика.<br/> Рекомендуется выбирать с учётом уровня параллелизма потребителей и предполагаемой нагрузки.<br/> Пример: `6`. Здесь важно рассказать о том как происходит расчет оптимального количества<br/> Обратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки.<br/><br/>* **Реплики**<br/> Количество реплик для каждой партиции.<br/> Обычно равно количеству доступных брокеров или меньше.<br/> Пример: `3`.<br/><br/><br/>---<br/><br/>## 4. Параметры модификации топика<br/><br/>Для уже существующих топиков можно изменять параметры. Все параметры являются опциональными:<br/><br/>* **Имя топика**<br/> Название топика.<br/> Пример: `orders-events`.<br/><br/>* **Партиции**<br/> Новое количество партиций.<br/> Пример: `12`.<br/><br/>* **Реплики**<br/> Новое количество реплик.<br/> Пример: `2`.<br/><br/>---<br/><br/>## 5. Рекомендации<br/><br/>* Планируйте количество партиций с запасом — уменьшение их числа невозможно.<br/>* Количество реплик должно соответствовать требуемому уровню отказоустойчивости, но не превышать количество брокеров.<br/>* Изменение параметров топика в рабочем окружении может временно влиять на производительность. Рекомендуется проводить крупные изменения в периоды минимальной нагрузки.<br/><br/>---","cfsParams":[{"svcOperationCfsParamId":523,"svcOperationCfsParam":"nameTopic","label":"Название топика","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `orders-events`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":525,"svcOperationCfsParam":"replicas","label":"Количество реплик для топика","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Количество реплик не может привышать количество реплик брокера","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":524,"svcOperationCfsParam":"partitions","label":"Количество партиций топика","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Число партиций можно увеличить, но уменьшить их нельзя.","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":65}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":166,"operation":"modify_topic","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/modify_topic/job/","descr":null,"man":"# Инструкция по управлению топиками Apache Kafka через платформу<br/><br/>## 1. Общая информация<br/><br/>---<br/><br/>Топик — это основная сущность в Apache Kafka, предназначенная для приёма сообщений от продюсеров и передачи их консюмерам.<br/>Платформа позволяет создавать, удалять и изменять параметры топиков без прямого доступа к брокерам, обеспечивая удобное управление через интерфейс или API.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление топика<br/><br/>---<br/><br/>## 2. Параметры создания топика<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании нового топика:<br/><br/>* **Имя топика**<br/> Название топика.<br/> Должно быть уникальным в пределах кластера.<br/> Пример: `orders-events`.<br/><br/>* **Партиции**<br/> Количество партиций топика.<br/> Рекомендуется выбирать с учётом уровня параллелизма потребителей и предполагаемой нагрузки.<br/> Пример: `6`. Здесь важно рассказать о том как происходит расчет оптимального количества<br/> Обратите внимание: уменьшить количество партиций после создания невозможно, поэтому лучше закладывать небольшой запас на будущий рост нагрузки.<br/><br/>* **Реплики**<br/> Количество реплик для каждой партиции.<br/> Обычно равно количеству доступных брокеров или меньше.<br/> Пример: `3`.<br/><br/><br/>---<br/><br/>## 4. Параметры модификации топика<br/><br/>Для уже существующих топиков можно изменять параметры. Все параметры являются опциональными:<br/><br/>* **Имя топика**<br/> Название топика.<br/> Пример: `orders-events`.<br/><br/>* **Партиции**<br/> Новое количество партиций.<br/> Пример: `12`.<br/><br/>* **Реплики**<br/> Новое количество реплик.<br/> Пример: `2`.<br/><br/>---<br/><br/>## 5. Рекомендации<br/><br/>* Планируйте количество партиций с запасом — уменьшение их числа невозможно.<br/>* Количество реплик должно соответствовать требуемому уровню отказоустойчивости, но не превышать количество брокеров.<br/>* Изменение параметров топика в рабочем окружении может временно влиять на производительность. Рекомендуется проводить крупные изменения в периоды минимальной нагрузки.<br/><br/>---","cfsParams":[{"svcOperationCfsParamId":526,"svcOperationCfsParam":"nameTopic","label":"Название топика","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `orders-events`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":528,"svcOperationCfsParam":"replicas","label":"Количество реплик для топика","dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Количество партиций ≤ (число брокеров). Пример `2`","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":527,"svcOperationCfsParam":"partitions","label":"Количество партиций топика","dataType":null,"valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Число партиций на кластер ≤ 100 × (число брокеров) × (фактор репликации). Пример `50`","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":54}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":51,"svcOperation":{"svcOperationId":167,"operation":"delete_topic","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/delete_topic/job/","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":529,"svcOperationCfsParam":"nameTopic","label":"Название топика","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Необходимо выбрать топик, который необходимо удалить","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":51}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":49,"svcOperation":{"svcOperationId":168,"operation":"create_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/create_user/job/","descr":null,"man":"# Инструкция по управлению пользователями Apache Kafka.<br/><br/>---<br/><br/>## 1. Общая информация<br/><br/>Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру.<br/>Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам.<br/>Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании нового пользователя:<br/><br/>* **Имя пользователя**<br/> Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав.<br/> Пример: `username-admin`<br/><br/>* **Топик**<br/> Название топика, к которому будут назначены права для данного пользователя.<br/> Пример: `orders-events`.<br/> Использовать маску нельзя (`orders*`), только полное название или `*`.<br/><br/>* **Операции**<br/> Список разрешённых операций на указанном топике.<br/> Пример: `Describe, Read, Write`<br/><br/>* **Группа**<br/> Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп.<br/> Пример: `order-consumers`.<br/><br/>* **Разрешённые хосты**<br/> Список хостов или подсетей, с которых разрешено подключение пользователя.<br/> Пример: `192.168.1.0/24` или `*`.<br/><br/>---<br/><br/>## 3. Параметры модификации пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при модификации пользователя:<br/><br/>* **Имя пользователя**<br/> Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав.<br/> Пример: `username-admin`<br/><br/>* **Топик**<br/> Название топика, к которому будут назначены права для данного пользователя.<br/> Пример: `orders-events`.<br/> Использовать маску нельзя (`orders*`), только полное название или `*`.<br/><br/>* **Операции**<br/> Список разрешённых операций на указанном топике.<br/> Пример: `Describe, Read, Write`<br/><br/>* **Группа**<br/> Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп.<br/> Пример: `order-consumers`.<br/><br/>* **Разрешённые хосты**<br/> Список хостов или подсетей, с которых разрешено подключение пользователя.<br/> Пример: `192.168.1.0/24` или `*`.<br/><br/>---<br/><br/>## 4. Параметры удалении пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при удалении пользователя:<br/><br/>* **Имя пользователя**<br/> Имя удаляемого пользователя.<br/> Пример: `username-admin`<br/><br/>## 5. Выходные параметры<br/><br/>После успешного создания пользователя платформа возвращает параметры, необходимые для подключения:<br/><br/>* **ca.crt**<br/> Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении.<br/> Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.crt<br/> ```<br/><br/>* **ca.p12**<br/> PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.p12<br/> ```<br/><br/>* **ca.password**<br/> Пароль для доступа к хранилищу `ca.p12`. Выдаеться в чистом виде. Раскодировать не нужно.<br/><br/>* **user.crt**<br/> Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka.<br/> Используется совместно с приватным ключом `user.key` для аутентификации.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.crt<br/> ```<br/><br/>* **user.key**<br/> Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.key<br/> ```<br/><br/>* **user.p12**<br/> PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo "<содержание поля>" | base64 -d > <название>.p12<br/> ```<br/><br/>* **user.password**<br/> Пароль для доступа к хранилищу `user.p12`. Выдаеться в чистом виде. Раскодировать не нужно.<br/><br/>Эти параметры используются для настройки TLS-подключения.<br/><br/>---<br/><br/>## 6. Пример конфигурации клиента внутри кластера<br/><br/>Пример пода:<br/><br/>```yaml<br/>apiVersion: v1<br/>kind: Pod<br/>metadata:<br/> name: kafka-4<br/>spec:<br/> volumes:<br/> - name: work<br/> emptyDir: {}<br/> containers:<br/> - name: kcat<br/> image: quay.io/strimzi/kafka:latest-kafka-4.0.0<br/> command: ["sleep", "5600"]<br/> volumeMounts:<br/> - name: work<br/> mountPath: /work<br/> restartPolicy: Never<br/>```<br/><br/>Создаём под и сохраняем сертификаты:<br/><br/>```bash<br/>kubectl cp user.p12 kafka-4:/work/<br/>kubectl cp ca.p12 kafka-4:/work/<br/>```<br/><br/>Создаём файлы конфигурации:<br/><br/>```bash<br/>cat > /work/user-read.properties <<'EOF'<br/>security.protocol=SSL<br/>ssl.keystore.type=PKCS12<br/>ssl.keystore.location=/work/user.p12<br/>ssl.keystore.password=<user.password><br/>ssl.truststore.type=PKCS12<br/>ssl.truststore.location=/work/ca.p12<br/>ssl.truststore.password=<ca.password><br/>EOF<br/>```<br/><br/>```bash<br/>cat > /work/user-write.properties <<'EOF'<br/>security.protocol=SSL<br/>ssl.keystore.type=PKCS12<br/>ssl.keystore.location=/work/user-write.p12<br/>ssl.keystore.password=<user.password><br/>ssl.truststore.type=PKCS12<br/>ssl.truststore.location=/work/ca.p12<br/>ssl.truststore.password=<ca.password><br/>EOF<br/>```<br/><br/>Листинг доступных топиков:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-topics.sh \\<br/> --bootstrap-server kafkak8s-bootstrap-external:9093 \\<br/> --command-config /work/user-read.properties \\<br/> --list<br/>```<br/><br/>Запись сообщений:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-console-producer.sh \\<br/> --bootstrap-server <адрес сервис брокера>:9093 \\<br/> --topic <topic> \\<br/> --producer.config /work/user-write.properties<br/>```<br/><br/>Чтение сообщений:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-console-consumer.sh \\<br/> --bootstrap-server <адрес сервис брокера>:9093 \\<br/> --topic <topic> \\<br/> --from-beginning \\<br/> --group <group> \\<br/> --consumer.config /work/user-read.properties \\<br/> --max-messages 50<br/>```<br/><br/>---<br/><br/>## 7. Пример внешнего подключения с использованием **kcat**<br/><br/>**Листинг топиков**<br/><br/>```bash<br/>kcat -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -L \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-read.crt \\<br/> -X ssl.key.location=./user-read.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>**Запись сообщения**<br/><br/>```bash<br/> echo "hello from kcat" | kcat -P \\<br/> -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -t write-test \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-write.crt \\<br/> -X ssl.key.location=./user-write.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>**Чтение сообщений**<br/><br/>```bash<br/>kcat -C \\<br/> -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -t write-test \\<br/> -o beginning \\<br/> -q \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-read.crt \\<br/> -X ssl.key.location=./user-read.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>---<br/><br/><br/>## 9. Рекомендации<br/><br/>* Минимизируйте набор разрешённых операций для повышения безопасности.<br/>* Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов.<br/>* Ограничивайте доступ по IP или подсетям с помощью параметра **Разрешённые хосты**.<br/>* После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам.<br/><br/>---","cfsParams":[{"svcOperationCfsParamId":530,"svcOperationCfsParam":"username","label":"Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `username-admin`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":531,"svcOperationCfsParam":"nameTopic","label":"Название топика, к которому будут назначены права для создоваемого пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `orders-events`. Использовать маску нельзя(`orders*`), только полное название или `*`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":532,"svcOperationCfsParam":"operations","label":"Список операций, которые разрешены пользователю на топике","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `Create, Describe, Read, Write`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":533,"svcOperationCfsParam":"group","label":"Группа, которым разрешён доступ","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `order-consumers` или `*`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":534,"svcOperationCfsParam":"accessHosts","label":"Список хостов, с которых разрешено подключение к Kafka","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `192.168.1.0/24` или `*`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":49}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":169,"operation":"modify_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/modify_user/job/","descr":null,"man":"# Инструкция по управлению пользователями Apache Kafka.<br/><br/>---<br/><br/>## 1. Общая информация<br/><br/>Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру.<br/>Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам.<br/>Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании нового пользователя:<br/><br/>* **Имя пользователя**<br/> Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав.<br/> Пример: `username-admin`<br/><br/>* **Топик**<br/> Название топика, к которому будут назначены права для данного пользователя.<br/> Пример: `orders-events`.<br/> Использовать маску нельзя (`orders*`), только полное название или `*`.<br/><br/>* **Операции**<br/> Список разрешённых операций на указанном топике.<br/> Пример: `Describe, Read, Write`<br/><br/>* **Группа**<br/> Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп.<br/> Пример: `order-consumers`.<br/><br/>* **Разрешённые хосты**<br/> Список хостов или подсетей, с которых разрешено подключение пользователя.<br/> Пример: `192.168.1.0/24` или `*`.<br/><br/>---<br/><br/>## 3. Параметры модификации пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при модификации пользователя:<br/><br/>* **Имя пользователя**<br/> Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав.<br/> Пример: `username-admin`<br/><br/>* **Топик**<br/> Название топика, к которому будут назначены права для данного пользователя.<br/> Пример: `orders-events`.<br/> Использовать маску нельзя (`orders*`), только полное название или `*`.<br/><br/>* **Операции**<br/> Список разрешённых операций на указанном топике.<br/> Пример: `Describe, Read, Write`<br/><br/>* **Группа**<br/> Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп.<br/> Пример: `order-consumers`.<br/><br/>* **Разрешённые хосты**<br/> Список хостов или подсетей, с которых разрешено подключение пользователя.<br/> Пример: `192.168.1.0/24` или `*`.<br/><br/>---<br/><br/>## 4. Параметры удалении пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при удалении пользователя:<br/><br/>* **Имя пользователя**<br/> Имя удаляемого пользователя.<br/> Пример: `username-admin`<br/><br/>## 5. Выходные параметры<br/><br/>После успешного создания пользователя платформа возвращает параметры, необходимые для подключения:<br/><br/>* **ca.crt**<br/> Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении.<br/> Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.crt<br/> ```<br/><br/>* **ca.p12**<br/> PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.p12<br/> ```<br/><br/>* **ca.password**<br/> Пароль для доступа к хранилищу `ca.p12`. Выдаеться в чистом виде. Раскодировать не нужно.<br/><br/>* **user.crt**<br/> Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka.<br/> Используется совместно с приватным ключом `user.key` для аутентификации.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.crt<br/> ```<br/><br/>* **user.key**<br/> Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.key<br/> ```<br/><br/>* **user.p12**<br/> PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo "<содержание поля>" | base64 -d > <название>.p12<br/> ```<br/><br/>* **user.password**<br/> Пароль для доступа к хранилищу `user.p12`. Выдаеться в чистом виде. Раскодировать не нужно.<br/><br/>Эти параметры используются для настройки TLS-подключения.<br/><br/>---<br/><br/>## 6. Пример конфигурации клиента внутри кластера<br/><br/>Пример пода:<br/><br/>```yaml<br/>apiVersion: v1<br/>kind: Pod<br/>metadata:<br/> name: kafka-4<br/>spec:<br/> volumes:<br/> - name: work<br/> emptyDir: {}<br/> containers:<br/> - name: kcat<br/> image: quay.io/strimzi/kafka:latest-kafka-4.0.0<br/> command: ["sleep", "5600"]<br/> volumeMounts:<br/> - name: work<br/> mountPath: /work<br/> restartPolicy: Never<br/>```<br/><br/>Создаём под и сохраняем сертификаты:<br/><br/>```bash<br/>kubectl cp user.p12 kafka-4:/work/<br/>kubectl cp ca.p12 kafka-4:/work/<br/>```<br/><br/>Создаём файлы конфигурации:<br/><br/>```bash<br/>cat > /work/user-read.properties <<'EOF'<br/>security.protocol=SSL<br/>ssl.keystore.type=PKCS12<br/>ssl.keystore.location=/work/user.p12<br/>ssl.keystore.password=<user.password><br/>ssl.truststore.type=PKCS12<br/>ssl.truststore.location=/work/ca.p12<br/>ssl.truststore.password=<ca.password><br/>EOF<br/>```<br/><br/>```bash<br/>cat > /work/user-write.properties <<'EOF'<br/>security.protocol=SSL<br/>ssl.keystore.type=PKCS12<br/>ssl.keystore.location=/work/user-write.p12<br/>ssl.keystore.password=<user.password><br/>ssl.truststore.type=PKCS12<br/>ssl.truststore.location=/work/ca.p12<br/>ssl.truststore.password=<ca.password><br/>EOF<br/>```<br/><br/>Листинг доступных топиков:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-topics.sh \\<br/> --bootstrap-server kafkak8s-bootstrap-external:9093 \\<br/> --command-config /work/user-read.properties \\<br/> --list<br/>```<br/><br/>Запись сообщений:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-console-producer.sh \\<br/> --bootstrap-server <адрес сервис брокера>:9093 \\<br/> --topic <topic> \\<br/> --producer.config /work/user-write.properties<br/>```<br/><br/>Чтение сообщений:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-console-consumer.sh \\<br/> --bootstrap-server <адрес сервис брокера>:9093 \\<br/> --topic <topic> \\<br/> --from-beginning \\<br/> --group <group> \\<br/> --consumer.config /work/user-read.properties \\<br/> --max-messages 50<br/>```<br/><br/>---<br/><br/>## 7. Пример внешнего подключения с использованием **kcat**<br/><br/>**Листинг топиков**<br/><br/>```bash<br/>kcat -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -L \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-read.crt \\<br/> -X ssl.key.location=./user-read.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>**Запись сообщения**<br/><br/>```bash<br/> echo "hello from kcat" | kcat -P \\<br/> -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -t write-test \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-write.crt \\<br/> -X ssl.key.location=./user-write.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>**Чтение сообщений**<br/><br/>```bash<br/>kcat -C \\<br/> -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -t write-test \\<br/> -o beginning \\<br/> -q \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-read.crt \\<br/> -X ssl.key.location=./user-read.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>---<br/><br/><br/>## 9. Рекомендации<br/><br/>* Минимизируйте набор разрешённых операций для повышения безопасности.<br/>* Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов.<br/>* Ограничивайте доступ по IP или подсетям с помощью параметра **Разрешённые хосты**.<br/>* После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам.<br/><br/>---","cfsParams":[{"svcOperationCfsParamId":539,"svcOperationCfsParam":"username","label":"Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `username-admin`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":535,"svcOperationCfsParam":"nameTopic","label":"Название топика (topic), к которому будут назначены права для указанного пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `orders-events`. Использовать маску нельзя(`orders*`), только полное название или `*`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":536,"svcOperationCfsParam":"operations","label":"Список операций, которые разрешены пользователю на топике","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `Create, Describe, Read, Write`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":537,"svcOperationCfsParam":"group","label":"Группа, которым разрешён доступ","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `order-consumers` или `*`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":538,"svcOperationCfsParam":"accessHosts","label":"Список хостов, с которых разрешено подключение к Kafka","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `192.168.1.0/24` или `*`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":56}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":47,"svcOperation":{"svcOperationId":170,"operation":"delete_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Kafka/job/delete_user/job/","descr":null,"man":"# Инструкция по управлению пользователями Apache Kafka.<br/><br/>---<br/><br/>## 1. Общая информация<br/><br/>Пользователи в Apache Kafka используются для аутентификации и авторизации при подключении к кластеру.<br/>Платформа позволяет создавать, удалять и изменять пользователей без прямого доступа к брокерам, а также настраивать права доступа к топикам и группам.<br/>Это обеспечивает централизованное и безопасное управление доступом к ресурсам Kafka.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании нового пользователя:<br/><br/>* **Имя пользователя**<br/> Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав.<br/> Пример: `username-admin`<br/><br/>* **Топик**<br/> Название топика, к которому будут назначены права для данного пользователя.<br/> Пример: `orders-events`.<br/> Использовать маску нельзя (`orders*`), только полное название или `*`.<br/><br/>* **Операции**<br/> Список разрешённых операций на указанном топике.<br/> Пример: `Describe, Read, Write`<br/><br/>* **Группа**<br/> Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп.<br/> Пример: `order-consumers`.<br/><br/>* **Разрешённые хосты**<br/> Список хостов или подсетей, с которых разрешено подключение пользователя.<br/> Пример: `192.168.1.0/24` или `*`.<br/><br/>---<br/><br/>## 3. Параметры модификации пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при модификации пользователя:<br/><br/>* **Имя пользователя**<br/> Имя создаваемого пользователя. Используется для подключения к Kafka и настройки прав.<br/> Пример: `username-admin`<br/><br/>* **Топик**<br/> Название топика, к которому будут назначены права для данного пользователя.<br/> Пример: `orders-events`.<br/> Использовать маску нельзя (`orders*`), только полное название или `*`.<br/><br/>* **Операции**<br/> Список разрешённых операций на указанном топике.<br/> Пример: `Describe, Read, Write`<br/><br/>* **Группа**<br/> Имя группы, которой разрешён доступ. Используется при настройке консюмер-групп.<br/> Пример: `order-consumers`.<br/><br/>* **Разрешённые хосты**<br/> Список хостов или подсетей, с которых разрешено подключение пользователя.<br/> Пример: `192.168.1.0/24` или `*`.<br/><br/>---<br/><br/>## 4. Параметры удалении пользователя<br/><br/>Ниже перечислены параметры, которые необходимо указать при удалении пользователя:<br/><br/>* **Имя пользователя**<br/> Имя удаляемого пользователя.<br/> Пример: `username-admin`<br/><br/>## 5. Выходные параметры<br/><br/>После успешного создания пользователя платформа возвращает параметры, необходимые для подключения:<br/><br/>* **ca.crt**<br/> Корневой сертификат (Certificate Authority), используемый для проверки подлинности сервера при TLS-подключении.<br/> Файл содержит публичный ключ удостоверяющего центра, которому доверяют брокеры и клиенты. Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.crt<br/> ```<br/><br/>* **ca.p12**<br/> PKCS#12-хранилище с корневым сертификатом (Certificate Authority), используемое для проверки подлинности сервера при TLS-подключении.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.p12<br/> ```<br/><br/>* **ca.password**<br/> Пароль для доступа к хранилищу `ca.p12`. Выдаеться в чистом виде. Раскодировать не нужно.<br/><br/>* **user.crt**<br/> Клиентский сертификат, подтверждающий личность пользователя при подключении к Kafka.<br/> Используется совместно с приватным ключом `user.key` для аутентификации.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.crt<br/> ```<br/><br/>* **user.key**<br/> Приватный ключ пользователя, применяемый для установления защищённого TLS-соединения и подтверждения подлинности.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo '<содержание поля>' | base64 -d > <название>.key<br/> ```<br/><br/>* **user.p12**<br/> PKCS#12-хранилище с клиентским сертификатом и приватным ключом, предназначенное для аутентификации пользователя в Kafka.<br/> Выдаеться в формате base64 для получения файла сертификата использовать команду<br/> ```bash<br/> echo "<содержание поля>" | base64 -d > <название>.p12<br/> ```<br/><br/>* **user.password**<br/> Пароль для доступа к хранилищу `user.p12`. Выдаеться в чистом виде. Раскодировать не нужно.<br/><br/>Эти параметры используются для настройки TLS-подключения.<br/><br/>---<br/><br/>## 6. Пример конфигурации клиента внутри кластера<br/><br/>Пример пода:<br/><br/>```yaml<br/>apiVersion: v1<br/>kind: Pod<br/>metadata:<br/> name: kafka-4<br/>spec:<br/> volumes:<br/> - name: work<br/> emptyDir: {}<br/> containers:<br/> - name: kcat<br/> image: quay.io/strimzi/kafka:latest-kafka-4.0.0<br/> command: ["sleep", "5600"]<br/> volumeMounts:<br/> - name: work<br/> mountPath: /work<br/> restartPolicy: Never<br/>```<br/><br/>Создаём под и сохраняем сертификаты:<br/><br/>```bash<br/>kubectl cp user.p12 kafka-4:/work/<br/>kubectl cp ca.p12 kafka-4:/work/<br/>```<br/><br/>Создаём файлы конфигурации:<br/><br/>```bash<br/>cat > /work/user-read.properties <<'EOF'<br/>security.protocol=SSL<br/>ssl.keystore.type=PKCS12<br/>ssl.keystore.location=/work/user.p12<br/>ssl.keystore.password=<user.password><br/>ssl.truststore.type=PKCS12<br/>ssl.truststore.location=/work/ca.p12<br/>ssl.truststore.password=<ca.password><br/>EOF<br/>```<br/><br/>```bash<br/>cat > /work/user-write.properties <<'EOF'<br/>security.protocol=SSL<br/>ssl.keystore.type=PKCS12<br/>ssl.keystore.location=/work/user-write.p12<br/>ssl.keystore.password=<user.password><br/>ssl.truststore.type=PKCS12<br/>ssl.truststore.location=/work/ca.p12<br/>ssl.truststore.password=<ca.password><br/>EOF<br/>```<br/><br/>Листинг доступных топиков:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-topics.sh \\<br/> --bootstrap-server kafkak8s-bootstrap-external:9093 \\<br/> --command-config /work/user-read.properties \\<br/> --list<br/>```<br/><br/>Запись сообщений:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-console-producer.sh \\<br/> --bootstrap-server <адрес сервис брокера>:9093 \\<br/> --topic <topic> \\<br/> --producer.config /work/user-write.properties<br/>```<br/><br/>Чтение сообщений:<br/><br/>```bash<br/>/opt/kafka/bin/kafka-console-consumer.sh \\<br/> --bootstrap-server <адрес сервис брокера>:9093 \\<br/> --topic <topic> \\<br/> --from-beginning \\<br/> --group <group> \\<br/> --consumer.config /work/user-read.properties \\<br/> --max-messages 50<br/>```<br/><br/>---<br/><br/>## 7. Пример внешнего подключения с использованием **kcat**<br/><br/>**Листинг топиков**<br/><br/>```bash<br/>kcat -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -L \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-read.crt \\<br/> -X ssl.key.location=./user-read.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>**Запись сообщения**<br/><br/>```bash<br/> echo "hello from kcat" | kcat -P \\<br/> -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -t write-test \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-write.crt \\<br/> -X ssl.key.location=./user-write.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>**Чтение сообщений**<br/><br/>```bash<br/>kcat -C \\<br/> -b <externalConnect.bootstrap.fqdn>:9093 \\<br/> -t write-test \\<br/> -o beginning \\<br/> -q \\<br/> -X security.protocol=SSL \\<br/> -X ssl.ca.location=./ca.crt \\<br/> -X ssl.certificate.location=./user-read.crt \\<br/> -X ssl.key.location=./user-read.key \\<br/> -X ssl.endpoint.identification.algorithm=none<br/>```<br/><br/>---<br/><br/><br/>## 9. Рекомендации<br/><br/>* Минимизируйте набор разрешённых операций для повышения безопасности.<br/>* Используйте отдельные учётные записи для продюсеров, консюмеров и системных сервисов.<br/>* Ограничивайте доступ по IP или подсетям с помощью параметра **Разрешённые хосты**.<br/>* После изменения прав или групп пользователя рекомендуется проверить подключение и доступ к топикам.<br/><br/>---","cfsParams":[{"svcOperationCfsParamId":540,"svcOperationCfsParam":"username","label":"Имя удаляемого пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `username-admin`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":47}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
suspend 177
|
||||||
|
resume 178
|
||||||
|
modify 180
|
||||||
|
create 175
|
||||||
|
delete 176
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":47,"svcOperation":{"svcOperationId":175,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Akhq/job/create/job/","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":555,"svcOperationCfsParam":"kafkaUid","label":"Кластер Kafka к которому нужно настроить подключение","dataType":"uuid","valueList":null,"refSvcId":116,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выбрать кластер из списка","man":null,"sort":5,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":550,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выбрать платформу из списка","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":554,"svcOperationCfsParam":"resourceInstances","label":"Количество узлов в сети","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":1,"descr":null,"man":null,"sort":11,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":551,"svcOperationCfsParam":"resourceMemory","label":"Квота(megabyte) памяти пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"512","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":512,"descr":"Пример: `1024`","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":552,"svcOperationCfsParam":"resourceCPU","label":"Квота(millicore ) ядра пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"500","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":500,"descr":"Пример: `1000`","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":553,"svcOperationCfsParam":"domain","label":"Имя домена","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":47}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":176,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Akhq/job/delete/job/","descr":null,"man":null,"cfsParams":[]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":54,"svcOperation":{"svcOperationId":177,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Akhq/job/suspend/job/","descr":null,"man":null,"cfsParams":[]},"runDurationMs":54}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":178,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Akhq/job/resume/job/","descr":null,"man":null,"cfsParams":[]},"runDurationMs":50}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":54,"svcOperation":{"svcOperationId":180,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/Akhq/job/modify/job/","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":565,"svcOperationCfsParam":"kafkaUid","label":"Кластер Kafka к которому нужно настроить подключение","dataType":"uuid","valueList":null,"refSvcId":116,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выбрать кластер из списка","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":54}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
create 1
|
||||||
|
delete 5
|
||||||
|
resume 3
|
||||||
|
suspend 2
|
||||||
|
create_sub_user 6
|
||||||
|
delete_sub_user 7
|
||||||
|
modify 4
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":1,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":320,"svcOperationCfsParam":"displayName","label":"Человеко-читаемое имя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Человеко-читаемое имя (транслит из Elma) - передаётся имя клиента","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":163,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":null,"valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Платформа для развертывания","man":"кластер S3 для подключения","sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":51}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":57,"svcOperation":{"svcOperationId":2,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/suspend/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":3,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/resume/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":64,"svcOperation":{"svcOperationId":4,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/modify/job/master/buildWithParameters","descr":"При первичном вызове операции услуга Trial прекращает действие","man":"При первичном вызове операции услуга Trial прекращает действие","cfsParams":[{"svcOperationCfsParamId":50,"svcOperationCfsParam":"maxSizeGbPerUser","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":50000,"minvalue":1,"descr":"maxSizeGb. Передаём руками","man":"maxSizeGb. Передаём руками","sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":51,"svcOperationCfsParam":"maxObjectsPerBucket","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":10000000,"minvalue":1,"descr":"Квота на бакет. Кол-во объектов. Передаём руками","man":"Квота на бакет. Кол-во объектов. Передаём руками","sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":52,"svcOperationCfsParam":"maxBucketsPerUser","label":null,"dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":1000,"minvalue":1,"descr":"Квота на пользователя. Количество бакетов пользователя. Передаём руками","man":"Квота на пользователя. Количество бакетов пользователя. Передаём руками","sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":65}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":48,"svcOperation":{"svcOperationId":5,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":48}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":6,"operation":"create_sub_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/create_sub_user/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":60,"svcOperationCfsParam":"subUserName","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":61,"svcOperationCfsParam":"subUserAccess","label":null,"dataType":"string","valueList":["read","write","readwrite","full"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":54}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":7,"operation":"delete_sub_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Ceph/job/delete_sub_user/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":63,"svcOperationCfsParam":"subUserName","label":null,"dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"subUserName. По идее услуга уже создана - должен передаваться из ЛК","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":50}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
modify 189
|
||||||
|
resume 183
|
||||||
|
create_user 185
|
||||||
|
create_database 186
|
||||||
|
delete_user 187
|
||||||
|
delete_database 188
|
||||||
|
create 181
|
||||||
|
suspend 182
|
||||||
|
delete 184
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":181,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/create/job/master/buildWithParameters","descr":null,"man":"Операция создания кластера ClickHouse<br/><br/>Для подключения к кластеру также необходимо создать базу данных через операцию `create_database` и создание пользователя через операцию `create_user`","cfsParams":[{"svcOperationCfsParamId":572,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Кластер Kubernetes в котором будет развёрнуто приложение","man":"Выбрать платформу из списка<br/><br/>**Если список не отображается**<br/>обратитесь к сервис менеджеру с вопросом предоставления ресурсной платформы","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":573,"svcOperationCfsParam":"s3Uid","label":"Услуга S3 для резервных копий","dataType":"uuid","valueList":null,"refSvcId":12,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Экземпляр (учетная запись) S3 для резервного копирования. Резервное копирование обязательно","man":"**Если список не отображается** <br/>перейдите в раздел `S3 Object Storage` <br/>операция `create`","sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":574,"svcOperationCfsParam":"resourceInstances","label":"Кол-во реплик каждого шарда","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Пример: `3`","man":"**Для синхронизации данных между репликами** необходимо включить `Создать ClickHouse-Keeper`","sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":575,"svcOperationCfsParam":"resourceInstancesShards","label":"Количество шардов","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Пример: `1`","man":"**Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. <br/>**Реплика** - это точная копия данных внутри одного шарда","sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":576,"svcOperationCfsParam":"resourceCPU","label":"Квота ядра пода кластера","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1000","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8000,"minvalue":1000,"descr":"Пример: `1000`","man":"Указывается в Milicores<br/>`1000` Mili == `1` Ядро","sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":577,"svcOperationCfsParam":"resourceMemory","label":"Квота памяти пода кластера","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1536","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":1536,"descr":"Пример: `2048`","man":"Указывается в Megabytes","sort":60,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":578,"svcOperationCfsParam":"appVersion","label":"Версия ClickHouse-server","dataType":"string","valueList":["25.10"],"refSvcId":null,"isRequired":true,"defaultValue":"25.10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Версия `clickhouse-server`","man":null,"sort":70,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":579,"svcOperationCfsParam":"resourceDisk","label":"Размер диска для базы данных","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":1,"descr":"Пример: `100`","man":"Указывается в Gigabytes","sort":80,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":580,"svcOperationCfsParam":"needExternalAddressMaster","label":"Публикация белого ip для master ноды","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Позволяет подключиться извне к ClickHouse","man":"Для выделения IP также необходимо указать имя Ip-space.<br/>Его можно получить из свойств ресурсной платформы","sort":90,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":581,"svcOperationCfsParam":"ipSpaceNameMaster","label":"Имя ipSpace для публикации белого ip master ноды","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `internet-no-antiddos-v1`","man":"Имя ipSpace для публикации внешнего адреса<br/><br/>Не может быть пустым, если включен `Выделение белого ip для master ноды`","sort":100,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":582,"svcOperationCfsParam":"needCreateKeeper","label":"Создать ClickHouse-Keeper","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"true","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Необходим для кластеризации ClickHouse","man":"Аналог `Zookeeper`, представленный от ClickHouse","sort":200,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":583,"svcOperationCfsParam":"resourceCPUKeeper","label":"Квота ядра пода Keeper","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"50","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8000,"minvalue":50,"descr":"Пример: `100`","man":"Указывается в Milicores<br/>`1000` Mili == `1` Ядро","sort":210,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":584,"svcOperationCfsParam":"resourceMemoryKeeper","label":"Квота памяти пода Keeper","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"152","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":152,"descr":"Пример: `256`","man":"Указывается в Megabytes","sort":220,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":585,"svcOperationCfsParam":"resourceInstancesKeeper","label":"Кол-во реплик Keeper","dataType":"integer > 0","valueList":["1","3"],"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":3,"minvalue":1,"descr":"Пример: `1`","man":"Для **теста** - 1 нода. <br/>Для **продуктива** - 3 ноды","sort":230,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":586,"svcOperationCfsParam":"ext_BACKUP_SCHEDULE","label":"Расписание резервного копирования","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"0 0 * * *","defaultCompute":null,"func":null,"regex":"^((((\\d+,)+\\d+|(\\d+(\\/|-|#)\\d+)|(\\d+L?)|(\\*(\\/\\d+)?)|(L(-\\d+)?)|(\\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\\d+(ns|us|µs|ms|s|m|h))+)$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Принимает формат `CRON`","man":null,"sort":500,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":587,"svcOperationCfsParam":"ext_BACKUP_NUM_TO_RETAIN","label":"Количество резервных копий","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"7","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":60,"minvalue":3,"descr":"Пример: `7`","man":"Кол-во **полных** резервных копий<br/>Кол-во инкрементов - неограничено<br/><br/>Полная резервная копия выполняется раз в неделю<br/>*Если изначально полной резервной копии нет* выполняется полный бекап<br/>В остальные дни по крону выполняются **инкременты**","sort":510,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":55}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":91,"svcOperation":{"svcOperationId":182,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/suspend/job/master/buildWithParameters","descr":null,"man":"Операция приводит к удалению всех подов<br/>Persistent Volume остаются нетронутыми","cfsParams":[]},"runDurationMs":91}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":52,"svcOperation":{"svcOperationId":183,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/resume/job/master/buildWithParameters","descr":"Восстанавливает все поды и приводит кластер в работоспособный вид","man":null,"cfsParams":[]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":47,"svcOperation":{"svcOperationId":184,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/delete/job/master/buildWithParameters","descr":null,"man":"Удаление возможно только после остановки сервиса через операцию `suspend`<br/>После выполнения операции необходимо выждать определенное кол-во времени","cfsParams":[]},"runDurationMs":47}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":52,"svcOperation":{"svcOperationId":185,"operation":"create_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/create_user/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":596,"svcOperationCfsParam":"username","label":"Имя пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$","uniqueScope":null,"maxlength":62,"minlength":2,"maxvalue":null,"minvalue":null,"descr":"Пример: `myusername`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":598,"svcOperationCfsParam":"databaseName","label":"Список баз данных, к которым будет предоставлен доступ","dataType":"json","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"[\"database\"]","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Необходимо указать массив существующих баз","man":"Если базы не существует - при выполнении операции вернётся ошибка","sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":599,"svcOperationCfsParam":"accessHosts","label":"Список хостов, с которых разрешено подключение к ClickHouse от лица пользователя","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"::/0","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `::/0`","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":52}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":55,"svcOperation":{"svcOperationId":186,"operation":"create_database","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/create_database/job/master/buildWithParameters","descr":null,"man":"База данных создаётся на всех репликах кластера ClickHouse","cfsParams":[{"svcOperationCfsParamId":600,"svcOperationCfsParam":"databaseName","label":"Имя базы данных","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `db01`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":56}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":187,"operation":"delete_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/delete_user/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":601,"svcOperationCfsParam":"username","label":null,"dataType":null,"valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя пользователя, созданное через операцию `create_user`","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":55,"svcOperation":{"svcOperationId":188,"operation":"delete_database","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/delete_database/job/master/buildWithParameters","descr":null,"man":"Необратимое действие!!!<br/>Трижды подумай, заблокируй телефон тимлида и не выполняй это действие","cfsParams":[{"svcOperationCfsParamId":602,"svcOperationCfsParam":"databaseName","label":"Имя базы данных","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":55}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":60,"svcOperation":{"svcOperationId":189,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/ClickHouse/job/modify/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":603,"svcOperationCfsParam":"resourceInstances","label":"Кол-во реплик каждого шарда","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Пример: `3`","man":"**Для синхронизации данных между репликами** необходимо включить `Создать ClickHouse-Keeper`","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":604,"svcOperationCfsParam":"resourceInstancesShards","label":"Количество шардов","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Пример: `1`","man":"**Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. <br/>**Реплика** - это точная копия данных внутри одного шарда","sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":605,"svcOperationCfsParam":"resourceCPU","label":"Квота ядра пода кластера","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8000,"minvalue":1000,"descr":"Пример: `1000`","man":"Указывается в Milicores<br/>`1000` Mili == `1` Ядро","sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":606,"svcOperationCfsParam":"resourceMemory","label":"Квота памяти пода кластера","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":1536,"descr":"Пример: `2048`","man":"Указывается в Megabytes","sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":607,"svcOperationCfsParam":"appVersion","label":"Версия ClickHouse-server","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"25.10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Версия `clickhouse-server`","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":608,"svcOperationCfsParam":"resourceDisk","label":"Размер диска для базы данных","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":1,"descr":"Пример: `100`","man":"Указывается в Gigabytes<br/>**Нельзя** выставлять меньше текущего значения","sort":60,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":609,"svcOperationCfsParam":"needExternalAddressMaster","label":"Публикация белого ip для master ноды","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Позволяет подключиться извне к ClickHouse","man":"Для выделения IP также необходимо указать имя Ip-space.<br/>Его можно получить из свойств ресурсной платформы","sort":70,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":610,"svcOperationCfsParam":"ipSpaceNameMaster","label":"Имя ipSpace для публикации белого ip master ноды","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `internet-no-antiddos-v1`","man":"Имя ipSpace для публикации внешнего адреса<br/><br/>Не может быть пустым, если включен `Выделение белого ip для master ноды`","sort":80,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":611,"svcOperationCfsParam":"needCreateKeeper","label":"Создать ClickHouse-Keeper","dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Необходим для кластеризации ClickHouse","man":"Аналог `Zookeeper`, представленный от ClickHouse","sort":200,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":612,"svcOperationCfsParam":"resourceCPUKeeper","label":"Квота ядра пода Keeper","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8000,"minvalue":50,"descr":"Пример: `100`","man":"Указывается в Milicores<br/>`1000` Mili == `1` Ядро","sort":210,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":613,"svcOperationCfsParam":"resourceMemoryKeeper","label":"Квота памяти пода Keeper","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":152,"descr":"Пример: `256`","man":"Указывается в Megabytes","sort":220,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":614,"svcOperationCfsParam":"resourceInstancesKeeper","label":"Кол-во реплик Keeper","dataType":"integer > 0","valueList":["1","3"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":3,"minvalue":1,"descr":"Пример: `1`","man":"Для **теста** - 1 нода. <br/>Для **продуктива** - 3 ноды","sort":230,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":615,"svcOperationCfsParam":"ext_BACKUP_SCHEDULE","label":"Расписание резервного копирования","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"0 0 * * *","defaultCompute":null,"func":null,"regex":"^((((\\d+,)+\\d+|(\\d+(\\/|-|#)\\d+)|(\\d+L?)|(\\*(\\/\\d+)?)|(L(-\\d+)?)|(\\?)|([A-Z]{3}(-[A-Z]{3})?)) ?){5,7})|(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\\d+(ns|us|µs|ms|s|m|h))+)$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Принимает формат `CRON`","man":null,"sort":500,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":616,"svcOperationCfsParam":"ext_BACKUP_NUM_TO_RETAIN","label":"Количество резервных копий","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":60,"minvalue":3,"descr":"Пример: `7`","man":"Кол-во **полных** резервных копий<br/>Кол-во инкрементов - неограничено<br/><br/>Полная резервная копия выполняется раз в неделю<br/>*Если изначально полной резервной копии нет* выполняется полный бекап<br/>В остальные дни по крону выполняются **инкременты**","sort":510,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":61}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
create 51
|
||||||
|
delete 52
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":51,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Bucket/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":124,"svcOperationCfsParam":"s3UserUid","label":"UID Корневой услуги S3","dataType":"uuid","valueList":null,"refSvcId":12,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"UID Корневой услуги S3. На основе него будет создан бакет.","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":125,"svcOperationCfsParam":"bucketName","label":"Имя бакета s3","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Имя бакета s3","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":126,"svcOperationCfsParam":"maxSize","label":"Размер бакета","dataType":null,"valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"-1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Максимальный размер бакета s3. Если поставить -1, будет безлимит. Размер указывается в Bytes","man":"Максимальный размер бакета s3. Если поставить 0, будет безлимит. Размер указывается в Bytes","sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":127,"svcOperationCfsParam":"readAll","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Публичный доступ на чтение позволяет любому пользователю интернета скачивать объекты из бакета.","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":128,"svcOperationCfsParam":"listAll","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Публичный доступ к листингу позволяет любому пользователю интернета получить список объектов в бакете.","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":129,"svcOperationCfsParam":"corsAll","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"false","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Публичный доступ к чтению настроек позволяет любому пользователю интернета читать конфигурации CORS","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":130,"svcOperationCfsParam":"placement","label":"Класс хранилища","dataType":"string","valueList":["HOT","COLD"],"refSvcId":null,"isRequired":true,"defaultValue":"HOT","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Класс хранилища, который используется по умолчанию при загрузке объектов. Чем холоднее, тем дешевле место, но дороже обращения","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":66,"svcOperation":{"svcOperationId":52,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/s3/job/Bucket/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":66}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
create 202
|
||||||
|
delete 206
|
||||||
|
modify 203
|
||||||
|
suspend 204
|
||||||
|
resume 205
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":52,"svcOperation":{"svcOperationId":202,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/valo/job/Tenant/job/create/job/master/buildWithParameters","descr":"При создании тенант предоставляется всегда в ТЕСТ (2 месяца с момента создания)<br/>Для продления и переведения в ПРОД, воспользуйтесь в дальнейшем операцией modify","man":null,"cfsParams":[{"svcOperationCfsParamId":655,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":656,"svcOperationCfsParam":"domain","label":"DNS-Префикс","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^[a-z0-9](?:[a-z0-9-]{3,61}[a-z0-9])?$","uniqueScope":null,"maxlength":61,"minlength":3,"maxvalue":null,"minvalue":null,"descr":"Будет добавлено в зону valo.ngcloud.ru","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":658,"svcOperationCfsParam":"s3Storage","label":"Параметры хранилища","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":1,"descr":"Параметр указывается в `Gb`","man":"Данные хранятся в отдельном экземпляре S3","sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":657,"svcOperationCfsParam":"valoOptions","label":"Настройки тенанта","dataType":"map-fixed","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"{}","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":51,"svcOperation":{"svcOperationId":203,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/valo/job/Tenant/job/modify/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":659,"svcOperationCfsParam":"valoOptions","label":"Настройки тенанта","dataType":"map-fixed","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":660,"svcOperationCfsParam":"s3Storage","label":"Параметры хранилища","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Параметр указывается в `Gb`","man":"Данные хранятся в отдельном экземпляре S3","sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":52}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":57,"svcOperation":{"svcOperationId":204,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/valo/job/Tenant/job/suspend/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":57}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":72,"svcOperation":{"svcOperationId":205,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/valo/job/Tenant/job/resume/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":72}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":80,"svcOperation":{"svcOperationId":206,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/valo/job/Tenant/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":80}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
modify 110
|
||||||
|
update_secrets 179
|
||||||
|
reconcile 253
|
||||||
|
suspend 173
|
||||||
|
delete 109
|
||||||
|
resume 174
|
||||||
|
create 108
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":51,"svcOperation":{"svcOperationId":108,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/create/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":344,"svcOperationCfsParam":"nsxtUid","label":"UUID nsxt","dataType":"uuid","valueList":null,"refSvcId":22,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"InstanceUid nsxt. Nsxt должен быть создан","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":747,"svcOperationCfsParam":"vdcUid","label":"UUID vdc","dataType":"uuid","valueList":null,"refSvcId":21,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":345,"svcOperationCfsParam":"clusterName","label":"Имя кластера Kubernetes","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"example1","defaultCompute":null,"func":null,"regex":"(?=^.{1,63}$)^[a-z0-9]([a-z0-9-]*[a-z0-9])?$","uniqueScope":"provider","maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Наименование кластера Kubernetes. Имя будет использоваться в fqdn (svc.$CLUSTER_NAME)","man":null,"sort":25,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":346,"svcOperationCfsParam":"controlPlaneSizingPolicy","label":"Сайзинг Control Plane","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Настройка Control Plane. CPU (шт) / MEM (gb).<br/>Наверное, должна подтягиваться из свойств ресурсной платформы","man":null,"sort":30,"dependsOnCfsParams":"vdcUid","isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":347,"svcOperationCfsParam":"controlPlaneSizingDisk","label":"Размер (Gb) для Control Plane","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"30","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":20,"descr":"Настройка Control Plane. Disk (Gb)","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":348,"svcOperationCfsParam":"controlPlaneCount","label":"Кол-во нод Control Plane","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":9,"minvalue":1,"descr":null,"man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":349,"svcOperationCfsParam":"workersSizingPolicy","label":"Сайзинг Workers","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Настройка workers. CPU (шт) / MEM (gb)","man":null,"sort":60,"dependsOnCfsParams":"vdcUid","isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":350,"svcOperationCfsParam":"workersSizingDisk","label":"Размер (Gb) для Workers","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"40","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":20,"descr":"Настройка workers. Disk (Gb)","man":null,"sort":70,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":351,"svcOperationCfsParam":"workersCount","label":"Кол-во нод Workers","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"2","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":99,"minvalue":1,"descr":"Настройка workers. Кол-во нод","man":null,"sort":80,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":352,"svcOperationCfsParam":"appVersion","label":"Версия Штурвал","dataType":"string","valueList":["2.12.1","2.11.0"],"refSvcId":null,"isRequired":true,"defaultValue":"2.12.1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Версия Штурвал (не является версией Kubernetes)","man":null,"sort":90,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":353,"svcOperationCfsParam":"needExternalAddressAPI","label":"Включить vIP для Kubernetes API","dataType":"boolean","valueList":["true"],"refSvcId":null,"isRequired":true,"defaultValue":"true","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выделяет внешний IP для доступа к kubernetes API. Пока нельзя выставить false","man":null,"sort":100,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":354,"svcOperationCfsParam":"accessIpListAPI","label":"Access-List для Kubernetes API","dataType":"json","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"[]","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Access IP List для подключения к Kubernetes API. Указывается массив. Если передан пустой массив, доступ выделяется всем","man":null,"sort":110,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":355,"svcOperationCfsParam":"needExternalAddressIngress","label":"Включить vIP для Kubernetes Ingress","dataType":"boolean","valueList":["true"],"refSvcId":null,"isRequired":true,"defaultValue":"true","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выделяет внешний IP для доступа к Ingress","man":null,"sort":120,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":356,"svcOperationCfsParam":"accessIpListIngress","label":"Access-List для Kubernetes Ingress","dataType":"json","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"[]","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Access IP List для подключения к Ingress. Указывается массив. Если передан пустой массив, доступ выделяется всем","man":null,"sort":130,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":54}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":75,"svcOperation":{"svcOperationId":109,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/delete/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":75}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":110,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/modify/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[{"svcOperationCfsParamId":362,"svcOperationCfsParam":"controlPlaneCount","label":"Кол-во нод Control Plane","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":9,"minvalue":1,"descr":"Кол-во нод Control Plane","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":363,"svcOperationCfsParam":"workersCount","label":"Кол-во нод Workers","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":99,"minvalue":1,"descr":"Кол-во нод Workers","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":364,"svcOperationCfsParam":"accessIpListAPI","label":"Access-List для Kubernetes API","dataType":"json","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Access IP List для подключения к Kubernetes API. Указывается массив. Если передан пустой массив, доступ выделяется всем","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":365,"svcOperationCfsParam":"accessIpListIngress","label":"Access-List для Kubernetes Ingress","dataType":"json","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Access IP List для подключения к Ingress. Указывается массив. Если передан пустой массив, доступ выделяется всем","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":563,"svcOperationCfsParam":"appVersion","label":"Версия Штурвал","dataType":"string","valueList":["2.11.0","2.12.1"],"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Версия Штурвал (не является версией Kubernetes)<br/>Понижать версию нельзя<br/>Обновиться на несколько минорных нельзя<br/>Невозможно перепрыгнуть не с последней минорной на мажорную<br/>Можно обновиться на несколько патчей","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":637,"svcOperationCfsParam":"controlPlaneSizingDisk","label":"Размер (Gb) для Control Plane","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":638,"svcOperationCfsParam":"workersSizingDisk","label":"Размер (Gb) для Workers","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":52}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"svcOperationId":173,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/suspend/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":56,"svcOperation":{"svcOperationId":174,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/resume/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":56}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":52,"svcOperation":{"svcOperationId":179,"operation":"update_secrets","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/update_secrets/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":52}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":50,"svcOperation":{"svcOperationId":253,"operation":"reconcile","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/SthutrvalCluster/job/reconcile/job/master/buildWithParameters","descr":null,"man":null,"cfsParams":[]},"runDurationMs":50}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
suspend 215
|
||||||
|
resume 216
|
||||||
|
create_policy 237
|
||||||
|
delete_secrets 233
|
||||||
|
restart 234
|
||||||
|
create 210
|
||||||
|
modify 211
|
||||||
|
update_policy 238
|
||||||
|
delete_policy 239
|
||||||
|
recovery_secrets 232
|
||||||
|
create_kv 212
|
||||||
|
update_secrets 230
|
||||||
|
delete_kv 213
|
||||||
|
delete 231
|
||||||
|
create_secrets 214
|
||||||
|
reconcile 236
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":48,"svcOperation":{"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,"cfsParams":[{"svcOperationCfsParamId":663,"svcOperationCfsParam":"resourceRealm","label":"Платформа для развертывания","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":"getAvailableResourceRealms","regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Кластер Kubernetes в котором будет развёрнуто приложение","man":"Выбрать платформу из списка<br/><br/>**Если список не отображается**<br/>обратитесь к сервис менеджеру с вопросом предоставления ресурсной платформы","sort":0,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":669,"svcOperationCfsParam":"domain","label":"Имя домена","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"bao-","defaultCompute":"append_pseudorandom","func":null,"regex":"^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$","uniqueScope":"provider","maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":"Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":665,"svcOperationCfsParam":"resourceInstances","label":"Кол-во реплик","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"3","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Пример: `3`","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":664,"svcOperationCfsParam":"resourceCPU","label":"Квота ядра пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"500","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8000,"minvalue":250,"descr":"Пример: `500`","man":"Указывается в Milicores<br/>`1000` Mili == `1` Ядро","sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":666,"svcOperationCfsParam":"resourceMemory","label":"Квота памяти пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"512","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":256,"descr":"Пример: `2048`","man":"Указывается в Megabytes","sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":667,"svcOperationCfsParam":"resourceDisk","label":"Размер диска под хранение секретов","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"10","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":1,"descr":"Пример: `10`","man":"Указывается в Gigabytes","sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":668,"svcOperationCfsParam":"appVersion","label":"Версия OpenBao","dataType":"string","valueList":["2.4.4"],"refSvcId":null,"isRequired":true,"defaultValue":"2.4.4","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выбрать из списка","man":null,"sort":60,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":49}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":57,"svcOperation":{"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,"cfsParams":[{"svcOperationCfsParamId":670,"svcOperationCfsParam":"resourceInstances","label":"Кол-во реплик","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":7,"minvalue":1,"descr":"Пример: `3`","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":671,"svcOperationCfsParam":"resourceCPU","label":"Квота ядра пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"500","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8000,"minvalue":250,"descr":"Пример: `500`","man":"Указывается в Milicores<br/>`1000` Mili == `1` Ядро","sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":672,"svcOperationCfsParam":"resourceMemory","label":"Квота памяти пода","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"512","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":8192,"minvalue":256,"descr":"Пример: `2048`","man":"Указывается в Megabytes","sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":673,"svcOperationCfsParam":"resourceDisk","label":"Размер диска под хранение секретов","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":999,"minvalue":1,"descr":"Пример: `10`","man":"Указывается в Gigabytes","sort":40,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":674,"svcOperationCfsParam":"appVersion","label":"Версия OpenBao","dataType":"string","valueList":["2.4.4"],"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выбрать из списка","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":58}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":59,"svcOperation":{"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,"cfsParams":[{"svcOperationCfsParamId":675,"svcOperationCfsParam":"kvName","label":"Имя Key/Value хранилища","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"kvname-","defaultCompute":"append_pseudorandom","func":null,"regex":"^[a-zA-Z0-9-]{1,24}$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":"Будет создан `v2 тип движка`<br/><br/>Уникальное в рамках услуги","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":59}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":53,"svcOperation":{"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":"**ОСТОРОЖНО**<br/>Удаление KV подразумевает удаление ВСЕХ secrets внутри этой KV","cfsParams":[{"svcOperationCfsParamId":676,"svcOperationCfsParam":"kvName","label":"Имя Key/Value хранилища","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выберите из списка","man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":53}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"queryDurationMs":54,"svcOperation":{"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,"cfsParams":[{"svcOperationCfsParamId":677,"svcOperationCfsParam":"kvName","label":"Имя Key/Value хранилища","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Выберите из списка","man":"Если список пустой, создайте kv через операцию `create_kv`","sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":678,"svcOperationCfsParam":"secretPath","label":"Путь секрета в Vault","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"path/to/mysecret","defaultCompute":null,"func":null,"regex":"^[a-zA-Z0-9_-]+(?:\\/[a-zA-Z0-9_-]+)*$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Пример: `path` или `road/to/path`","man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":679,"svcOperationCfsParam":"secretData","label":"Секреты в Vault","dataType":"map","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Хотя бы один секрет необходимо добавить","man":"Данные не сохраняются в ЛК, в дальнейшем при обновлении секретов это необходимо учитывать","sort":30,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false}]},"runDurationMs":55}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user