From 570bc816b940a25881e5ff53dfac986da281ead2 Mon Sep 17 00:00:00 2001 From: lada7878 Date: Mon, 27 Jul 2026 11:51:02 +0500 Subject: [PATCH 01/11] split Signed-off-by: lada7878 --- .../admin/actions/codescoring.ru.md | 49 + .../documentation/admin/actions/debug.ru.md | 15 + .../admin/actions/defectdojo.ru.md | 69 + .../documentation/admin/actions/gitlab.ru.md | 738 ++++++ .../documentation/admin/actions/kafka.ru.md | 374 ++++ .../admin/actions/keycloak.ru.md | 41 + .../admin/actions/kubernetes.ru.md | 146 ++ .../documentation/admin/actions/nexus.ru.md | 364 +++ .../admin/actions/sonarqube.ru.md | 86 + .../documentation/admin/actions/types.ru.md | 1969 ----------------- .../documentation/admin/actions/vault.ru.md | 118 + .../documentation/admin/actions/wait.ru.md | 20 + .../documentation/release-notes/v1.6.0.ru.md | 4 +- content/documentation/user/ai-assistant.ru.md | 4 +- .../documentation/user/mcp-management.ru.md | 84 +- 15 files changed, 2066 insertions(+), 2015 deletions(-) create mode 100644 content/documentation/admin/actions/codescoring.ru.md create mode 100644 content/documentation/admin/actions/debug.ru.md create mode 100644 content/documentation/admin/actions/defectdojo.ru.md create mode 100644 content/documentation/admin/actions/gitlab.ru.md create mode 100644 content/documentation/admin/actions/kafka.ru.md create mode 100644 content/documentation/admin/actions/keycloak.ru.md create mode 100644 content/documentation/admin/actions/kubernetes.ru.md create mode 100644 content/documentation/admin/actions/nexus.ru.md create mode 100644 content/documentation/admin/actions/sonarqube.ru.md create mode 100644 content/documentation/admin/actions/vault.ru.md create mode 100644 content/documentation/admin/actions/wait.ru.md diff --git a/content/documentation/admin/actions/codescoring.ru.md b/content/documentation/admin/actions/codescoring.ru.md new file mode 100644 index 00000000..0dbbd22a --- /dev/null +++ b/content/documentation/admin/actions/codescoring.ru.md @@ -0,0 +1,49 @@ +# CodeScoring + +## Содержание + +- CreateCodeScoringProject +- DeleteCodeScoringProject + +## CreateCodeScoringProject + +CreateCodeScoringProject — создаёт новый проект в системе CodeScoring. +Действие использует CodeScoring API для регистрации проекта с указанными параметрами: название проекта, URL репозитория, ID VCS системы и опция автоматического запуска SCA-анализа после клонирования репозитория. + +### Пример запроса + +```yaml +name: example-project +repository: https://gitlab.example.com/group/project.git +vcs_id: 2 +run_sca_after_clone: true +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|--------------------|----------------|-------------------------------------------------------------------------------| +| name | Да | Название проекта в CodeScoring | +| repository | Да | URL репозитория (например, ) | +| vcs_id | Да | ID VCS системы в CodeScoring (должен быть больше 0) | +| run_sca_after_clone| Нет | Автоматический запуск SCA-анализа после клонирования репозитория | + +### Ответ + +В ответе возвращается объект созданного проекта со следующей информацией: идентификатор проекта (pk), название, тип проекта, описание, информация о репозитории, статус проекта, права доступа, лицензия, количество зависимостей и уязвимостей, языки проекта, статус расписания сканирования и даты первого и последнего SCA-сканирования. + +## DeleteCodeScoringProject + +DeleteCodeScoringProject — удаляет проект в системе CodeScoring по его ID. + +### Пример запроса + +```yaml +id: 1 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------|----------------|-----------------------------| +| id | Да | ID проекта в CodeScoring | diff --git a/content/documentation/admin/actions/debug.ru.md b/content/documentation/admin/actions/debug.ru.md new file mode 100644 index 00000000..d49c4735 --- /dev/null +++ b/content/documentation/admin/actions/debug.ru.md @@ -0,0 +1,15 @@ +## Fail + +Fail эмулирует ошибку исполнения действия. Предназначен для использования в процессах в качестве отладочного элемента. + +### Пример запроса + +```yaml +fail: true +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|----------|----------------|-----------------------------------------------------------------------------------------|-----------------------| +| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` | diff --git a/content/documentation/admin/actions/defectdojo.ru.md b/content/documentation/admin/actions/defectdojo.ru.md new file mode 100644 index 00000000..8e2d0c3d --- /dev/null +++ b/content/documentation/admin/actions/defectdojo.ru.md @@ -0,0 +1,69 @@ +# DefectDojo + +## Содержание + +- CreateDefectdojoEngagement +- CreateDefectdojoProduct +- DeleteDefectdojoProduct + +## CreateDefectdojoEngagement + +CreateDefectdojoEngagement — создаёт новый engagement в системе DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса + +```yaml +name: example engagement +product: '1' +target_start: '2024-06-01' +target_end: '2024-06-30' +lead: '1' +``` + +### Спецификация запроса + +Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). + +### Учётные данные + +* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. + +## CreateDefectdojoProduct + +CreateDefectdojoProduct — создаёт новый продукт в системе DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса + +```yaml +name: example +description: example description +prod_type: 1 +``` + +### Спецификация запроса + +Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). + +### Учётные данные + +* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. + +## DeleteDefectdojoProduct + +DeleteDefectdojoProduct — удаляет продукт из DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса + +```yaml +id: 1 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|-------------|----------------|----------------------------------------------------|------------------------| +| id | Да | Идентификатор продукта, который необходимо удалить | - | + +### Учётные данные + +* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. diff --git a/content/documentation/admin/actions/gitlab.ru.md b/content/documentation/admin/actions/gitlab.ru.md new file mode 100644 index 00000000..ff0c6af3 --- /dev/null +++ b/content/documentation/admin/actions/gitlab.ru.md @@ -0,0 +1,738 @@ +--- +title: Gitlab +weight: 10 +--- + +{{< alert level="info" >}} +Для выполнения каждого действия необходимо наличие токена GitLab. `token` — токен пользователя, от имени которого выполняется действие. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). +{{< /alert >}} + +## CreateRepositoryFromTemplate + +CreateRepositoryFromTemplate — создаёт новый репозиторий из шаблона в Gitlab. Механизм рендеринга основан на [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) и поддерживает все встроенные методы, а также расширения, добавленные в платформу. + +### Пример запроса + +```yaml +sourceBranch: main +sourceTag: v1.0.0 +templateRepositoryUrl: https://gitlab.example.com/example-1.git +targetRepositoryUrl: https://gitlab.example.com/example-2.git +targetBranch: master +additionalIgnoreFiles: + - .ignore + - .example +values: + key1: value1 + nested: + enabled: true + subkey: 123 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|--------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------| +| templateRepositoryUrl | Да | URL шаблонного репозитория | - | +| targetRepositoryUrl | Да | URL репозитория, который будет создан в результате выполнения действия | - | +| values | Да | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из целевого репозитория. Заполняется по аналогии с [.templateignore](#templateignore) | - | +| sourceTag | Нет | Тег шаблонного репозитория, который будет использоваться при шаблонизации. Если не указан, используется ветка шаблонного репозитория | - | +| sourceBranch | Нет | Ветка шаблонного репозитория, которая будет использоваться при шаблонизации | main | +| targetBranch | Нет | Ветка целевого репозитория, которая будет создана в результате выполнения действия | main | + +### Учётные данные + +* `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. +* `username` — имя пользователя, от которого будет запускаться выполнение действия. + +### Алгоритм работы + +Платформа: + +1. Клонирует шаблонный репозиторий по указанному URL (`templateRepositoryUrl`), используя в качестве ref либо `sourceTag`, либо `sourceBranch`, либо ветку `main`. +1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. +1. Считывает переменные, передаваемые при запуске действия, и делает их merge с переменными из `values.yaml`. Приоритет при merge отдаётся переменным, передаваемым при запуске действия. +1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. +1. Рендерит из шаблонов файлы, учитывая `values.yaml` и переданные в действие переменные. +1. Изменяет удалённый (remote) репозиторий на целевой (`targetRepositoryUrl`) и делает git push в целевую ветку (`targetBranch`), либо в основную ветку `main`. + +### Детали работы + +Действие поддерживает шаблонизацию имён директорий и файлов. Для этого необходимо в их название добавить выражение в формате [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax). +Например, директория `src/{{ .module }}/utils` при наличии value `module` со значением `example` будет отрендерена в директорию `src/example/utils` в целевом репозитории. + +Если после рендеринга из шаблона содержимое файла будет отсутствовать, файл не создаётся. Например, файл с содержимым: + +```go +{{- if .createContent }} +- Это контент, который будет отображаться, если переменная createContent == true +{{- end }} +``` + +не будет создан, если переменная `createContent` имеет значение `false`. Аналогичным образом, не будут созданы файлы, изначально являющиеся пустыми. + +При отсутствии переменных для шаблонизации одновременно в файле `values.yaml` и в переменных, передаваемых при запуске действия, рендеринг завершится с ошибкой и целевой репозиторий создан не будет. + +### Переменные шаблонного репозитория + +Для добавления переменных по умолчанию, используемых при шаблонизации, необходимо создать в корне репозитория файл values.yaml с соответствующим содержимым. + +Пример файла `values.yaml`: + +```yaml +module: example +createContent: false +``` + +Файл `values.yaml` является опциональным. + + + +### Исключение файлов + +Некоторые файлы могут содержать переменные в формате [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax), которые необходимо сохранять при рендеринге репозитория из шаблона, например, Helm-чарты в директории `helm`. Директория `.git` игнорируется всегда. + +Для исключения подобных файлов из механизма рендеринга следует добавить в корень репозитория файл `.templateignore` с соответствующим содержимым. + +В каждой строке `.templateignore` задаётся одно правило — путь или маска. Если в строке есть `{{`, вся строка выполняется как один шаблон Go с теми же переменными и функциями, что при подстановке в имена файлов и каталогов (подробнее — [«Как обрабатывается строка правила»](#templateignore-templates)). Если `{{` в строке нет, подстановка переменных из `values.yaml` и из запроса действия не делается: строка читается как есть и сравнивается с относительным путём на диске, допускаются литералы и символы маски `*` и `**`. + +Пример файла `.templateignore` только с масками пути, без шаблонов подстановки, для игнорирования содержимого директорий `helm`, `docs`: + +```sh +helm/** +docs/** +``` + +#### Добавление путей в игнор + +1. В корне шаблонного репозитория создайте или отредактируйте файл `.templateignore` (по одному правилу на строку). + +1. Каждая строка — это одно правило: путь от корня репозитория. В нём допускаются обычные символы пути и маски: звёздочка `*` в имени сегмента, последовательность `**` — для произвольной глубины вложенных каталогов. Платформа сопоставляет относительный путь с маской по встроенным правилам (аналогично распространённым соглашениям для масок в файлах игнорирования в системах контроля версий). + +1. Чтобы подставить фрагмент пути из `values.yaml` или из поля `values` запроса действия, используйте в строке конструкции Go template (`{{ ... }}`). Если в строке есть `{{`, платформа обрабатывает всю строку от начала до конца как один шаблон Go: нельзя оставить часть строки «простым текстом» и шаблонизировать только середину пути. Примеры — в разделе [«Примеры Go template в `.templateignore`»](#templateignore-go-examples). + +1. Пустые строки и строки, начинающиеся с `#`, при разборе файла пропускаются — их можно использовать для комментариев. + +#### Примеры без подстановки (только маски пути) + +Отдельные файлы в корне: + +```sh +package-lock.json +yarn.lock +LICENSE +.env.local +``` + +Каталоги целиком и типичные артефакты сборки: + +```sh +vendor/** +node_modules/** +dist/** +build/tmp/** +``` + +Вложенность по маске: + +```sh +docs/**/*.pdf +charts/*/values.schema.json +.github/workflows/** +``` + +Секреты по расширению во всём дереве: + +```sh +**/*.pem +**/*.key +``` + + + +#### Как обрабатывается строка правила + +Переменные для раскрытия правил те же, что объединены из `values.yaml` в корне шаблонного репозитория и из поля `values` в запросе действия (приоритет у `values` в запросе). + +Для каждой непустой строки из `.templateignore` или из файла из `additionalIgnoreFiles` платформа делает следующее. + +1. В список правил всегда попадает строка как в файле, без изменений. Именно её потом сравнивают с путём к файлу в первую очередь — это нужно, когда в именах на диске ещё есть фрагменты вроде `{{ .module }}` до переименования. + +1. Если в строке есть `{{`, платформа один раз прогоняет всю строку через шаблонизатор [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) с теми же возможностями, что при подстановке в имена файлов и каталогов (встроенные функции платформы и набор Sprig). Если `{{` в строке нет, этот шаг пропускают. + +1. Если шаг подстановки был и полученный текст отличается от строки в файле (включая случай «на выходе пусто»), в список правил добавляют вторую запись — уже с этим полученным текстом. Итого из одной строки файла может получиться две записи в списке. При проверке пути к файлу смотрят обе: достаточно совпадения с любой из них — файл попадает под правило. + +Дальше при обходе дерева для каждого пути к файлу вычисляется путь относительно корня клонированной копии (с прямыми слешами). Путь сравнивается с каждым правилом: сначала по правилам сопоставления с маской (в том числе с использованием `*` и `**`), при необходимости — по точному совпадению строки правила и относительного пути. + +Так одна строка в файле может задать два правила: например, исходное `charts/{{ .name }}/**` (чтобы не трогать путь до переименования каталогов), и раскрытое `charts/billing/**` (чтобы совпадало с путём после подстановки переменных в имена на диске). Поэтому правила работают и «до», и «после» этапа переименования каталогов по шаблону. + +Если шаблон в строке синтаксически неверен или обращается к отсутствующему полю, раскрытие правил завершается ошибкой, и рендер репозитория не продолжается. + +Поле `additionalIgnoreFiles` в действии задаёт имена дополнительных файлов в корне репозитория; в каждом из них — такие же строки-правила, как в `.templateignore`, с тем же раскрытием шаблонов. Но смысл другой: совпавшие пути убирают из рабочей копии (каталог или файл удаляют), и делают это дважды — в начале и в конце цепочки обработки, чтобы эти объекты не участвовали в дальнейших шагах и не попали в итоговый репозиторий. + +Файл `.templateignore`, наоборот, означает «не шаблонизировать»: для совпавших путей платформа не подставляет переменные в содержимое файлов и не применяет к соответствующим каталогам переименование по шаблону в пути. Сами файлы и каталоги при этом не удаляются только из‑за записи в `.templateignore` — они остаются в копии, но обрабатываются как обычный текст и обычные имена, без шага шаблонизации. + + + +#### Примеры Go template в `.templateignore` + +Ниже в каждом примере показаны фрагменты `values.yaml` (или эквивалентные поля в `values` запроса) и строки `.templateignore`. Несколько независимых правил задают несколькими строками файла: результат одной строки-шаблона — одна строка с маской; перевод строк внутри результата шаблона не делит правило на несколько. + +Имя каталога в правиле берётся из `values.yaml` или из `values` действия: + +`values.yaml`: + +```yaml +project: payment-gateway +``` + +`.templateignore`: + +```go +{{ .project }}/legacy/** +``` + +В набор правил попадут строки `{{ .project }}/legacy/**` и `payment-gateway/legacy/**`. + +Сегмент пути из переменной и статический хвост: + +`values.yaml`: + +```yaml +lang: ru +``` + +`.templateignore`: + +```go +apps/{{ .lang }}/messages.yaml +``` + +Условное правило в одной строке работает следующим образом: при `skipGenerated: false` подстановка даёт пустую строку, которая всё равно добавляется вторым правилом. Исходная строка с `{{` используется как маска пути и обычно не совпадает с реальными путями. При `skipGenerated: true` вторым правилом становится `generated/**`): + +`values.yaml`: + +```yaml +skipGenerated: false +``` + +`.templateignore`: + +```go +{{- if .skipGenerated }}generated/**{{- end }} +``` + +Вариант «игнорировать только не production»: + +`values.yaml`: + +```yaml +tier: staging +``` + +`.templateignore`: + +```go +{{- if ne .tier "prod" }}mock/**{{- end }} +``` + +Использование `printf` для сборки строки маски (удобно, если имя чарта в переменной): + +`values.yaml`: + +```yaml +chartName: wordpress +``` + +`.templateignore`: + +```go +{{ printf "charts/%s/**" .chartName }} +``` + +Значение по умолчанию для «пустого» значения — функция `default` из набора Sprig. Поле в данных должно существовать (иначе при раскрытии сработает `missingkey=error`); для «не задано в YAML» заведите ключ с пустой строкой или используйте условие `if` / `index`: + +`values.yaml`: + +```yaml +envName: "" +``` + +`.templateignore`: + +```go +{{ default "dev" .envName }}/secrets/** +``` + +При пустом `envName` в правило попадёт и `{{ default "dev" .envName }}/secrets/**`, и `dev/secrets/**`. + +Опциональный сегмент пути ([`with`](https://pkg.go.dev/text/template#hdr-Actions)): + +`values.yaml`: + +```yaml +analyticsModule: tracking +``` + +`.templateignore`: + +```go +{{ with .analyticsModule }}{{ . }}/vendor/**{{ end }} +``` + +Если `analyticsModule` пусто, шаблон даёт пустую строку (см. правила раскрытия выше). + +Доступ к полю вложенной структуры по строковому ключу [`index`](https://pkg.go.dev/text/template#hdr-Functions): + +`values.yaml`: + +```yaml +regions: + primary: eu-west +``` + +`.templateignore`: + +```go +configs/{{ index .regions "primary" }}/bootstrap.yaml +``` + +Удаление пробелов в сегменте имени — функция `trim` из набора Sprig: + +`values.yaml`: + +```yaml +serviceName: " billing-api " +``` + +`.templateignore`: + +```go +{{ trim .serviceName " " }}/logs/** +``` + +Несколько фрагментов в одной маске: + +`values.yaml`: + +```yaml +base: services +variant: canary +``` + +`.templateignore`: + +```go +{{ .base }}/{{ .variant }}/**/*.tmp +``` + +#### Примеры для `additionalIgnoreFiles` + +В спецификации действия перечисляются имена файлов в корне репозитория (например, `.ship-ignore`, `.ci-remove`). Формат строк внутри таких файлов тот же: комментарии `#`, пустые строки, маски пути, при необходимости — шаблоны Go в строках. + +Файл `.ship-ignore` в шаблоне: + +```sh +# не попадает в целевой репозиторий +local/fixtures/** +scratchpad.md +``` + +Фрагмент запроса действия: + +```yaml +additionalIgnoreFiles: + - .ship-ignore +``` + +Шаблон в файле для `additionalIgnoreFiles` (удаление каталога, имя из переменных): + +Файл `.env-drop` в корне шаблона: + +```go +{{ .obsoleteDir }}/** +``` + +При `obsoleteDir: legacy-ui` из `values` после раскрытия в списке удаления окажутся и `{{ .obsoleteDir }}/**`, и `legacy-ui/**` — совпавшие пути будут удалены из копии перед финальными шагами. + +{{< alert level="info" >}} +Не путайте назначение: `.templateignore` оставляет файлы на диске, но отключает для них переименование пути и рендер содержимого; списки из `additionalIgnoreFiles` удаляют совпавшие пути из рабочей копии. +{{< /alert >}} + +### Пример структуры директорий шаблонного репозитория + +```sh +├── example-folder-01 +│ ├── example-file-01 +│ └── {{ .example }}-file-02 +├── {{ .example }}-folder-02 +│ └── ... +├── values.yaml +└── .templateignore +``` + +Если переменная `example` при рендере репозитория примет значение `new`, то итоговая структура после рендера будет выглядеть следующим образом: + +```sh +├── example-folder-01 +│ ├── example-file-01 +│ └── new-file-02 +├── new-folder-02 +│ └── ... +├── values.yaml +└── .templateignore +``` + + + +### Локальная отладка + +Для локальной отладки шаблонов доступна утилита `ddp-render-dir`. + +Утилита: + +1. Создаёт копию исходной директории. +1. Выполняет рендеринг файлов в этой директории по тем же правилам, что и действие создания репозиториев из шаблонов. + +Ключи командной строки для запуска: + +* `--source-dir` — исходная директория, которую необходимо отрендерить. +* `--target-dir` — директория, в которую будет помещен результат рендеринга. +* `--values` (опционально) — путь к файлу `values.yaml` с переменными, которые будут использоваться при рендеринге. +* `--ignore-files` (опционально) — список файлов, содержащих пути для исключения из целевого репозитория. + +## CreateGitlabBranches + +CreateGitlabBranches — создаёт новые ветки в целевом репозитории. + +### Пример запроса + +```yaml +project_id: '0' +branches: + - branch: new-branch + ref: main +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------|----------------|------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать ветки | +| branches | Да | Список создаваемых веток | +| branches.branch | Да | Название новой ветки | +| branches.ref | Да | Название существующей ветки или SHA-хеш коммита | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/branches`. В случае успешного создания проекта GitLab возвращает информацию о созданных ветках. + +## CreateGitlabGroupVariables + +CreateGitlabGroupVariables — создаёт переменные (variables) на уровне группы в GitLab. + +### Пример запроса + +```yaml +group_id: '0' +variables: + - key: EXAMPLE_VARIABLE + value: value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------|----------------|------------------------------------------------------------------------------| +| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | + +Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации Gitlab](https://docs.gitlab.com/api/group_level_variables/#create-variable). + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/groups/:id/variables`. + +## CreateGitlabMergeRequest + +CreateGitlabMergeRequest — создаёт новый Merge Request (MR) в целевом репозитории. В Merge Request добавляются файлы, хранящиеся в репозитории-источнике. Файлы могут содержать переменные, значение которых будет подставлено в момент создания MR. + +### Пример запроса + +```yaml +source_project_id: '0' +source_project_branch: example +source_project_tag: v1.0.0 +target_project_id: '0' +merge_request_spec: + source_branch: example + target_branch: '1' + title: example +additionalIgnoreFiles: + - .ignore + - .example +values: + key1: value1 + nested: + enabled: true + subkey: 123 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|-------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------------| +| source_project_id | Да | Идентификатор проекта, который служит источником для Merge Request | - | +| target_project_id | Да | Идентификатор целевого проекта, в котором будет сформирован Merge Request | - | +| merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | +| source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | +| source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](#templateignore) | - | +| values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | + +### Учётные данные + +* `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. +* `username` — имя пользователя, от которого будет запускаться выполнение действия. + +### Алгоритм работы + +Платформа: + +1. Клонирует репозиторий-шаблон для генерации MR по его идентификатору (`source_project_id`). Подробнее [о шаблонизации](#детали-работы). +1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. +1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет отдаётся переменным, передаваемым при запуске действия. +1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. +1. Рендерит файлы из шаблонов, учитывая `values.yaml` и переданных в действие переменных. +1. Изменяет удалённый (remote) репозиторий на целевой, согласно его ID (`target_project_id`), и выполняет git push в целевую ветку (`source_project_branch`), либо в основную ветку `main`. +1. Создаёт MR согласно заданным настройкам путём отправки POST-запроса в GitLab API. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/merge_requests`. + +## CreateGitlabProject + +CreateGitlabProject — создаёт новый проект в GitLab. Действие осуществляет вызов GitLab API для создания проекта с указанными параметрами, такими как название, путь проекта, описание и другие настройки. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. + +### Пример запроса + +```yaml +name: example +path: example +description: example +default_branch: main +initialize_with_readme: false +namespace_id: '0' +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|------------------------|----------------|--------------------------------------------------------------------------------------------|-----------------------| +| name | Да | Название проекта, который будет создан в GitLab | - | +| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | +| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | +| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | +| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | +| description | Нет | Описание проекта, которое будет видно пользователям | - | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects`, передавая параметры запроса в формате JSON. В случае успешного создания проекта GitLab возвращает данные о вновь созданном проекте. + +## CreateGitlabProjectVariables + +CreateGitlabProjectVariables — создаёт переменные на уровне проекта в GitLab. + +### Пример запроса + +```yaml +project_id: '0' +variables: + - key: EXAMPLE_VARIABLE + value: value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------|----------------|------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | + +Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации Gitlab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/variables`. + +## CreateGitlabProjectWebhook + +CreateGitlabProjectWebhook — создаёт вебхук в проекте GitLab. + +### Пример запроса + +```yaml +project_id: '0' +url: https://example.com +push_events: true +issues_events: true +merge_requests_events: true +pipeline_events: true +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------------------|------------------|------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | +| url | Да | URL-адрес вебхука | +| push_events | Да | Запускать вебхук при push в репозиторий | +| issues_events | Да | Запускать вебхук при создании Issue | +| merge_request_events | Да | Запускать вебхук при создании Merge Request | +| pipeline_events | Да | Запускать вебхук при запуске Pipeline | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/hooks`. + +## CreateGitlabTag + +CreateGitlabTag — создаёт новый тег в проекте GitLab. + +### Пример запроса + +```yaml +project_id: '0' +tag_name: v1.0.0 +ref: main +message: Tag description +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------------------|----------------|-------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | +| tag_name | Да | Название тега | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | +| message | Да | Описание тега | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/tags`. + +## CreateGitlabRelease + +CreateGitlabRelease — создаёт релиз GitLab на основе уже существующего тега. + +### Пример запроса + +```yaml +project_id: '0' +tag_name: v1.0.0 +name: Release v1.0.0 +description: | + ## Изменения: + - Новая функция. + - Исправления ошибок. +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|--------------|----------------|--------------------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | +| tag_name | Да | Название существующего тега, на основе которого формируется релиз | +| name | Да | Название релиза, отображаемое в GitLab | +| description | Нет | Описание релиза в формате Markdown | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/releases`. + +## StartGitlabPipeline + +StartGitlabPipeline — запускает выполнение пайплайна в GitLab. + +### Пример запроса + +```yaml +project_id: 0 +ref: main +variables: + - key: example-key + value: example-value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|---------------------------|------------------|------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо запустить пайплайн | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на котором будет запущен пайплайн | +| variables | Нет | Список переменных, которые необходимо передать в запускаемый пайплайн | +| variables.key | Да | Название переменной | +| variables.value | Да | Значение переменной | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/pipeline`. + +## DeleteGitlabProject + +DeleteGitlabProject — удаляет существующий проект в GitLab. Действие осуществляет вызов GitLab API для удаления проекта. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. + +### Пример запроса + +```yaml +project_id: 0 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|---------------------------|----------------|----------------------------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, который необходимо удалить | + +### Учётные данные + +* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. + +### Примечание + +Действие осуществляет DELETE-запрос по URL: `/api/v4/projects/:id`. diff --git a/content/documentation/admin/actions/kafka.ru.md b/content/documentation/admin/actions/kafka.ru.md new file mode 100644 index 00000000..532ca8c0 --- /dev/null +++ b/content/documentation/admin/actions/kafka.ru.md @@ -0,0 +1,374 @@ +--- +title: Kafka +--- + +# Kafka + +## Топики + +- CreateKafkaTopics +- DeleteKafkaTopics + +## Пользователи + +- CreateKafkaUsers +- DeleteKafkaUsers + +## ACL + +- CreateKafkaACLs +- DeleteKafkaACLs + +## CreateKafkaTopics + +CreateKafkaTopics — создаёт новые топики в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +partitions: 1 +replication_factor: 1 +configs: {} +topics: + - example_1 + - example_2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| partitions | Да | Количество разделов (партиций), на которые будет разделён топик | - | +| replication_factor | Да | Количество копий (реплик) каждой партиции топика, которые необходимо разместить на разных брокерах | - | +| configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | +| topics | Да | Список названий топиков, которые необходимо создать | - | + +### Учётные данные + +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. + +## DeleteKafkaTopics + +DeleteKafkaTopics — удаляет существующие топики в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +topics: + - example_1 + - example_2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|----------------|-----------------------------------------------------|-----------------------------------------| +| auth_type | Да | Тип авторизации в Kafka | PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512 | +| topics | Да | Список названий топиков, которые необходимо удалить | - | + +### Учётные данные + +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. + +## CreateKafkaUsers + +CreateKafkaUsers — создаёт новых пользователей SASL/SCRAM в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +users: + - user: example_user_1 + password: example_password_user_1 + mechanism: SCRAM-SHA-256 + iterations: 4096 + - user: example_user_2 + password: example_password_user_2 + mechanism: SCRAM-SHA-256 + iterations: 4096 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|-------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| users | Да | Набор пользователей, которых необходимо создать | - | +| users.user | Да | Имя создаваемого пользователя | - | +| users.password | Да | Пароль создаваемого пользователя | - | +| users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | +| users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | + +### Учётные данные + +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. + +## DeleteKafkaUsers + +DeleteKafkaUsers — удаляет существующих пользователей SASL/SCRAM в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +users: + - user: example_user_1 + mechanism: SCRAM-SHA-256 + - user: example_user_2 + mechanism: SCRAM-SHA-256 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|-------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| users | Да | Набор пользователей, которых необходимо удалить | - | +| users.user | Да | Имя удаляемого пользователя | - | +| users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | + +### Учётные данные + +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. + +## CreateKafkaACLs + +CreateKafkaACLs — создаёт новый набор ACL в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +acls: + - topics: + - example_1 + allow: + - User:principal_2 + - Group:principal_3 + deny: + - User:principal_4 + - Group:principal_5 + ops: + - CREATE + - READ + - WRITE + - DELETE + - DESCRIBE + - DESCRIBE_CONFIGS + - ALTER + pattern: LITERAL + - topics: + - example_6 + allow: + - User:principal_7 + allow_hosts: + - 127.0.0.1 + deny: + - User:principal_8 + deny_hosts: + - 127.0.0.1 + ops: + - CREATE + pattern: LITERAL +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|-------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо создать | - | - | +| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | +| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | +| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | +| acls.allow | Нет | Список хостов, для которых разрешается операция | - | - | +| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | +| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | + +### Учётные данные + +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. + +### Список возможных шаблонов + +* ANY. +* MATCH. +* LITERAL. +* PREFIXED. + +### Список возможных операций + +Подробнее — [в документации Kafka](https://kafka.apache.org). + +Topic: + +* ALL. +* ALTER. +* ALTER_CONFIGS. +* CREATE. +* DELETE. +* DESCRIBE. +* DESCRIBE_CONFIGS. +* READ. +* WRITE. + +Group: + +* ALL. +* DELETE. +* DESCRIBE. +* READ. + +TransactionalID: + +* ALL. +* DESCRIBE. +* WRITE. + +Tokens: + +* DESCRIBE. + +## DeleteKafkaACLs + +DeleteKafkaACLs — удаляет набор ACL в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +acls: + - topics: + - example_1 + allow: + - User:principal_2 + - Group:principal_3 + allow_hosts: + - 127.0.0.1 + deny: + - User:principal_4 + - Group:principal_5 + deny_host: + - 127.0.0.1 + ops: + - CREATE + - READ + - WRITE + - DELETE + - DESCRIBE + - DESCRIBE_CONFIGS + - ALTER + pattern: LITERAL + - any_topic: true + any_group: true + any_transactional_id: true + any_allow: true + any_allow_hosts: true + any_deny: true + any_deny_hosts: true + ops: + - ANY + pattern: ANY + - any_resource: true + any_allow: true + any_allow_hosts: true + any_deny: true + any_deny_hosts: true + ops: + - ANY + pattern: ANY +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|---------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо создать | - | - | +| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.any_resource | Нет | Все ресурсы | - | false | +| acls.topics | Нет | Список из названий топиков, для которых применять правило | - | - | +| acls.any_topic | Нет | Все топики | - | false | +| acls.groups | Нет | Список из названий групп, для которых применять правило | - | - | +| acls.any_group | Нет | Все топики | - | false | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых применять правило | - | - | +| acls.any_transactional_id | Нет | Любая транзакция | - | false | +| acls.tokens | Нет | Список токенов, для которых применять правило | - | - | +| acls.any_token | Нет | Все токены | - | false | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | +| acls.any_allow | Нет | Любой принципал (user, group) | - | false | +| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | +| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | +| acls.deny | Нет | Список принципалов (user, group), для которых запретить правило | - | - | +| acls.any_deny | Нет | Любой принципал (user, group) | - | false | +| acls.deny_hosts | Нет | Список хостов, для которых запретить операцию | - | - | +| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | + +### Учётные данные + +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. + +### Список возможных pattern + +* ANY. +* MATCH. +* LITERAL. +* PREFIXED. + +### Список возможных операций + +Подробное описание — [в документации Kafka](https://kafka.apache.org/39/documentation/#operations_resources_and_protocols). + +Topic: + +* ALL. +* ALTER. +* ALTER_CONFIGS. +* CREATE. +* DELETE. +* DESCRIBE. +* DESCRIBE_CONFIGS. +* READ. +* WRITE. + +Group: + +* ALL. +* DELETE. +* DESCRIBE. +* READ. + +TransactionalID: + +* ALL. +* DESCRIBE. +* WRITE. + +Token: + +* DESCRIBE. diff --git a/content/documentation/admin/actions/keycloak.ru.md b/content/documentation/admin/actions/keycloak.ru.md new file mode 100644 index 00000000..59163767 --- /dev/null +++ b/content/documentation/admin/actions/keycloak.ru.md @@ -0,0 +1,41 @@ +# Keycloak + +## Содержание + +- CreateKeycloakClient + +## CreateKeycloakClient + +CreateKeycloakClient — создаёт нового клиента в Keycloak. + +### Пример запроса + +```yaml +realm: master +config: + clientId: example + name: example + enabled: true + clientAuthenticatorType: client-secret + secret: secret + defaultClientScopes: + - roles + - profile + - email + optionalClientScopes: + - address + - phone + - offline_access +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|----------|----------------|----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| +| realm | Да | Realm в Keycloak, где требуется создать клиента | - | +| config | Да | Параметры создаваемого клиента в соответствии со [спецификацией ClientRepresentation Keycloak](https://www.keycloak.org/docs-api/latest/rest-api/index.html#ClientRepresentation) | - | + +### Учётные данные + +* `username` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. diff --git a/content/documentation/admin/actions/kubernetes.ru.md b/content/documentation/admin/actions/kubernetes.ru.md new file mode 100644 index 00000000..fe569ddb --- /dev/null +++ b/content/documentation/admin/actions/kubernetes.ru.md @@ -0,0 +1,146 @@ +# Kubernetes + +## Содержание + +- CreateKubernetesResource +- GetKubernetesResource +- DeleteKubernetesResource + +## CreateKubernetesResource + +CreateKubernetesResource — создаёт новый ресурс или ресурсы в кластере Kubernetes или обновляет существующие. + +### Пример запроса + +```yaml +manifests: + - apiVersion: v1 + kind: Namespace + metadata: + name: example1 + - apiVersion: v1 + kind: Namespace + metadata: + name: example2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------------------------|----------------|----------------------------------------------------------------------------------------------------| +| manifests | Да | Манифесты Kubernetes, которые будут применены | + +### Учётные данные + +* `token` — токен сервисного аккаунта в Kubernetes. + +## GetKubernetesResource + +GetKubernetesResource — получает ресурс из Kubernetes кластера. + +### Пример запроса + +```yaml +group: managed-services.deckhouse.io +version: v1alpha1 +resource_type: postgres +resource_name: example-postgres +namespace: default +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| resource_type | Да | Название ресурса во множественном числе, как в поле NAME вывода команды `kubectl api-resources` | - | +| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | + +### Ответ + +При успешном выполнении действие возвращает объект ресурса в поле `resource`. Если ресурс не найден, действие завершается с ошибкой. + +| Название | Описание | +|------------|-----------------------------------------------| +| `resource` | Объект ресурса в формате Kubernetes | + +### Учётные данные + +* `token` — токен сервисного аккаунта в Kubernetes. + +## DeleteKubernetesResource + +DeleteKubernetesResource — удаляет существующий ресурс в кластере Kubernetes. + +### Пример запроса + +```yaml +group: apps +version: v1 +resource_type: deployments +resource_name: nginx-deployment +namespace: example +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|-----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| group | Да | API-группа ресурса. Указывает, к какой группе API относится удаляемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| resource_type | Да | Тип удаляемого ресурса | pods, services, deployments, statefulsets, daemonsets, replicasets, jobs, cronjobs, nodes, namespaces, configmaps, secrets, persistentvolumes, persistentvolumeclaims, limitranges, resourcequotas, horizontalpodautoscalers, ingresses, networkpolicies, serviceaccounts, roles, clusterroles, rolebindings, clusterrolebindings, podsecuritypolicies, storageclasses, volumeattachments, events, endpoints, customresourcedefinitions | +| resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | + +### Учётные данные + +* `token` — токен сервисного аккаунта в Kubernetes. + +### Определение требуемых Group и Version + +Каждому типу ресурса соответствует своя группа API (Group) и версия (Version). +Полный список API-ресурсов с их группами и версиями приведён [в документации Kubernetes](https://kubernetes.io/docs/reference/kubernetes-api/). + +Если неизвестно, какие требуются Group и Version, можно использовать актуальные значения. +Существует несколько способов их определить: + +#### С помощью утилиты `d8 k` + +Команда `d8 k explain` показывает `apiVersion` для ресурса. + +Пример: + +```bash +d8 k explain deployment +``` + +Вывод: + +```yaml +GROUP: apps +KIND: Deployment +VERSION: v1 + +DESCRIPTION: + Deployment enables declarative updates for Pods and ReplicaSets. + +FIELDS: +... +``` + +#### С помощью документации + +Как искать в документации: + +1. Найдите нужный ресурс (например, Deployment). +1. В заголовке будет указана API Group и версия. Пример для Deployment: + + ```yaml + apiVersion: apps/v1 + ``` + + Здесь: + * «API Group» — apps; + * «Version» — v1. \ No newline at end of file diff --git a/content/documentation/admin/actions/nexus.ru.md b/content/documentation/admin/actions/nexus.ru.md new file mode 100644 index 00000000..9ed307cf --- /dev/null +++ b/content/documentation/admin/actions/nexus.ru.md @@ -0,0 +1,364 @@ +# Nexus Repository + +## Содержание + +- CreateNexusRepository + +## CreateNexusRepository + +`CreateNexusRepository` — создаёт новый репозиторий любого поддерживаемого типа (maven, docker, npm и др.) в Nexus Repository Manager 3 с помощью REST API. +Параметры формата, типа и другие ключевые настройки полностью настраиваются и соответствуют Nexus API. + +### Пример запроса (Maven hosted) + +```yaml +description: | + Maven hosted repo for internal Java build artifacts. +name: my-maven-repo +format: maven +type: hosted +online: true +storage: + blobStoreName: default + strictContentTypeValidation: true + writePolicy: ALLOW +cleanup: + policyNames: + - maven-cleanup +maven: + versionPolicy: RELEASE + layoutPolicy: PERMISSIVE +``` + +### Пример запроса (Docker group) + +```yaml +description: | + Docker group repo aggregating hosted+proxy. +name: my-docker-group +format: docker +type: group +online: true +storage: + blobStoreName: default + strictContentTypeValidation: true +group: + memberNames: + - docker-hosted + - docker-proxy +docker: + v1Enabled: false + forceBasicAuth: true + httpPort: 5001 +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | Пример | +|-------------|-----------------|---------------------------------------------------------------------------------------------------|----------------------------------------| +| `description` | Нет | Документация по назначению этого действия/репозитория. Не используется самим Nexus, только для UI | - | +| `name` | Да | Название создаваемого репозитория. Должно быть уникальным в рамках Nexus | my-maven-repo | +| `format` | Да | Формат (`maven`, `docker`, `npm`, `raw` и т. д.) | maven | +| `type` | Да | Тип: `hosted`, `proxy` или `group` | hosted | +| `online` | Да | Доступен ли репозиторий (`true`/`false`) | true | +| `storage` | Да | Объект storage: `blobStoreName`, `strictContentTypeValidation`, `writePolicy` | [Пример](#пример-запроса-maven-hosted) | +| `cleanup` | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | +| `maven` | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | +| `proxy` | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | +| `group` | Для group | Список включённых memberNames | [Пример](#пример-запроса-docker-group) | +| `docker` | Для docker | docker-specific: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | +| `component` | Очень редко | Только для некоторых нестандартных сценариев | - | +| `attributes`| Нет | Любые кастомные поля | - | + +### Требования + +- Используйте только те блоки (`maven`, `group`, `proxy`, `docker` и пр.), которые поддерживаются для вашего типа/формата. +- Для maven hosted обязательно `maven: {versionPolicy, layoutPolicy}`. +- Для group — обязательно `group.memberNames`. +- Для proxy — обязательно `proxy.remoteUrl`. +- Для docker — специфичные поля в `docker`. + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## DeleteNexusRepository + +`DeleteNexusRepository` — удаляет существующий репозиторий из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +name: my-repo-to-delete +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------|-----------------|------------------------------------------| +| `name` | Да | Название репозитория, который требуется удалить | + +### Алгоритм + +- Выполняется `DELETE` по адресу `/service/rest/v1/repositories/{name}`, где `{name}` — это значение поля `name`. +- Если репозиторий найден и удалён — возвращается 204. +- Если не найден — возвращается ошибка 404. + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## CreateNexusPrivilege + +CreateNexusPrivilege — создаёт новую привилегию в Nexus Repository Manager 3. Привилегии определяют права доступа к репозиториям и другим ресурсам Nexus. + +### Пример запроса (repository-view) + +```yaml +name: example-privilege +description: Example privilege description +type: repository-view +actions: + - READ + - BROWSE +format: maven2 +repository: maven-releases +``` + +### Пример запроса (repository-content-selector) + +```yaml +name: content-selector-privilege +description: Privilege with content selector +type: repository-content-selector +actions: + - READ +format: maven2 +repository: maven-releases +contentSelector: my-content-selector +``` + +### Пример запроса (wildcard) + +```yaml +name: wildcard-privilege +description: Wildcard privilege +type: wildcard +pattern: nx-* +actions: + - READ +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| name | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | +| description | Нет | Описание привилегии | +| type | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | +| actions | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | +| format | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| repository | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| contentSelector | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | +| pattern | Нет | Шаблон для типа `wildcard` | +| domain | Нет | Домен для типа `application` | +| attributes | Нет | Дополнительные атрибуты в формате ключ-значение | + +### Примечание + +Для типа `repository-content-selector` селектор контента должен существовать в Nexus до создания привилегии. Если селектор контента не указан или невалиден, действие автоматически преобразует тип привилегии в `repository-view`. + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## AssignNexusPrivilege + +AssignNexusPrivilege — назначает привилегии существующей роли в Nexus Repository Manager 3. Действие получает текущую конфигурацию роли и объединяет существующие привилегии с новыми. + +### Пример запроса + +```yaml +roleId: example-role +privileges: + - example-privilege + - another-privilege +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------------|-----------------|------------------------------------------------------------------------------| +| roleId | Да | Идентификатор роли, которой назначаются привилегии | +| privileges | Да | Список названий привилегий, которые необходимо назначить роли | + +### Алгоритм работы + +1. Получает текущую конфигурацию роли из Nexus. +1. Объединяет существующие привилегии роли с новыми привилегиями из запроса. +1. Обновляет роль с объединённым списком привилегий. + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +### Примечание + +Роль должна существовать в Nexus до назначения привилегий. Если роль не найдена, действие завершится с ошибкой. Все указанные привилегии также должны существовать в Nexus. + +## DeleteNexusPrivilege + +DeleteNexusPrivilege — удаляет привилегию из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +name: example-privilege +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------|-----------------|---------------------------------------------| +| name | Да | Название привилегии, которую требуется удалить | + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## CreateNexusRole + +CreateNexusRole — создаёт новую роль в Nexus Repository Manager 3. Роли объединяют привилегии и могут включать другие роли. + +### Пример запроса + +```yaml +id: example-role +name: Example Role +description: Example role description +privileges: + - nx-repository-view-*-*-read + - nx-repository-view-maven2-*-browse +roles: [] +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|-------------|-----------------|------------------------------------------------------------------------------| +| id | Да | Уникальный идентификатор роли | +| name | Да | Название роли | +| description | Нет | Описание роли | +| privileges | Нет | Список названий привилегий, которые назначаются роли | +| roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## AssignNexusRole + +AssignNexusRole — назначает роли существующему пользователю в Nexus Repository Manager 3. Действие получает текущую конфигурацию пользователя и объединяет существующие роли с новыми. + +### Пример запроса + +```yaml +userId: example-user +roles: + - example-role + - another-role +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|--------|-----------------|---------------------------------------------------------------| +| userId | Да | Идентификатор пользователя, которому назначаются роли | +| roles | Да | Список идентификаторов ролей, которые необходимо назначить пользователю | + +### Алгоритм работы + +1. Получает текущую конфигурацию пользователя из Nexus. +1. Объединяет существующие роли пользователя с новыми ролями из запроса. +1. Обновляет пользователя с объединённым списком ролей. + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +### Примечание + +Пользователь должен существовать в Nexus до назначения ролей. Если пользователь не найден, действие завершится с ошибкой. Все указанные роли также должны существовать в Nexus. + +## DeleteNexusRole + +DeleteNexusRole — удаляет роль из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +id: example-role +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------|-----------------|-----------------------------------------| +| id | Да | Идентификатор роли, которую требуется удалить | + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## CreateNexusUser + +CreateNexusUser — создаёт нового пользователя в Nexus Repository Manager 3. + +### Пример запроса + +```yaml +userId: example-user +firstName: First +lastName: Last +emailAddress: user@example.com +password: password +status: active +roles: + - nx-admin +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|-------------|-----------------|------------------------------------------------------------------------------| +| userId | Да | Уникальный идентификатор пользователя | +| firstName | Да | Имя пользователя | +| lastName | Да | Фамилия пользователя | +| emailAddress| Да | Email-адрес пользователя | +| password | Да | Пароль пользователя | +| status | Да | Статус пользователя: `active` или `disabled` | +| roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. + +## DeleteNexusUser + +DeleteNexusUser — удаляет пользователя из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +userId: example-user +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|--------|-----------------|---------------------------------------------| +| userId | Да | Идентификатор пользователя, которого требуется удалить | + +### Учётные данные + +* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. diff --git a/content/documentation/admin/actions/sonarqube.ru.md b/content/documentation/admin/actions/sonarqube.ru.md new file mode 100644 index 00000000..ec350999 --- /dev/null +++ b/content/documentation/admin/actions/sonarqube.ru.md @@ -0,0 +1,86 @@ +# SonarQube + +## Содержание + +- CreateSonarqubeProject +- DeleteSonarqubeProject +- DeleteSonarqubeProjects + +## CreateSonarqubeProject + +CreateSonarqubeProject — создаёт новый проект в SonarQube. +Действие использует SonarQube Web API для создания проекта с указанными параметрами, такими как ключ (project key), название проекта, главная ветка, параметры определения нового кода (new code definition) и видимость проекта. Аутентификация осуществляется с использованием SonarQube token, который должен быть передан в учётных данных. + +### Пример запроса + +```yaml +project: example-project +name: example-project +mainBranch: develop +newCodeDefinitionType: NUMBER_OF_DAYS +newCodeDefinitionValue: '30' +visibility: public +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|-------------------------|----------------|-------------------------------------------------------------------------------------------------|----------------------------------------------------|------------------------| +| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | +| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | +| mainBranch | Нет | Название главной ветки проекта | - | master | +| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | +| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | +| visibility | Нет | Видимость проекта | private, public | private | + +### Учётные данные + +* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. + +## DeleteSonarqubeProject + +DeleteSonarqubeProject — удаляет проект из SonarQube. + +### Пример запроса + +```yaml +project: example-project +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|------------------|------------------|-----------------------------------------------------------------|------------------------| +| project | Да | Идентификатор (Project Key) проекта, который необходимо удалить | - | + +### Учётные данные + +* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. + +## DeleteSonarqubeProjects + +DeleteSonarqubeProjects — удаляет один или несколько проектов из SonarQube. + +### Пример запроса + +```yaml +analyzedBefore: 2017-10-19T13:00:00+0200 +onProvisionedOnly: 'false' +projects: example_project,another_project +q: example +qualifiers: TRK +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Примеры значений | +|--------------------|------------------|---------------------------------------------------------------------------------|-------------------------------|---------------------------------------| +| analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | +| onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | +| projects | Нет | Список ключей проектов, который необходимо удалить | - | my_project, another_project | +| q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | +| qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | + +### Учётные данные + +* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. diff --git a/content/documentation/admin/actions/types.ru.md b/content/documentation/admin/actions/types.ru.md index 4bbaa7dc..ca768257 100644 --- a/content/documentation/admin/actions/types.ru.md +++ b/content/documentation/admin/actions/types.ru.md @@ -2,1973 +2,4 @@ title: Типы действий --- -## CreateDefectdojoEngagement -CreateDefectdojoEngagement — создаёт новый engagement в системе DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -name: example engagement -product: '1' -target_start: '2024-06-01' -target_end: '2024-06-30' -lead: '1' -``` - -### Спецификация запроса - -Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). - -### Учётные данные - -* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. - -## CreateDefectdojoProduct - -CreateDefectdojoProduct — создаёт новый продукт в системе DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -name: example -description: example description -prod_type: 1 -``` - -### Спецификация запроса - -Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). - -### Учётные данные - -* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. - -## CreateGitlabBranches - -CreateGitlabBranches — создаёт новые ветки в целевом репозитории. - -### Пример запроса - -```yaml -project_id: '0' -branches: - - branch: new-branch - ref: main -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать ветки | -| branches | Да | Список создаваемых веток | -| branches.branch | Да | Название новой ветки | -| branches.ref | Да | Название существующей ветки или SHA-хеш коммита | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие корректных реквизитов токена GitLab. Этот токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/branches`. В случае успешного создания проекта GitLab возвращает информацию о созданных ветках. - -## CreateGitlabGroupVariables - -CreateGitlabGroupVariables — создаёт переменные (variables) на уровне группы в GitLab. - -### Пример запроса - -```yaml -group_id: '0' -variables: - - key: EXAMPLE_VARIABLE - value: value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | - -Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации Gitlab](https://docs.gitlab.com/api/group_level_variables/#create-variable). - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/groups/:id/variables`. - -## CreateGitlabMergeRequest - -CreateGitlabMergeRequest — создаёт новый Merge Request (MR) в целевом репозитории. В Merge Request добавляются файлы, хранящиеся в репозитории-источнике. Файлы могут содержать переменные, значение которых будет подставлено в момент создания MR. - -### Пример запроса - -```yaml -source_project_id: '0' -source_project_branch: example -source_project_tag: v1.0.0 -target_project_id: '0' -merge_request_spec: - source_branch: example - target_branch: '1' - title: example -additionalIgnoreFiles: - - .ignore - - .example -values: - key1: value1 - nested: - enabled: true - subkey: 123 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|-------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| source_project_id | Да | Идентификатор проекта, который служит источником для Merge Request | - | -| target_project_id | Да | Идентификатор целевого проекта, в котором будет сформирован Merge Request | - | -| merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | -| source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | -| source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](#templateignore) | - | -| values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | - -### Учётные данные - -* `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. -* `username` — имя пользователя, от которого будет запускаться выполнение действия. - -### Алгоритм работы - -Платформа: - -1. Клонирует репозиторий-шаблон для генерации MR по его идентификатору (`source_project_id`). Подробнее [о шаблонизации](#детали-работы). -1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. -1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет отдаётся переменным, передаваемым при запуске действия. -1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. -1. Рендерит файлы из шаблонов, учитывая `values.yaml` и переданных в действие переменных. -1. Изменяет удалённый (remote) репозиторий на целевой, согласно его ID (`target_project_id`), и выполняет git push в целевую ветку (`source_project_branch`), либо в основную ветку `main`. -1. Создаёт MR согласно заданным настройкам путём отправки POST-запроса в GitLab API. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/merge_requests`. - -## CreateGitlabProject - -CreateGitlabProject — создаёт новый проект в GitLab. Действие осуществляет вызов GitLab API для создания проекта с указанными параметрами, такими как название, путь проекта, описание и другие настройки. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. - -### Пример запроса - -```yaml -name: example -path: example -description: example -default_branch: main -initialize_with_readme: false -namespace_id: '0' -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------------|----------------|--------------------------------------------------------------------------------------------|-----------------------| -| name | Да | Название проекта, который будет создан в GitLab | - | -| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | -| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | -| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | -| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | -| description | Нет | Описание проекта, которое будет видно пользователям | - | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects`, передавая параметры запроса в формате JSON. В случае успешного создания проекта GitLab возвращает данные о вновь созданном проекте. - -## CreateGitlabProjectVariables - -CreateGitlabProjectVariables — создаёт переменные на уровне проекта в GitLab. - -### Пример запроса - -```yaml -project_id: '0' -variables: - - key: EXAMPLE_VARIABLE - value: value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | - -Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации Gitlab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/variables`. - -## CreateGitlabProjectWebhook - -CreateGitlabProjectWebhook — создаёт вебхук в проекте GitLab. - -### Пример запроса - -```yaml -project_id: '0' -url: https://example.com -push_events: true -issues_events: true -merge_requests_events: true -pipeline_events: true -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------|------------------|------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | -| url | Да | URL-адрес вебхука | -| push_events | Да | Запускать вебхук при push в репозиторий | -| issues_events | Да | Запускать вебхук при создании Issue | -| merge_request_events | Да | Запускать вебхук при создании Merge Request | -| pipeline_events | Да | Запускать вебхук при запуске Pipeline | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/hooks`. - -## CreateGitlabTag - -CreateGitlabTag — создаёт новый тег в проекте GitLab. - -### Пример запроса - -```yaml -project_id: '0' -tag_name: v1.0.0 -ref: main -message: Tag description -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------|----------------|-------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | -| tag_name | Да | Название тега | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | -| message | Да | Описание тега | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/tags`. - -## CreateGitlabRelease - -CreateGitlabRelease — создаёт релиз GitLab на основе уже существующего тега. - -### Пример запроса - -```yaml -project_id: '0' -tag_name: v1.0.0 -name: Release v1.0.0 -description: | - ## Изменения: - - Новая функция. - - Исправления ошибок. -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|--------------|----------------|--------------------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | -| tag_name | Да | Название существующего тега, на основе которого формируется релиз | -| name | Да | Название релиза, отображаемое в GitLab | -| description | Нет | Описание релиза в формате Markdown | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/releases`. - -## CreateKafkaACLs - -CreateKafkaACLs — создаёт новый набор ACL в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -acls: - - topics: - - example_1 - allow: - - User:principal_2 - - Group:principal_3 - deny: - - User:principal_4 - - Group:principal_5 - ops: - - CREATE - - READ - - WRITE - - DELETE - - DESCRIBE - - DESCRIBE_CONFIGS - - ALTER - pattern: LITERAL - - topics: - - example_6 - allow: - - User:principal_7 - allow_hosts: - - 127.0.0.1 - deny: - - User:principal_8 - deny_hosts: - - 127.0.0.1 - ops: - - CREATE - pattern: LITERAL -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|-------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо создать | - | - | -| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | -| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | -| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | -| acls.allow | Нет | Список хостов, для которых разрешается операция | - | - | -| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | -| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | - -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -### Список возможных шаблонов - -* ANY. -* MATCH. -* LITERAL. -* PREFIXED. - -### Список возможных операций - -Подробнее — [в документации Kafka](https://kafka.apache.org). - -Topic: - -* ALL. -* ALTER. -* ALTER_CONFIGS. -* CREATE. -* DELETE. -* DESCRIBE. -* DESCRIBE_CONFIGS. -* READ. -* WRITE. - -Group: - -* ALL. -* DELETE. -* DESCRIBE. -* READ. - -TransactionalID: - -* ALL. -* DESCRIBE. -* WRITE. - -Tokens: - -* DESCRIBE. - -## CreateKafkaTopics - -CreateKafkaTopics — создаёт новые топики в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -partitions: 1 -replication_factor: 1 -configs: {} -topics: - - example_1 - - example_2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| partitions | Да | Количество разделов (партиций), на которые будет разделён топик | - | -| replication_factor | Да | Количество копий (реплик) каждой партиции топика, которые необходимо разместить на разных брокерах | - | -| configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | -| topics | Да | Список названий топиков, которые необходимо создать | - | - -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -## CreateKafkaUsers - -CreateKafkaUsers — создаёт новых пользователей SASL/SCRAM в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -users: - - user: example_user_1 - password: example_password_user_1 - mechanism: SCRAM-SHA-256 - iterations: 4096 - - user: example_user_2 - password: example_password_user_2 - mechanism: SCRAM-SHA-256 - iterations: 4096 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|-------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| users | Да | Набор пользователей, которых необходимо создать | - | -| users.user | Да | Имя создаваемого пользователя | - | -| users.password | Да | Пароль создаваемого пользователя | - | -| users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | -| users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | - -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -## CreateCodeScoringProject - -CreateCodeScoringProject — создаёт новый проект в системе CodeScoring. -Действие использует CodeScoring API для регистрации проекта с указанными параметрами: название проекта, URL репозитория, ID VCS системы и опция автоматического запуска SCA-анализа после клонирования репозитория. - -### Пример запроса - -```yaml -name: example-project -repository: https://gitlab.example.com/group/project.git -vcs_id: 2 -run_sca_after_clone: true -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|--------------------|----------------|-------------------------------------------------------------------------------| -| name | Да | Название проекта в CodeScoring | -| repository | Да | URL репозитория (например, ) | -| vcs_id | Да | ID VCS системы в CodeScoring (должен быть больше 0) | -| run_sca_after_clone| Нет | Автоматический запуск SCA-анализа после клонирования репозитория | - -### Ответ - -В ответе возвращается объект созданного проекта со следующей информацией: идентификатор проекта (pk), название, тип проекта, описание, информация о репозитории, статус проекта, права доступа, лицензия, количество зависимостей и уязвимостей, языки проекта, статус расписания сканирования и даты первого и последнего SCA-сканирования. - -## DeleteCodeScoringProject - -DeleteCodeScoringProject — удаляет проект в системе CodeScoring по его ID. - -### Пример запроса - -```yaml -id: 1 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------|----------------|-----------------------------| -| id | Да | ID проекта в CodeScoring | - -## CreateKeycloakClient - -CreateKeycloakClient — создаёт нового клиента в Keycloak. - -### Пример запроса - -```yaml -realm: master -config: - clientId: example - name: example - enabled: true - clientAuthenticatorType: client-secret - secret: secret - defaultClientScopes: - - roles - - profile - - email - optionalClientScopes: - - address - - phone - - offline_access -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|----------|----------------|----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| -| realm | Да | Realm в Keycloak, где требуется создать клиента | - | -| config | Да | Параметры создаваемого клиента в соответствии со [спецификацией ClientRepresentation Keycloak](https://www.keycloak.org/docs-api/latest/rest-api/index.html#ClientRepresentation) | - | - -### Учётные данные - -* `username` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -## CreateKubernetesResource - -CreateKubernetesResource — создаёт новый ресурс или ресурсы в кластере Kubernetes или обновляет существующие. - -### Пример запроса - -```yaml -manifests: - - apiVersion: v1 - kind: Namespace - metadata: - name: example1 - - apiVersion: v1 - kind: Namespace - metadata: - name: example2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------------|----------------|----------------------------------------------------------------------------------------------------| -| manifests | Да | Манифесты Kubernetes, которые будут применены | - -### Учётные данные - -* `token` — токен сервисного аккаунта в Kubernetes. - -## GetKubernetesResource - -GetKubernetesResource — получает ресурс из Kubernetes кластера. - -### Пример запроса - -```yaml -group: managed-services.deckhouse.io -version: v1alpha1 -resource_type: postgres -resource_name: example-postgres -namespace: default -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Название ресурса во множественном числе, как в поле NAME вывода команды `kubectl api-resources` | - | -| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | - -### Ответ - -При успешном выполнении действие возвращает объект ресурса в поле `resource`. Если ресурс не найден, действие завершается с ошибкой. - -| Название | Описание | -|------------|-----------------------------------------------| -| `resource` | Объект ресурса в формате Kubernetes | - -### Учётные данные - -* `token` — токен сервисного аккаунта в Kubernetes. - -## CreateRepositoryFromTemplate - -CreateRepositoryFromTemplate — создаёт новый репозиторий из шаблона в Gitlab. Механизм рендеринга основан на [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) и поддерживает все встроенные методы, а также расширения, добавленные в платформу. - -### Пример запроса - -```yaml -sourceBranch: main -sourceTag: v1.0.0 -templateRepositoryUrl: https://gitlab.example.com/example-1.git -targetRepositoryUrl: https://gitlab.example.com/example-2.git -targetBranch: master -additionalIgnoreFiles: - - .ignore - - .example -values: - key1: value1 - nested: - enabled: true - subkey: 123 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|--------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| templateRepositoryUrl | Да | URL шаблонного репозитория | - | -| targetRepositoryUrl | Да | URL репозитория, который будет создан в результате выполнения действия | - | -| values | Да | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из целевого репозитория. Заполняется по аналогии с [.templateignore](#templateignore) | - | -| sourceTag | Нет | Тег шаблонного репозитория, который будет использоваться при шаблонизации. Если не указан, используется ветка шаблонного репозитория | - | -| sourceBranch | Нет | Ветка шаблонного репозитория, которая будет использоваться при шаблонизации | main | -| targetBranch | Нет | Ветка целевого репозитория, которая будет создана в результате выполнения действия | main | - -### Учётные данные - -* `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. -* `username` — имя пользователя, от которого будет запускаться выполнение действия. - -### Алгоритм работы - -Платформа: - -1. Клонирует шаблонный репозиторий по указанному URL (`templateRepositoryUrl`), используя в качестве ref либо `sourceTag`, либо `sourceBranch`, либо ветку `main`. -1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. -1. Считывает переменные, передаваемые при запуске действия, и делает их merge с переменными из `values.yaml`. Приоритет при merge отдаётся переменным, передаваемым при запуске действия. -1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. -1. Рендерит из шаблонов файлы, учитывая `values.yaml` и переданные в действие переменные. -1. Изменяет удалённый (remote) репозиторий на целевой (`targetRepositoryUrl`) и делает git push в целевую ветку (`targetBranch`), либо в основную ветку `main`. - -### Детали работы - -Действие поддерживает шаблонизацию имён директорий и файлов. Для этого необходимо в их название добавить выражение в формате [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax). -Например, директория `src/{{ .module }}/utils` при наличии value `module` со значением `example` будет отрендерена в директорию `src/example/utils` в целевом репозитории. - -Если после рендеринга из шаблона содержимое файла будет отсутствовать, файл не создаётся. Например, файл с содержимым: - -```go -{{- if .createContent }} -- Это контент, который будет отображаться, если переменная createContent == true -{{- end }} -``` - -не будет создан, если переменная `createContent` имеет значение `false`. Аналогичным образом, не будут созданы файлы, изначально являющиеся пустыми. - -При отсутствии переменных для шаблонизации одновременно в файле `values.yaml` и в переменных, передаваемых при запуске действия, рендеринг завершится с ошибкой и целевой репозиторий создан не будет. - -### Переменные шаблонного репозитория - -Для добавления переменных по умолчанию, используемых при шаблонизации, необходимо создать в корне репозитория файл values.yaml с соответствующим содержимым. - -Пример файла `values.yaml`: - -```yaml -module: example -createContent: false -``` - -Файл `values.yaml` является опциональным. - - - -### Исключение файлов - -Некоторые файлы могут содержать переменные в формате [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax), которые необходимо сохранять при рендеринге репозитория из шаблона, например, Helm-чарты в директории `helm`. Директория `.git` игнорируется всегда. - -Для исключения подобных файлов из механизма рендеринга следует добавить в корень репозитория файл `.templateignore` с соответствующим содержимым. - -В каждой строке `.templateignore` задаётся одно правило — путь или маска. Если в строке есть `{{`, вся строка выполняется как один шаблон Go с теми же переменными и функциями, что при подстановке в имена файлов и каталогов (подробнее — [«Как обрабатывается строка правила»](#templateignore-templates)). Если `{{` в строке нет, подстановка переменных из `values.yaml` и из запроса действия не делается: строка читается как есть и сравнивается с относительным путём на диске, допускаются литералы и символы маски `*` и `**`. - -Пример файла `.templateignore` только с масками пути, без шаблонов подстановки, для игнорирования содержимого директорий `helm`, `docs`: - -```sh -helm/** -docs/** -``` - -#### Добавление путей в игнор - -1. В корне шаблонного репозитория создайте или отредактируйте файл `.templateignore` (по одному правилу на строку). - -1. Каждая строка — это одно правило: путь от корня репозитория. В нём допускаются обычные символы пути и маски: звёздочка `*` в имени сегмента, последовательность `**` — для произвольной глубины вложенных каталогов. Платформа сопоставляет относительный путь с маской по встроенным правилам (аналогично распространённым соглашениям для масок в файлах игнорирования в системах контроля версий). - -1. Чтобы подставить фрагмент пути из `values.yaml` или из поля `values` запроса действия, используйте в строке конструкции Go template (`{{ ... }}`). Если в строке есть `{{`, платформа обрабатывает всю строку от начала до конца как один шаблон Go: нельзя оставить часть строки «простым текстом» и шаблонизировать только середину пути. Примеры — в разделе [«Примеры Go template в `.templateignore`»](#templateignore-go-examples). - -1. Пустые строки и строки, начинающиеся с `#`, при разборе файла пропускаются — их можно использовать для комментариев. - -#### Примеры без подстановки (только маски пути) - -Отдельные файлы в корне: - -```sh -package-lock.json -yarn.lock -LICENSE -.env.local -``` - -Каталоги целиком и типичные артефакты сборки: - -```sh -vendor/** -node_modules/** -dist/** -build/tmp/** -``` - -Вложенность по маске: - -```sh -docs/**/*.pdf -charts/*/values.schema.json -.github/workflows/** -``` - -Секреты по расширению во всём дереве: - -```sh -**/*.pem -**/*.key -``` - - - -#### Как обрабатывается строка правила - -Переменные для раскрытия правил те же, что объединены из `values.yaml` в корне шаблонного репозитория и из поля `values` в запросе действия (приоритет у `values` в запросе). - -Для каждой непустой строки из `.templateignore` или из файла из `additionalIgnoreFiles` платформа делает следующее. - -1. В список правил всегда попадает строка как в файле, без изменений. Именно её потом сравнивают с путём к файлу в первую очередь — это нужно, когда в именах на диске ещё есть фрагменты вроде `{{ .module }}` до переименования. - -1. Если в строке есть `{{`, платформа один раз прогоняет всю строку через шаблонизатор [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) с теми же возможностями, что при подстановке в имена файлов и каталогов (встроенные функции платформы и набор Sprig). Если `{{` в строке нет, этот шаг пропускают. - -1. Если шаг подстановки был и полученный текст отличается от строки в файле (включая случай «на выходе пусто»), в список правил добавляют вторую запись — уже с этим полученным текстом. Итого из одной строки файла может получиться две записи в списке. При проверке пути к файлу смотрят обе: достаточно совпадения с любой из них — файл попадает под правило. - -Дальше при обходе дерева для каждого пути к файлу вычисляется путь относительно корня клонированной копии (с прямыми слешами). Путь сравнивается с каждым правилом: сначала по правилам сопоставления с маской (в том числе с использованием `*` и `**`), при необходимости — по точному совпадению строки правила и относительного пути. - -Так одна строка в файле может задать два правила: например, исходное `charts/{{ .name }}/**` (чтобы не трогать путь до переименования каталогов), и раскрытое `charts/billing/**` (чтобы совпадало с путём после подстановки переменных в имена на диске). Поэтому правила работают и «до», и «после» этапа переименования каталогов по шаблону. - -Если шаблон в строке синтаксически неверен или обращается к отсутствующему полю, раскрытие правил завершается ошибкой, и рендер репозитория не продолжается. - -Поле `additionalIgnoreFiles` в действии задаёт имена дополнительных файлов в корне репозитория; в каждом из них — такие же строки-правила, как в `.templateignore`, с тем же раскрытием шаблонов. Но смысл другой: совпавшие пути убирают из рабочей копии (каталог или файл удаляют), и делают это дважды — в начале и в конце цепочки обработки, чтобы эти объекты не участвовали в дальнейших шагах и не попали в итоговый репозиторий. - -Файл `.templateignore`, наоборот, означает «не шаблонизировать»: для совпавших путей платформа не подставляет переменные в содержимое файлов и не применяет к соответствующим каталогам переименование по шаблону в пути. Сами файлы и каталоги при этом не удаляются только из‑за записи в `.templateignore` — они остаются в копии, но обрабатываются как обычный текст и обычные имена, без шага шаблонизации. - - - -#### Примеры Go template в `.templateignore` - -Ниже в каждом примере показаны фрагменты `values.yaml` (или эквивалентные поля в `values` запроса) и строки `.templateignore`. Несколько независимых правил задают несколькими строками файла: результат одной строки-шаблона — одна строка с маской; перевод строк внутри результата шаблона не делит правило на несколько. - -Имя каталога в правиле берётся из `values.yaml` или из `values` действия: - -`values.yaml`: - -```yaml -project: payment-gateway -``` - -`.templateignore`: - -```go -{{ .project }}/legacy/** -``` - -В набор правил попадут строки `{{ .project }}/legacy/**` и `payment-gateway/legacy/**`. - -Сегмент пути из переменной и статический хвост: - -`values.yaml`: - -```yaml -lang: ru -``` - -`.templateignore`: - -```go -apps/{{ .lang }}/messages.yaml -``` - -Условное правило в одной строке работает следующим образом: при `skipGenerated: false` подстановка даёт пустую строку, которая всё равно добавляется вторым правилом. Исходная строка с `{{` используется как маска пути и обычно не совпадает с реальными путями. При `skipGenerated: true` вторым правилом становится `generated/**`): - -`values.yaml`: - -```yaml -skipGenerated: false -``` - -`.templateignore`: - -```go -{{- if .skipGenerated }}generated/**{{- end }} -``` - -Вариант «игнорировать только не production»: - -`values.yaml`: - -```yaml -tier: staging -``` - -`.templateignore`: - -```go -{{- if ne .tier "prod" }}mock/**{{- end }} -``` - -Использование `printf` для сборки строки маски (удобно, если имя чарта в переменной): - -`values.yaml`: - -```yaml -chartName: wordpress -``` - -`.templateignore`: - -```go -{{ printf "charts/%s/**" .chartName }} -``` - -Значение по умолчанию для «пустого» значения — функция `default` из набора Sprig. Поле в данных должно существовать (иначе при раскрытии сработает `missingkey=error`); для «не задано в YAML» заведите ключ с пустой строкой или используйте условие `if` / `index`: - -`values.yaml`: - -```yaml -envName: "" -``` - -`.templateignore`: - -```go -{{ default "dev" .envName }}/secrets/** -``` - -При пустом `envName` в правило попадёт и `{{ default "dev" .envName }}/secrets/**`, и `dev/secrets/**`. - -Опциональный сегмент пути ([`with`](https://pkg.go.dev/text/template#hdr-Actions)): - -`values.yaml`: - -```yaml -analyticsModule: tracking -``` - -`.templateignore`: - -```go -{{ with .analyticsModule }}{{ . }}/vendor/**{{ end }} -``` - -Если `analyticsModule` пусто, шаблон даёт пустую строку (см. правила раскрытия выше). - -Доступ к полю вложенной структуры по строковому ключу [`index`](https://pkg.go.dev/text/template#hdr-Functions): - -`values.yaml`: - -```yaml -regions: - primary: eu-west -``` - -`.templateignore`: - -```go -configs/{{ index .regions "primary" }}/bootstrap.yaml -``` - -Удаление пробелов в сегменте имени — функция `trim` из набора Sprig: - -`values.yaml`: - -```yaml -serviceName: " billing-api " -``` - -`.templateignore`: - -```go -{{ trim .serviceName " " }}/logs/** -``` - -Несколько фрагментов в одной маске: - -`values.yaml`: - -```yaml -base: services -variant: canary -``` - -`.templateignore`: - -```go -{{ .base }}/{{ .variant }}/**/*.tmp -``` - -#### Примеры для `additionalIgnoreFiles` - -В спецификации действия перечисляются имена файлов в корне репозитория (например, `.ship-ignore`, `.ci-remove`). Формат строк внутри таких файлов тот же: комментарии `#`, пустые строки, маски пути, при необходимости — шаблоны Go в строках. - -Файл `.ship-ignore` в шаблоне: - -```sh -# не попадает в целевой репозиторий -local/fixtures/** -scratchpad.md -``` - -Фрагмент запроса действия: - -```yaml -additionalIgnoreFiles: - - .ship-ignore -``` - -Шаблон в файле для `additionalIgnoreFiles` (удаление каталога, имя из переменных): - -Файл `.env-drop` в корне шаблона: - -```go -{{ .obsoleteDir }}/** -``` - -При `obsoleteDir: legacy-ui` из `values` после раскрытия в списке удаления окажутся и `{{ .obsoleteDir }}/**`, и `legacy-ui/**` — совпавшие пути будут удалены из копии перед финальными шагами. - -{{< alert level="info" >}} -Не путайте назначение: `.templateignore` оставляет файлы на диске, но отключает для них переименование пути и рендер содержимого; списки из `additionalIgnoreFiles` удаляют совпавшие пути из рабочей копии. -{{< /alert >}} - -### Пример структуры директорий шаблонного репозитория - -```sh -├── example-folder-01 -│ ├── example-file-01 -│ └── {{ .example }}-file-02 -├── {{ .example }}-folder-02 -│ └── ... -├── values.yaml -└── .templateignore -``` - -Если переменная `example` при рендере репозитория примет значение `new`, то итоговая структура после рендера будет выглядеть следующим образом: - -```sh -├── example-folder-01 -│ ├── example-file-01 -│ └── new-file-02 -├── new-folder-02 -│ └── ... -├── values.yaml -└── .templateignore -``` - - - -### Локальная отладка - -Для локальной отладки шаблонов доступна утилита `ddp-render-dir`. - -Утилита: - -1. Создаёт копию исходной директории. -1. Выполняет рендеринг файлов в этой директории по тем же правилам, что и действие создания репозиториев из шаблонов. - -Ключи командной строки для запуска: - -* `--source-dir` — исходная директория, которую необходимо отрендерить. -* `--target-dir` — директория, в которую будет помещен результат рендеринга. -* `--values` (опционально) — путь к файлу `values.yaml` с переменными, которые будут использоваться при рендеринге. -* `--ignore-files` (опционально) — список файлов, содержащих пути для исключения из целевого репозитория. - -## CreateSonarqubeProject - -CreateSonarqubeProject — создаёт новый проект в SonarQube. -Действие использует SonarQube Web API для создания проекта с указанными параметрами, такими как ключ (project key), название проекта, главная ветка, параметры определения нового кода (new code definition) и видимость проекта. Аутентификация осуществляется с использованием SonarQube token, который должен быть передан в учётных данных. - -### Пример запроса - -```yaml -project: example-project -name: example-project -mainBranch: develop -newCodeDefinitionType: NUMBER_OF_DAYS -newCodeDefinitionValue: '30' -visibility: public -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|-------------------------|----------------|-------------------------------------------------------------------------------------------------|----------------------------------------------------|------------------------| -| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | -| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | -| mainBranch | Нет | Название главной ветки проекта | - | master | -| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | -| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | -| visibility | Нет | Видимость проекта | private, public | private | - -### Учётные данные - -* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. - -## CreateVaultSecret - -CreateVaultSecret — создаёт секрет с одним или несколькими значениями в HashiCorp Vault. - -### Пример запроса - -```yaml -path: example/data/path -secrets: - - key: key1 - value: value1 - - key: key2 - value: value2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | По умолчанию | -|---------------------------|----------------|-----------------------------------------------------------------|-------------------------------------|--------------| -| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | -| allow_update | Нет | Определяет поведение действия при наличии существующего секрета | true, false, merge, merge_or_create | false | -| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | -| secrets.key | Да | Название (идентификатор) секрета | | - | -| secrets.value | Да | Значение секрета | | - | - -### Учётные данные - -* `token` — Vault-токен, который имеет необходимые права для создания секретов. - -### Примечание - -`allow_update` — определяет поведение действия при создании или обновлении секрета: - -- `false` (по умолчанию) — действие завершается с ошибкой, если секрет уже существует; -- `true` — создаётся новая версия секрета со значениями, переданными в действии; -- `merge` — обновляются или создаются только те ключи секрета, которые указаны в действии. Существующие ключи, не упомянутые в действии, сохраняются без изменений. Если секрета по пути ещё нет, действие завершается с ошибкой; -- `merge_or_create` — как `merge`, если секрет уже существует; если секрета по пути нет, он создаётся (полная запись значений из действия). - -## DeleteVaultSecret - -DeleteVaultSecret — удаляет секрет из HashiCorp Vault. - -### Пример запроса - -```yaml -path: example/data/path -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------------------------------------------------------| -| path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | - -### Учётные данные - -* `token` — Vault-токен, который имеет необходимые права для удаления секретов. - -## DeleteDefectdojoProduct - -DeleteDefectdojoProduct — удаляет продукт из DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -id: 1 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|-------------|----------------|----------------------------------------------------|------------------------| -| id | Да | Идентификатор продукта, который необходимо удалить | - | - -### Учётные данные - -* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. - -## DeleteGitlabProject - -DeleteGitlabProject — удаляет существующий проект в GitLab. Действие осуществляет вызов GitLab API для удаления проекта. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. - -### Пример запроса - -```yaml -project_id: 0 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, который необходимо удалить | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. -Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет DELETE-запрос по URL: `/api/v4/projects/:id`. - -## DeleteKafkaACLs - -DeleteKafkaACLs — удаляет набор ACL в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -acls: - - topics: - - example_1 - allow: - - User:principal_2 - - Group:principal_3 - allow_hosts: - - 127.0.0.1 - deny: - - User:principal_4 - - Group:principal_5 - deny_host: - - 127.0.0.1 - ops: - - CREATE - - READ - - WRITE - - DELETE - - DESCRIBE - - DESCRIBE_CONFIGS - - ALTER - pattern: LITERAL - - any_topic: true - any_group: true - any_transactional_id: true - any_allow: true - any_allow_hosts: true - any_deny: true - any_deny_hosts: true - ops: - - ANY - pattern: ANY - - any_resource: true - any_allow: true - any_allow_hosts: true - any_deny: true - any_deny_hosts: true - ops: - - ANY - pattern: ANY -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|---------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо создать | - | - | -| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.any_resource | Нет | Все ресурсы | - | false | -| acls.topics | Нет | Список из названий топиков, для которых применять правило | - | - | -| acls.any_topic | Нет | Все топики | - | false | -| acls.groups | Нет | Список из названий групп, для которых применять правило | - | - | -| acls.any_group | Нет | Все топики | - | false | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых применять правило | - | - | -| acls.any_transactional_id | Нет | Любая транзакция | - | false | -| acls.tokens | Нет | Список токенов, для которых применять правило | - | - | -| acls.any_token | Нет | Все токены | - | false | -| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | -| acls.any_allow | Нет | Любой принципал (user, group) | - | false | -| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | -| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | -| acls.deny | Нет | Список принципалов (user, group), для которых запретить правило | - | - | -| acls.any_deny | Нет | Любой принципал (user, group) | - | false | -| acls.deny_hosts | Нет | Список хостов, для которых запретить операцию | - | - | -| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | - -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -### Список возможных pattern - -* ANY. -* MATCH. -* LITERAL. -* PREFIXED. - -### Список возможных операций - -Подробное описание — [в документации Kafka](https://kafka.apache.org/39/documentation/#operations_resources_and_protocols). - -Topic: - -* ALL. -* ALTER. -* ALTER_CONFIGS. -* CREATE. -* DELETE. -* DESCRIBE. -* DESCRIBE_CONFIGS. -* READ. -* WRITE. - -Group: - -* ALL. -* DELETE. -* DESCRIBE. -* READ. - -TransactionalID: - -* ALL. -* DESCRIBE. -* WRITE. - -Token: - -* DESCRIBE. - -## DeleteKafkaTopics - -DeleteKafkaTopics — удаляет существующие топики в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -topics: - - example_1 - - example_2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|-----------------------------------------------------|-----------------------------------------| -| auth_type | Да | Тип авторизации в Kafka | PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512 | -| topics | Да | Список названий топиков, которые необходимо удалить | - | - -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -## DeleteKafkaUsers - -DeleteKafkaUsers — удаляет существующих пользователей SASL/SCRAM в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -users: - - user: example_user_1 - mechanism: SCRAM-SHA-256 - - user: example_user_2 - mechanism: SCRAM-SHA-256 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|-------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| users | Да | Набор пользователей, которых необходимо удалить | - | -| users.user | Да | Имя удаляемого пользователя | - | -| users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | - -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - -## DeleteKubernetesResource - -DeleteKubernetesResource — удаляет существующий ресурс в кластере Kubernetes. - -### Пример запроса - -```yaml -group: apps -version: v1 -resource_type: deployments -resource_name: nginx-deployment -namespace: example -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|-----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится удаляемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Тип удаляемого ресурса | pods, services, deployments, statefulsets, daemonsets, replicasets, jobs, cronjobs, nodes, namespaces, configmaps, secrets, persistentvolumes, persistentvolumeclaims, limitranges, resourcequotas, horizontalpodautoscalers, ingresses, networkpolicies, serviceaccounts, roles, clusterroles, rolebindings, clusterrolebindings, podsecuritypolicies, storageclasses, volumeattachments, events, endpoints, customresourcedefinitions | -| resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | - -### Учётные данные - -* `token` — токен сервисного аккаунта в Kubernetes. - -### Определение требуемых Group и Version - -Каждому типу ресурса соответствует своя группа API (Group) и версия (Version). -Полный список API-ресурсов с их группами и версиями приведён [в документации Kubernetes](https://kubernetes.io/docs/reference/kubernetes-api/). - -Если неизвестно, какие требуются Group и Version, можно использовать актуальные значения. -Существует несколько способов их определить: - -#### С помощью утилиты `d8 k` - -Команда `d8 k explain` показывает `apiVersion` для ресурса. - -Пример: - -```bash -d8 k explain deployment -``` - -Вывод: - -```yaml -GROUP: apps -KIND: Deployment -VERSION: v1 - -DESCRIPTION: - Deployment enables declarative updates for Pods and ReplicaSets. - -FIELDS: -... -``` - -#### С помощью документации - -Как искать в документации: - -1. Найдите нужный ресурс (например, Deployment). -1. В заголовке будет указана API Group и версия. Пример для Deployment: - - ```yaml - apiVersion: apps/v1 - ``` - - Здесь: - * «API Group» — apps; - * «Version» — v1. - -## DeleteSonarqubeProject - -DeleteSonarqubeProject — удаляет проект из SonarQube. - -### Пример запроса - -```yaml -project: example-project -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------|------------------|-----------------------------------------------------------------|------------------------| -| project | Да | Идентификатор (Project Key) проекта, который необходимо удалить | - | - -### Учётные данные - -* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. - -## DeleteSonarqubeProjects - -DeleteSonarqubeProjects — удаляет один или несколько проектов из SonarQube. - -### Пример запроса - -```yaml -analyzedBefore: 2017-10-19T13:00:00+0200 -onProvisionedOnly: 'false' -projects: example_project,another_project -q: example -qualifiers: TRK -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Примеры значений | -|--------------------|------------------|---------------------------------------------------------------------------------|-------------------------------|---------------------------------------| -| analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | -| onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | -| projects | Нет | Список ключей проектов, который необходимо удалить | - | my_project, another_project | -| q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | -| qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | - -### Учётные данные - -* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. - -## StartGitlabPipeline - -StartGitlabPipeline — запускает выполнение пайплайна в GitLab. - -### Пример запроса - -```yaml -project_id: 0 -ref: main -variables: - - key: example-key - value: example-value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|---------------------------|------------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо запустить пайплайн | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на котором будет запущен пайплайн | -| variables | Нет | Список переменных, которые необходимо передать в запускаемый пайплайн | -| variables.key | Да | Название переменной | -| variables.value | Да | Значение переменной | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Для выполнения действия необходимо наличие токена GitLab. -Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/pipeline`. - -## CreateVaultKubernetesAuthRole - -CreateVaultKubernetesAuthRole — создаёт или обновляет роль аутентификации Kubernetes в HashiCorp Vault. - -### Пример запроса - -```yaml -mountPath: kubernetes -role: example -bound_service_account_names: - - default -bound_service_account_namespaces: - - default -optional: - token_ttl: 1h - token_max_ttl: 12h - audience: vault - token_policies: - - default -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-------------------------------------|----------------|-----------------------------------------------------------------------------------| -| mountPath | Обязательно | Путь монтирования Kubernetes auth backend в Vault (например, kubernetes) | -| role | Обязательно | Название роли, которая создаётся в Vault | -| bound_service_account_names | Обязательно | Список имён service account'ов, которым разрешён доступ через данную роль | -| bound_service_account_namespaces | Обязательно | Список неймспейсов (namespaces), в которых разрешён доступ через данную роль | -| optional | Необязательно | Дополнительные параметры роли (приведены в следующей таблице) | - -Поддерживаемые значения в optional: - -| Поле | Тип | Описание | -|-------------------------|---------------|-----------------------------------------------------------------------| -| token_ttl | string | Время жизни (TTL) токена, выданного при логине | -| token_max_ttl | string | Максимальное TTL токена | -| token_policies | []string | Дополнительные политики, назначаемые при логине | -| audience | string | Значение JWT audience (aud), которое Vault ожидает от токена | -| token_period | string | Периодичность выдачи токена | -| token_explicit_max_ttl | string | Явный верхний предел TTL токена | -| token_num_uses | int | Ограничение на количество использований токена | -| token_type | string | Тип выдаваемого токена (например, service, batch) | -| alias_name_source | string | Источник alias name для identity | -| token_no_default_policy | bool | Исключение default policy из состава токена | -| token_bound_cidrs | []string | Ограничение CIDR-диапазонов, откуда можно использовать выданный токен | - -Полный список поддерживаемых параметров приведён в [официальной документации](https://developer.hashicorp.com/vault/docs/auth/kubernetes#parameters) HashiCorp Vault. - -### Учётные данные - -* `token` — Vault-токен, обладающий правами на создание/обновление ролей Kubernetes auth backend. - -## CreateNexusRepository - -`CreateNexusRepository` — создаёт новый репозиторий любого поддерживаемого типа (maven, docker, npm и др.) в Nexus Repository Manager 3 с помощью REST API. -Параметры формата, типа и другие ключевые настройки полностью настраиваются и соответствуют Nexus API. - -### Пример запроса (Maven hosted) - -```yaml -description: | - Maven hosted repo for internal Java build artifacts. -name: my-maven-repo -format: maven -type: hosted -online: true -storage: - blobStoreName: default - strictContentTypeValidation: true - writePolicy: ALLOW -cleanup: - policyNames: - - maven-cleanup -maven: - versionPolicy: RELEASE - layoutPolicy: PERMISSIVE -``` - -### Пример запроса (Docker group) - -```yaml -description: | - Docker group repo aggregating hosted+proxy. -name: my-docker-group -format: docker -type: group -online: true -storage: - blobStoreName: default - strictContentTypeValidation: true -group: - memberNames: - - docker-hosted - - docker-proxy -docker: - v1Enabled: false - forceBasicAuth: true - httpPort: 5001 -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | Пример | -|-------------|-----------------|---------------------------------------------------------------------------------------------------|----------------------------------------| -| `description` | Нет | Документация по назначению этого действия/репозитория. Не используется самим Nexus, только для UI | - | -| `name` | Да | Название создаваемого репозитория. Должно быть уникальным в рамках Nexus | my-maven-repo | -| `format` | Да | Формат (`maven`, `docker`, `npm`, `raw` и т. д.) | maven | -| `type` | Да | Тип: `hosted`, `proxy` или `group` | hosted | -| `online` | Да | Доступен ли репозиторий (`true`/`false`) | true | -| `storage` | Да | Объект storage: `blobStoreName`, `strictContentTypeValidation`, `writePolicy` | [Пример](#пример-запроса-maven-hosted) | -| `cleanup` | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | -| `maven` | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | -| `proxy` | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | -| `group` | Для group | Список включённых memberNames | [Пример](#пример-запроса-docker-group) | -| `docker` | Для docker | docker-specific: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | -| `component` | Очень редко | Только для некоторых нестандартных сценариев | - | -| `attributes`| Нет | Любые кастомные поля | - | - -### Требования - -- Используйте только те блоки (`maven`, `group`, `proxy`, `docker` и пр.), которые поддерживаются для вашего типа/формата. -- Для maven hosted обязательно `maven: {versionPolicy, layoutPolicy}`. -- Для group — обязательно `group.memberNames`. -- Для proxy — обязательно `proxy.remoteUrl`. -- Для docker — специфичные поля в `docker`. - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## DeleteNexusRepository - -`DeleteNexusRepository` — удаляет существующий репозиторий из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -name: my-repo-to-delete -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------|-----------------|------------------------------------------| -| `name` | Да | Название репозитория, который требуется удалить | - -### Алгоритм - -- Выполняется `DELETE` по адресу `/service/rest/v1/repositories/{name}`, где `{name}` — это значение поля `name`. -- Если репозиторий найден и удалён — возвращается 204. -- Если не найден — возвращается ошибка 404. - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## CreateNexusPrivilege - -CreateNexusPrivilege — создаёт новую привилегию в Nexus Repository Manager 3. Привилегии определяют права доступа к репозиториям и другим ресурсам Nexus. - -### Пример запроса (repository-view) - -```yaml -name: example-privilege -description: Example privilege description -type: repository-view -actions: - - READ - - BROWSE -format: maven2 -repository: maven-releases -``` - -### Пример запроса (repository-content-selector) - -```yaml -name: content-selector-privilege -description: Privilege with content selector -type: repository-content-selector -actions: - - READ -format: maven2 -repository: maven-releases -contentSelector: my-content-selector -``` - -### Пример запроса (wildcard) - -```yaml -name: wildcard-privilege -description: Wildcard privilege -type: wildcard -pattern: nx-* -actions: - - READ -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | -| description | Нет | Описание привилегии | -| type | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | -| actions | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | -| format | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| repository | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| contentSelector | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | -| pattern | Нет | Шаблон для типа `wildcard` | -| domain | Нет | Домен для типа `application` | -| attributes | Нет | Дополнительные атрибуты в формате ключ-значение | - -### Примечание - -Для типа `repository-content-selector` селектор контента должен существовать в Nexus до создания привилегии. Если селектор контента не указан или невалиден, действие автоматически преобразует тип привилегии в `repository-view`. - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## AssignNexusPrivilege - -AssignNexusPrivilege — назначает привилегии существующей роли в Nexus Repository Manager 3. Действие получает текущую конфигурацию роли и объединяет существующие привилегии с новыми. - -### Пример запроса - -```yaml -roleId: example-role -privileges: - - example-privilege - - another-privilege -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------------|-----------------|------------------------------------------------------------------------------| -| roleId | Да | Идентификатор роли, которой назначаются привилегии | -| privileges | Да | Список названий привилегий, которые необходимо назначить роли | - -### Алгоритм работы - -1. Получает текущую конфигурацию роли из Nexus. -1. Объединяет существующие привилегии роли с новыми привилегиями из запроса. -1. Обновляет роль с объединённым списком привилегий. - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -### Примечание - -Роль должна существовать в Nexus до назначения привилегий. Если роль не найдена, действие завершится с ошибкой. Все указанные привилегии также должны существовать в Nexus. - -## DeleteNexusPrivilege - -DeleteNexusPrivilege — удаляет привилегию из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -name: example-privilege -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------|-----------------|---------------------------------------------| -| name | Да | Название привилегии, которую требуется удалить | - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## CreateNexusRole - -CreateNexusRole — создаёт новую роль в Nexus Repository Manager 3. Роли объединяют привилегии и могут включать другие роли. - -### Пример запроса - -```yaml -id: example-role -name: Example Role -description: Example role description -privileges: - - nx-repository-view-*-*-read - - nx-repository-view-maven2-*-browse -roles: [] -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|-------------|-----------------|------------------------------------------------------------------------------| -| id | Да | Уникальный идентификатор роли | -| name | Да | Название роли | -| description | Нет | Описание роли | -| privileges | Нет | Список названий привилегий, которые назначаются роли | -| roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## AssignNexusRole - -AssignNexusRole — назначает роли существующему пользователю в Nexus Repository Manager 3. Действие получает текущую конфигурацию пользователя и объединяет существующие роли с новыми. - -### Пример запроса - -```yaml -userId: example-user -roles: - - example-role - - another-role -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|--------|-----------------|---------------------------------------------------------------| -| userId | Да | Идентификатор пользователя, которому назначаются роли | -| roles | Да | Список идентификаторов ролей, которые необходимо назначить пользователю | - -### Алгоритм работы - -1. Получает текущую конфигурацию пользователя из Nexus. -1. Объединяет существующие роли пользователя с новыми ролями из запроса. -1. Обновляет пользователя с объединённым списком ролей. - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -### Примечание - -Пользователь должен существовать в Nexus до назначения ролей. Если пользователь не найден, действие завершится с ошибкой. Все указанные роли также должны существовать в Nexus. - -## DeleteNexusRole - -DeleteNexusRole — удаляет роль из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -id: example-role -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------|-----------------|-----------------------------------------| -| id | Да | Идентификатор роли, которую требуется удалить | - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## CreateNexusUser - -CreateNexusUser — создаёт нового пользователя в Nexus Repository Manager 3. - -### Пример запроса - -```yaml -userId: example-user -firstName: First -lastName: Last -emailAddress: user@example.com -password: password -status: active -roles: - - nx-admin -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|-------------|-----------------|------------------------------------------------------------------------------| -| userId | Да | Уникальный идентификатор пользователя | -| firstName | Да | Имя пользователя | -| lastName | Да | Фамилия пользователя | -| emailAddress| Да | Email-адрес пользователя | -| password | Да | Пароль пользователя | -| status | Да | Статус пользователя: `active` или `disabled` | -| roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## DeleteNexusUser - -DeleteNexusUser — удаляет пользователя из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -userId: example-user -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|--------|-----------------|---------------------------------------------| -| userId | Да | Идентификатор пользователя, которого требуется удалить | - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - -## Wait - -Wait ожидает заданное число секунд; дополнительно может применяться случайная добавка к длительности (джиттер). Предназначено для использования в процессах в качестве элемента задержки, в том числе для ожидания применения результатов предыдущего действия. - -### Пример запроса - -```yaml -duration_seconds: 10 -max_jitter_seconds: 0 -description: "Waiting for release" -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|---------------------|----------------|----------------------------------------------------------------------------------|-----------------------| -| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | -| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | 0 | -| description | Нет | Описание для отображения в логах и ответе действия | - | - -## Fail - -Fail эмулирует ошибку исполнения действия. Предназначен для использования в процессах в качестве отладочного элемента. - -### Пример запроса - -```yaml -fail: true -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|----------|----------------|-----------------------------------------------------------------------------------------|-----------------------| -| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` | diff --git a/content/documentation/admin/actions/vault.ru.md b/content/documentation/admin/actions/vault.ru.md new file mode 100644 index 00000000..c7cc65ce --- /dev/null +++ b/content/documentation/admin/actions/vault.ru.md @@ -0,0 +1,118 @@ +# HashiCorp Vault + +## Содержание + +- CreateVaultSecret +- DeleteVaultSecret + +## CreateVaultSecret + +CreateVaultSecret — создаёт секрет с одним или несколькими значениями в HashiCorp Vault. + +### Пример запроса + +```yaml +path: example/data/path +secrets: + - key: key1 + value: value1 + - key: key2 + value: value2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | По умолчанию | +|---------------------------|----------------|-----------------------------------------------------------------|-------------------------------------|--------------| +| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | +| allow_update | Нет | Определяет поведение действия при наличии существующего секрета | true, false, merge, merge_or_create | false | +| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | +| secrets.key | Да | Название (идентификатор) секрета | | - | +| secrets.value | Да | Значение секрета | | - | + +### Учётные данные + +* `token` — Vault-токен, который имеет необходимые права для создания секретов. + +### Примечание + +`allow_update` — определяет поведение действия при создании или обновлении секрета: + +- `false` (по умолчанию) — действие завершается с ошибкой, если секрет уже существует; +- `true` — создаётся новая версия секрета со значениями, переданными в действии; +- `merge` — обновляются или создаются только те ключи секрета, которые указаны в действии. Существующие ключи, не упомянутые в действии, сохраняются без изменений. Если секрета по пути ещё нет, действие завершается с ошибкой; +- `merge_or_create` — как `merge`, если секрет уже существует; если секрета по пути нет, он создаётся (полная запись значений из действия). + +## DeleteVaultSecret + +DeleteVaultSecret — удаляет секрет из HashiCorp Vault. + +### Пример запроса + +```yaml +path: example/data/path +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|---------------------------|----------------|----------------------------------------------------------------------------------------------------| +| path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | + +### Учётные данные + +* `token` — Vault-токен, который имеет необходимые права для удаления секретов. + +## CreateVaultKubernetesAuthRole + +CreateVaultKubernetesAuthRole — создаёт или обновляет роль аутентификации Kubernetes в HashiCorp Vault. + +### Пример запроса + +```yaml +mountPath: kubernetes +role: example +bound_service_account_names: + - default +bound_service_account_namespaces: + - default +optional: + token_ttl: 1h + token_max_ttl: 12h + audience: vault + token_policies: + - default +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-------------------------------------|----------------|-----------------------------------------------------------------------------------| +| mountPath | Обязательно | Путь монтирования Kubernetes auth backend в Vault (например, kubernetes) | +| role | Обязательно | Название роли, которая создаётся в Vault | +| bound_service_account_names | Обязательно | Список имён service account'ов, которым разрешён доступ через данную роль | +| bound_service_account_namespaces | Обязательно | Список неймспейсов (namespaces), в которых разрешён доступ через данную роль | +| optional | Необязательно | Дополнительные параметры роли (приведены в следующей таблице) | + +Поддерживаемые значения в optional: + +| Поле | Тип | Описание | +|-------------------------|---------------|-----------------------------------------------------------------------| +| token_ttl | string | Время жизни (TTL) токена, выданного при логине | +| token_max_ttl | string | Максимальное TTL токена | +| token_policies | []string | Дополнительные политики, назначаемые при логине | +| audience | string | Значение JWT audience (aud), которое Vault ожидает от токена | +| token_period | string | Периодичность выдачи токена | +| token_explicit_max_ttl | string | Явный верхний предел TTL токена | +| token_num_uses | int | Ограничение на количество использований токена | +| token_type | string | Тип выдаваемого токена (например, service, batch) | +| alias_name_source | string | Источник alias name для identity | +| token_no_default_policy | bool | Исключение default policy из состава токена | +| token_bound_cidrs | []string | Ограничение CIDR-диапазонов, откуда можно использовать выданный токен | + +Полный список поддерживаемых параметров приведён в [официальной документации](https://developer.hashicorp.com/vault/docs/auth/kubernetes#parameters) HashiCorp Vault. + +### Учётные данные + +* `token` — Vault-токен, обладающий правами на создание/обновление ролей Kubernetes auth backend. + diff --git a/content/documentation/admin/actions/wait.ru.md b/content/documentation/admin/actions/wait.ru.md new file mode 100644 index 00000000..3f66dd4e --- /dev/null +++ b/content/documentation/admin/actions/wait.ru.md @@ -0,0 +1,20 @@ +## Wait + +Wait ожидает заданное число секунд; дополнительно может применяться случайная добавка к длительности (джиттер). Предназначено для использования в процессах в качестве элемента задержки, в том числе для ожидания применения результатов предыдущего действия. + +### Пример запроса + +```yaml +duration_seconds: 10 +max_jitter_seconds: 0 +description: "Waiting for release" +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|---------------------|----------------|----------------------------------------------------------------------------------|-----------------------| +| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | +| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | 0 | +| description | Нет | Описание для отображения в логах и ответе действия | - | + diff --git a/content/documentation/release-notes/v1.6.0.ru.md b/content/documentation/release-notes/v1.6.0.ru.md index 545794a7..972fbfef 100644 --- a/content/documentation/release-notes/v1.6.0.ru.md +++ b/content/documentation/release-notes/v1.6.0.ru.md @@ -14,7 +14,7 @@ description: Заметки о выпуске v1.6.0 — управление MC Обновлены виджеты [«Prometheus. Метрики (диапазон)»](../../admin/widgets/types/#prometheus-метрики-диапазон) и [«Prometheus. Метрики (значение)»](../../admin/widgets/types/#prometheus-метрики-значение). Существующие виджеты продолжают открываться, но для корректного отображения данных может потребоваться перенастройка: -- у виджета **«Prometheus. Метрики (диапазон)»** удалено поле «Шаг разрешения» — шаг между точками рассчитывается автоматически; сохранённое значение в конфигурации игнорируется; +- у виджета «Prometheus. Метрики (диапазон)» удалено поле «Шаг разрешения» — шаг между точками рассчитывается автоматически; сохранённое значение в конфигурации игнорируется; - запросы PromQL теперь поддерживают плейсхолдеры `{{range}}`, `{{rateInterval}}` и `{{interval}}` — проверьте запросы с фиксированными окнами (`[5m]`, `[1h]` и т. п.) и при необходимости замените их на плейсхолдеры; ## Новые возможности @@ -76,7 +76,7 @@ description: Заметки о выпуске v1.6.0 — управление MC ### MCP -Добавлен раздел **AI** → **MCP** для подключения upstream MCP-серверов, пользовательских MCP-инструментов и MCP-коллекций. Подробнее — в разделе [«Управление MCP»](../../user/mcp-management/). +Добавлен раздел «AI» → «MCP» для подключения upstream MCP-серверов, пользовательских MCP-инструментов и MCP-коллекций. Подробнее — в разделе [«Управление MCP»](../../user/mcp-management/). ## Улучшения интерфейса diff --git a/content/documentation/user/ai-assistant.ru.md b/content/documentation/user/ai-assistant.ru.md index 730553c5..be1054b5 100644 --- a/content/documentation/user/ai-assistant.ru.md +++ b/content/documentation/user/ai-assistant.ru.md @@ -189,7 +189,7 @@ OpenAI-совместимый чат: AI-ассистент использует встроенные инструменты платформы и инструменты из [MCP-коллекций](../mcp-management/#mcp-коллекции), к которым у пользователя есть доступ. -В панели чата раскройте **Доступные инструменты**, чтобы посмотреть название, тип (**internal**, **external**, **custom**), аргументы и пример. Клик по примеру вставляет текст в поле ввода. В одном запросе модель может вызвать несколько инструментов. +В панели чата раскройте «Доступные инструменты», чтобы посмотреть название, тип (`internal`, `external`, `custom`), аргументы и пример. Клик по примеру вставляет текст в поле ввода. В одном запросе модель может вызвать несколько инструментов. -- Встроенные инструменты (**internal**) и их параметры описаны в [документации MCP-сервера](../mcp-server/). +- Встроенные инструменты (`internal`) и их параметры описаны в [документации MCP-сервера](../mcp-server/). - Подключение MCP-серверов, пользовательских MCP-инструментов и настройка коллекций — в разделе [«Управление MCP»](../mcp-management/). diff --git a/content/documentation/user/mcp-management.ru.md b/content/documentation/user/mcp-management.ru.md index abd9013d..34d3812e 100644 --- a/content/documentation/user/mcp-management.ru.md +++ b/content/documentation/user/mcp-management.ru.md @@ -3,83 +3,83 @@ title: Управление MCP description: Подключение upstream MCP-серверов, пользовательских MCP-инструментов и MCP-коллекций для AI-ассистента и внешних MCP-клиентов. --- -Раздел **AI** → **MCP** предназначен для настройки инструментов, которые AI-ассистент и [встроенный MCP-сервер](../mcp-server/) могут вызывать от имени пользователя. +Раздел «AI» → «MCP» предназначен для настройки инструментов, которые AI-ассистент и [встроенный MCP-сервер](../mcp-server/) могут вызывать от имени пользователя. -Доступ к разделу **AI** контролируется глобальным разрешением `view:ai-page`. Настройка MCP-серверов, инструментов и коллекций — отдельными глобальными разрешениями `read:` / `edit:` (см. [ролевую модель](../../admin/security/rbac/#глобальные-разрешения)). +Доступ к разделу «AI» контролируется глобальным разрешением `view:ai-page`. Настройка MCP-серверов, инструментов и коллекций — отдельными глобальными разрешениями `read:` / `edit:` (см. [ролевую модель](../../admin/security/rbac/#глобальные-разрешения)). ## Обзор | Подраздел | Назначение | |-----------|------------| -| **MCP-серверы** | Подключение upstream MCP-серверов и синхронизация их каталога инструментов | -| **MCP-коллекции** | Группы инструментов и разграничение доступа пользователей | -| **MCP-инструменты** | Пользовательские MCP-инструменты без upstream MCP-сервера | -| **Каталог** | Просмотр всех доступных вам инструментов | +| «MCP-серверы» | Подключение upstream MCP-серверов и синхронизация их каталога инструментов | +| «MCP-коллекции» | Группы инструментов и разграничение доступа пользователей | +| «MCP-инструменты» | Пользовательские MCP-инструменты без upstream MCP-сервера | +| «Каталог» | Просмотр всех доступных вам инструментов | В AI-ассистенте инструменты отображаются с типом: -- **internal** — встроенные инструменты платформы (описаны в [документации MCP-сервера](../mcp-server/)); -- **external** — инструменты, полученные из подключённого upstream MCP-сервера; -- **custom** — пользовательские MCP-инструменты. +- «internal» — встроенные инструменты платформы (описаны в [документации MCP-сервера](../mcp-server/)); +- «external» — инструменты, полученные из подключённого upstream MCP-сервера; +- «custom» — пользовательские MCP-инструменты. -Вызов **external** и **custom** инструментов доступен только если они входят во **включённую** MCP-коллекцию, к которой у пользователя есть доступ. +Вызов «external» и «custom» инструментов доступен только если они входят во «включённую» MCP-коллекцию, к которой у пользователя есть доступ. ## MCP-серверы Подключите upstream MCP-сервер, чтобы импортировать его инструменты в каталог платформы. -1. Перейдите в **AI** → **MCP** → **MCP-серверы**. -1. Нажмите **Подключить**. -1. На вкладке **Основная информация** укажите **Название**, **Идентификатор**, **Описание**, **Владелец** и **Команда**. -1. На вкладке **Конфигурация**: - 1. Включите переключатель **Включить**. - 1. Выберите **Транспорт** (`HTTP` или `SSE`). - 1. Укажите **URL** upstream MCP-сервера. - 1. При необходимости добавьте **HTTP-заголовки** и **учётные данные** для авторизации. -1. Нажмите **Сохранить**. +1. Перейдите в «AI» → «MCP» → «MCP-серверы». +1. Нажмите «Подключить». +1. На вкладке «Основная информация» укажите «Название», «Идентификатор», «Описание», «Владелец» и «Команда». +1. На вкладке «Конфигурация»: + 1. Включите переключатель «Включить». + 1. Выберите «Транспорт» (`HTTP` или `SSE`). + 1. Укажите «URL» upstream MCP-сервера. + 1. При необходимости добавьте «HTTP-заголовки» и «учётные данные» для авторизации. +1. Нажмите «Сохранить». -После сохранения откройте карточку сервера и нажмите **Синхронизировать**, чтобы загрузить каталог инструментов. На вкладке **Инструменты** включите нужные инструменты и при необходимости задайте **Теги**. +После сохранения откройте карточку сервера и нажмите «Синхронизировать», чтобы загрузить каталог инструментов. На вкладке «Инструменты» включите нужные инструменты и при необходимости задайте «Теги». ## MCP-инструменты Создайте пользовательский MCP-инструмент, который AI-ассистент вызывает напрямую, без upstream MCP-сервера. -1. Перейдите в **AI** → **MCP** → **MCP-инструменты**. -1. Нажмите **Добавить**. -1. На вкладке **Основная информация** укажите **Название**, **Описание**, **Владелец**, **Команду** и **Теги**. -1. На вкладке **Конфигурация**: - 1. Включите переключатель **Включить**. - 1. Задайте **Схему аргументов** (JSON Schema с корневым типом `object`). - 1. При необходимости укажите **Сопоставление path-параметров** — JSON-объект, который сопоставляет имена аргументов с сегментами `{placeholder}` в URL executor. - 1. При необходимости укажите **Сопоставление query-параметров** — JSON-объект, который сопоставляет имена аргументов с именами query-параметров URL. -1. На вкладке **Авторизация** укажите **URL** executor endpoint, **HTTP-метод**, **HTTP-заголовки** и **учётные данные**. В URL можно использовать сегменты `{placeholder}` для path-параметров и плейсхолдеры учётных данных, например `{{ .credentials.tenant_id }}`. -1. Нажмите **Сохранить**. +1. Перейдите в «AI» → «MCP» → «MCP-инструменты». +1. Нажмите «Добавить». +1. На вкладке «Основная информация» укажите «Название», «Описание», «Владелец», «Команду» и «Теги». +1. На вкладке «Конфигурация»: + 1. Включите переключатель «Включить». + 1. Задайте «Схему аргументов» (JSON Schema с корневым типом `object`). + 1. При необходимости укажите «Сопоставление path-параметров» — JSON-объект, который сопоставляет имена аргументов с сегментами `{placeholder}` в URL executor. + 1. При необходимости укажите «Сопоставление query-параметров» — JSON-объект, который сопоставляет имена аргументов с именами query-параметров URL. +1. На вкладке «Авторизация» укажите «URL» executor endpoint, «HTTP-метод», «HTTP-заголовки» и «учётные данные». В URL можно использовать сегменты `{placeholder}` для path-параметров и плейсхолдеры учётных данных, например `{{ .credentials.tenant_id }}`. +1. Нажмите «Сохранить». Пример. В схеме аргументов задан аргумент `space_id`, URL executor — `https://api.example.com/v1/spaces/{spaceId}/boards`, сопоставление path-параметров — `{"space_id": "spaceId"}`. При вызове инструмента с `space_id=42` запрос уйдёт на `https://api.example.com/v1/spaces/42/boards`. -Для **GET** и **DELETE** аргументы, не сопоставленные с path-параметрами, передаются только как query-параметры. Для **POST**, **PUT** и **PATCH** аргументы, не сопоставленные с path- или query-параметрами, отправляются в JSON-теле запроса. +Для «GET» и «DELETE» аргументы, не сопоставленные с path-параметрами, передаются только как query-параметры. Для «POST», «PUT» и «PATCH» аргументы, не сопоставленные с path- или query-параметрами, отправляются в JSON-теле запроса. ## MCP-коллекции MCP-коллекция объединяет инструменты из каталога и определяет, какие из них доступны пользователям AI-ассистента и внешним MCP-клиентам. -1. Перейдите в **AI** → **MCP** → **MCP-коллекции**. -1. Нажмите **Создать**. -1. На вкладке **Основная информация** укажите **Название**, **Идентификатор**, **Описание**, **Владелец** и **Команду**. -1. На вкладке **Конфигурация**: - 1. Включите переключатель **Включить**. - 1. В поле **Инструменты** выберите инструменты из доступного каталога. Каждый пункт содержит идентификатор MCP-сервера в скобках. -1. Нажмите **Сохранить**. +1. Перейдите в «AI» → «MCP» → «MCP-коллекции». +1. Нажмите «Создать». +1. На вкладке «Основная информация» укажите «Название», «Идентификатор», «Описание», «Владелец» и «Команду». +1. На вкладке «Конфигурация»: + 1. Включите переключатель «Включить». + 1. В поле «Инструменты» выберите инструменты из доступного каталога. Каждый пункт содержит идентификатор MCP-сервера в скобках. +1. Нажмите «Сохранить». -Чтобы пользователь мог вызывать инструменты коллекции, откройте меню карточки коллекции и выберите **Настроить доступ**. Назначьте пользователям или командам роль с разрешением `use:mcp-collections`. Список разрешений — в [ролевой модели](../../admin/security/rbac/#mcp-коллекции). +Чтобы пользователь мог вызывать инструменты коллекции, откройте меню карточки коллекции и выберите «Настроить доступ». Назначьте пользователям или командам роль с разрешением `use:mcp-collections`. Список разрешений — в [ролевой модели](../../admin/security/rbac/#mcp-коллекции). Владелец коллекции и супер-администратор получают доступ к коллекции автоматически. ## Каталог -Раздел **Каталог** показывает все инструменты, доступные текущему пользователю с учётом MCP-коллекций и прав доступа. Раздел предназначен для просмотра; редактирование выполняется на страницах **MCP-серверы**, **MCP-инструменты** и **MCP-коллекции**. +Раздел «Каталог» показывает все инструменты, доступные текущему пользователю с учётом MCP-коллекций и прав доступа. Раздел предназначен для просмотра; редактирование выполняется на страницах «MCP-серверы», «MCP-инструменты» и «MCP-коллекции». ## Связь с AI-ассистентом и MCP-сервером -- В [AI-ассистенте](../ai-assistant/#инструменты-mcp) в блоке **Доступные инструменты** отображаются встроенные инструменты и инструменты из доступных коллекций. -- [MCP-сервер](../mcp-server/) платформы возвращает и вызывает те же инструменты из коллекций, что доступны пользователю, с учётом его прав RBAC. +- В [AI-ассистенте](../ai-assistant/#инструменты-mcp) в блоке «Доступные инструменты» отображаются встроенные инструменты и инструменты из доступных коллекций. +- [MCP-сервер](../mcp-server/) платформы возвращает и вызывает те же инструменты из коллекций, что доступны пользователю, с учётом его прав RBAC. \ No newline at end of file From b8ba60516c11127cb763d1e2b707b83193b977bb Mon Sep 17 00:00:00 2001 From: lada7878 Date: Wed, 29 Jul 2026 11:44:06 +0500 Subject: [PATCH 02/11] edit split Signed-off-by: lada7878 --- .../admin/actions/codescoring.ru.md | 10 +- .../documentation/admin/actions/debug.ru.md | 27 ++ .../admin/actions/defectdojo.ru.md | 57 ++-- .../documentation/admin/actions/gitlab.ru.md | 272 ++++++++---------- .../documentation/admin/actions/kafka.ru.md | 54 +--- .../admin/actions/keycloak.ru.md | 18 +- .../admin/actions/kubernetes.ru.md | 31 +- .../documentation/admin/actions/nexus.ru.md | 51 +--- .../admin/actions/overview.ru.md | 16 +- .../admin/actions/sonarqube.ru.md | 25 +- .../documentation/admin/actions/types.ru.md | 5 - .../documentation/admin/actions/vault.ru.md | 31 +- .../documentation/admin/actions/wait.ru.md | 5 + 13 files changed, 236 insertions(+), 366 deletions(-) delete mode 100644 content/documentation/admin/actions/types.ru.md diff --git a/content/documentation/admin/actions/codescoring.ru.md b/content/documentation/admin/actions/codescoring.ru.md index 0dbbd22a..933d88c4 100644 --- a/content/documentation/admin/actions/codescoring.ru.md +++ b/content/documentation/admin/actions/codescoring.ru.md @@ -1,9 +1,7 @@ -# CodeScoring - -## Содержание - -- CreateCodeScoringProject -- DeleteCodeScoringProject +--- +title: Code Scoring +weight: 100 +--- ## CreateCodeScoringProject diff --git a/content/documentation/admin/actions/debug.ru.md b/content/documentation/admin/actions/debug.ru.md index d49c4735..71277d7f 100644 --- a/content/documentation/admin/actions/debug.ru.md +++ b/content/documentation/admin/actions/debug.ru.md @@ -1,3 +1,30 @@ +--- +title: Debug +weight: 110 +--- + +## Debug + +Debug выполняет отладочное действие. Позволяет сделать заданное число циклов ожидания, а также записать произвольные данные в лог и вернуть их в ответе действия. + +### Пример запроса + +```yaml +sleep_time: 1 +sleep_count: 3 +extra: + example_key: example_value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|---------------|----------------|--------------------------------------------------------------------------|-----------------------| +| sleep_time | Нет | Длительность одного цикла ожидания в секундах | `1` | +| sleep_count | Нет | Число циклов ожидания | `1` | +| extra | Нет | Произвольный набор пар «ключ–значение», который записывается в лог и возвращается в ответе действия | - | + + ## Fail Fail эмулирует ошибку исполнения действия. Предназначен для использования в процессах в качестве отладочного элемента. diff --git a/content/documentation/admin/actions/defectdojo.ru.md b/content/documentation/admin/actions/defectdojo.ru.md index 8e2d0c3d..29d5f37c 100644 --- a/content/documentation/admin/actions/defectdojo.ru.md +++ b/content/documentation/admin/actions/defectdojo.ru.md @@ -1,32 +1,11 @@ -# DefectDojo +--- +title: Defect Dojo +weight: 90 +--- -## Содержание - -- CreateDefectdojoEngagement -- CreateDefectdojoProduct -- DeleteDefectdojoProduct - -## CreateDefectdojoEngagement - -CreateDefectdojoEngagement — создаёт новый engagement в системе DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -name: example engagement -product: '1' -target_start: '2024-06-01' -target_end: '2024-06-30' -lead: '1' -``` - -### Спецификация запроса - -Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). - -### Учётные данные - -* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} ## CreateDefectdojoProduct @@ -44,10 +23,6 @@ prod_type: 1 Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). -### Учётные данные - -* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. - ## DeleteDefectdojoProduct DeleteDefectdojoProduct — удаляет продукт из DefectDojo. Действие использует DefectDojo API v2. @@ -64,6 +39,20 @@ id: 1 |-------------|----------------|----------------------------------------------------|------------------------| | id | Да | Идентификатор продукта, который необходимо удалить | - | -### Учётные данные +## CreateDefectdojoEngagement + +CreateDefectdojoEngagement — создаёт новый engagement в системе DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса -* `token` — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. +```yaml +name: example engagement +product: '1' +target_start: '2024-06-01' +target_end: '2024-06-30' +lead: '1' +``` + +### Спецификация запроса + +Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). diff --git a/content/documentation/admin/actions/gitlab.ru.md b/content/documentation/admin/actions/gitlab.ru.md index ff0c6af3..c4856d28 100644 --- a/content/documentation/admin/actions/gitlab.ru.md +++ b/content/documentation/admin/actions/gitlab.ru.md @@ -1,15 +1,15 @@ --- title: Gitlab -weight: 10 +weight: 20 --- {{< alert level="info" >}} -Для выполнения каждого действия необходимо наличие токена GitLab. `token` — токен пользователя, от имени которого выполняется действие. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). +Для выполнения действий необходимо наличие токена GitLab. `token` — токен пользователя, от имени которого выполняется действие. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). {{< /alert >}} ## CreateRepositoryFromTemplate -CreateRepositoryFromTemplate — создаёт новый репозиторий из шаблона в Gitlab. Механизм рендеринга основан на [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) и поддерживает все встроенные методы, а также расширения, добавленные в платформу. +CreateRepositoryFromTemplate — создаёт новый репозиторий из шаблона в GitLab. Механизм рендеринга основан на [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) и поддерживает все встроенные методы, а также расширения, добавленные в платформу. ### Пример запроса @@ -52,7 +52,7 @@ values: 1. Клонирует шаблонный репозиторий по указанному URL (`templateRepositoryUrl`), используя в качестве ref либо `sourceTag`, либо `sourceBranch`, либо ветку `main`. 1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. -1. Считывает переменные, передаваемые при запуске действия, и делает их merge с переменными из `values.yaml`. Приоритет при merge отдаётся переменным, передаваемым при запуске действия. +1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет при merge отдаётся переменным, передаваемым при запуске действия. 1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. 1. Рендерит из шаблонов файлы, учитывая `values.yaml` и переданные в действие переменные. 1. Изменяет удалённый (remote) репозиторий на целевой (`targetRepositoryUrl`) и делает git push в целевую ветку (`targetBranch`), либо в основную ветку `main`. @@ -104,7 +104,7 @@ helm/** docs/** ``` -#### Добавление путей в игнор +#### Добавление путей в игнорирование 1. В корне шаблонного репозитория создайте или отредактируйте файл `.templateignore` (по одному правилу на строку). @@ -151,7 +151,7 @@ charts/*/values.schema.json -#### Как обрабатывается строка правила +#### Обработка строки правила Переменные для раскрытия правил те же, что объединены из `values.yaml` в корне шаблонного репозитория и из поля `values` в запросе действия (приоритет у `values` в запросе). @@ -402,6 +402,66 @@ additionalIgnoreFiles: * `--values` (опционально) — путь к файлу `values.yaml` с переменными, которые будут использоваться при рендеринге. * `--ignore-files` (опционально) — список файлов, содержащих пути для исключения из целевого репозитория. +## CreateGitlabProject + +CreateGitlabProject — создаёт новый проект в GitLab. Действие осуществляет вызов GitLab API для создания проекта с указанными параметрами, такими как название, путь проекта, описание и другие настройки. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. + +### Пример запроса + +```yaml +name: example +path: example +description: example +default_branch: main +initialize_with_readme: false +namespace_id: '0' +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|------------------------|----------------|--------------------------------------------------------------------------------------------|-----------------------| +| name | Да | Название проекта, который будет создан в GitLab | - | +| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | +| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | +| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | +| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | +| description | Нет | Описание проекта, которое будет видно пользователям | - | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects`, передавая параметры запроса в формате JSON. В случае успешного создания проекта GitLab возвращает данные о вновь созданном проекте. + +## CreateGitlabProjectWebhook + +CreateGitlabProjectWebhook — создаёт вебхук в проекте GitLab. + +### Пример запроса + +```yaml +project_id: '0' +url: https://example.com +push_events: true +issues_events: true +merge_requests_events: true +pipeline_events: true +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------------|------------------|------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | +| url | Да | URL-адрес вебхука | +| push_events | Да | Запускать вебхук при push в репозиторий | +| issues_events | Да | Запускать вебхук при создании Issue | +| merge_requests_events | Да | Запускать вебхук при создании Merge Request | +| pipeline_events | Да | Запускать вебхук при запуске Pipeline | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/hooks`. + ## CreateGitlabBranches CreateGitlabBranches — создаёт новые ветки в целевом репозитории. @@ -424,43 +484,64 @@ branches: | branches.branch | Да | Название новой ветки | | branches.ref | Да | Название существующей ветки или SHA-хеш коммита | -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - ### Примечание Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/branches`. В случае успешного создания проекта GitLab возвращает информацию о созданных ветках. -## CreateGitlabGroupVariables +## CreateGitlabTag -CreateGitlabGroupVariables — создаёт переменные (variables) на уровне группы в GitLab. +CreateGitlabTag — создаёт новый тег в проекте GitLab. ### Пример запроса ```yaml -group_id: '0' -variables: - - key: EXAMPLE_VARIABLE - value: value +project_id: '0' +tag_name: v1.0.0 +ref: main +message: Tag description ``` ### Спецификация запроса -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | +| Название | Обязательность | Описание | +|----------------------|----------------|-------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | +| tag_name | Да | Название тега | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | +| message | Да | Описание тега | -Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации Gitlab](https://docs.gitlab.com/api/group_level_variables/#create-variable). +### Примечание -### Учётные данные +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/tags`. + +## CreateGitlabRelease + +CreateGitlabRelease — создаёт релиз GitLab на основе уже существующего тега. + +### Пример запроса + +```yaml +project_id: '0' +tag_name: v1.0.0 +name: Release v1.0.0 +description: | + ## Изменения: + - Новая функция. + - Исправления ошибок. +``` -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. +### Спецификация запроса + +| Название | Обязательность | Описание | +|--------------|----------------|--------------------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | +| tag_name | Да | Название существующего тега, на основе которого формируется релиз | +| name | Да | Название релиза, отображаемое в GitLab | +| description | Нет | Описание релиза в формате Markdown | ### Примечание -Действие осуществляет POST-запрос по URL: `/api/v4/groups/:id/variables`. +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/releases`. ## CreateGitlabMergeRequest @@ -520,39 +601,31 @@ values: Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/merge_requests`. -## CreateGitlabProject +## CreateGitlabGroupVariables -CreateGitlabProject — создаёт новый проект в GitLab. Действие осуществляет вызов GitLab API для создания проекта с указанными параметрами, такими как название, путь проекта, описание и другие настройки. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. +CreateGitlabGroupVariables — создаёт переменные (variables) на уровне группы в GitLab. ### Пример запроса ```yaml -name: example -path: example -description: example -default_branch: main -initialize_with_readme: false -namespace_id: '0' +group_id: '0' +variables: + - key: EXAMPLE_VARIABLE + value: value ``` ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------------|----------------|--------------------------------------------------------------------------------------------|-----------------------| -| name | Да | Название проекта, который будет создан в GitLab | - | -| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | -| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | -| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | -| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | -| description | Нет | Описание проекта, которое будет видно пользователям | - | - -### Учётные данные +| Название | Обязательность | Описание | +|-----------------|----------------|------------------------------------------------------------------------------| +| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. +Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/group_level_variables/#create-variable). ### Примечание -Действие осуществляет POST-запрос по URL: `/api/v4/projects`, передавая параметры запроса в формате JSON. В случае успешного создания проекта GitLab возвращает данные о вновь созданном проекте. +Действие осуществляет POST-запрос по URL: `/api/v4/groups/:id/variables`. ## CreateGitlabProjectVariables @@ -574,113 +647,12 @@ variables: | project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | | variables | Да | Список создаваемых переменных | -Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации Gitlab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. +Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). ### Примечание Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/variables`. -## CreateGitlabProjectWebhook - -CreateGitlabProjectWebhook — создаёт вебхук в проекте GitLab. - -### Пример запроса - -```yaml -project_id: '0' -url: https://example.com -push_events: true -issues_events: true -merge_requests_events: true -pipeline_events: true -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------|------------------|------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | -| url | Да | URL-адрес вебхука | -| push_events | Да | Запускать вебхук при push в репозиторий | -| issues_events | Да | Запускать вебхук при создании Issue | -| merge_request_events | Да | Запускать вебхук при создании Merge Request | -| pipeline_events | Да | Запускать вебхук при запуске Pipeline | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/hooks`. - -## CreateGitlabTag - -CreateGitlabTag — создаёт новый тег в проекте GitLab. - -### Пример запроса - -```yaml -project_id: '0' -tag_name: v1.0.0 -ref: main -message: Tag description -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------|----------------|-------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | -| tag_name | Да | Название тега | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | -| message | Да | Описание тега | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/tags`. - -## CreateGitlabRelease - -CreateGitlabRelease — создаёт релиз GitLab на основе уже существующего тега. - -### Пример запроса - -```yaml -project_id: '0' -tag_name: v1.0.0 -name: Release v1.0.0 -description: | - ## Изменения: - - Новая функция. - - Исправления ошибок. -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|--------------|----------------|--------------------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | -| tag_name | Да | Название существующего тега, на основе которого формируется релиз | -| name | Да | Название релиза, отображаемое в GitLab | -| description | Нет | Описание релиза в формате Markdown | - -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/releases`. - ## StartGitlabPipeline StartGitlabPipeline — запускает выполнение пайплайна в GitLab. @@ -705,10 +677,6 @@ variables: | variables.key | Да | Название переменной | | variables.value | Да | Значение переменной | -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - ### Примечание Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/pipeline`. @@ -729,10 +697,6 @@ project_id: 0 |---------------------------|----------------|----------------------------------------------------------------------------------------------------| | project_id | Да | Идентификатор проекта, который необходимо удалить | -### Учётные данные - -* `token` — токен пользователя, от имени которого будет запускаться выполнение действия. - ### Примечание Действие осуществляет DELETE-запрос по URL: `/api/v4/projects/:id`. diff --git a/content/documentation/admin/actions/kafka.ru.md b/content/documentation/admin/actions/kafka.ru.md index 532ca8c0..580ab8a8 100644 --- a/content/documentation/admin/actions/kafka.ru.md +++ b/content/documentation/admin/actions/kafka.ru.md @@ -1,23 +1,13 @@ --- -title: Kafka +title: Apache Kafka +weight: 40 --- -# Kafka - -## Топики - -- CreateKafkaTopics -- DeleteKafkaTopics - -## Пользователи - -- CreateKafkaUsers -- DeleteKafkaUsers - -## ACL - -- CreateKafkaACLs -- DeleteKafkaACLs +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} ## CreateKafkaTopics @@ -47,11 +37,6 @@ topics: | configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | | topics | Да | Список названий топиков, которые необходимо создать | - | -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - ## DeleteKafkaTopics DeleteKafkaTopics — удаляет существующие топики в Kafka. @@ -73,11 +58,6 @@ topics: | auth_type | Да | Тип авторизации в Kafka | PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512 | | topics | Да | Список названий топиков, которые необходимо удалить | - | -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - ## CreateKafkaUsers CreateKafkaUsers — создаёт новых пользователей SASL/SCRAM в Kafka. @@ -110,11 +90,6 @@ users: | users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | | users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - ## DeleteKafkaUsers DeleteKafkaUsers — удаляет существующих пользователей SASL/SCRAM в Kafka. @@ -141,11 +116,6 @@ users: | users.user | Да | Имя удаляемого пользователя | - | | users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - ## CreateKafkaACLs CreateKafkaACLs — создаёт новый набор ACL в Kafka. @@ -205,11 +175,6 @@ acls: | acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | | acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - ### Список возможных шаблонов * ANY. @@ -328,11 +293,6 @@ acls: | acls.deny_hosts | Нет | Список хостов, для которых запретить операцию | - | - | | acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | -### Учётные данные - -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. - ### Список возможных pattern * ANY. diff --git a/content/documentation/admin/actions/keycloak.ru.md b/content/documentation/admin/actions/keycloak.ru.md index 59163767..3bf8031a 100644 --- a/content/documentation/admin/actions/keycloak.ru.md +++ b/content/documentation/admin/actions/keycloak.ru.md @@ -1,8 +1,13 @@ -# Keycloak +--- +title: Keycloak +weight: 70 +--- -## Содержание - -- CreateKeycloakClient +{{< alert level="info" >}} +Для выполнения действия необходимы учётные данные: +* `username` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} ## CreateKeycloakClient @@ -34,8 +39,3 @@ config: |----------|----------------|----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| | realm | Да | Realm в Keycloak, где требуется создать клиента | - | | config | Да | Параметры создаваемого клиента в соответствии со [спецификацией ClientRepresentation Keycloak](https://www.keycloak.org/docs-api/latest/rest-api/index.html#ClientRepresentation) | - | - -### Учётные данные - -* `username` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. diff --git a/content/documentation/admin/actions/kubernetes.ru.md b/content/documentation/admin/actions/kubernetes.ru.md index fe569ddb..6b8f2363 100644 --- a/content/documentation/admin/actions/kubernetes.ru.md +++ b/content/documentation/admin/actions/kubernetes.ru.md @@ -1,10 +1,11 @@ -# Kubernetes +--- +title: Kubernetes +weight: 60 +--- -## Содержание - -- CreateKubernetesResource -- GetKubernetesResource -- DeleteKubernetesResource +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена сервисного аккаунта Kubernetes. +{{< /alert >}} ## CreateKubernetesResource @@ -30,10 +31,6 @@ manifests: |----------------------------|----------------|----------------------------------------------------------------------------------------------------| | manifests | Да | Манифесты Kubernetes, которые будут применены | -### Учётные данные - -* `token` — токен сервисного аккаунта в Kubernetes. - ## GetKubernetesResource GetKubernetesResource — получает ресурс из Kubernetes кластера. @@ -66,10 +63,6 @@ namespace: default |------------|-----------------------------------------------| | `resource` | Объект ресурса в формате Kubernetes | -### Учётные данные - -* `token` — токен сервисного аккаунта в Kubernetes. - ## DeleteKubernetesResource DeleteKubernetesResource — удаляет существующий ресурс в кластере Kubernetes. @@ -94,10 +87,6 @@ namespace: example | resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | | namespace | Да | Неймспейс, в котором находится ресурс | - | -### Учётные данные - -* `token` — токен сервисного аккаунта в Kubernetes. - ### Определение требуемых Group и Version Каждому типу ресурса соответствует своя группа API (Group) и версия (Version). @@ -116,7 +105,7 @@ namespace: example d8 k explain deployment ``` -Вывод: +Пример вывода: ```yaml GROUP: apps @@ -132,10 +121,8 @@ FIELDS: #### С помощью документации -Как искать в документации: - 1. Найдите нужный ресурс (например, Deployment). -1. В заголовке будет указана API Group и версия. Пример для Deployment: +1. В заголовке указана API Group и версия. Пример для Deployment: ```yaml apiVersion: apps/v1 diff --git a/content/documentation/admin/actions/nexus.ru.md b/content/documentation/admin/actions/nexus.ru.md index 9ed307cf..2178f262 100644 --- a/content/documentation/admin/actions/nexus.ru.md +++ b/content/documentation/admin/actions/nexus.ru.md @@ -1,8 +1,11 @@ -# Nexus Repository +--- +title: Nexus Repository +weight: 80 +--- -## Содержание - -- CreateNexusRepository +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} ## CreateNexusRepository @@ -78,10 +81,6 @@ docker: - Для proxy — обязательно `proxy.remoteUrl`. - Для docker — специфичные поля в `docker`. -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## DeleteNexusRepository `DeleteNexusRepository` — удаляет существующий репозиторий из Nexus Repository Manager 3. @@ -104,10 +103,6 @@ name: my-repo-to-delete - Если репозиторий найден и удалён — возвращается 204. - Если не найден — возвращается ошибка 404. -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## CreateNexusPrivilege CreateNexusPrivilege — создаёт новую привилегию в Nexus Repository Manager 3. Привилегии определяют права доступа к репозиториям и другим ресурсам Nexus. @@ -168,10 +163,6 @@ actions: Для типа `repository-content-selector` селектор контента должен существовать в Nexus до создания привилегии. Если селектор контента не указан или невалиден, действие автоматически преобразует тип привилегии в `repository-view`. -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## AssignNexusPrivilege AssignNexusPrivilege — назначает привилегии существующей роли в Nexus Repository Manager 3. Действие получает текущую конфигурацию роли и объединяет существующие привилегии с новыми. @@ -198,10 +189,6 @@ privileges: 1. Объединяет существующие привилегии роли с новыми привилегиями из запроса. 1. Обновляет роль с объединённым списком привилегий. -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ### Примечание Роль должна существовать в Nexus до назначения привилегий. Если роль не найдена, действие завершится с ошибкой. Все указанные привилегии также должны существовать в Nexus. @@ -222,10 +209,6 @@ name: example-privilege |------|-----------------|---------------------------------------------| | name | Да | Название привилегии, которую требуется удалить | -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## CreateNexusRole CreateNexusRole — создаёт новую роль в Nexus Repository Manager 3. Роли объединяют привилегии и могут включать другие роли. @@ -252,10 +235,6 @@ roles: [] | privileges | Нет | Список названий привилегий, которые назначаются роли | | roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## AssignNexusRole AssignNexusRole — назначает роли существующему пользователю в Nexus Repository Manager 3. Действие получает текущую конфигурацию пользователя и объединяет существующие роли с новыми. @@ -282,10 +261,6 @@ roles: 1. Объединяет существующие роли пользователя с новыми ролями из запроса. 1. Обновляет пользователя с объединённым списком ролей. -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ### Примечание Пользователь должен существовать в Nexus до назначения ролей. Если пользователь не найден, действие завершится с ошибкой. Все указанные роли также должны существовать в Nexus. @@ -306,10 +281,6 @@ id: example-role |------|-----------------|-----------------------------------------| | id | Да | Идентификатор роли, которую требуется удалить | -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## CreateNexusUser CreateNexusUser — создаёт нового пользователя в Nexus Repository Manager 3. @@ -339,10 +310,6 @@ roles: | status | Да | Статус пользователя: `active` или `disabled` | | roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. - ## DeleteNexusUser DeleteNexusUser — удаляет пользователя из Nexus Repository Manager 3. @@ -358,7 +325,3 @@ userId: example-user | Поле | Обязательность | Описание | |--------|-----------------|---------------------------------------------| | userId | Да | Идентификатор пользователя, которого требуется удалить | - -### Учётные данные - -* `token` — строка base64(`admin:password`), используется как Basic Auth при запросах к Nexus. diff --git a/content/documentation/admin/actions/overview.ru.md b/content/documentation/admin/actions/overview.ru.md index 0f42cecf..f7fadfd0 100644 --- a/content/documentation/admin/actions/overview.ru.md +++ b/content/documentation/admin/actions/overview.ru.md @@ -3,14 +3,14 @@ title: Обзор weight: 10 --- -Действия — это механизм платформы для запуска операций во внешних инфраструктурных системах и сервисах. С их помощью можно, например: - -- создавать проекты, переменные, ветки или теги в GitLab; -- создавать ресурсы в Kubernetes; -- получать ресурсы из Kubernetes; -- создавать секреты в Deckhouse Stronghold или HashiCorp Vault; -- создавать проекты в SonarQube, DefectDojo и других системах; -- создавать топики и ACL в Kafka. +Действия — это механизм платформы для запуска операций во внешних инфраструктурных системах и сервисах. С их помощью можно, например, создавать: + +- создавать проекты, переменные, ветки, теги, релизы и merge request'ы в [GitLab](../gitlab/); +- создавать ресурсы в [Kubernetes](../kubernetes/) и получать их; +- создавать секреты в Deckhouse Stronghold, [HashiCorp Vault](../vault/) и клиентов в [Keycloak](../keycloack/); +- создавать проекты в [SonarQube](../sonarqube/), продукты и engagements в [DefectDojo](../defectdojo/), проекты в [CodeScoring](../codescoring/) и репозитории, роли, пользователей и привилегии в [Nexus Repository](../nexus/); +- создавать топики и ACL в [Apache Kafka](../kafka/); +- выполнять вспомогательные действия для отладки и управления выполнением процессов (например, [Debug](../debug/) и [Wait](../wait/)). Действие можно привязать к одному или нескольким ресурсам. После этого его можно запускать для любой сущности этих ресурсов. diff --git a/content/documentation/admin/actions/sonarqube.ru.md b/content/documentation/admin/actions/sonarqube.ru.md index ec350999..943cda7f 100644 --- a/content/documentation/admin/actions/sonarqube.ru.md +++ b/content/documentation/admin/actions/sonarqube.ru.md @@ -1,10 +1,11 @@ -# SonarQube +--- +title: SonarQube +weight: 30 +--- -## Содержание - -- CreateSonarqubeProject -- DeleteSonarqubeProject -- DeleteSonarqubeProjects +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. +{{< /alert >}} ## CreateSonarqubeProject @@ -33,10 +34,6 @@ visibility: public | newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | | visibility | Нет | Видимость проекта | private, public | private | -### Учётные данные - -* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. - ## DeleteSonarqubeProject DeleteSonarqubeProject — удаляет проект из SonarQube. @@ -53,10 +50,6 @@ project: example-project |------------------|------------------|-----------------------------------------------------------------|------------------------| | project | Да | Идентификатор (Project Key) проекта, который необходимо удалить | - | -### Учётные данные - -* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. - ## DeleteSonarqubeProjects DeleteSonarqubeProjects — удаляет один или несколько проектов из SonarQube. @@ -80,7 +73,3 @@ qualifiers: TRK | projects | Нет | Список ключей проектов, который необходимо удалить | - | my_project, another_project | | q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | | qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | - -### Учётные данные - -* `token` — токен Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. diff --git a/content/documentation/admin/actions/types.ru.md b/content/documentation/admin/actions/types.ru.md deleted file mode 100644 index ca768257..00000000 --- a/content/documentation/admin/actions/types.ru.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Типы действий ---- - - diff --git a/content/documentation/admin/actions/vault.ru.md b/content/documentation/admin/actions/vault.ru.md index c7cc65ce..cc365733 100644 --- a/content/documentation/admin/actions/vault.ru.md +++ b/content/documentation/admin/actions/vault.ru.md @@ -1,9 +1,11 @@ -# HashiCorp Vault +--- +title: HashiCorp Vault +weight: 50 +--- -## Содержание - -- CreateVaultSecret -- DeleteVaultSecret +{{< alert level="info" >}} +Для выполнения действий необходимо наличие Vault-токена, который имеет необходимые права для создания секретов. +{{< /alert >}} ## CreateVaultSecret @@ -30,10 +32,6 @@ secrets: | secrets.key | Да | Название (идентификатор) секрета | | - | | secrets.value | Да | Значение секрета | | - | -### Учётные данные - -* `token` — Vault-токен, который имеет необходимые права для создания секретов. - ### Примечание `allow_update` — определяет поведение действия при создании или обновлении секрета: @@ -59,14 +57,14 @@ path: example/data/path |---------------------------|----------------|----------------------------------------------------------------------------------------------------| | path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | -### Учётные данные - -* `token` — Vault-токен, который имеет необходимые права для удаления секретов. - ## CreateVaultKubernetesAuthRole CreateVaultKubernetesAuthRole — создаёт или обновляет роль аутентификации Kubernetes в HashiCorp Vault. +{{< alert level="info" >}} +Для выполнения действия необходимо наличие Vault-токена, обладающего правами на создание/обновление ролей Kubernetes auth backend. +{{< /alert >}} + ### Пример запроса ```yaml @@ -110,9 +108,4 @@ optional: | token_no_default_policy | bool | Исключение default policy из состава токена | | token_bound_cidrs | []string | Ограничение CIDR-диапазонов, откуда можно использовать выданный токен | -Полный список поддерживаемых параметров приведён в [официальной документации](https://developer.hashicorp.com/vault/docs/auth/kubernetes#parameters) HashiCorp Vault. - -### Учётные данные - -* `token` — Vault-токен, обладающий правами на создание/обновление ролей Kubernetes auth backend. - +Полный список поддерживаемых параметров приведён в официальной документации [HashiCorp Vault](https://developer.hashicorp.com/vault/docs/auth/kubernetes#parameters). diff --git a/content/documentation/admin/actions/wait.ru.md b/content/documentation/admin/actions/wait.ru.md index 3f66dd4e..ec044714 100644 --- a/content/documentation/admin/actions/wait.ru.md +++ b/content/documentation/admin/actions/wait.ru.md @@ -1,3 +1,8 @@ +--- +title: Wait +weight: 120 +--- + ## Wait Wait ожидает заданное число секунд; дополнительно может применяться случайная добавка к длительности (джиттер). Предназначено для использования в процессах в качестве элемента задержки, в том числе для ожидания применения результатов предыдущего действия. From 4508aecb9258f4fdb8b5af6d13443e6c62320f0d Mon Sep 17 00:00:00 2001 From: lada7878 Date: Thu, 30 Jul 2026 09:00:47 +0500 Subject: [PATCH 03/11] edit split Signed-off-by: lada7878 --- content/documentation/admin/actions/sonarqube.ru.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/documentation/admin/actions/sonarqube.ru.md b/content/documentation/admin/actions/sonarqube.ru.md index 943cda7f..11c073b7 100644 --- a/content/documentation/admin/actions/sonarqube.ru.md +++ b/content/documentation/admin/actions/sonarqube.ru.md @@ -4,7 +4,7 @@ weight: 30 --- {{< alert level="info" >}} -Для выполнения действий необходимо наличие токена Sonarqube с типом User Token, сгенерированный пользователем, от имени которого будет запускаться выполнение действия. +Для выполнения действий необходимо наличие токена SonarQube с типом User Token, сгенерированного пользователем, от имени которого будет запускаться выполнение действия. {{< /alert >}} ## CreateSonarqubeProject @@ -46,9 +46,9 @@ project: example-project ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------|------------------|-----------------------------------------------------------------|------------------------| -| project | Да | Идентификатор (Project Key) проекта, который необходимо удалить | - | +| Название | Обязательность | Описание | Значение по умолчанию | +|------------------|------------------|----------------------------------------------------------------------------|------------------------| +| project | Да | Уникальный идентификатор (Project Key) проекта, который необходимо удалить | - | ## DeleteSonarqubeProjects @@ -70,6 +70,6 @@ qualifiers: TRK |--------------------|------------------|---------------------------------------------------------------------------------|-------------------------------|---------------------------------------| | analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | | onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | -| projects | Нет | Список ключей проектов, который необходимо удалить | - | my_project, another_project | +| projects | Нет | Список ключей проектов, которые необходимо удалить | - | my_project, another_project | | q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | | qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | From ad4bc4b2c89b80fbc533a0ce4c070d7e9de226fc Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 13:27:03 +0500 Subject: [PATCH 04/11] split2 Signed-off-by: lada7878 --- .../documentation/admin/actions/debug.ru.md | 1 - .../admin/actions/defectdojo.ru.md | 4 +- .../documentation/admin/actions/gitlab.ru.md | 6 +- .../documentation/admin/actions/kafka.ru.md | 94 ++++++++++--------- .../admin/actions/kubernetes.ru.md | 17 ++-- .../documentation/admin/actions/nexus.ru.md | 28 +++--- .../admin/actions/overview.ru.md | 2 +- .../admin/actions/sonarqube.ru.md | 18 ++-- .../documentation/admin/actions/vault.ru.md | 24 ++--- .../documentation/admin/actions/wait.ru.md | 9 +- 10 files changed, 103 insertions(+), 100 deletions(-) diff --git a/content/documentation/admin/actions/debug.ru.md b/content/documentation/admin/actions/debug.ru.md index 71277d7f..482759d6 100644 --- a/content/documentation/admin/actions/debug.ru.md +++ b/content/documentation/admin/actions/debug.ru.md @@ -24,7 +24,6 @@ extra: | sleep_count | Нет | Число циклов ожидания | `1` | | extra | Нет | Произвольный набор пар «ключ–значение», который записывается в лог и возвращается в ответе действия | - | - ## Fail Fail эмулирует ошибку исполнения действия. Предназначен для использования в процессах в качестве отладочного элемента. diff --git a/content/documentation/admin/actions/defectdojo.ru.md b/content/documentation/admin/actions/defectdojo.ru.md index 29d5f37c..c790d2ee 100644 --- a/content/documentation/admin/actions/defectdojo.ru.md +++ b/content/documentation/admin/actions/defectdojo.ru.md @@ -21,7 +21,7 @@ prod_type: 1 ### Спецификация запроса -Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). +Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации DefectDojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). ## DeleteDefectdojoProduct @@ -55,4 +55,4 @@ lead: '1' ### Спецификация запроса -Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации Defectdojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). +Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации DefectDojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). diff --git a/content/documentation/admin/actions/gitlab.ru.md b/content/documentation/admin/actions/gitlab.ru.md index c4856d28..cdc1914b 100644 --- a/content/documentation/admin/actions/gitlab.ru.md +++ b/content/documentation/admin/actions/gitlab.ru.md @@ -4,7 +4,9 @@ weight: 20 --- {{< alert level="info" >}} -Для выполнения действий необходимо наличие токена GitLab. `token` — токен пользователя, от имени которого выполняется действие. Токен передаётся через механизм учётных данных и используется для аутентификации при вызове GitLab API (HTTP-заголовок `Private-Token`). +Для выполнения действий, взаимодействующих с GitLab, необходимы учётные данные. + +Для действий, использующих GitLab API, требуется токен пользователя. Для действий, работающих с Git-репозиторием по HTTPS (например, `CreateRepositoryFromTemplate`), используются имя пользователя и пароль (токен). {{< /alert >}} ## CreateRepositoryFromTemplate @@ -594,7 +596,7 @@ values: 1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет отдаётся переменным, передаваемым при запуске действия. 1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. 1. Рендерит файлы из шаблонов, учитывая `values.yaml` и переданных в действие переменных. -1. Изменяет удалённый (remote) репозиторий на целевой, согласно его ID (`target_project_id`), и выполняет git push в целевую ветку (`source_project_branch`), либо в основную ветку `main`. +1. Изменяет удалённый (remote) репозиторий на целевой, согласно его ID (`target_project_id`), и выполняет git push в ветку в проекте-источнике (`source_project_branch`), либо в основную ветку `main`. 1. Создаёт MR согласно заданным настройкам путём отправки POST-запроса в GitLab API. ### Примечание diff --git a/content/documentation/admin/actions/kafka.ru.md b/content/documentation/admin/actions/kafka.ru.md index 580ab8a8..1386dde0 100644 --- a/content/documentation/admin/actions/kafka.ru.md +++ b/content/documentation/admin/actions/kafka.ru.md @@ -53,10 +53,11 @@ topics: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|-----------------------------------------------------|-----------------------------------------| -| auth_type | Да | Тип авторизации в Kafka | PLAINTEXT, SCRAM-SHA-256, SCRAM-SHA-512 | -| topics | Да | Список названий топиков, которые необходимо удалить | - | +| Название | Обязательность | Описание | Возможные значения | +|--------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| topics | Да | Список названий топиков, которые необходимо удалить | - | ## CreateKafkaUsers @@ -118,7 +119,7 @@ users: ## CreateKafkaACLs -CreateKafkaACLs — создаёт новый набор ACL в Kafka. +CreateKafkaACLs — создаёт набор ACL в Kafka. ### Пример запроса @@ -160,20 +161,21 @@ acls: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|-------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо создать | - | - | -| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | -| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | -| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | -| acls.allow | Нет | Список хостов, для которых разрешается операция | - | - | -| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | -| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо создать | - | - | +| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | +| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | +| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешается правило | - | - | +| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | +| acls.hosts | Нет | Список хостов, для которых разрешается операция | - | - | +| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | ### Список возможных шаблонов @@ -186,7 +188,7 @@ acls: Подробнее — [в документации Kafka](https://kafka.apache.org). -Topic: +Topics: * ALL. * ALTER. @@ -235,7 +237,7 @@ acls: deny: - User:principal_4 - Group:principal_5 - deny_host: + deny_hosts: - 127.0.0.1 ops: - CREATE @@ -268,32 +270,32 @@ acls: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|---------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|---------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| | securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | | saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо создать | - | - | -| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.any_resource | Нет | Все ресурсы | - | false | -| acls.topics | Нет | Список из названий топиков, для которых применять правило | - | - | -| acls.any_topic | Нет | Все топики | - | false | -| acls.groups | Нет | Список из названий групп, для которых применять правило | - | - | -| acls.any_group | Нет | Все топики | - | false | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых применять правило | - | - | -| acls.any_transactional_id | Нет | Любая транзакция | - | false | -| acls.tokens | Нет | Список токенов, для которых применять правило | - | - | -| acls.any_token | Нет | Все токены | - | false | -| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | -| acls.any_allow | Нет | Любой принципал (user, group) | - | false | -| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | -| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | -| acls.deny | Нет | Список принципалов (user, group), для которых запретить правило | - | - | -| acls.any_deny | Нет | Любой принципал (user, group) | - | false | -| acls.deny_hosts | Нет | Список хостов, для которых запретить операцию | - | - | -| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | - -### Список возможных pattern +| acls | Да | Набор ACL, которые необходимо удалить | - | - | +| acls.ops | Да | Список операций, для которых будет удалено правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.any_resource | Нет | Все ресурсы | - | false | +| acls.topics | Нет | Список из названий топиков, для которых будет применяться правило | - | - | +| acls.any_topic | Нет | Все топики | - | false | +| acls.groups | Нет | Список из названий групп, для которых будет применяться правило | - | - | +| acls.any_group | Нет | Все топики | - | false | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых будет применяться правило | - | - | +| acls.any_transactional_id | Нет | Любая транзакция | - | false | +| acls.tokens | Нет | Список токенов, для которых будет применяться правило | - | - | +| acls.any_token | Нет | Все токены | - | false | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | +| acls.any_allow | Нет | Любой принципал (user, group) | - | false | +| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | +| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | +| acls.deny | Нет | Список принципалов (user, group), для которых будет запрещено правило | - | - | +| acls.any_deny | Нет | Любой принципал (user, group) | - | false | +| acls.deny_hosts | Нет | Список хостов, для которых будет запрещено операцию | - | - | +| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | + +### Список возможных шаблонов * ANY. * MATCH. @@ -304,7 +306,7 @@ acls: Подробное описание — [в документации Kafka](https://kafka.apache.org/39/documentation/#operations_resources_and_protocols). -Topic: +Topics: * ALL. * ALTER. diff --git a/content/documentation/admin/actions/kubernetes.ru.md b/content/documentation/admin/actions/kubernetes.ru.md index 6b8f2363..1c349791 100644 --- a/content/documentation/admin/actions/kubernetes.ru.md +++ b/content/documentation/admin/actions/kubernetes.ru.md @@ -33,7 +33,7 @@ manifests: ## GetKubernetesResource -GetKubernetesResource — получает ресурс из Kubernetes кластера. +GetKubernetesResource — получает ресурс из кластера Kubernetes. ### Пример запроса @@ -47,13 +47,13 @@ namespace: default ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|----------------|----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Название ресурса во множественном числе, как в поле NAME вывода команды `kubectl api-resources` | - | -| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| resource_type | Да | Тип получаемого ресурса | +| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | ### Ответ @@ -130,4 +130,5 @@ FIELDS: Здесь: * «API Group» — apps; - * «Version» — v1. \ No newline at end of file + * «Version» — v1. + \ No newline at end of file diff --git a/content/documentation/admin/actions/nexus.ru.md b/content/documentation/admin/actions/nexus.ru.md index 2178f262..575ec09d 100644 --- a/content/documentation/admin/actions/nexus.ru.md +++ b/content/documentation/admin/actions/nexus.ru.md @@ -68,8 +68,8 @@ docker: | `cleanup` | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | | `maven` | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | | `proxy` | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | -| `group` | Для group | Список включённых memberNames | [Пример](#пример-запроса-docker-group) | -| `docker` | Для docker | docker-specific: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | +| `group` | Для group | Список значений `memberNames` | [Пример](#пример-запроса-docker-group) | +| `docker` | Для docker | Специфичные для Docker параметры: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | | `component` | Очень редко | Только для некоторых нестандартных сценариев | - | | `attributes`| Нет | Любые кастомные поля | - | @@ -146,18 +146,18 @@ actions: ### Спецификация запроса -| Поле | Обязательность | Описание | -|------------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | -| description | Нет | Описание привилегии | -| type | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | -| actions | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | -| format | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| repository | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| contentSelector | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | -| pattern | Нет | Шаблон для типа `wildcard` | -| domain | Нет | Домен для типа `application` | -| attributes | Нет | Дополнительные атрибуты в формате ключ-значение | +| Поле | Обязательность | Описание | +|------------------ |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `name` | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | +| `description` | Нет | Описание привилегии | +| `type` | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | +| `actions` | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | +| `format` | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| `repository` | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| `contentSelector` | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | +| `pattern` | Нет | Шаблон для типа `wildcard` | +| `domain` | Нет | Домен для типа `application` | +| `attributes` | Нет | Дополнительные параметры в формате ключ-значение | ### Примечание diff --git a/content/documentation/admin/actions/overview.ru.md b/content/documentation/admin/actions/overview.ru.md index f7fadfd0..4ba29e9a 100644 --- a/content/documentation/admin/actions/overview.ru.md +++ b/content/documentation/admin/actions/overview.ru.md @@ -7,7 +7,7 @@ weight: 10 - создавать проекты, переменные, ветки, теги, релизы и merge request'ы в [GitLab](../gitlab/); - создавать ресурсы в [Kubernetes](../kubernetes/) и получать их; -- создавать секреты в Deckhouse Stronghold, [HashiCorp Vault](../vault/) и клиентов в [Keycloak](../keycloack/); +- создавать секреты в [Deckhouse Stronghold и HashiCorp Vault](../vault/), а также клиентов в [Keycloak](../keycloack/); - создавать проекты в [SonarQube](../sonarqube/), продукты и engagements в [DefectDojo](../defectdojo/), проекты в [CodeScoring](../codescoring/) и репозитории, роли, пользователей и привилегии в [Nexus Repository](../nexus/); - создавать топики и ACL в [Apache Kafka](../kafka/); - выполнять вспомогательные действия для отладки и управления выполнением процессов (например, [Debug](../debug/) и [Wait](../wait/)). diff --git a/content/documentation/admin/actions/sonarqube.ru.md b/content/documentation/admin/actions/sonarqube.ru.md index 11c073b7..d5ca9c77 100644 --- a/content/documentation/admin/actions/sonarqube.ru.md +++ b/content/documentation/admin/actions/sonarqube.ru.md @@ -10,7 +10,7 @@ weight: 30 ## CreateSonarqubeProject CreateSonarqubeProject — создаёт новый проект в SonarQube. -Действие использует SonarQube Web API для создания проекта с указанными параметрами, такими как ключ (project key), название проекта, главная ветка, параметры определения нового кода (new code definition) и видимость проекта. Аутентификация осуществляется с использованием SonarQube token, который должен быть передан в учётных данных. +Действие использует SonarQube Web API для создания проекта с указанными параметрами, такими как ключ (project key), название проекта, главная ветка, параметры определения нового кода (new code definition) и видимость проекта. Аутентификация осуществляется с использованием токена SonarQube, который должен быть передан в учётных данных. ### Пример запроса @@ -25,14 +25,14 @@ visibility: public ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|-------------------------|----------------|-------------------------------------------------------------------------------------------------|----------------------------------------------------|------------------------| -| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | -| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | -| mainBranch | Нет | Название главной ветки проекта | - | master | -| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | -| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | -| visibility | Нет | Видимость проекта | private, public | private | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|-------------------------|----------------|-----------------------------------------------------------------------------------------------|----------------------------------------------------|------------------------| +| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | +| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | +| mainBranch | Нет | Название главной ветки проекта | - | master | +| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | +| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | +| visibility | Нет | Видимость проекта | private, public | private | ## DeleteSonarqubeProject diff --git a/content/documentation/admin/actions/vault.ru.md b/content/documentation/admin/actions/vault.ru.md index cc365733..a5e1d5e6 100644 --- a/content/documentation/admin/actions/vault.ru.md +++ b/content/documentation/admin/actions/vault.ru.md @@ -24,13 +24,13 @@ secrets: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | По умолчанию | -|---------------------------|----------------|-----------------------------------------------------------------|-------------------------------------|--------------| -| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | -| allow_update | Нет | Определяет поведение действия при наличии существующего секрета | true, false, merge, merge_or_create | false | -| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | -| secrets.key | Да | Название (идентификатор) секрета | | - | -| secrets.value | Да | Значение секрета | | - | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|---------------------------|----------------|-------------------------------------------------------------------|-------------------------------------|-----------------------| +| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | +| allow_update | Нет | Определяет поведение действия при создании или обновлении секрета | true, false, merge, merge_or_create | false | +| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | +| secrets.key | Да | Название (идентификатор) секрета | | - | +| secrets.value | Да | Значение секрета | | - | ### Примечание @@ -86,11 +86,11 @@ optional: | Название | Обязательность | Описание | |-------------------------------------|----------------|-----------------------------------------------------------------------------------| -| mountPath | Обязательно | Путь монтирования Kubernetes auth backend в Vault (например, kubernetes) | -| role | Обязательно | Название роли, которая создаётся в Vault | -| bound_service_account_names | Обязательно | Список имён service account'ов, которым разрешён доступ через данную роль | -| bound_service_account_namespaces | Обязательно | Список неймспейсов (namespaces), в которых разрешён доступ через данную роль | -| optional | Необязательно | Дополнительные параметры роли (приведены в следующей таблице) | +| mountPath | Да | Путь монтирования Kubernetes auth backend в Vault (например, kubernetes) | +| role | Да | Название роли, которая создаётся в Vault | +| bound_service_account_names | Да | Список имён service account'ов, которым разрешён доступ через данную роль | +| bound_service_account_namespaces | Да | Список неймспейсов (namespaces), в которых разрешён доступ через данную роль | +| optional | Нет | Дополнительные параметры роли (приведены в следующей таблице) | Поддерживаемые значения в optional: diff --git a/content/documentation/admin/actions/wait.ru.md b/content/documentation/admin/actions/wait.ru.md index ec044714..f92749a7 100644 --- a/content/documentation/admin/actions/wait.ru.md +++ b/content/documentation/admin/actions/wait.ru.md @@ -18,8 +18,7 @@ description: "Waiting for release" ### Спецификация запроса | Название | Обязательность | Описание | Значение по умолчанию | -|---------------------|----------------|----------------------------------------------------------------------------------|-----------------------| -| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | -| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | 0 | -| description | Нет | Описание для отображения в логах и ответе действия | - | - +|---------------------|----------------|----------------------------------------------------------------------------------|----------------------| +| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | +| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | `0` | +| description | Нет | Описание для отображения в логах и ответе действия | - | From f9751746bbb55c579b359449ee60ebf5ca637be5 Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 13:30:09 +0500 Subject: [PATCH 05/11] split2 Signed-off-by: lada7878 --- .../documentation/admin/actions/kubernetes.ru.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/content/documentation/admin/actions/kubernetes.ru.md b/content/documentation/admin/actions/kubernetes.ru.md index 1c349791..d4a4cf0f 100644 --- a/content/documentation/admin/actions/kubernetes.ru.md +++ b/content/documentation/admin/actions/kubernetes.ru.md @@ -47,13 +47,13 @@ namespace: default ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Тип получаемого ресурса | -| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|----------------|----------------------------------------------------------------------------------|----------------------------------------------| +| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| resource_type | Да | Тип получаемого ресурса | - | +| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | ### Ответ @@ -131,4 +131,3 @@ FIELDS: Здесь: * «API Group» — apps; * «Version» — v1. - \ No newline at end of file From dc13f694b93226c2585c4e58cb1ef32b53b8ee16 Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 13:37:57 +0500 Subject: [PATCH 06/11] delete changes assistant and msp Signed-off-by: lada7878 --- content/documentation/user/ai-assistant.ru.md | 4 +- .../documentation/user/mcp-management.ru.md | 84 +++++++++---------- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/content/documentation/user/ai-assistant.ru.md b/content/documentation/user/ai-assistant.ru.md index be1054b5..730553c5 100644 --- a/content/documentation/user/ai-assistant.ru.md +++ b/content/documentation/user/ai-assistant.ru.md @@ -189,7 +189,7 @@ OpenAI-совместимый чат: AI-ассистент использует встроенные инструменты платформы и инструменты из [MCP-коллекций](../mcp-management/#mcp-коллекции), к которым у пользователя есть доступ. -В панели чата раскройте «Доступные инструменты», чтобы посмотреть название, тип (`internal`, `external`, `custom`), аргументы и пример. Клик по примеру вставляет текст в поле ввода. В одном запросе модель может вызвать несколько инструментов. +В панели чата раскройте **Доступные инструменты**, чтобы посмотреть название, тип (**internal**, **external**, **custom**), аргументы и пример. Клик по примеру вставляет текст в поле ввода. В одном запросе модель может вызвать несколько инструментов. -- Встроенные инструменты (`internal`) и их параметры описаны в [документации MCP-сервера](../mcp-server/). +- Встроенные инструменты (**internal**) и их параметры описаны в [документации MCP-сервера](../mcp-server/). - Подключение MCP-серверов, пользовательских MCP-инструментов и настройка коллекций — в разделе [«Управление MCP»](../mcp-management/). diff --git a/content/documentation/user/mcp-management.ru.md b/content/documentation/user/mcp-management.ru.md index 34d3812e..abd9013d 100644 --- a/content/documentation/user/mcp-management.ru.md +++ b/content/documentation/user/mcp-management.ru.md @@ -3,83 +3,83 @@ title: Управление MCP description: Подключение upstream MCP-серверов, пользовательских MCP-инструментов и MCP-коллекций для AI-ассистента и внешних MCP-клиентов. --- -Раздел «AI» → «MCP» предназначен для настройки инструментов, которые AI-ассистент и [встроенный MCP-сервер](../mcp-server/) могут вызывать от имени пользователя. +Раздел **AI** → **MCP** предназначен для настройки инструментов, которые AI-ассистент и [встроенный MCP-сервер](../mcp-server/) могут вызывать от имени пользователя. -Доступ к разделу «AI» контролируется глобальным разрешением `view:ai-page`. Настройка MCP-серверов, инструментов и коллекций — отдельными глобальными разрешениями `read:` / `edit:` (см. [ролевую модель](../../admin/security/rbac/#глобальные-разрешения)). +Доступ к разделу **AI** контролируется глобальным разрешением `view:ai-page`. Настройка MCP-серверов, инструментов и коллекций — отдельными глобальными разрешениями `read:` / `edit:` (см. [ролевую модель](../../admin/security/rbac/#глобальные-разрешения)). ## Обзор | Подраздел | Назначение | |-----------|------------| -| «MCP-серверы» | Подключение upstream MCP-серверов и синхронизация их каталога инструментов | -| «MCP-коллекции» | Группы инструментов и разграничение доступа пользователей | -| «MCP-инструменты» | Пользовательские MCP-инструменты без upstream MCP-сервера | -| «Каталог» | Просмотр всех доступных вам инструментов | +| **MCP-серверы** | Подключение upstream MCP-серверов и синхронизация их каталога инструментов | +| **MCP-коллекции** | Группы инструментов и разграничение доступа пользователей | +| **MCP-инструменты** | Пользовательские MCP-инструменты без upstream MCP-сервера | +| **Каталог** | Просмотр всех доступных вам инструментов | В AI-ассистенте инструменты отображаются с типом: -- «internal» — встроенные инструменты платформы (описаны в [документации MCP-сервера](../mcp-server/)); -- «external» — инструменты, полученные из подключённого upstream MCP-сервера; -- «custom» — пользовательские MCP-инструменты. +- **internal** — встроенные инструменты платформы (описаны в [документации MCP-сервера](../mcp-server/)); +- **external** — инструменты, полученные из подключённого upstream MCP-сервера; +- **custom** — пользовательские MCP-инструменты. -Вызов «external» и «custom» инструментов доступен только если они входят во «включённую» MCP-коллекцию, к которой у пользователя есть доступ. +Вызов **external** и **custom** инструментов доступен только если они входят во **включённую** MCP-коллекцию, к которой у пользователя есть доступ. ## MCP-серверы Подключите upstream MCP-сервер, чтобы импортировать его инструменты в каталог платформы. -1. Перейдите в «AI» → «MCP» → «MCP-серверы». -1. Нажмите «Подключить». -1. На вкладке «Основная информация» укажите «Название», «Идентификатор», «Описание», «Владелец» и «Команда». -1. На вкладке «Конфигурация»: - 1. Включите переключатель «Включить». - 1. Выберите «Транспорт» (`HTTP` или `SSE`). - 1. Укажите «URL» upstream MCP-сервера. - 1. При необходимости добавьте «HTTP-заголовки» и «учётные данные» для авторизации. -1. Нажмите «Сохранить». +1. Перейдите в **AI** → **MCP** → **MCP-серверы**. +1. Нажмите **Подключить**. +1. На вкладке **Основная информация** укажите **Название**, **Идентификатор**, **Описание**, **Владелец** и **Команда**. +1. На вкладке **Конфигурация**: + 1. Включите переключатель **Включить**. + 1. Выберите **Транспорт** (`HTTP` или `SSE`). + 1. Укажите **URL** upstream MCP-сервера. + 1. При необходимости добавьте **HTTP-заголовки** и **учётные данные** для авторизации. +1. Нажмите **Сохранить**. -После сохранения откройте карточку сервера и нажмите «Синхронизировать», чтобы загрузить каталог инструментов. На вкладке «Инструменты» включите нужные инструменты и при необходимости задайте «Теги». +После сохранения откройте карточку сервера и нажмите **Синхронизировать**, чтобы загрузить каталог инструментов. На вкладке **Инструменты** включите нужные инструменты и при необходимости задайте **Теги**. ## MCP-инструменты Создайте пользовательский MCP-инструмент, который AI-ассистент вызывает напрямую, без upstream MCP-сервера. -1. Перейдите в «AI» → «MCP» → «MCP-инструменты». -1. Нажмите «Добавить». -1. На вкладке «Основная информация» укажите «Название», «Описание», «Владелец», «Команду» и «Теги». -1. На вкладке «Конфигурация»: - 1. Включите переключатель «Включить». - 1. Задайте «Схему аргументов» (JSON Schema с корневым типом `object`). - 1. При необходимости укажите «Сопоставление path-параметров» — JSON-объект, который сопоставляет имена аргументов с сегментами `{placeholder}` в URL executor. - 1. При необходимости укажите «Сопоставление query-параметров» — JSON-объект, который сопоставляет имена аргументов с именами query-параметров URL. -1. На вкладке «Авторизация» укажите «URL» executor endpoint, «HTTP-метод», «HTTP-заголовки» и «учётные данные». В URL можно использовать сегменты `{placeholder}` для path-параметров и плейсхолдеры учётных данных, например `{{ .credentials.tenant_id }}`. -1. Нажмите «Сохранить». +1. Перейдите в **AI** → **MCP** → **MCP-инструменты**. +1. Нажмите **Добавить**. +1. На вкладке **Основная информация** укажите **Название**, **Описание**, **Владелец**, **Команду** и **Теги**. +1. На вкладке **Конфигурация**: + 1. Включите переключатель **Включить**. + 1. Задайте **Схему аргументов** (JSON Schema с корневым типом `object`). + 1. При необходимости укажите **Сопоставление path-параметров** — JSON-объект, который сопоставляет имена аргументов с сегментами `{placeholder}` в URL executor. + 1. При необходимости укажите **Сопоставление query-параметров** — JSON-объект, который сопоставляет имена аргументов с именами query-параметров URL. +1. На вкладке **Авторизация** укажите **URL** executor endpoint, **HTTP-метод**, **HTTP-заголовки** и **учётные данные**. В URL можно использовать сегменты `{placeholder}` для path-параметров и плейсхолдеры учётных данных, например `{{ .credentials.tenant_id }}`. +1. Нажмите **Сохранить**. Пример. В схеме аргументов задан аргумент `space_id`, URL executor — `https://api.example.com/v1/spaces/{spaceId}/boards`, сопоставление path-параметров — `{"space_id": "spaceId"}`. При вызове инструмента с `space_id=42` запрос уйдёт на `https://api.example.com/v1/spaces/42/boards`. -Для «GET» и «DELETE» аргументы, не сопоставленные с path-параметрами, передаются только как query-параметры. Для «POST», «PUT» и «PATCH» аргументы, не сопоставленные с path- или query-параметрами, отправляются в JSON-теле запроса. +Для **GET** и **DELETE** аргументы, не сопоставленные с path-параметрами, передаются только как query-параметры. Для **POST**, **PUT** и **PATCH** аргументы, не сопоставленные с path- или query-параметрами, отправляются в JSON-теле запроса. ## MCP-коллекции MCP-коллекция объединяет инструменты из каталога и определяет, какие из них доступны пользователям AI-ассистента и внешним MCP-клиентам. -1. Перейдите в «AI» → «MCP» → «MCP-коллекции». -1. Нажмите «Создать». -1. На вкладке «Основная информация» укажите «Название», «Идентификатор», «Описание», «Владелец» и «Команду». -1. На вкладке «Конфигурация»: - 1. Включите переключатель «Включить». - 1. В поле «Инструменты» выберите инструменты из доступного каталога. Каждый пункт содержит идентификатор MCP-сервера в скобках. -1. Нажмите «Сохранить». +1. Перейдите в **AI** → **MCP** → **MCP-коллекции**. +1. Нажмите **Создать**. +1. На вкладке **Основная информация** укажите **Название**, **Идентификатор**, **Описание**, **Владелец** и **Команду**. +1. На вкладке **Конфигурация**: + 1. Включите переключатель **Включить**. + 1. В поле **Инструменты** выберите инструменты из доступного каталога. Каждый пункт содержит идентификатор MCP-сервера в скобках. +1. Нажмите **Сохранить**. -Чтобы пользователь мог вызывать инструменты коллекции, откройте меню карточки коллекции и выберите «Настроить доступ». Назначьте пользователям или командам роль с разрешением `use:mcp-collections`. Список разрешений — в [ролевой модели](../../admin/security/rbac/#mcp-коллекции). +Чтобы пользователь мог вызывать инструменты коллекции, откройте меню карточки коллекции и выберите **Настроить доступ**. Назначьте пользователям или командам роль с разрешением `use:mcp-collections`. Список разрешений — в [ролевой модели](../../admin/security/rbac/#mcp-коллекции). Владелец коллекции и супер-администратор получают доступ к коллекции автоматически. ## Каталог -Раздел «Каталог» показывает все инструменты, доступные текущему пользователю с учётом MCP-коллекций и прав доступа. Раздел предназначен для просмотра; редактирование выполняется на страницах «MCP-серверы», «MCP-инструменты» и «MCP-коллекции». +Раздел **Каталог** показывает все инструменты, доступные текущему пользователю с учётом MCP-коллекций и прав доступа. Раздел предназначен для просмотра; редактирование выполняется на страницах **MCP-серверы**, **MCP-инструменты** и **MCP-коллекции**. ## Связь с AI-ассистентом и MCP-сервером -- В [AI-ассистенте](../ai-assistant/#инструменты-mcp) в блоке «Доступные инструменты» отображаются встроенные инструменты и инструменты из доступных коллекций. -- [MCP-сервер](../mcp-server/) платформы возвращает и вызывает те же инструменты из коллекций, что доступны пользователю, с учётом его прав RBAC. \ No newline at end of file +- В [AI-ассистенте](../ai-assistant/#инструменты-mcp) в блоке **Доступные инструменты** отображаются встроенные инструменты и инструменты из доступных коллекций. +- [MCP-сервер](../mcp-server/) платформы возвращает и вызывает те же инструменты из коллекций, что доступны пользователю, с учётом его прав RBAC. From 700e9d702ca4cde168668f29ba016526a353f87f Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 13:39:48 +0500 Subject: [PATCH 07/11] delete release changes Signed-off-by: lada7878 --- content/documentation/release-notes/v1.6.0.ru.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/documentation/release-notes/v1.6.0.ru.md b/content/documentation/release-notes/v1.6.0.ru.md index 972fbfef..545794a7 100644 --- a/content/documentation/release-notes/v1.6.0.ru.md +++ b/content/documentation/release-notes/v1.6.0.ru.md @@ -14,7 +14,7 @@ description: Заметки о выпуске v1.6.0 — управление MC Обновлены виджеты [«Prometheus. Метрики (диапазон)»](../../admin/widgets/types/#prometheus-метрики-диапазон) и [«Prometheus. Метрики (значение)»](../../admin/widgets/types/#prometheus-метрики-значение). Существующие виджеты продолжают открываться, но для корректного отображения данных может потребоваться перенастройка: -- у виджета «Prometheus. Метрики (диапазон)» удалено поле «Шаг разрешения» — шаг между точками рассчитывается автоматически; сохранённое значение в конфигурации игнорируется; +- у виджета **«Prometheus. Метрики (диапазон)»** удалено поле «Шаг разрешения» — шаг между точками рассчитывается автоматически; сохранённое значение в конфигурации игнорируется; - запросы PromQL теперь поддерживают плейсхолдеры `{{range}}`, `{{rateInterval}}` и `{{interval}}` — проверьте запросы с фиксированными окнами (`[5m]`, `[1h]` и т. п.) и при необходимости замените их на плейсхолдеры; ## Новые возможности @@ -76,7 +76,7 @@ description: Заметки о выпуске v1.6.0 — управление MC ### MCP -Добавлен раздел «AI» → «MCP» для подключения upstream MCP-серверов, пользовательских MCP-инструментов и MCP-коллекций. Подробнее — в разделе [«Управление MCP»](../../user/mcp-management/). +Добавлен раздел **AI** → **MCP** для подключения upstream MCP-серверов, пользовательских MCP-инструментов и MCP-коллекций. Подробнее — в разделе [«Управление MCP»](../../user/mcp-management/). ## Улучшения интерфейса From 97af8442d6c9a346eedf13c9e192d9593eb9423e Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 20:46:01 +0500 Subject: [PATCH 08/11] split chapter Signed-off-by: lada7878 --- .../admin/actions/codescoring/_index.ru.md | 4 + .../createcodescoringproject.ru.md} | 28 +- .../deletecodescoringproject.ru.md | 18 + .../documentation/admin/actions/debug.ru.md | 41 --- .../admin/actions/debug/_index.ru.md | 4 + .../admin/actions/debug/debug.ru.md | 23 ++ .../admin/actions/debug/fail.ru.md | 18 + .../admin/actions/defectdojo.ru.md | 58 --- .../admin/actions/defectdojo/_index.ru.md | 4 + .../createdefectdojoengagement.ru.md | 25 ++ .../defectdojo/createdefectdojoproduct.ru.md | 23 ++ .../defectdojo/deletedefectdojoproduct.ru.md | 23 ++ .../admin/actions/gitlab/_index.ru.md | 4 + .../actions/gitlab/creategitlabbranches.ru.md | 32 ++ .../gitlab/creategitlabgroupvariables.ru.md | 32 ++ .../gitlab/creategitlabmergerequest.ru.md | 62 ++++ .../actions/gitlab/creategitlabproject.ru.md | 36 ++ .../gitlab/creategitlabprojectvariables.ru.md | 32 ++ .../gitlab/creategitlabprojectwebhook.ru.md | 36 ++ .../actions/gitlab/creategitlabrelease.ru.md | 35 ++ .../actions/gitlab/creategitlabtag.ru.md | 32 ++ .../createrepositoryfromtemplate.ru.md} | 348 +----------------- .../actions/gitlab/deletegitlabproject.ru.md | 26 ++ .../actions/gitlab/startgitlabpipeline.ru.md | 34 ++ .../documentation/admin/actions/kafka.ru.md | 336 ----------------- .../admin/actions/kafka/_index.ru.md | 4 + .../admin/actions/kafka/createkafkaacls.ru.md | 109 ++++++ .../actions/kafka/createkafkatopics.ru.md | 37 ++ .../actions/kafka/createkafkausers.ru.md | 41 +++ .../admin/actions/kafka/deletekafkaacls.ru.md | 127 +++++++ .../actions/kafka/deletekafkatopics.ru.md | 31 ++ .../actions/kafka/deletekafkausers.ru.md | 35 ++ .../admin/actions/keycloak/_index.ru.md | 4 + .../createkeycloakclient.ru.md} | 7 +- .../admin/actions/kubernetes.ru.md | 133 ------- .../admin/actions/kubernetes/_index.ru.md | 4 + .../kubernetes/createkubernetesresource.ru.md | 31 ++ .../kubernetes/deletekubernetesresource.ru.md | 32 ++ .../kubernetes/getkubernetesresource.ru.md | 85 +++++ .../documentation/admin/actions/nexus.ru.md | 327 ---------------- .../admin/actions/nexus/_index.ru.md | 4 + .../actions/nexus/assignnexusprivilege.ru.md | 37 ++ .../admin/actions/nexus/assignnexusrole.ru.md | 37 ++ .../actions/nexus/createnexusprivilege.ru.md | 67 ++++ .../actions/nexus/createnexusrepository.ru.md | 81 ++++ .../admin/actions/nexus/createnexusrole.ru.md | 33 ++ .../admin/actions/nexus/createnexususer.ru.md | 36 ++ .../actions/nexus/deletenexusprivilege.ru.md | 23 ++ .../actions/nexus/deletenexusrepository.ru.md | 29 ++ .../admin/actions/nexus/deletenexusrole.ru.md | 23 ++ .../admin/actions/nexus/deletenexususer.ru.md | 23 ++ .../admin/actions/sonarqube.ru.md | 75 ---- .../admin/actions/sonarqube/_index.ru.md | 4 + .../sonarqube/createsonarqubeproject.ru.md | 33 ++ .../sonarqube/deletesonarqubeproject.ru.md | 22 ++ .../sonarqube/deletesonarqubeprojects.ru.md | 30 ++ .../admin/actions/vault/_index.ru.md | 4 + .../createvaultkubernetesauthrole.ru.md} | 62 +--- .../actions/vault/createvaultsecret.ru.md | 41 +++ .../actions/vault/deletevaultsecret.ru.md | 23 ++ .../admin/actions/wait/_index.ru.md | 4 + .../admin/actions/{ => wait}/wait.ru.md | 4 +- .../admin/datasources/types.ru.md | 2 +- 63 files changed, 1632 insertions(+), 1386 deletions(-) create mode 100644 content/documentation/admin/actions/codescoring/_index.ru.md rename content/documentation/admin/actions/{codescoring.ru.md => codescoring/createcodescoringproject.ru.md} (71%) create mode 100644 content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md delete mode 100644 content/documentation/admin/actions/debug.ru.md create mode 100644 content/documentation/admin/actions/debug/_index.ru.md create mode 100644 content/documentation/admin/actions/debug/debug.ru.md create mode 100644 content/documentation/admin/actions/debug/fail.ru.md delete mode 100644 content/documentation/admin/actions/defectdojo.ru.md create mode 100644 content/documentation/admin/actions/defectdojo/_index.ru.md create mode 100644 content/documentation/admin/actions/defectdojo/createdefectdojoengagement.ru.md create mode 100644 content/documentation/admin/actions/defectdojo/createdefectdojoproduct.ru.md create mode 100644 content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md create mode 100644 content/documentation/admin/actions/gitlab/_index.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabproject.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md create mode 100644 content/documentation/admin/actions/gitlab/creategitlabtag.ru.md rename content/documentation/admin/actions/{gitlab.ru.md => gitlab/createrepositoryfromtemplate.ru.md} (52%) create mode 100644 content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md create mode 100644 content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md delete mode 100644 content/documentation/admin/actions/kafka.ru.md create mode 100644 content/documentation/admin/actions/kafka/_index.ru.md create mode 100644 content/documentation/admin/actions/kafka/createkafkaacls.ru.md create mode 100644 content/documentation/admin/actions/kafka/createkafkatopics.ru.md create mode 100644 content/documentation/admin/actions/kafka/createkafkausers.ru.md create mode 100644 content/documentation/admin/actions/kafka/deletekafkaacls.ru.md create mode 100644 content/documentation/admin/actions/kafka/deletekafkatopics.ru.md create mode 100644 content/documentation/admin/actions/kafka/deletekafkausers.ru.md create mode 100644 content/documentation/admin/actions/keycloak/_index.ru.md rename content/documentation/admin/actions/{keycloak.ru.md => keycloak/createkeycloakclient.ru.md} (97%) delete mode 100644 content/documentation/admin/actions/kubernetes.ru.md create mode 100644 content/documentation/admin/actions/kubernetes/_index.ru.md create mode 100644 content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md create mode 100644 content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md create mode 100644 content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md delete mode 100644 content/documentation/admin/actions/nexus.ru.md create mode 100644 content/documentation/admin/actions/nexus/_index.ru.md create mode 100644 content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md create mode 100644 content/documentation/admin/actions/nexus/assignnexusrole.ru.md create mode 100644 content/documentation/admin/actions/nexus/createnexusprivilege.ru.md create mode 100644 content/documentation/admin/actions/nexus/createnexusrepository.ru.md create mode 100644 content/documentation/admin/actions/nexus/createnexusrole.ru.md create mode 100644 content/documentation/admin/actions/nexus/createnexususer.ru.md create mode 100644 content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md create mode 100644 content/documentation/admin/actions/nexus/deletenexusrepository.ru.md create mode 100644 content/documentation/admin/actions/nexus/deletenexusrole.ru.md create mode 100644 content/documentation/admin/actions/nexus/deletenexususer.ru.md delete mode 100644 content/documentation/admin/actions/sonarqube.ru.md create mode 100644 content/documentation/admin/actions/sonarqube/_index.ru.md create mode 100644 content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md create mode 100644 content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md create mode 100644 content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md create mode 100644 content/documentation/admin/actions/vault/_index.ru.md rename content/documentation/admin/actions/{vault.ru.md => vault/createvaultkubernetesauthrole.ru.md} (50%) create mode 100644 content/documentation/admin/actions/vault/createvaultsecret.ru.md create mode 100644 content/documentation/admin/actions/vault/deletevaultsecret.ru.md create mode 100644 content/documentation/admin/actions/wait/_index.ru.md rename content/documentation/admin/actions/{ => wait}/wait.ru.md (98%) diff --git a/content/documentation/admin/actions/codescoring/_index.ru.md b/content/documentation/admin/actions/codescoring/_index.ru.md new file mode 100644 index 00000000..49ae93f6 --- /dev/null +++ b/content/documentation/admin/actions/codescoring/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: CodeScoring +weight: 100 +--- diff --git a/content/documentation/admin/actions/codescoring.ru.md b/content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md similarity index 71% rename from content/documentation/admin/actions/codescoring.ru.md rename to content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md index 933d88c4..24f3fb42 100644 --- a/content/documentation/admin/actions/codescoring.ru.md +++ b/content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md @@ -1,12 +1,14 @@ --- -title: Code Scoring -weight: 100 +title: CreateCodeScoringProject +weight: 10 --- -## CreateCodeScoringProject - CreateCodeScoringProject — создаёт новый проект в системе CodeScoring. -Действие использует CodeScoring API для регистрации проекта с указанными параметрами: название проекта, URL репозитория, ID VCS системы и опция автоматического запуска SCA-анализа после клонирования репозитория. +Действие использует CodeScoring API для регистрации проекта с указанными параметрами: +- название проекта, +- URL репозитория, +- ID VCS системы, +- опция автоматического запуска SCA-анализа после клонирования репозитория. ### Пример запроса @@ -29,19 +31,3 @@ run_sca_after_clone: true ### Ответ В ответе возвращается объект созданного проекта со следующей информацией: идентификатор проекта (pk), название, тип проекта, описание, информация о репозитории, статус проекта, права доступа, лицензия, количество зависимостей и уязвимостей, языки проекта, статус расписания сканирования и даты первого и последнего SCA-сканирования. - -## DeleteCodeScoringProject - -DeleteCodeScoringProject — удаляет проект в системе CodeScoring по его ID. - -### Пример запроса - -```yaml -id: 1 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------|----------------|-----------------------------| -| id | Да | ID проекта в CodeScoring | diff --git a/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md b/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md new file mode 100644 index 00000000..0c4e2942 --- /dev/null +++ b/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md @@ -0,0 +1,18 @@ +--- +title: DeleteCodeScoringProject +weight: 20 +--- + +DeleteCodeScoringProject — удаляет проект в системе CodeScoring по его ID. + +### Пример запроса + +```yaml +id: 1 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------|----------------|-----------------------------| +| id | Да | ID проекта в CodeScoring | diff --git a/content/documentation/admin/actions/debug.ru.md b/content/documentation/admin/actions/debug.ru.md deleted file mode 100644 index 482759d6..00000000 --- a/content/documentation/admin/actions/debug.ru.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Debug -weight: 110 ---- - -## Debug - -Debug выполняет отладочное действие. Позволяет сделать заданное число циклов ожидания, а также записать произвольные данные в лог и вернуть их в ответе действия. - -### Пример запроса - -```yaml -sleep_time: 1 -sleep_count: 3 -extra: - example_key: example_value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|---------------|----------------|--------------------------------------------------------------------------|-----------------------| -| sleep_time | Нет | Длительность одного цикла ожидания в секундах | `1` | -| sleep_count | Нет | Число циклов ожидания | `1` | -| extra | Нет | Произвольный набор пар «ключ–значение», который записывается в лог и возвращается в ответе действия | - | - -## Fail - -Fail эмулирует ошибку исполнения действия. Предназначен для использования в процессах в качестве отладочного элемента. - -### Пример запроса - -```yaml -fail: true -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|----------|----------------|-----------------------------------------------------------------------------------------|-----------------------| -| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` | diff --git a/content/documentation/admin/actions/debug/_index.ru.md b/content/documentation/admin/actions/debug/_index.ru.md new file mode 100644 index 00000000..f8401784 --- /dev/null +++ b/content/documentation/admin/actions/debug/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Debug +weight: 110 +--- diff --git a/content/documentation/admin/actions/debug/debug.ru.md b/content/documentation/admin/actions/debug/debug.ru.md new file mode 100644 index 00000000..5214b78f --- /dev/null +++ b/content/documentation/admin/actions/debug/debug.ru.md @@ -0,0 +1,23 @@ +--- +title: Debug +weight: 10 +--- + +Debug выполняет отладочное действие. Позволяет сделать заданное число циклов ожидания, а также записать произвольные данные в лог и вернуть их в ответе действия. + +### Пример запроса + +```yaml +sleep_time: 1 +sleep_count: 3 +extra: + example_key: example_value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|---------------|----------------|-----------------------------------------------------------------------------------------------------|-----------------------| +| sleep_time | Нет | Длительность одного цикла ожидания в секундах | `1` | +| sleep_count | Нет | Число циклов ожидания | `1` | +| extra | Нет | Произвольный набор пар «ключ–значение», который записывается в лог и возвращается в ответе действия | - | diff --git a/content/documentation/admin/actions/debug/fail.ru.md b/content/documentation/admin/actions/debug/fail.ru.md new file mode 100644 index 00000000..6e87fa46 --- /dev/null +++ b/content/documentation/admin/actions/debug/fail.ru.md @@ -0,0 +1,18 @@ +--- +title: Fail +weight: 20 +--- + +Fail эмулирует ошибку исполнения действия. Предназначен для использования в процессах в качестве отладочного элемента. + +### Пример запроса + +```yaml +fail: true +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|----------|----------------|-----------------------------------------------------------------------------------------|-----------------------| +| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` | diff --git a/content/documentation/admin/actions/defectdojo.ru.md b/content/documentation/admin/actions/defectdojo.ru.md deleted file mode 100644 index c790d2ee..00000000 --- a/content/documentation/admin/actions/defectdojo.ru.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Defect Dojo -weight: 90 ---- - -{{< alert level="info" >}} -Для выполнения действия необходимо наличие токена — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. -{{< /alert >}} - -## CreateDefectdojoProduct - -CreateDefectdojoProduct — создаёт новый продукт в системе DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -name: example -description: example description -prod_type: 1 -``` - -### Спецификация запроса - -Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации DefectDojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). - -## DeleteDefectdojoProduct - -DeleteDefectdojoProduct — удаляет продукт из DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -id: 1 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|-------------|----------------|----------------------------------------------------|------------------------| -| id | Да | Идентификатор продукта, который необходимо удалить | - | - -## CreateDefectdojoEngagement - -CreateDefectdojoEngagement — создаёт новый engagement в системе DefectDojo. Действие использует DefectDojo API v2. - -### Пример запроса - -```yaml -name: example engagement -product: '1' -target_start: '2024-06-01' -target_end: '2024-06-30' -lead: '1' -``` - -### Спецификация запроса - -Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации DefectDojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). diff --git a/content/documentation/admin/actions/defectdojo/_index.ru.md b/content/documentation/admin/actions/defectdojo/_index.ru.md new file mode 100644 index 00000000..9c812963 --- /dev/null +++ b/content/documentation/admin/actions/defectdojo/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: DefectDojo +weight: 90 +--- diff --git a/content/documentation/admin/actions/defectdojo/createdefectdojoengagement.ru.md b/content/documentation/admin/actions/defectdojo/createdefectdojoengagement.ru.md new file mode 100644 index 00000000..6c473d30 --- /dev/null +++ b/content/documentation/admin/actions/defectdojo/createdefectdojoengagement.ru.md @@ -0,0 +1,25 @@ +--- +title: CreateDefectdojoEngagement +weight: 30 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateDefectdojoEngagement — создаёт новый engagement в системе DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса + +```yaml +name: example engagement +product: '1' +target_start: '2024-06-01' +target_end: '2024-06-30' +lead: '1' +``` + +### Спецификация запроса + +Список полей соответствует официальному API DefectDojo, `/api/v2/engagements`, подробнее — [в документации DefectDojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). diff --git a/content/documentation/admin/actions/defectdojo/createdefectdojoproduct.ru.md b/content/documentation/admin/actions/defectdojo/createdefectdojoproduct.ru.md new file mode 100644 index 00000000..678af935 --- /dev/null +++ b/content/documentation/admin/actions/defectdojo/createdefectdojoproduct.ru.md @@ -0,0 +1,23 @@ +--- +title: CreateDefectdojoProduct +weight: 10 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateDefectdojoProduct — создаёт новый продукт в системе DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса + +```yaml +name: example +description: example description +prod_type: 1 +``` + +### Спецификация запроса + +Список полей соответствует официальному API DefectDojo, `/api/v2/products`, подробнее — [в документации DefectDojo](https://demo.defectdojo.org/api/v2/oa3/swagger-ui/). diff --git a/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md b/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md new file mode 100644 index 00000000..d9a327f5 --- /dev/null +++ b/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md @@ -0,0 +1,23 @@ +--- +title: DeleteDefectdojoProduct +weight: 20 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — API v2 Key пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +DeleteDefectdojoProduct — удаляет продукт из DefectDojo. Действие использует DefectDojo API v2. + +### Пример запроса + +```yaml +id: 1 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|-------------|----------------|----------------------------------------------------|------------------------| +| id | Да | Идентификатор продукта, который необходимо удалить | - | diff --git a/content/documentation/admin/actions/gitlab/_index.ru.md b/content/documentation/admin/actions/gitlab/_index.ru.md new file mode 100644 index 00000000..46d8b304 --- /dev/null +++ b/content/documentation/admin/actions/gitlab/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Gitlab +weight: 20 +--- diff --git a/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md b/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md new file mode 100644 index 00000000..4755d19e --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md @@ -0,0 +1,32 @@ +--- +title: CreateGitlabBranches +weight: 40 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabBranches — создаёт новые ветки в целевом репозитории. + +### Пример запроса + +```yaml +project_id: '0' +branches: + - branch: new-branch + ref: main +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------|----------------|-----------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать ветки | +| branches | Да | Список создаваемых веток | +| branches.branch | Да | Название новой ветки | +| branches.ref | Да | Название существующей ветки или SHA-хеш коммита | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/branches`. В случае успешного создания проекта GitLab возвращает информацию о созданных ветках. diff --git a/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md b/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md new file mode 100644 index 00000000..62a298b3 --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md @@ -0,0 +1,32 @@ +--- +title: CreateGitlabGroupVariables +weight: 80 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabGroupVariables — создаёт переменные (variables) на уровне группы в GitLab. + +### Пример запроса + +```yaml +group_id: '0' +variables: + - key: EXAMPLE_VARIABLE + value: value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------|----------------|------------------------------------------------------------------------------| +| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | + +Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/group_level_variables/#create-variable). + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/groups/:id/variables`. diff --git a/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md b/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md new file mode 100644 index 00000000..db393e9f --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md @@ -0,0 +1,62 @@ +--- +title: CreateGitlabMergeRequest +weight: 70 +--- + +{{< alert level="info" >}} +Для выполнения действия необходимы учётные данные: + +- `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. +- `username` — имя пользователя, от которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateGitlabMergeRequest — создаёт новый Merge Request (MR) в целевом репозитории. В Merge Request добавляются файлы, хранящиеся в репозитории-источнике. Файлы могут содержать переменные, значение которых будет подставлено в момент создания MR. + +### Пример запроса + +```yaml +source_project_id: '0' +source_project_branch: example +source_project_tag: v1.0.0 +target_project_id: '0' +merge_request_spec: + source_branch: example + target_branch: '1' + title: example +additionalIgnoreFiles: + - .ignore + - .example +values: + key1: value1 + nested: + enabled: true + subkey: 123 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------|-----------------------| +| source_project_id | Да | Идентификатор проекта, который служит источником для Merge Request | - | +| target_project_id | Да | Идентификатор целевого проекта, в котором будет сформирован Merge Request | - | +| merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | +| source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | +| source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](#templateignore) | - | +| values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | + +### Алгоритм работы + +Платформа: + +1. Клонирует репозиторий-шаблон для генерации MR по его идентификатору (`source_project_id`). Подробнее — [в «Деталях работы»](#детали-работы). +1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. +1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет отдаётся переменным, передаваемым при запуске действия. +1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. +1. Рендерит файлы из шаблонов, учитывая `values.yaml` и переданных в действие переменных. +1. Изменяет удалённый (remote) репозиторий на целевой, согласно его ID (`target_project_id`), и выполняет git push в ветку в проекте-источнике (`source_project_branch`), либо в основную ветку `main`. +1. Создаёт MR согласно заданным настройкам путём отправки POST-запроса в GitLab API. + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/merge_requests`. diff --git a/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md b/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md new file mode 100644 index 00000000..79cd3fb6 --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md @@ -0,0 +1,36 @@ +--- +title: CreateGitlabProjecte +weight: 20 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabProject — создаёт новый проект в GitLab. Действие осуществляет вызов GitLab API для создания проекта с указанными параметрами, такими как название, путь проекта, описание и другие настройки. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. + +### Пример запроса + +```yaml +name: example +path: example +description: example +default_branch: main +initialize_with_readme: false +namespace_id: '0' +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|------------------------|----------------|------------------------------------------------------------------------------------|-----------------------| +| name | Да | Название проекта, который будет создан в GitLab | - | +| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | +| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | +| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | +| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | +| description | Нет | Описание проекта, которое будет видно пользователям | - | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects`, передавая параметры запроса в формате JSON. В случае успешного создания проекта GitLab возвращает данные о вновь созданном проекте. diff --git a/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md b/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md new file mode 100644 index 00000000..522d58e4 --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md @@ -0,0 +1,32 @@ +--- +title: CreateGitlabGroupVariables +weight: 90 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabProjectVariables — создаёт переменные на уровне проекта в GitLab. + +### Пример запроса + +```yaml +project_id: '0' +variables: + - key: EXAMPLE_VARIABLE + value: value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------|----------------|------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | + +Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/variables`. diff --git a/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md b/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md new file mode 100644 index 00000000..eb770101 --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md @@ -0,0 +1,36 @@ +--- +title: CreateGitlabProjectWebhook +weight: 30 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabProjectWebhook — создаёт вебхук в проекте GitLab. + +### Пример запроса + +```yaml +project_id: '0' +url: https://example.com +push_events: true +issues_events: true +merge_requests_events: true +pipeline_events: true +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|-----------------------|------------------|------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | +| url | Да | URL-адрес вебхука | +| push_events | Да | Запускать вебхук при push в репозиторий | +| issues_events | Да | Запускать вебхук при создании Issue | +| merge_requests_events | Да | Запускать вебхук при создании Merge Request | +| pipeline_events | Да | Запускать вебхук при запуске Pipeline | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/hooks`. diff --git a/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md b/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md new file mode 100644 index 00000000..1bd4798b --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md @@ -0,0 +1,35 @@ +--- +title: CreateGitlabRelease +weight: 60 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabRelease — создаёт релиз GitLab на основе уже существующего тега. + +### Пример запроса + +```yaml +project_id: '0' +tag_name: v1.0.0 +name: Release v1.0.0 +description: | + ## Изменения: + - Новая функция. + - Исправления ошибок. +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|--------------|----------------|--------------------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | +| tag_name | Да | Название существующего тега, на основе которого формируется релиз | +| name | Да | Название релиза, отображаемое в GitLab | +| description | Нет | Описание релиза в формате Markdown | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/releases`. diff --git a/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md b/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md new file mode 100644 index 00000000..0d9a7343 --- /dev/null +++ b/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md @@ -0,0 +1,32 @@ +--- +title: CreateGitlabTag +weight: 50 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +CreateGitlabTag — создаёт новый тег в проекте GitLab. + +### Пример запроса + +```yaml +project_id: '0' +tag_name: v1.0.0 +ref: main +message: Tag description +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------------------|----------------|-------------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | +| tag_name | Да | Название тега | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | +| message | Да | Описание тега | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/tags`. diff --git a/content/documentation/admin/actions/gitlab.ru.md b/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md similarity index 52% rename from content/documentation/admin/actions/gitlab.ru.md rename to content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md index cdc1914b..be0d63d3 100644 --- a/content/documentation/admin/actions/gitlab.ru.md +++ b/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md @@ -1,16 +1,15 @@ --- -title: Gitlab -weight: 20 +title: CreateRepositoryFromTemplate +weight: 10 --- {{< alert level="info" >}} -Для выполнения действий, взаимодействующих с GitLab, необходимы учётные данные. +Для выполнения действия необходимы учётные данные: -Для действий, использующих GitLab API, требуется токен пользователя. Для действий, работающих с Git-репозиторием по HTTPS (например, `CreateRepositoryFromTemplate`), используются имя пользователя и пароль (токен). +- `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. +- `username` — имя пользователя, от которого будет запускаться выполнение действия. {{< /alert >}} -## CreateRepositoryFromTemplate - CreateRepositoryFromTemplate — создаёт новый репозиторий из шаблона в GitLab. Механизм рендеринга основан на [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) и поддерживает все встроенные методы, а также расширения, добавленные в платформу. ### Пример запроса @@ -33,20 +32,15 @@ values: ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|--------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| templateRepositoryUrl | Да | URL шаблонного репозитория | - | -| targetRepositoryUrl | Да | URL репозитория, который будет создан в результате выполнения действия | - | -| values | Да | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из целевого репозитория. Заполняется по аналогии с [.templateignore](#templateignore) | - | -| sourceTag | Нет | Тег шаблонного репозитория, который будет использоваться при шаблонизации. Если не указан, используется ветка шаблонного репозитория | - | -| sourceBranch | Нет | Ветка шаблонного репозитория, которая будет использоваться при шаблонизации | main | -| targetBranch | Нет | Ветка целевого репозитория, которая будет создана в результате выполнения действия | main | - -### Учётные данные - -* `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. -* `username` — имя пользователя, от которого будет запускаться выполнение действия. +| Название | Обязательность | Описание | Значение по умолчанию | +|--------------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------|-----------------------| +| templateRepositoryUrl | Да | URL шаблонного репозитория | - | +| targetRepositoryUrl | Да | URL репозитория, который будет создан в результате выполнения действия | - | +| values | Да | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из целевого репозитория. Заполняется по аналогии с [.templateignore](#templateignore) | - | +| sourceTag | Нет | Тег шаблонного репозитория, который будет использоваться при шаблонизации. Если не указан, используется ветка шаблонного репозитория | - | +| sourceBranch | Нет | Ветка шаблонного репозитория, которая будет использоваться при шаблонизации | main | +| targetBranch | Нет | Ветка целевого репозитория, которая будет создана в результате выполнения действия | main | ### Алгоритм работы @@ -109,11 +103,8 @@ docs/** #### Добавление путей в игнорирование 1. В корне шаблонного репозитория создайте или отредактируйте файл `.templateignore` (по одному правилу на строку). - 1. Каждая строка — это одно правило: путь от корня репозитория. В нём допускаются обычные символы пути и маски: звёздочка `*` в имени сегмента, последовательность `**` — для произвольной глубины вложенных каталогов. Платформа сопоставляет относительный путь с маской по встроенным правилам (аналогично распространённым соглашениям для масок в файлах игнорирования в системах контроля версий). - 1. Чтобы подставить фрагмент пути из `values.yaml` или из поля `values` запроса действия, используйте в строке конструкции Go template (`{{ ... }}`). Если в строке есть `{{`, платформа обрабатывает всю строку от начала до конца как один шаблон Go: нельзя оставить часть строки «простым текстом» и шаблонизировать только середину пути. Примеры — в разделе [«Примеры Go template в `.templateignore`»](#templateignore-go-examples). - 1. Пустые строки и строки, начинающиеся с `#`, при разборе файла пропускаются — их можно использовать для комментариев. #### Примеры без подстановки (только маски пути) @@ -160,9 +151,7 @@ charts/*/values.schema.json Для каждой непустой строки из `.templateignore` или из файла из `additionalIgnoreFiles` платформа делает следующее. 1. В список правил всегда попадает строка как в файле, без изменений. Именно её потом сравнивают с путём к файлу в первую очередь — это нужно, когда в именах на диске ещё есть фрагменты вроде `{{ .module }}` до переименования. - 1. Если в строке есть `{{`, платформа один раз прогоняет всю строку через шаблонизатор [Go template](https://developer.hashicorp.com/nomad/docs/reference/go-template-syntax) с теми же возможностями, что при подстановке в имена файлов и каталогов (встроенные функции платформы и набор Sprig). Если `{{` в строке нет, этот шаг пропускают. - 1. Если шаг подстановки был и полученный текст отличается от строки в файле (включая случай «на выходе пусто»), в список правил добавляют вторую запись — уже с этим полученным текстом. Итого из одной строки файла может получиться две записи в списке. При проверке пути к файлу смотрят обе: достаточно совпадения с любой из них — файл попадает под правило. Дальше при обходе дерева для каждого пути к файлу вычисляется путь относительно корня клонированной копии (с прямыми слешами). Путь сравнивается с каждым правилом: сначала по правилам сопоставления с маской (в том числе с использованием `*` и `**`), при необходимости — по точному совпадению строки правила и относительного пути. @@ -177,7 +166,7 @@ charts/*/values.schema.json -#### Примеры Go template в `.templateignore` +#### Примеры Go template в .templateignore Ниже в каждом примере показаны фрагменты `values.yaml` (или эквивалентные поля в `values` запроса) и строки `.templateignore`. Несколько независимых правил задают несколькими строками файла: результат одной строки-шаблона — одна строка с маской; перевод строк внутри результата шаблона не делит правило на несколько. @@ -197,7 +186,7 @@ project: payment-gateway В набор правил попадут строки `{{ .project }}/legacy/**` и `payment-gateway/legacy/**`. -Сегмент пути из переменной и статический хвост: +Сегмент пути из переменной и фиксированная часть, которая сохраняется после подстановки значения переменной: `values.yaml`: @@ -283,7 +272,7 @@ analyticsModule: tracking {{ with .analyticsModule }}{{ . }}/vendor/**{{ end }} ``` -Если `analyticsModule` пусто, шаблон даёт пустую строку (см. правила раскрытия выше). +Если `analyticsModule` пусто, шаблон даёт пустую строку (правила раскрытия приведены выше). Доступ к полю вложенной структуры по строковому ключу [`index`](https://pkg.go.dev/text/template#hdr-Functions): @@ -359,7 +348,9 @@ additionalIgnoreFiles: При `obsoleteDir: legacy-ui` из `values` после раскрытия в списке удаления окажутся и `{{ .obsoleteDir }}/**`, и `legacy-ui/**` — совпавшие пути будут удалены из копии перед финальными шагами. {{< alert level="info" >}} -Не путайте назначение: `.templateignore` оставляет файлы на диске, но отключает для них переименование пути и рендер содержимого; списки из `additionalIgnoreFiles` удаляют совпавшие пути из рабочей копии. +Учитывайте различия: +- `.templateignore` оставляет файлы на диске, но отключает для них переименование пути и рендер содержимого; +- списки из `additionalIgnoreFiles` удаляют совпавшие пути из рабочей копии. {{< /alert >}} ### Пример структуры директорий шаблонного репозитория @@ -403,302 +394,3 @@ additionalIgnoreFiles: * `--target-dir` — директория, в которую будет помещен результат рендеринга. * `--values` (опционально) — путь к файлу `values.yaml` с переменными, которые будут использоваться при рендеринге. * `--ignore-files` (опционально) — список файлов, содержащих пути для исключения из целевого репозитория. - -## CreateGitlabProject - -CreateGitlabProject — создаёт новый проект в GitLab. Действие осуществляет вызов GitLab API для создания проекта с указанными параметрами, такими как название, путь проекта, описание и другие настройки. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. - -### Пример запроса - -```yaml -name: example -path: example -description: example -default_branch: main -initialize_with_readme: false -namespace_id: '0' -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------------|----------------|--------------------------------------------------------------------------------------------|-----------------------| -| name | Да | Название проекта, который будет создан в GitLab | - | -| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | -| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | -| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | -| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | -| description | Нет | Описание проекта, которое будет видно пользователям | - | - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects`, передавая параметры запроса в формате JSON. В случае успешного создания проекта GitLab возвращает данные о вновь созданном проекте. - -## CreateGitlabProjectWebhook - -CreateGitlabProjectWebhook — создаёт вебхук в проекте GitLab. - -### Пример запроса - -```yaml -project_id: '0' -url: https://example.com -push_events: true -issues_events: true -merge_requests_events: true -pipeline_events: true -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------------|------------------|------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | -| url | Да | URL-адрес вебхука | -| push_events | Да | Запускать вебхук при push в репозиторий | -| issues_events | Да | Запускать вебхук при создании Issue | -| merge_requests_events | Да | Запускать вебхук при создании Merge Request | -| pipeline_events | Да | Запускать вебхук при запуске Pipeline | - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/hooks`. - -## CreateGitlabBranches - -CreateGitlabBranches — создаёт новые ветки в целевом репозитории. - -### Пример запроса - -```yaml -project_id: '0' -branches: - - branch: new-branch - ref: main -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать ветки | -| branches | Да | Список создаваемых веток | -| branches.branch | Да | Название новой ветки | -| branches.ref | Да | Название существующей ветки или SHA-хеш коммита | - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/branches`. В случае успешного создания проекта GitLab возвращает информацию о созданных ветках. - -## CreateGitlabTag - -CreateGitlabTag — создаёт новый тег в проекте GitLab. - -### Пример запроса - -```yaml -project_id: '0' -tag_name: v1.0.0 -ref: main -message: Tag description -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------|----------------|-------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | -| tag_name | Да | Название тега | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | -| message | Да | Описание тега | - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/repository/tags`. - -## CreateGitlabRelease - -CreateGitlabRelease — создаёт релиз GitLab на основе уже существующего тега. - -### Пример запроса - -```yaml -project_id: '0' -tag_name: v1.0.0 -name: Release v1.0.0 -description: | - ## Изменения: - - Новая функция. - - Исправления ошибок. -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|--------------|----------------|--------------------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | -| tag_name | Да | Название существующего тега, на основе которого формируется релиз | -| name | Да | Название релиза, отображаемое в GitLab | -| description | Нет | Описание релиза в формате Markdown | - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/releases`. - -## CreateGitlabMergeRequest - -CreateGitlabMergeRequest — создаёт новый Merge Request (MR) в целевом репозитории. В Merge Request добавляются файлы, хранящиеся в репозитории-источнике. Файлы могут содержать переменные, значение которых будет подставлено в момент создания MR. - -### Пример запроса - -```yaml -source_project_id: '0' -source_project_branch: example -source_project_tag: v1.0.0 -target_project_id: '0' -merge_request_spec: - source_branch: example - target_branch: '1' - title: example -additionalIgnoreFiles: - - .ignore - - .example -values: - key1: value1 - nested: - enabled: true - subkey: 123 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|-------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| source_project_id | Да | Идентификатор проекта, который служит источником для Merge Request | - | -| target_project_id | Да | Идентификатор целевого проекта, в котором будет сформирован Merge Request | - | -| merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | -| source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | -| source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](#templateignore) | - | -| values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | - -### Учётные данные - -* `password` — пароль (токен) пользователя, от имени которого будет запускаться выполнение действия. -* `username` — имя пользователя, от которого будет запускаться выполнение действия. - -### Алгоритм работы - -Платформа: - -1. Клонирует репозиторий-шаблон для генерации MR по его идентификатору (`source_project_id`). Подробнее [о шаблонизации](#детали-работы). -1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. -1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет отдаётся переменным, передаваемым при запуске действия. -1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. -1. Рендерит файлы из шаблонов, учитывая `values.yaml` и переданных в действие переменных. -1. Изменяет удалённый (remote) репозиторий на целевой, согласно его ID (`target_project_id`), и выполняет git push в ветку в проекте-источнике (`source_project_branch`), либо в основную ветку `main`. -1. Создаёт MR согласно заданным настройкам путём отправки POST-запроса в GitLab API. - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/merge_requests`. - -## CreateGitlabGroupVariables - -CreateGitlabGroupVariables — создаёт переменные (variables) на уровне группы в GitLab. - -### Пример запроса - -```yaml -group_id: '0' -variables: - - key: EXAMPLE_VARIABLE - value: value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | - -Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/group_level_variables/#create-variable). - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/groups/:id/variables`. - -## CreateGitlabProjectVariables - -CreateGitlabProjectVariables — создаёт переменные на уровне проекта в GitLab. - -### Пример запроса - -```yaml -project_id: '0' -variables: - - key: EXAMPLE_VARIABLE - value: value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | - -Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/variables`. - -## StartGitlabPipeline - -StartGitlabPipeline — запускает выполнение пайплайна в GitLab. - -### Пример запроса - -```yaml -project_id: 0 -ref: main -variables: - - key: example-key - value: example-value -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|---------------------------|------------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо запустить пайплайн | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на котором будет запущен пайплайн | -| variables | Нет | Список переменных, которые необходимо передать в запускаемый пайплайн | -| variables.key | Да | Название переменной | -| variables.value | Да | Значение переменной | - -### Примечание - -Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/pipeline`. - -## DeleteGitlabProject - -DeleteGitlabProject — удаляет существующий проект в GitLab. Действие осуществляет вызов GitLab API для удаления проекта. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. - -### Пример запроса - -```yaml -project_id: 0 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, который необходимо удалить | - -### Примечание - -Действие осуществляет DELETE-запрос по URL: `/api/v4/projects/:id`. diff --git a/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md b/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md new file mode 100644 index 00000000..aa4e9f2d --- /dev/null +++ b/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md @@ -0,0 +1,26 @@ +--- +title: StartGitlabPipeline +weight: 110 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +DeleteGitlabProject — удаляет существующий проект в GitLab. Действие осуществляет вызов GitLab API для удаления проекта. Для аутентификации используется GitLab token, который должен быть предоставлен в учётных данных. + +### Пример запроса + +```yaml +project_id: 0 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|---------------------------|----------------|----------------------------------------------------| +| project_id | Да | Идентификатор проекта, который необходимо удалить | + +### Примечание + +Действие осуществляет DELETE-запрос по URL: `/api/v4/projects/:id`. diff --git a/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md b/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md new file mode 100644 index 00000000..750041de --- /dev/null +++ b/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md @@ -0,0 +1,34 @@ +--- +title: StartGitlabPipeline +weight: 100 +--- + +{{< alert level="info" >}} +Для выполнения действия требуется токен пользователя, от имени которого оно будет выполнено. +{{< /alert >}} + +StartGitlabPipeline — запускает выполнение пайплайна в GitLab. + +### Пример запроса + +```yaml +project_id: 0 +ref: main +variables: + - key: example-key + value: example-value +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|---------------------------|----------------|----------------------------------------------------------------------------| +| project_id | Да | Идентификатор проекта, в котором необходимо запустить пайплайн | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на котором будет запущен пайплайн | +| variables | Нет | Список переменных, которые необходимо передать в запускаемый пайплайн | +| variables.key | Да | Название переменной | +| variables.value | Да | Значение переменной | + +### Примечание + +Действие осуществляет POST-запрос по URL: `/api/v4/projects/:id/pipeline`. diff --git a/content/documentation/admin/actions/kafka.ru.md b/content/documentation/admin/actions/kafka.ru.md deleted file mode 100644 index 1386dde0..00000000 --- a/content/documentation/admin/actions/kafka.ru.md +++ /dev/null @@ -1,336 +0,0 @@ ---- -title: Apache Kafka -weight: 40 ---- - -{{< alert level="info" >}} -Для выполнения действий необходимы учётные данные: -* `user` — имя пользователя, от которого будет запускаться выполнение действия. -* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. -{{< /alert >}} - -## CreateKafkaTopics - -CreateKafkaTopics — создаёт новые топики в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -partitions: 1 -replication_factor: 1 -configs: {} -topics: - - example_1 - - example_2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| partitions | Да | Количество разделов (партиций), на которые будет разделён топик | - | -| replication_factor | Да | Количество копий (реплик) каждой партиции топика, которые необходимо разместить на разных брокерах | - | -| configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | -| topics | Да | Список названий топиков, которые необходимо создать | - | - -## DeleteKafkaTopics - -DeleteKafkaTopics — удаляет существующие топики в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -topics: - - example_1 - - example_2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|--------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| topics | Да | Список названий топиков, которые необходимо удалить | - | - -## CreateKafkaUsers - -CreateKafkaUsers — создаёт новых пользователей SASL/SCRAM в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -users: - - user: example_user_1 - password: example_password_user_1 - mechanism: SCRAM-SHA-256 - iterations: 4096 - - user: example_user_2 - password: example_password_user_2 - mechanism: SCRAM-SHA-256 - iterations: 4096 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|-------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| users | Да | Набор пользователей, которых необходимо создать | - | -| users.user | Да | Имя создаваемого пользователя | - | -| users.password | Да | Пароль создаваемого пользователя | - | -| users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | -| users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | - -## DeleteKafkaUsers - -DeleteKafkaUsers — удаляет существующих пользователей SASL/SCRAM в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -users: - - user: example_user_1 - mechanism: SCRAM-SHA-256 - - user: example_user_2 - mechanism: SCRAM-SHA-256 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|-------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| users | Да | Набор пользователей, которых необходимо удалить | - | -| users.user | Да | Имя удаляемого пользователя | - | -| users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | - -## CreateKafkaACLs - -CreateKafkaACLs — создаёт набор ACL в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -acls: - - topics: - - example_1 - allow: - - User:principal_2 - - Group:principal_3 - deny: - - User:principal_4 - - Group:principal_5 - ops: - - CREATE - - READ - - WRITE - - DELETE - - DESCRIBE - - DESCRIBE_CONFIGS - - ALTER - pattern: LITERAL - - topics: - - example_6 - allow: - - User:principal_7 - allow_hosts: - - 127.0.0.1 - deny: - - User:principal_8 - deny_hosts: - - 127.0.0.1 - ops: - - CREATE - pattern: LITERAL -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо создать | - | - | -| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | -| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | -| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | -| acls.allow | Нет | Список принципалов (user, group), для которых разрешается правило | - | - | -| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | -| acls.hosts | Нет | Список хостов, для которых разрешается операция | - | - | -| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | - -### Список возможных шаблонов - -* ANY. -* MATCH. -* LITERAL. -* PREFIXED. - -### Список возможных операций - -Подробнее — [в документации Kafka](https://kafka.apache.org). - -Topics: - -* ALL. -* ALTER. -* ALTER_CONFIGS. -* CREATE. -* DELETE. -* DESCRIBE. -* DESCRIBE_CONFIGS. -* READ. -* WRITE. - -Group: - -* ALL. -* DELETE. -* DESCRIBE. -* READ. - -TransactionalID: - -* ALL. -* DESCRIBE. -* WRITE. - -Tokens: - -* DESCRIBE. - -## DeleteKafkaACLs - -DeleteKafkaACLs — удаляет набор ACL в Kafka. - -### Пример запроса - -```yaml -securityProtocol: SASL_PLAINTEXT -saslMechanism: PLAIN -acls: - - topics: - - example_1 - allow: - - User:principal_2 - - Group:principal_3 - allow_hosts: - - 127.0.0.1 - deny: - - User:principal_4 - - Group:principal_5 - deny_hosts: - - 127.0.0.1 - ops: - - CREATE - - READ - - WRITE - - DELETE - - DESCRIBE - - DESCRIBE_CONFIGS - - ALTER - pattern: LITERAL - - any_topic: true - any_group: true - any_transactional_id: true - any_allow: true - any_allow_hosts: true - any_deny: true - any_deny_hosts: true - ops: - - ANY - pattern: ANY - - any_resource: true - any_allow: true - any_allow_hosts: true - any_deny: true - any_deny_hosts: true - ops: - - ANY - pattern: ANY -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|---------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо удалить | - | - | -| acls.ops | Да | Список операций, для которых будет удалено правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.any_resource | Нет | Все ресурсы | - | false | -| acls.topics | Нет | Список из названий топиков, для которых будет применяться правило | - | - | -| acls.any_topic | Нет | Все топики | - | false | -| acls.groups | Нет | Список из названий групп, для которых будет применяться правило | - | - | -| acls.any_group | Нет | Все топики | - | false | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых будет применяться правило | - | - | -| acls.any_transactional_id | Нет | Любая транзакция | - | false | -| acls.tokens | Нет | Список токенов, для которых будет применяться правило | - | - | -| acls.any_token | Нет | Все токены | - | false | -| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | -| acls.any_allow | Нет | Любой принципал (user, group) | - | false | -| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | -| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | -| acls.deny | Нет | Список принципалов (user, group), для которых будет запрещено правило | - | - | -| acls.any_deny | Нет | Любой принципал (user, group) | - | false | -| acls.deny_hosts | Нет | Список хостов, для которых будет запрещено операцию | - | - | -| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | - -### Список возможных шаблонов - -* ANY. -* MATCH. -* LITERAL. -* PREFIXED. - -### Список возможных операций - -Подробное описание — [в документации Kafka](https://kafka.apache.org/39/documentation/#operations_resources_and_protocols). - -Topics: - -* ALL. -* ALTER. -* ALTER_CONFIGS. -* CREATE. -* DELETE. -* DESCRIBE. -* DESCRIBE_CONFIGS. -* READ. -* WRITE. - -Group: - -* ALL. -* DELETE. -* DESCRIBE. -* READ. - -TransactionalID: - -* ALL. -* DESCRIBE. -* WRITE. - -Token: - -* DESCRIBE. diff --git a/content/documentation/admin/actions/kafka/_index.ru.md b/content/documentation/admin/actions/kafka/_index.ru.md new file mode 100644 index 00000000..e7176dd1 --- /dev/null +++ b/content/documentation/admin/actions/kafka/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Apache Kafka +weight: 40 +--- diff --git a/content/documentation/admin/actions/kafka/createkafkaacls.ru.md b/content/documentation/admin/actions/kafka/createkafkaacls.ru.md new file mode 100644 index 00000000..32e70cb7 --- /dev/null +++ b/content/documentation/admin/actions/kafka/createkafkaacls.ru.md @@ -0,0 +1,109 @@ +--- +title: CreateKafkaACLs +weight: 50 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateKafkaACLs — создаёт набор ACL в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +acls: + - topics: + - example_1 + allow: + - User:principal_2 + - Group:principal_3 + deny: + - User:principal_4 + - Group:principal_5 + ops: + - CREATE + - READ + - WRITE + - DELETE + - DESCRIBE + - DESCRIBE_CONFIGS + - ALTER + pattern: LITERAL + - topics: + - example_6 + allow: + - User:principal_7 + allow_hosts: + - 127.0.0.1 + deny: + - User:principal_8 + deny_hosts: + - 127.0.0.1 + ops: + - CREATE + pattern: LITERAL +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо создать | - | - | +| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | +| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | +| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешается правило | - | - | +| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | +| acls.hosts | Нет | Список хостов, для которых разрешается операция | - | - | +| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | + +### Список возможных шаблонов + +* ANY. +* MATCH. +* LITERAL. +* PREFIXED. + +### Список возможных операций + +Подробнее — [в документации Kafka](https://kafka.apache.org). + +Topics: + +* ALL. +* ALTER. +* ALTER_CONFIGS. +* CREATE. +* DELETE. +* DESCRIBE. +* DESCRIBE_CONFIGS. +* READ. +* WRITE. + +Group: + +* ALL. +* DELETE. +* DESCRIBE. +* READ. + +TransactionalID: + +* ALL. +* DESCRIBE. +* WRITE. + +Tokens: + +* DESCRIBE. diff --git a/content/documentation/admin/actions/kafka/createkafkatopics.ru.md b/content/documentation/admin/actions/kafka/createkafkatopics.ru.md new file mode 100644 index 00000000..fb176ca6 --- /dev/null +++ b/content/documentation/admin/actions/kafka/createkafkatopics.ru.md @@ -0,0 +1,37 @@ +--- +title: CreateKafkaTopics +weight: 10 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateKafkaTopics — создаёт новые топики в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +partitions: 1 +replication_factor: 1 +configs: {} +topics: + - example_1 + - example_2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| partitions | Да | Количество разделов (партиций), на которые будет разделён топик | - | +| replication_factor | Да | Количество копий (реплик) каждой партиции топика, которые необходимо разместить на разных брокерах | - | +| configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | +| topics | Да | Список названий топиков, которые необходимо создать | - | diff --git a/content/documentation/admin/actions/kafka/createkafkausers.ru.md b/content/documentation/admin/actions/kafka/createkafkausers.ru.md new file mode 100644 index 00000000..d427cae2 --- /dev/null +++ b/content/documentation/admin/actions/kafka/createkafkausers.ru.md @@ -0,0 +1,41 @@ +--- +title: CreateKafkaUsers +weight: 30 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateKafkaUsers — создаёт новых пользователей SASL/SCRAM в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +users: + - user: example_user_1 + password: example_password_user_1 + mechanism: SCRAM-SHA-256 + iterations: 4096 + - user: example_user_2 + password: example_password_user_2 + mechanism: SCRAM-SHA-256 + iterations: 4096 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|-------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| users | Да | Набор пользователей, которых необходимо создать | - | +| users.user | Да | Имя создаваемого пользователя | - | +| users.password | Да | Пароль создаваемого пользователя | - | +| users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | +| users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | diff --git a/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md b/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md new file mode 100644 index 00000000..9459df2a --- /dev/null +++ b/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md @@ -0,0 +1,127 @@ +--- +title: DeleteKafkaACLs +weight: 60 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +DeleteKafkaACLs — удаляет набор ACL в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +acls: + - topics: + - example_1 + allow: + - User:principal_2 + - Group:principal_3 + allow_hosts: + - 127.0.0.1 + deny: + - User:principal_4 + - Group:principal_5 + deny_hosts: + - 127.0.0.1 + ops: + - CREATE + - READ + - WRITE + - DELETE + - DESCRIBE + - DESCRIBE_CONFIGS + - ALTER + pattern: LITERAL + - any_topic: true + any_group: true + any_transactional_id: true + any_allow: true + any_allow_hosts: true + any_deny: true + any_deny_hosts: true + ops: + - ANY + pattern: ANY + - any_resource: true + any_allow: true + any_allow_hosts: true + any_deny: true + any_deny_hosts: true + ops: + - ANY + pattern: ANY +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|---------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо удалить | - | - | +| acls.ops | Да | Список операций, для которых будет удалено правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.any_resource | Нет | Все ресурсы | - | false | +| acls.topics | Нет | Список из названий топиков, для которых будет применяться правило | - | - | +| acls.any_topic | Нет | Все топики | - | false | +| acls.groups | Нет | Список из названий групп, для которых будет применяться правило | - | - | +| acls.any_group | Нет | Все топики | - | false | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых будет применяться правило | - | - | +| acls.any_transactional_id | Нет | Любая транзакция | - | false | +| acls.tokens | Нет | Список токенов, для которых будет применяться правило | - | - | +| acls.any_token | Нет | Все токены | - | false | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | +| acls.any_allow | Нет | Любой принципал (user, group) | - | false | +| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | +| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | +| acls.deny | Нет | Список принципалов (user, group), для которых будет запрещено правило | - | - | +| acls.any_deny | Нет | Любой принципал (user, group) | - | false | +| acls.deny_hosts | Нет | Список хостов, для которых будет запрещено операцию | - | - | +| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | + +### Список возможных шаблонов + +* ANY. +* MATCH. +* LITERAL. +* PREFIXED. + +### Список возможных операций + +Подробное описание — [в документации Kafka](https://kafka.apache.org/39/documentation/#operations_resources_and_protocols). + +Topics: + +* ALL. +* ALTER. +* ALTER_CONFIGS. +* CREATE. +* DELETE. +* DESCRIBE. +* DESCRIBE_CONFIGS. +* READ. +* WRITE. + +Group: + +* ALL. +* DELETE. +* DESCRIBE. +* READ. + +TransactionalID: + +* ALL. +* DESCRIBE. +* WRITE. + +Token: + +* DESCRIBE. diff --git a/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md b/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md new file mode 100644 index 00000000..5f6f3eb3 --- /dev/null +++ b/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md @@ -0,0 +1,31 @@ +--- +title: DeleteKafkaTopics +weight: 20 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +DeleteKafkaTopics — удаляет существующие топики в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +topics: + - example_1 + - example_2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|--------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| topics | Да | Список названий топиков, которые необходимо удалить | - | diff --git a/content/documentation/admin/actions/kafka/deletekafkausers.ru.md b/content/documentation/admin/actions/kafka/deletekafkausers.ru.md new file mode 100644 index 00000000..e130352a --- /dev/null +++ b/content/documentation/admin/actions/kafka/deletekafkausers.ru.md @@ -0,0 +1,35 @@ +--- +title: DeleteKafkaUsers +weight: 40 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимы учётные данные: +* `user` — имя пользователя, от которого будет запускаться выполнение действия. +* `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +DeleteKafkaUsers — удаляет существующих пользователей SASL/SCRAM в Kafka. + +### Пример запроса + +```yaml +securityProtocol: SASL_PLAINTEXT +saslMechanism: PLAIN +users: + - user: example_user_1 + mechanism: SCRAM-SHA-256 + - user: example_user_2 + mechanism: SCRAM-SHA-256 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|-------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| users | Да | Набор пользователей, которых необходимо удалить | - | +| users.user | Да | Имя удаляемого пользователя | - | +| users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | diff --git a/content/documentation/admin/actions/keycloak/_index.ru.md b/content/documentation/admin/actions/keycloak/_index.ru.md new file mode 100644 index 00000000..c5c27fb0 --- /dev/null +++ b/content/documentation/admin/actions/keycloak/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Keycloak +weight: 70 +--- diff --git a/content/documentation/admin/actions/keycloak.ru.md b/content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md similarity index 97% rename from content/documentation/admin/actions/keycloak.ru.md rename to content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md index 3bf8031a..0022f74b 100644 --- a/content/documentation/admin/actions/keycloak.ru.md +++ b/content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md @@ -1,16 +1,15 @@ --- -title: Keycloak -weight: 70 +title: CreateKeycloakClient +weight: 10 --- + {{< alert level="info" >}} Для выполнения действия необходимы учётные данные: * `username` — имя пользователя, от которого будет запускаться выполнение действия. * `password` — пароль пользователя, от имени которого будет запускаться выполнение действия. {{< /alert >}} -## CreateKeycloakClient - CreateKeycloakClient — создаёт нового клиента в Keycloak. ### Пример запроса diff --git a/content/documentation/admin/actions/kubernetes.ru.md b/content/documentation/admin/actions/kubernetes.ru.md deleted file mode 100644 index d4a4cf0f..00000000 --- a/content/documentation/admin/actions/kubernetes.ru.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Kubernetes -weight: 60 ---- - -{{< alert level="info" >}} -Для выполнения действий необходимо наличие токена сервисного аккаунта Kubernetes. -{{< /alert >}} - -## CreateKubernetesResource - -CreateKubernetesResource — создаёт новый ресурс или ресурсы в кластере Kubernetes или обновляет существующие. - -### Пример запроса - -```yaml -manifests: - - apiVersion: v1 - kind: Namespace - metadata: - name: example1 - - apiVersion: v1 - kind: Namespace - metadata: - name: example2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|----------------------------|----------------|----------------------------------------------------------------------------------------------------| -| manifests | Да | Манифесты Kubernetes, которые будут применены | - -## GetKubernetesResource - -GetKubernetesResource — получает ресурс из кластера Kubernetes. - -### Пример запроса - -```yaml -group: managed-services.deckhouse.io -version: v1alpha1 -resource_type: postgres -resource_name: example-postgres -namespace: default -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|----------------------------------------------------------------------------------|----------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Тип получаемого ресурса | - | -| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | - -### Ответ - -При успешном выполнении действие возвращает объект ресурса в поле `resource`. Если ресурс не найден, действие завершается с ошибкой. - -| Название | Описание | -|------------|-----------------------------------------------| -| `resource` | Объект ресурса в формате Kubernetes | - -## DeleteKubernetesResource - -DeleteKubernetesResource — удаляет существующий ресурс в кластере Kubernetes. - -### Пример запроса - -```yaml -group: apps -version: v1 -resource_type: deployments -resource_name: nginx-deployment -namespace: example -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|-----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится удаляемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Тип удаляемого ресурса | pods, services, deployments, statefulsets, daemonsets, replicasets, jobs, cronjobs, nodes, namespaces, configmaps, secrets, persistentvolumes, persistentvolumeclaims, limitranges, resourcequotas, horizontalpodautoscalers, ingresses, networkpolicies, serviceaccounts, roles, clusterroles, rolebindings, clusterrolebindings, podsecuritypolicies, storageclasses, volumeattachments, events, endpoints, customresourcedefinitions | -| resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | - -### Определение требуемых Group и Version - -Каждому типу ресурса соответствует своя группа API (Group) и версия (Version). -Полный список API-ресурсов с их группами и версиями приведён [в документации Kubernetes](https://kubernetes.io/docs/reference/kubernetes-api/). - -Если неизвестно, какие требуются Group и Version, можно использовать актуальные значения. -Существует несколько способов их определить: - -#### С помощью утилиты `d8 k` - -Команда `d8 k explain` показывает `apiVersion` для ресурса. - -Пример: - -```bash -d8 k explain deployment -``` - -Пример вывода: - -```yaml -GROUP: apps -KIND: Deployment -VERSION: v1 - -DESCRIPTION: - Deployment enables declarative updates for Pods and ReplicaSets. - -FIELDS: -... -``` - -#### С помощью документации - -1. Найдите нужный ресурс (например, Deployment). -1. В заголовке указана API Group и версия. Пример для Deployment: - - ```yaml - apiVersion: apps/v1 - ``` - - Здесь: - * «API Group» — apps; - * «Version» — v1. diff --git a/content/documentation/admin/actions/kubernetes/_index.ru.md b/content/documentation/admin/actions/kubernetes/_index.ru.md new file mode 100644 index 00000000..8c99576d --- /dev/null +++ b/content/documentation/admin/actions/kubernetes/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Kubernetes +weight: 60 +--- diff --git a/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md new file mode 100644 index 00000000..d2992b28 --- /dev/null +++ b/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md @@ -0,0 +1,31 @@ +--- +title: CreateKubernetesResource +weight: 10 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена сервисного аккаунта Kubernetes. +{{< /alert >}} + +CreateKubernetesResource — создаёт новый ресурс или ресурсы в кластере Kubernetes или обновляет существующие. + +### Пример запроса + +```yaml +manifests: + - apiVersion: v1 + kind: Namespace + metadata: + name: example1 + - apiVersion: v1 + kind: Namespace + metadata: + name: example2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|----------------------------|----------------|----------------------------------------------------------------------------------------------------| +| manifests | Да | Манифесты Kubernetes, которые будут применены | diff --git a/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md new file mode 100644 index 00000000..53f8d0f0 --- /dev/null +++ b/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md @@ -0,0 +1,32 @@ +--- +title: DeleteKubernetesResource +weight: 30 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена сервисного аккаунта Kubernetes. +{{< /alert >}} + + +DeleteKubernetesResource — удаляет существующий ресурс в кластере Kubernetes. + +### Пример запроса + +```yaml +group: apps +version: v1 +resource_type: deployments +resource_name: nginx-deployment +namespace: example +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|-----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| group | Да | API-группа ресурса. Указывает, к какой группе API относится удаляемый объект | [Определение требуемых Group и Version](getkubernetesresource/#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](getkubernetesresource/#определение-требуемых-group-и-version) | +| resource_type | Да | Тип удаляемого ресурса | pods, services, deployments, statefulsets, daemonsets, replicasets, jobs, cronjobs, nodes, namespaces, configmaps, secrets, persistentvolumes, persistentvolumeclaims, limitranges, resourcequotas, horizontalpodautoscalers, ingresses, networkpolicies, serviceaccounts, roles, clusterroles, rolebindings, clusterrolebindings, podsecuritypolicies, storageclasses, volumeattachments, events, endpoints, customresourcedefinitions | +| resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | diff --git a/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md new file mode 100644 index 00000000..bcebcf28 --- /dev/null +++ b/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md @@ -0,0 +1,85 @@ +--- +title: GetKubernetesResource +weight: 20 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена сервисного аккаунта Kubernetes. +{{< /alert >}} + +GetKubernetesResource — получает ресурс из кластера Kubernetes. + +### Пример запроса + +```yaml +group: managed-services.deckhouse.io +version: v1alpha1 +resource_type: postgres +resource_name: example-postgres +namespace: default +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | +|---------------------------|----------------|----------------------------------------------------------------------------------|----------------------------------------------| +| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| resource_type | Да | Тип получаемого ресурса | - | +| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | + +### Ответ + +При успешном выполнении действие возвращает объект ресурса в поле `resource`. Если ресурс не найден, действие завершается с ошибкой. + +| Название | Описание | +|------------|-----------------------------------------------| +| `resource` | Объект ресурса в формате Kubernetes | + + +### Определение требуемых Group и Version + +Каждому типу ресурса соответствует своя группа API (Group) и версия (Version). +Полный список API-ресурсов с их группами и версиями приведён [в документации Kubernetes](https://kubernetes.io/docs/reference/kubernetes-api/). + +Если неизвестно, какие требуются группы API и версии, можно использовать актуальные значения. +Существует несколько способов их определить: + +#### С помощью утилиты `d8 k` + +Команда `d8 k explain` показывает `apiVersion` для ресурса. + +Пример: + +```bash +d8 k explain deployment +``` + +Пример вывода: + +```yaml +GROUP: apps +KIND: Deployment +VERSION: v1 + +DESCRIPTION: + Deployment enables declarative updates for Pods and ReplicaSets. + +FIELDS: +... +``` + +#### С помощью документации + +1. Найдите нужный ресурс (например, Deployment). +1. В заголовке указана API Group и версия. Пример для Deployment: + + ```yaml + apiVersion: apps/v1 + ``` + + Здесь: + * «API Group» — apps; + * «Version» — v1. diff --git a/content/documentation/admin/actions/nexus.ru.md b/content/documentation/admin/actions/nexus.ru.md deleted file mode 100644 index 575ec09d..00000000 --- a/content/documentation/admin/actions/nexus.ru.md +++ /dev/null @@ -1,327 +0,0 @@ ---- -title: Nexus Repository -weight: 80 ---- - -{{< alert level="info" >}} -Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. -{{< /alert >}} - -## CreateNexusRepository - -`CreateNexusRepository` — создаёт новый репозиторий любого поддерживаемого типа (maven, docker, npm и др.) в Nexus Repository Manager 3 с помощью REST API. -Параметры формата, типа и другие ключевые настройки полностью настраиваются и соответствуют Nexus API. - -### Пример запроса (Maven hosted) - -```yaml -description: | - Maven hosted repo for internal Java build artifacts. -name: my-maven-repo -format: maven -type: hosted -online: true -storage: - blobStoreName: default - strictContentTypeValidation: true - writePolicy: ALLOW -cleanup: - policyNames: - - maven-cleanup -maven: - versionPolicy: RELEASE - layoutPolicy: PERMISSIVE -``` - -### Пример запроса (Docker group) - -```yaml -description: | - Docker group repo aggregating hosted+proxy. -name: my-docker-group -format: docker -type: group -online: true -storage: - blobStoreName: default - strictContentTypeValidation: true -group: - memberNames: - - docker-hosted - - docker-proxy -docker: - v1Enabled: false - forceBasicAuth: true - httpPort: 5001 -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | Пример | -|-------------|-----------------|---------------------------------------------------------------------------------------------------|----------------------------------------| -| `description` | Нет | Документация по назначению этого действия/репозитория. Не используется самим Nexus, только для UI | - | -| `name` | Да | Название создаваемого репозитория. Должно быть уникальным в рамках Nexus | my-maven-repo | -| `format` | Да | Формат (`maven`, `docker`, `npm`, `raw` и т. д.) | maven | -| `type` | Да | Тип: `hosted`, `proxy` или `group` | hosted | -| `online` | Да | Доступен ли репозиторий (`true`/`false`) | true | -| `storage` | Да | Объект storage: `blobStoreName`, `strictContentTypeValidation`, `writePolicy` | [Пример](#пример-запроса-maven-hosted) | -| `cleanup` | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | -| `maven` | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | -| `proxy` | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | -| `group` | Для group | Список значений `memberNames` | [Пример](#пример-запроса-docker-group) | -| `docker` | Для docker | Специфичные для Docker параметры: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | -| `component` | Очень редко | Только для некоторых нестандартных сценариев | - | -| `attributes`| Нет | Любые кастомные поля | - | - -### Требования - -- Используйте только те блоки (`maven`, `group`, `proxy`, `docker` и пр.), которые поддерживаются для вашего типа/формата. -- Для maven hosted обязательно `maven: {versionPolicy, layoutPolicy}`. -- Для group — обязательно `group.memberNames`. -- Для proxy — обязательно `proxy.remoteUrl`. -- Для docker — специфичные поля в `docker`. - -## DeleteNexusRepository - -`DeleteNexusRepository` — удаляет существующий репозиторий из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -name: my-repo-to-delete -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------|-----------------|------------------------------------------| -| `name` | Да | Название репозитория, который требуется удалить | - -### Алгоритм - -- Выполняется `DELETE` по адресу `/service/rest/v1/repositories/{name}`, где `{name}` — это значение поля `name`. -- Если репозиторий найден и удалён — возвращается 204. -- Если не найден — возвращается ошибка 404. - -## CreateNexusPrivilege - -CreateNexusPrivilege — создаёт новую привилегию в Nexus Repository Manager 3. Привилегии определяют права доступа к репозиториям и другим ресурсам Nexus. - -### Пример запроса (repository-view) - -```yaml -name: example-privilege -description: Example privilege description -type: repository-view -actions: - - READ - - BROWSE -format: maven2 -repository: maven-releases -``` - -### Пример запроса (repository-content-selector) - -```yaml -name: content-selector-privilege -description: Privilege with content selector -type: repository-content-selector -actions: - - READ -format: maven2 -repository: maven-releases -contentSelector: my-content-selector -``` - -### Пример запроса (wildcard) - -```yaml -name: wildcard-privilege -description: Wildcard privilege -type: wildcard -pattern: nx-* -actions: - - READ -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------------------ |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `name` | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | -| `description` | Нет | Описание привилегии | -| `type` | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | -| `actions` | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | -| `format` | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| `repository` | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| `contentSelector` | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | -| `pattern` | Нет | Шаблон для типа `wildcard` | -| `domain` | Нет | Домен для типа `application` | -| `attributes` | Нет | Дополнительные параметры в формате ключ-значение | - -### Примечание - -Для типа `repository-content-selector` селектор контента должен существовать в Nexus до создания привилегии. Если селектор контента не указан или невалиден, действие автоматически преобразует тип привилегии в `repository-view`. - -## AssignNexusPrivilege - -AssignNexusPrivilege — назначает привилегии существующей роли в Nexus Repository Manager 3. Действие получает текущую конфигурацию роли и объединяет существующие привилегии с новыми. - -### Пример запроса - -```yaml -roleId: example-role -privileges: - - example-privilege - - another-privilege -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------------|-----------------|------------------------------------------------------------------------------| -| roleId | Да | Идентификатор роли, которой назначаются привилегии | -| privileges | Да | Список названий привилегий, которые необходимо назначить роли | - -### Алгоритм работы - -1. Получает текущую конфигурацию роли из Nexus. -1. Объединяет существующие привилегии роли с новыми привилегиями из запроса. -1. Обновляет роль с объединённым списком привилегий. - -### Примечание - -Роль должна существовать в Nexus до назначения привилегий. Если роль не найдена, действие завершится с ошибкой. Все указанные привилегии также должны существовать в Nexus. - -## DeleteNexusPrivilege - -DeleteNexusPrivilege — удаляет привилегию из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -name: example-privilege -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------|-----------------|---------------------------------------------| -| name | Да | Название привилегии, которую требуется удалить | - -## CreateNexusRole - -CreateNexusRole — создаёт новую роль в Nexus Repository Manager 3. Роли объединяют привилегии и могут включать другие роли. - -### Пример запроса - -```yaml -id: example-role -name: Example Role -description: Example role description -privileges: - - nx-repository-view-*-*-read - - nx-repository-view-maven2-*-browse -roles: [] -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|-------------|-----------------|------------------------------------------------------------------------------| -| id | Да | Уникальный идентификатор роли | -| name | Да | Название роли | -| description | Нет | Описание роли | -| privileges | Нет | Список названий привилегий, которые назначаются роли | -| roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | - -## AssignNexusRole - -AssignNexusRole — назначает роли существующему пользователю в Nexus Repository Manager 3. Действие получает текущую конфигурацию пользователя и объединяет существующие роли с новыми. - -### Пример запроса - -```yaml -userId: example-user -roles: - - example-role - - another-role -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|--------|-----------------|---------------------------------------------------------------| -| userId | Да | Идентификатор пользователя, которому назначаются роли | -| roles | Да | Список идентификаторов ролей, которые необходимо назначить пользователю | - -### Алгоритм работы - -1. Получает текущую конфигурацию пользователя из Nexus. -1. Объединяет существующие роли пользователя с новыми ролями из запроса. -1. Обновляет пользователя с объединённым списком ролей. - -### Примечание - -Пользователь должен существовать в Nexus до назначения ролей. Если пользователь не найден, действие завершится с ошибкой. Все указанные роли также должны существовать в Nexus. - -## DeleteNexusRole - -DeleteNexusRole — удаляет роль из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -id: example-role -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|------|-----------------|-----------------------------------------| -| id | Да | Идентификатор роли, которую требуется удалить | - -## CreateNexusUser - -CreateNexusUser — создаёт нового пользователя в Nexus Repository Manager 3. - -### Пример запроса - -```yaml -userId: example-user -firstName: First -lastName: Last -emailAddress: user@example.com -password: password -status: active -roles: - - nx-admin -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|-------------|-----------------|------------------------------------------------------------------------------| -| userId | Да | Уникальный идентификатор пользователя | -| firstName | Да | Имя пользователя | -| lastName | Да | Фамилия пользователя | -| emailAddress| Да | Email-адрес пользователя | -| password | Да | Пароль пользователя | -| status | Да | Статус пользователя: `active` или `disabled` | -| roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | - -## DeleteNexusUser - -DeleteNexusUser — удаляет пользователя из Nexus Repository Manager 3. - -### Пример запроса - -```yaml -userId: example-user -``` - -### Спецификация запроса - -| Поле | Обязательность | Описание | -|--------|-----------------|---------------------------------------------| -| userId | Да | Идентификатор пользователя, которого требуется удалить | diff --git a/content/documentation/admin/actions/nexus/_index.ru.md b/content/documentation/admin/actions/nexus/_index.ru.md new file mode 100644 index 00000000..7b359971 --- /dev/null +++ b/content/documentation/admin/actions/nexus/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Nexus Repository +weight: 80 +--- diff --git a/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md b/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md new file mode 100644 index 00000000..6c45ea6b --- /dev/null +++ b/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md @@ -0,0 +1,37 @@ +--- +title: AssignNexusPrivilege +weight: 40 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +AssignNexusPrivilege — назначает привилегии существующей роли в Nexus Repository Manager 3. Действие получает текущую конфигурацию роли и объединяет существующие привилегии с новыми. + +### Пример запроса + +```yaml +roleId: example-role +privileges: + - example-privilege + - another-privilege +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------------|-----------------|------------------------------------------------------------------------------| +| roleId | Да | Идентификатор роли, которой назначаются привилегии | +| privileges | Да | Список названий привилегий, которые необходимо назначить роли | + +### Алгоритм работы + +1. Получает текущую конфигурацию роли из Nexus. +1. Объединяет существующие привилегии роли с новыми привилегиями из запроса. +1. Обновляет роль с объединённым списком привилегий. + +### Примечание + +Роль должна существовать в Nexus до назначения привилегий. Если роль не найдена, действие завершится с ошибкой. Все указанные привилегии также должны существовать в Nexus. diff --git a/content/documentation/admin/actions/nexus/assignnexusrole.ru.md b/content/documentation/admin/actions/nexus/assignnexusrole.ru.md new file mode 100644 index 00000000..d93d473c --- /dev/null +++ b/content/documentation/admin/actions/nexus/assignnexusrole.ru.md @@ -0,0 +1,37 @@ +--- +title: AssignNexusRole +weight: 70 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +AssignNexusRole — назначает роли существующему пользователю в Nexus Repository Manager 3. Действие получает текущую конфигурацию пользователя и объединяет существующие роли с новыми. + +### Пример запроса + +```yaml +userId: example-user +roles: + - example-role + - another-role +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|--------|-----------------|---------------------------------------------------------------| +| userId | Да | Идентификатор пользователя, которому назначаются роли | +| roles | Да | Список идентификаторов ролей, которые необходимо назначить пользователю | + +### Алгоритм работы + +1. Получает текущую конфигурацию пользователя из Nexus. +1. Объединяет существующие роли пользователя с новыми ролями из запроса. +1. Обновляет пользователя с объединённым списком ролей. + +### Примечание + +Пользователь должен существовать в Nexus до назначения ролей. Если пользователь не найден, действие завершится с ошибкой. Все указанные роли также должны существовать в Nexus. diff --git a/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md b/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md new file mode 100644 index 00000000..8b89a00f --- /dev/null +++ b/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md @@ -0,0 +1,67 @@ +--- +title: CreateNexusPrivilege +weight: 30 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +CreateNexusPrivilege — создаёт новую привилегию в Nexus Repository Manager 3. Привилегии определяют права доступа к репозиториям и другим ресурсам Nexus. + +### Пример запроса (repository-view) + +```yaml +name: example-privilege +description: Example privilege description +type: repository-view +actions: + - READ + - BROWSE +format: maven2 +repository: maven-releases +``` + +### Пример запроса (repository-content-selector) + +```yaml +name: content-selector-privilege +description: Privilege with content selector +type: repository-content-selector +actions: + - READ +format: maven2 +repository: maven-releases +contentSelector: my-content-selector +``` + +### Пример запроса (wildcard) + +```yaml +name: wildcard-privilege +description: Wildcard privilege +type: wildcard +pattern: nx-* +actions: + - READ +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|-----------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| name | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | +| description | Нет | Описание привилегии | +| type | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | +| actions | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | +| format | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| repository | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| contentSelector | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | +| pattern | Нет | Шаблон для типа `wildcard` | +| domain | Нет | Домен для типа `application` | +| attributes | Нет | Дополнительные параметры в формате ключ-значение | + +### Примечание + +Для типа `repository-content-selector` селектор контента должен существовать в Nexus до создания привилегии. Если селектор контента не указан или невалиден, действие автоматически преобразует тип привилегии в `repository-view`. diff --git a/content/documentation/admin/actions/nexus/createnexusrepository.ru.md b/content/documentation/admin/actions/nexus/createnexusrepository.ru.md new file mode 100644 index 00000000..9d4ff1b5 --- /dev/null +++ b/content/documentation/admin/actions/nexus/createnexusrepository.ru.md @@ -0,0 +1,81 @@ +--- +title: CreateNexusRepository +weight: 10 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +`CreateNexusRepository` — создаёт новый репозиторий любого поддерживаемого типа (maven, docker, npm и др.) в Nexus Repository Manager 3 с помощью REST API. +Параметры формата, типа и другие ключевые настройки полностью настраиваются и соответствуют Nexus API. + +### Пример запроса (Maven hosted) + +```yaml +description: | + Maven hosted repo for internal Java build artifacts. +name: my-maven-repo +format: maven +type: hosted +online: true +storage: + blobStoreName: default + strictContentTypeValidation: true + writePolicy: ALLOW +cleanup: + policyNames: + - maven-cleanup +maven: + versionPolicy: RELEASE + layoutPolicy: PERMISSIVE +``` + +### Пример запроса (Docker group) + +```yaml +description: | + Docker group repo aggregating hosted+proxy. +name: my-docker-group +format: docker +type: group +online: true +storage: + blobStoreName: default + strictContentTypeValidation: true +group: + memberNames: + - docker-hosted + - docker-proxy +docker: + v1Enabled: false + forceBasicAuth: true + httpPort: 5001 +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | Пример | +|-------------|----------------|---------------------------------------------------------------------------------------------------|------------------------------| +| description | Нет | Документация по назначению этого действия/репозитория. Не используется самим Nexus, только для UI | - | +| name | Да | Название создаваемого репозитория. Должно быть уникальным в рамках Nexus | my-maven-repo | +| format | Да | Формат (`maven`, `docker`, `npm`, `raw` и т. д.) | maven | +| type | Да | Тип: `hosted`, `proxy` или `group` | hosted | +| online | Да | Доступен ли репозиторий (`true`/`false`) | true | +| storage | Да | Объект storage: `blobStoreName`, `strictContentTypeValidation`, `writePolicy` | [Пример](#пример-запроса-maven-hosted) | +| cleanup | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | +| maven | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | +| proxy | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | +| group | Для group | Список значений `memberNames` | [Пример](#пример-запроса-docker-group) | +| docker | Для docker | Специфичные для Docker параметры: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | +| component | Очень редко | Только для некоторых нестандартных сценариев | - | +| attributes | Нет | Любые кастомные поля | - | + +### Требования + +- Используйте только те блоки (`maven`, `group`, `proxy`, `docker` и пр.), которые поддерживаются для вашего типа/формата. +- Для maven hosted обязательно `maven: {versionPolicy, layoutPolicy}`. +- Для group — обязательно `group.memberNames`. +- Для proxy — обязательно `proxy.remoteUrl`. +- Для docker — специфичные поля в `docker`. diff --git a/content/documentation/admin/actions/nexus/createnexusrole.ru.md b/content/documentation/admin/actions/nexus/createnexusrole.ru.md new file mode 100644 index 00000000..a3afed0c --- /dev/null +++ b/content/documentation/admin/actions/nexus/createnexusrole.ru.md @@ -0,0 +1,33 @@ +--- +title: CreateNexusRole +weight: 60 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +CreateNexusRole — создаёт новую роль в Nexus Repository Manager 3. Роли объединяют привилегии и могут включать другие роли. + +### Пример запроса + +```yaml +id: example-role +name: Example Role +description: Example role description +privileges: + - nx-repository-view-*-*-read + - nx-repository-view-maven2-*-browse +roles: [] +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|-------------|-----------------|------------------------------------------------------------------------------| +| id | Да | Уникальный идентификатор роли | +| name | Да | Название роли | +| description | Нет | Описание роли | +| privileges | Нет | Список названий привилегий, которые назначаются роли | +| roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | diff --git a/content/documentation/admin/actions/nexus/createnexususer.ru.md b/content/documentation/admin/actions/nexus/createnexususer.ru.md new file mode 100644 index 00000000..5d58437c --- /dev/null +++ b/content/documentation/admin/actions/nexus/createnexususer.ru.md @@ -0,0 +1,36 @@ +--- +title: CreateNexusUser +weight: 90 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +CreateNexusUser — создаёт нового пользователя в Nexus Repository Manager 3. + +### Пример запроса + +```yaml +userId: example-user +firstName: First +lastName: Last +emailAddress: user@example.com +password: password +status: active +roles: + - nx-admin +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|-------------|-----------------|------------------------------------------------------------------------------| +| userId | Да | Уникальный идентификатор пользователя | +| firstName | Да | Имя пользователя | +| lastName | Да | Фамилия пользователя | +| emailAddress| Да | Email-адрес пользователя | +| password | Да | Пароль пользователя | +| status | Да | Статус пользователя: `active` или `disabled` | +| roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | diff --git a/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md b/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md new file mode 100644 index 00000000..cf0e14e2 --- /dev/null +++ b/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md @@ -0,0 +1,23 @@ +--- +title: DeleteNexusPrivilege +weight: 50 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +DeleteNexusPrivilege — удаляет привилегию из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +name: example-privilege +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------|-----------------|---------------------------------------------| +| name | Да | Название привилегии, которую требуется удалить | diff --git a/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md b/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md new file mode 100644 index 00000000..98c7047c --- /dev/null +++ b/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md @@ -0,0 +1,29 @@ +--- +title: DeleteNexusRepository +weight: 20 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +`DeleteNexusRepository` — удаляет существующий репозиторий из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +name: my-repo-to-delete +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------|-----------------|------------------------------------------| +| `name` | Да | Название репозитория, который требуется удалить | + +### Алгоритм + +- Выполняется `DELETE` по адресу `/service/rest/v1/repositories/{name}`, где `{name}` — это значение поля `name`. +- Если репозиторий найден и удалён — возвращается 204. +- Если не найден — возвращается ошибка 404. diff --git a/content/documentation/admin/actions/nexus/deletenexusrole.ru.md b/content/documentation/admin/actions/nexus/deletenexusrole.ru.md new file mode 100644 index 00000000..9d2d76b1 --- /dev/null +++ b/content/documentation/admin/actions/nexus/deletenexusrole.ru.md @@ -0,0 +1,23 @@ +--- +title: DeleteNexusRole +weight: 80 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +DeleteNexusRole — удаляет роль из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +id: example-role +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|------|-----------------|-----------------------------------------| +| id | Да | Идентификатор роли, которую требуется удалить | diff --git a/content/documentation/admin/actions/nexus/deletenexususer.ru.md b/content/documentation/admin/actions/nexus/deletenexususer.ru.md new file mode 100644 index 00000000..07b99620 --- /dev/null +++ b/content/documentation/admin/actions/nexus/deletenexususer.ru.md @@ -0,0 +1,23 @@ +--- +title: DeleteNexusUser +weight: 100 +--- + + +{{< alert level="info" >}} +Для выполнения действия необходимо наличие токена — строки base64(`admin:password`), используемой как Basic Auth при запросах к Nexus. +{{< /alert >}} + +DeleteNexusUser — удаляет пользователя из Nexus Repository Manager 3. + +### Пример запроса + +```yaml +userId: example-user +``` + +### Спецификация запроса + +| Поле | Обязательность | Описание | +|--------|-----------------|---------------------------------------------| +| userId | Да | Идентификатор пользователя, которого требуется удалить | diff --git a/content/documentation/admin/actions/sonarqube.ru.md b/content/documentation/admin/actions/sonarqube.ru.md deleted file mode 100644 index d5ca9c77..00000000 --- a/content/documentation/admin/actions/sonarqube.ru.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: SonarQube -weight: 30 ---- - -{{< alert level="info" >}} -Для выполнения действий необходимо наличие токена SonarQube с типом User Token, сгенерированного пользователем, от имени которого будет запускаться выполнение действия. -{{< /alert >}} - -## CreateSonarqubeProject - -CreateSonarqubeProject — создаёт новый проект в SonarQube. -Действие использует SonarQube Web API для создания проекта с указанными параметрами, такими как ключ (project key), название проекта, главная ветка, параметры определения нового кода (new code definition) и видимость проекта. Аутентификация осуществляется с использованием токена SonarQube, который должен быть передан в учётных данных. - -### Пример запроса - -```yaml -project: example-project -name: example-project -mainBranch: develop -newCodeDefinitionType: NUMBER_OF_DAYS -newCodeDefinitionValue: '30' -visibility: public -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|-------------------------|----------------|-----------------------------------------------------------------------------------------------|----------------------------------------------------|------------------------| -| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | -| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | -| mainBranch | Нет | Название главной ветки проекта | - | master | -| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | -| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | -| visibility | Нет | Видимость проекта | private, public | private | - -## DeleteSonarqubeProject - -DeleteSonarqubeProject — удаляет проект из SonarQube. - -### Пример запроса - -```yaml -project: example-project -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------|------------------|----------------------------------------------------------------------------|------------------------| -| project | Да | Уникальный идентификатор (Project Key) проекта, который необходимо удалить | - | - -## DeleteSonarqubeProjects - -DeleteSonarqubeProjects — удаляет один или несколько проектов из SonarQube. - -### Пример запроса - -```yaml -analyzedBefore: 2017-10-19T13:00:00+0200 -onProvisionedOnly: 'false' -projects: example_project,another_project -q: example -qualifiers: TRK -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Примеры значений | -|--------------------|------------------|---------------------------------------------------------------------------------|-------------------------------|---------------------------------------| -| analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | -| onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | -| projects | Нет | Список ключей проектов, которые необходимо удалить | - | my_project, another_project | -| q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | -| qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | diff --git a/content/documentation/admin/actions/sonarqube/_index.ru.md b/content/documentation/admin/actions/sonarqube/_index.ru.md new file mode 100644 index 00000000..094ef7df --- /dev/null +++ b/content/documentation/admin/actions/sonarqube/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: SonarQube +weight: 30 +--- diff --git a/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md b/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md new file mode 100644 index 00000000..07de6f77 --- /dev/null +++ b/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md @@ -0,0 +1,33 @@ +--- +title: CreateSonarqubeProject +weight: 10 +--- + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена SonarQube с типом User Token, сгенерированного пользователем, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +CreateSonarqubeProject — создаёт новый проект в SonarQube. +Действие использует SonarQube Web API для создания проекта с указанными параметрами, такими как ключ (project key), название проекта, главная ветка, параметры определения нового кода (new code definition) и видимость проекта. Аутентификация осуществляется с использованием токена SonarQube, который должен быть передан в учётных данных. + +### Пример запроса + +```yaml +project: example-project +name: example-project +mainBranch: develop +newCodeDefinitionType: NUMBER_OF_DAYS +newCodeDefinitionValue: '30' +visibility: public +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|-------------------------|----------------|-----------------------------------------------------------------------------------------------|----------------------------------------------------|-------------------------| +| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | +| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | +| mainBranch | Нет | Название главной ветки проекта | - | master | +| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | +| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | +| visibility | Нет | Видимость проекта | private, public | private | diff --git a/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md b/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md new file mode 100644 index 00000000..4922c80d --- /dev/null +++ b/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md @@ -0,0 +1,22 @@ +--- +title: DeleteSonarqubeProject +weight: 20 +--- + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена SonarQube с типом User Token, сгенерированного пользователем, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +DeleteSonarqubeProject — удаляет проект из SonarQube. + +### Пример запроса + +```yaml +project: example-project +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Значение по умолчанию | +|------------------|----------------|----------------------------------------------------------------------------|------------------------| +| project | Да | Уникальный идентификатор (Project Key) проекта, который необходимо удалить | - | diff --git a/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md b/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md new file mode 100644 index 00000000..f1923c73 --- /dev/null +++ b/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md @@ -0,0 +1,30 @@ +--- +title: DeleteSonarqubeProjects +weight: 30 +--- + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие токена SonarQube с типом User Token, сгенерированного пользователем, от имени которого будет запускаться выполнение действия. +{{< /alert >}} + +DeleteSonarqubeProjects — удаляет один или несколько проектов из SonarQube. + +### Пример запроса + +```yaml +analyzedBefore: 2017-10-19T13:00:00+0200 +onProvisionedOnly: 'false' +projects: example_project,another_project +q: example +qualifiers: TRK +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Примеры значений | +|--------------------|----------------|---------------------------------------------------------------------------------|-------------------------------|---------------------------------------| +| analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | +| onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | +| projects | Нет | Список ключей проектов, которые необходимо удалить | - | my_project, another_project | +| q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | +| qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | diff --git a/content/documentation/admin/actions/vault/_index.ru.md b/content/documentation/admin/actions/vault/_index.ru.md new file mode 100644 index 00000000..ba34a237 --- /dev/null +++ b/content/documentation/admin/actions/vault/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: HashiCorp Vault +weight: 50 +--- diff --git a/content/documentation/admin/actions/vault.ru.md b/content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md similarity index 50% rename from content/documentation/admin/actions/vault.ru.md rename to content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md index a5e1d5e6..338a14a6 100644 --- a/content/documentation/admin/actions/vault.ru.md +++ b/content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md @@ -1,70 +1,14 @@ --- -title: HashiCorp Vault -weight: 50 +title: CreateVaultKubernetesAuthRole +weight: 30 --- {{< alert level="info" >}} -Для выполнения действий необходимо наличие Vault-токена, который имеет необходимые права для создания секретов. +Для выполнения действия необходимо наличие Vault-токена, обладающего правами на создание/обновление ролей Kubernetes auth backend. {{< /alert >}} -## CreateVaultSecret - -CreateVaultSecret — создаёт секрет с одним или несколькими значениями в HashiCorp Vault. - -### Пример запроса - -```yaml -path: example/data/path -secrets: - - key: key1 - value: value1 - - key: key2 - value: value2 -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|---------------------------|----------------|-------------------------------------------------------------------|-------------------------------------|-----------------------| -| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | -| allow_update | Нет | Определяет поведение действия при создании или обновлении секрета | true, false, merge, merge_or_create | false | -| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | -| secrets.key | Да | Название (идентификатор) секрета | | - | -| secrets.value | Да | Значение секрета | | - | - -### Примечание - -`allow_update` — определяет поведение действия при создании или обновлении секрета: - -- `false` (по умолчанию) — действие завершается с ошибкой, если секрет уже существует; -- `true` — создаётся новая версия секрета со значениями, переданными в действии; -- `merge` — обновляются или создаются только те ключи секрета, которые указаны в действии. Существующие ключи, не упомянутые в действии, сохраняются без изменений. Если секрета по пути ещё нет, действие завершается с ошибкой; -- `merge_or_create` — как `merge`, если секрет уже существует; если секрета по пути нет, он создаётся (полная запись значений из действия). - -## DeleteVaultSecret - -DeleteVaultSecret — удаляет секрет из HashiCorp Vault. - -### Пример запроса - -```yaml -path: example/data/path -``` - -### Спецификация запроса - -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------------------------------------------------------| -| path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | - -## CreateVaultKubernetesAuthRole - CreateVaultKubernetesAuthRole — создаёт или обновляет роль аутентификации Kubernetes в HashiCorp Vault. -{{< alert level="info" >}} -Для выполнения действия необходимо наличие Vault-токена, обладающего правами на создание/обновление ролей Kubernetes auth backend. -{{< /alert >}} - ### Пример запроса ```yaml diff --git a/content/documentation/admin/actions/vault/createvaultsecret.ru.md b/content/documentation/admin/actions/vault/createvaultsecret.ru.md new file mode 100644 index 00000000..eca32203 --- /dev/null +++ b/content/documentation/admin/actions/vault/createvaultsecret.ru.md @@ -0,0 +1,41 @@ +--- +title: CreateVaultSecret +weight: 10 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие Vault-токена, который имеет необходимые права для создания секретов. +{{< /alert >}} + +CreateVaultSecret — создаёт секрет с одним или несколькими значениями в HashiCorp Vault. + +### Пример запроса + +```yaml +path: example/data/path +secrets: + - key: key1 + value: value1 + - key: key2 + value: value2 +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +|---------------------------|----------------|-------------------------------------------------------------------|-------------------------------------|-----------------------| +| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | +| allow_update | Нет | Определяет поведение действия при создании или обновлении секрета | true, false, merge, merge_or_create | false | +| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | +| secrets.key | Да | Название (идентификатор) секрета | | - | +| secrets.value | Да | Значение секрета | | - | + +### Примечание + +`allow_update` — определяет поведение действия при создании или обновлении секрета: + +- `false` (по умолчанию) — действие завершается с ошибкой, если секрет уже существует; +- `true` — создаётся новая версия секрета со значениями, переданными в действии; +- `merge` — обновляются или создаются только те ключи секрета, которые указаны в действии. Существующие ключи, не упомянутые в действии, сохраняются без изменений. Если секрета по пути ещё нет, действие завершается с ошибкой; +- `merge_or_create` — как `merge`, если секрет уже существует; если секрета по пути нет, он создаётся (полная запись значений из действия). diff --git a/content/documentation/admin/actions/vault/deletevaultsecret.ru.md b/content/documentation/admin/actions/vault/deletevaultsecret.ru.md new file mode 100644 index 00000000..26cf4d88 --- /dev/null +++ b/content/documentation/admin/actions/vault/deletevaultsecret.ru.md @@ -0,0 +1,23 @@ +--- +title: DeleteVaultSecret +weight: 20 +--- + + +{{< alert level="info" >}} +Для выполнения действий необходимо наличие Vault-токена, который имеет необходимые права для создания секретов. +{{< /alert >}} + +DeleteVaultSecret — удаляет секрет из HashiCorp Vault. + +### Пример запроса + +```yaml +path: example/data/path +``` + +### Спецификация запроса + +| Название | Обязательность | Описание | +|---------------------------|----------------|----------------------------------------------------------------------------------------------------| +| path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | diff --git a/content/documentation/admin/actions/wait/_index.ru.md b/content/documentation/admin/actions/wait/_index.ru.md new file mode 100644 index 00000000..cc1ba228 --- /dev/null +++ b/content/documentation/admin/actions/wait/_index.ru.md @@ -0,0 +1,4 @@ +--- +title: Wait +weight: 120 +--- diff --git a/content/documentation/admin/actions/wait.ru.md b/content/documentation/admin/actions/wait/wait.ru.md similarity index 98% rename from content/documentation/admin/actions/wait.ru.md rename to content/documentation/admin/actions/wait/wait.ru.md index f92749a7..7795020d 100644 --- a/content/documentation/admin/actions/wait.ru.md +++ b/content/documentation/admin/actions/wait/wait.ru.md @@ -1,10 +1,8 @@ --- title: Wait -weight: 120 +weight: 10 --- -## Wait - Wait ожидает заданное число секунд; дополнительно может применяться случайная добавка к длительности (джиттер). Предназначено для использования в процессах в качестве элемента задержки, в том числе для ожидания применения результатов предыдущего действия. ### Пример запроса diff --git a/content/documentation/admin/datasources/types.ru.md b/content/documentation/admin/datasources/types.ru.md index db1f316d..31f6de60 100644 --- a/content/documentation/admin/datasources/types.ru.md +++ b/content/documentation/admin/datasources/types.ru.md @@ -490,7 +490,7 @@ resource: modulereleases Каждому типу ресурса соответствует своя версия и группа. Полный список API-ресурсов с их группами и версиями — в [документации Kubernetes](https://kubernetes.io/docs/reference/kubernetes-api/). -Если неизвестно, какие требуются Group и Version, можно попробовать подставить актуальные значения. Есть несколько вариантов, как их посмотреть, например с помощью утилиты `d8 k`: команда `d8 k explain` показывает `version` и `apiGroup` для ресурса. +Если неизвестно, какие требуются группы и версии, можно попробовать подставить актуальные значения. Есть несколько вариантов, как их посмотреть, например с помощью утилиты `d8 k`: команда `d8 k explain` показывает `version` и `apiGroup` для ресурса. Пример: From da3bec47470ece8bb41985db90a5ec1ad600cb92 Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 20:52:25 +0500 Subject: [PATCH 09/11] split chapter linter Signed-off-by: lada7878 --- .../gitlab/creategitlabmergerequest.ru.md | 4 ++-- .../gitlab/createrepositoryfromtemplate.ru.md | 2 +- .../kubernetes/deletekubernetesresource.ru.md | 2 -- .../kubernetes/getkubernetesresource.ru.md | 1 - .../documentation/admin/actions/overview.ru.md | 2 +- .../admin/examples/service-autoupdates.ru.md | 8 ++++---- content/documentation/release-notes/v1.0.0.ru.md | 2 +- content/documentation/release-notes/v1.1.0.ru.md | 6 +++--- content/documentation/release-notes/v1.2.0.ru.md | 16 ++++++++-------- content/documentation/release-notes/v1.4.0.ru.md | 8 ++++---- content/documentation/release-notes/v1.6.0.ru.md | 2 +- 11 files changed, 25 insertions(+), 28 deletions(-) diff --git a/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md b/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md index db393e9f..6a9007fb 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md @@ -42,14 +42,14 @@ values: | merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | | source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | | source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](#templateignore) | - | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](createrepositoryfromtemplate/#templateignore) | - | | values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | ### Алгоритм работы Платформа: -1. Клонирует репозиторий-шаблон для генерации MR по его идентификатору (`source_project_id`). Подробнее — [в «Деталях работы»](#детали-работы). +1. Клонирует репозиторий-шаблон для генерации MR по его идентификатору (`source_project_id`). Подробнее — [в «Деталях работы»](createrepositoryfromtemplate/#детали-работы). 1. Считывает файл `values.yaml`, хранящийся в корне репозитория, и определяет переменные по умолчанию для шаблонизации. 1. Считывает переменные, передаваемые при запуске действия, и объединяет (merge) их с переменными из `values.yaml`. Приоритет отдаётся переменным, передаваемым при запуске действия. 1. Считывает файл `.templateignore` и определяет директории и файлы, исключаемые из шаблонизации. diff --git a/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md b/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md index be0d63d3..e914b318 100644 --- a/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md +++ b/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md @@ -348,7 +348,7 @@ additionalIgnoreFiles: При `obsoleteDir: legacy-ui` из `values` после раскрытия в списке удаления окажутся и `{{ .obsoleteDir }}/**`, и `legacy-ui/**` — совпавшие пути будут удалены из копии перед финальными шагами. {{< alert level="info" >}} -Учитывайте различия: +Учитывайте различия: - `.templateignore` оставляет файлы на диске, но отключает для них переименование пути и рендер содержимого; - списки из `additionalIgnoreFiles` удаляют совпавшие пути из рабочей копии. {{< /alert >}} diff --git a/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md index 53f8d0f0..9454fab4 100644 --- a/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md +++ b/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md @@ -3,12 +3,10 @@ title: DeleteKubernetesResource weight: 30 --- - {{< alert level="info" >}} Для выполнения действий необходимо наличие токена сервисного аккаунта Kubernetes. {{< /alert >}} - DeleteKubernetesResource — удаляет существующий ресурс в кластере Kubernetes. ### Пример запроса diff --git a/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md index bcebcf28..e937996c 100644 --- a/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md +++ b/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md @@ -38,7 +38,6 @@ namespace: default |------------|-----------------------------------------------| | `resource` | Объект ресурса в формате Kubernetes | - ### Определение требуемых Group и Version Каждому типу ресурса соответствует своя группа API (Group) и версия (Version). diff --git a/content/documentation/admin/actions/overview.ru.md b/content/documentation/admin/actions/overview.ru.md index 4d7ebb36..0f6bdbe8 100644 --- a/content/documentation/admin/actions/overview.ru.md +++ b/content/documentation/admin/actions/overview.ru.md @@ -8,7 +8,7 @@ weight: 10 - создавать проекты, переменные, ветки, теги, релизы и merge request'ы в [GitLab](../gitlab/); - создавать ресурсы в [Kubernetes](../kubernetes/) и получать их; -- создавать секреты в [Deckhouse Stronghold и HashiCorp Vault](../vault/), а также клиентов в [Keycloak](../keycloack/); +- создавать секреты в [Deckhouse Stronghold и HashiCorp Vault](../vault/), а также клиентов в [Keycloak](../keycloak/); - создавать проекты в [SonarQube](../sonarqube/), продукты и engagements в [DefectDojo](../defectdojo/), проекты в [CodeScoring](../codescoring/) и репозитории, роли, пользователей и привилегии в [Nexus Repository](../nexus/); - создавать топики и ACL в [Apache Kafka](../kafka/); - выполнять вспомогательные действия для отладки и управления выполнением процессов (например, [Debug](../debug/) и [Wait](../wait/)). diff --git a/content/documentation/admin/examples/service-autoupdates.ru.md b/content/documentation/admin/examples/service-autoupdates.ru.md index 3e7c86af..c8bac001 100644 --- a/content/documentation/admin/examples/service-autoupdates.ru.md +++ b/content/documentation/admin/examples/service-autoupdates.ru.md @@ -449,7 +449,7 @@ values: {{ .template_values | nindent 4 }} - `source_project_id` и `target_project_id` — ID репозиториев шаблона и сервиса. - `values` — переменные шаблонизации применяются повторно для корректного рендеринга изменений. -Подробнее о настройках встроенного бэкенда — в разделе [«CreateGitlabMergeRequest»](../actions/types/#creategitlabmergerequest). +Подробнее о настройках встроенного бэкенда — в разделе [«CreateGitlabMergeRequest»](../actions/gitlab/creategitlabmergerequest/). ### Создание действия @@ -528,7 +528,7 @@ namespace_id: '{{ .group }}' path: '{{ .path }}' ``` -Это тело запроса передаёт в GitLab API название проекта, ID группы и путь репозитория. Подробнее о настройках — в разделе [«CreateGitlabProject»](../actions/types/#creategitlabproject). +Это тело запроса передаёт в GitLab API название проекта, ID группы и путь репозитория. Подробнее о настройках — в разделе [«CreateGitlabProject»](../actions/gitlab/creategitlabproject/). Действие «Создать репозиторий из шаблона»: @@ -558,7 +558,7 @@ values: - `values` — блок должен содержать пары ключ-значение, которые будут использованы для замены переменных в файлах шаблона. Формат и состав этих переменных полностью зависит от того, как настроен ваш шаблон. -Подробнее о настройках — в разделе [«CreateRepositoryFromTemplate»](../actions/types/#createrepositoryfromtemplate). +Подробнее о настройках — в разделе [«CreateRepositoryFromTemplate»](../actions/gitlab/createrepositoryfromtemplate/). Действие «Обновление сервиса из шаблона»: @@ -595,7 +595,7 @@ values: {{ .template_values | nindent 4 }} - `values` — переменные шаблонизации применяются повторно для корректного рендеринга изменений. -Подробнее о настройках — в разделе [«CreateGitlabMergeRequest»](../actions/types/#creategitlabmergerequest). +Подробнее о настройках — в разделе [«CreateGitlabMergeRequest»](../actions/gitlab/creategitlabmergerequest/). Обновление: diff --git a/content/documentation/release-notes/v1.0.0.ru.md b/content/documentation/release-notes/v1.0.0.ru.md index b9182a50..4ac42875 100644 --- a/content/documentation/release-notes/v1.0.0.ru.md +++ b/content/documentation/release-notes/v1.0.0.ru.md @@ -91,7 +91,7 @@ description: Заметки о выпуске v1.0.0 — виджеты, ист #### Nexus -Добавлены действия для работы с [репозиториями Nexus](../../admin/actions/types/#createnexusrepository): +Добавлены действия для работы с [репозиториями Nexus](../../admin/actions/nexus/createnexusrepository/): - `CreateNexusRepository` — создание репозиториев любого поддерживаемого типа (maven, docker, npm и др.) в Nexus Repository Manager 3. - `DeleteNexusRepository` — удаление репозиториев из Nexus Repository Manager 3. diff --git a/content/documentation/release-notes/v1.1.0.ru.md b/content/documentation/release-notes/v1.1.0.ru.md index 860d1548..85df2f46 100644 --- a/content/documentation/release-notes/v1.1.0.ru.md +++ b/content/documentation/release-notes/v1.1.0.ru.md @@ -183,12 +183,12 @@ description: Заметки о выпуске v1.1.0 — несовместим Добавлены действия для работы с CodeScoring: -- [`CreateCodeScoringProject`](../../admin/actions/types/#createcodescoringproject) — регистрирует новый проект в CodeScoring с указанием репозитория, VCS системы и опцией автоматического запуска SCA-анализа. -- [`DeleteCodeScoringProject`](../../admin/actions/types/#deletecodescoringproject) — удаляет проект в CodeScoring по его ID. +- [`CreateCodeScoringProject`](../../admin/actions/codescoring/createcodescoringproject/) — регистрирует новый проект в CodeScoring с указанием репозитория, VCS системы и опцией автоматического запуска SCA-анализа. +- [`DeleteCodeScoringProject`](../../admin/actions/codescoring/deletecodescoringproject/) — удаляет проект в CodeScoring по его ID. #### GitLab -[`CreateGitlabRelease`](../../admin/actions/types/#creategitlabrelease) — позволяет создавать релизы на основе существующих тегов GitLab. +[`CreateGitlabRelease`](../../admin/actions/gitlab/creategitlabrelease/) — позволяет создавать релизы на основе существующих тегов GitLab. #### Vault diff --git a/content/documentation/release-notes/v1.2.0.ru.md b/content/documentation/release-notes/v1.2.0.ru.md index 666b70b0..f56d4b2d 100644 --- a/content/documentation/release-notes/v1.2.0.ru.md +++ b/content/documentation/release-notes/v1.2.0.ru.md @@ -26,14 +26,14 @@ description: Заметки о выпуске v1.2.0 — иконки, AI-асс - Добавлена возможность настройки [временного ответа для действий](../../admin/actions/overview/#временный-ответ). - Добавлена панель управления действиями, которая позволяет просмотреть все действия, запущенные пользователем, подтвердить назначенные действия или удалить временный ответ. - Добавлены действия для управления Nexus Repository Manager 3: - - [`CreateNexusPrivilege`](../../admin/actions/types/#createnexusprivilege) — создание привилегий; - - [`AssignNexusPrivilege`](../../admin/actions/types/#assignnexusprivilege) — назначение привилегий ролям; - - [`DeleteNexusPrivilege`](../../admin/actions/types/#deletenexusprivilege) — удаление привилегий; - - [`CreateNexusRole`](../../admin/actions/types/#createnexusrole) — создание ролей; - - [`AssignNexusRole`](../../admin/actions/types/#assignnexusrole) — назначение ролей пользователям; - - [`DeleteNexusRole`](../../admin/actions/types/#deletenexusrole) — удаление ролей; - - [`CreateNexusUser`](../../admin/actions/types/#createnexususer) — создание пользователей; - - [`DeleteNexusUser`](../../admin/actions/types/#deletenexususer) — удаление пользователей. + - [`CreateNexusPrivilege`](../../admin/actions/nexus/createnexusprivilege/) — создание привилегий; + - [`AssignNexusPrivilege`](../../admin/actions/nexus/assignnexusprivilege/) — назначение привилегий ролям; + - [`DeleteNexusPrivilege`](../../admin/actions/nexus/deletenexusprivilege/) — удаление привилегий; + - [`CreateNexusRole`](../../admin/actions/nexus/createnexusrole/) — создание ролей; + - [`AssignNexusRole`](../../admin/actions/nexus/assignnexusrole/) — назначение ролей пользователям; + - [`DeleteNexusRole`](../../admin/actions/nexus/deletenexusrole/) — удаление ролей; + - [`CreateNexusUser`](../../admin/actions/nexus/createnexususer/) — создание пользователей; + - [`DeleteNexusUser`](../../admin/actions/nexus/deletenexususer/) — удаление пользователей. ### Владение объектами diff --git a/content/documentation/release-notes/v1.4.0.ru.md b/content/documentation/release-notes/v1.4.0.ru.md index 57e8ff18..2878dd4c 100644 --- a/content/documentation/release-notes/v1.4.0.ru.md +++ b/content/documentation/release-notes/v1.4.0.ru.md @@ -80,10 +80,10 @@ CREATE EXTENSION IF NOT EXISTS pg_trgm; Добавлены новые действия: -- «Wait» — для [паузы на заданное время](../../admin/actions/types/#wait). -- «Fail» — для [принудительного завершения с ошибкой](../../admin/actions/types/#fail). +- «Wait» — для [паузы на заданное время](../../admin/actions/wait/wait/). +- «Fail» — для [принудительного завершения с ошибкой](../../admin/actions/debug/fail/). -Изменения в существующих действиях: в действии [`CreateVaultSecret`](../../admin/actions/types/#createvaultsecret) для параметра `allow_update` добавлено значение `merge_or_create`. +Изменения в существующих действиях: в действии [`CreateVaultSecret`](../../admin/actions/vault/createvaultsecret/) для параметра `allow_update` добавлено значение `merge_or_create`. ### Источники данных @@ -92,7 +92,7 @@ CREATE EXTENSION IF NOT EXISTS pg_trgm; ### Шаблонизация - Добавлена встроенная функция `jwtSign` для формирования подписанного [JWT в Go template](../../user/templating/#jwtsign). -- В правилах файла `.templateignore` и дополнительных файлов исключения для шаблонов репозитория добавлена поддержка шаблонов Go template с теми же переменными, что и для содержимого файлов. Более подробно об этом — в документе [Типы действий](../../admin/actions/types/#templateignore-templates). +- В правилах файла `.templateignore` и дополнительных файлов исключения для шаблонов репозитория добавлена поддержка шаблонов Go template с теми же переменными, что и для содержимого файлов. Более подробно об этом — в документе [CreateRepositoryFromTemplate](../../admin/actions/gitlab/createrepositoryfromtemplate/#templateignore-templates). ### Ролевая модель diff --git a/content/documentation/release-notes/v1.6.0.ru.md b/content/documentation/release-notes/v1.6.0.ru.md index 72557886..ca57c233 100644 --- a/content/documentation/release-notes/v1.6.0.ru.md +++ b/content/documentation/release-notes/v1.6.0.ru.md @@ -72,7 +72,7 @@ description: Заметки о выпуске v1.6.0 — управление MC ### Действия - Добавлен механизм автоматического [создания сущностей](../../admin/actions/overview/#создание-сущностей) после успешного выполнения действия. -- Добавлено действие [GetKubernetesResource](../../admin/actions/types/#getkubernetesresource) для получения спецификации ресурса из Kubernetes кластера. +- Добавлено действие [GetKubernetesResource](../../admin/actions/kubernetes/getkubernetesresource/) для получения спецификации ресурса из Kubernetes кластера. ### MCP From 860d7ca974a0b2e1d63e73821867c5c03e79d6ff Mon Sep 17 00:00:00 2001 From: lada7878 Date: Tue, 4 Aug 2026 23:05:16 +0500 Subject: [PATCH 10/11] split chapter linter Signed-off-by: lada7878 --- content/documentation/admin/actions/codescoring/_index.ru.md | 2 ++ content/documentation/admin/actions/debug/_index.ru.md | 2 ++ content/documentation/admin/actions/defectdojo/_index.ru.md | 2 ++ content/documentation/admin/actions/gitlab/_index.ru.md | 2 ++ content/documentation/admin/actions/kafka/_index.ru.md | 2 ++ content/documentation/admin/actions/keycloak/_index.ru.md | 2 ++ content/documentation/admin/actions/kubernetes/_index.ru.md | 2 ++ content/documentation/admin/actions/nexus/_index.ru.md | 2 ++ content/documentation/admin/actions/sonarqube/_index.ru.md | 2 ++ content/documentation/admin/actions/vault/_index.ru.md | 2 ++ content/documentation/admin/actions/wait/_index.ru.md | 2 ++ 11 files changed, 22 insertions(+) diff --git a/content/documentation/admin/actions/codescoring/_index.ru.md b/content/documentation/admin/actions/codescoring/_index.ru.md index 49ae93f6..e3bbeaa9 100644 --- a/content/documentation/admin/actions/codescoring/_index.ru.md +++ b/content/documentation/admin/actions/codescoring/_index.ru.md @@ -1,4 +1,6 @@ --- title: CodeScoring weight: 100 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/debug/_index.ru.md b/content/documentation/admin/actions/debug/_index.ru.md index f8401784..ab53bd3a 100644 --- a/content/documentation/admin/actions/debug/_index.ru.md +++ b/content/documentation/admin/actions/debug/_index.ru.md @@ -1,4 +1,6 @@ --- title: Debug weight: 110 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/defectdojo/_index.ru.md b/content/documentation/admin/actions/defectdojo/_index.ru.md index 9c812963..1b371328 100644 --- a/content/documentation/admin/actions/defectdojo/_index.ru.md +++ b/content/documentation/admin/actions/defectdojo/_index.ru.md @@ -1,4 +1,6 @@ --- title: DefectDojo weight: 90 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/gitlab/_index.ru.md b/content/documentation/admin/actions/gitlab/_index.ru.md index 46d8b304..3754448f 100644 --- a/content/documentation/admin/actions/gitlab/_index.ru.md +++ b/content/documentation/admin/actions/gitlab/_index.ru.md @@ -1,4 +1,6 @@ --- title: Gitlab weight: 20 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/kafka/_index.ru.md b/content/documentation/admin/actions/kafka/_index.ru.md index e7176dd1..58066175 100644 --- a/content/documentation/admin/actions/kafka/_index.ru.md +++ b/content/documentation/admin/actions/kafka/_index.ru.md @@ -1,4 +1,6 @@ --- title: Apache Kafka weight: 40 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/keycloak/_index.ru.md b/content/documentation/admin/actions/keycloak/_index.ru.md index c5c27fb0..80432168 100644 --- a/content/documentation/admin/actions/keycloak/_index.ru.md +++ b/content/documentation/admin/actions/keycloak/_index.ru.md @@ -1,4 +1,6 @@ --- title: Keycloak weight: 70 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/kubernetes/_index.ru.md b/content/documentation/admin/actions/kubernetes/_index.ru.md index 8c99576d..27a04a1f 100644 --- a/content/documentation/admin/actions/kubernetes/_index.ru.md +++ b/content/documentation/admin/actions/kubernetes/_index.ru.md @@ -1,4 +1,6 @@ --- title: Kubernetes weight: 60 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/nexus/_index.ru.md b/content/documentation/admin/actions/nexus/_index.ru.md index 7b359971..b40d845b 100644 --- a/content/documentation/admin/actions/nexus/_index.ru.md +++ b/content/documentation/admin/actions/nexus/_index.ru.md @@ -1,4 +1,6 @@ --- title: Nexus Repository weight: 80 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/sonarqube/_index.ru.md b/content/documentation/admin/actions/sonarqube/_index.ru.md index 094ef7df..048e6dcf 100644 --- a/content/documentation/admin/actions/sonarqube/_index.ru.md +++ b/content/documentation/admin/actions/sonarqube/_index.ru.md @@ -1,4 +1,6 @@ --- title: SonarQube weight: 30 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/vault/_index.ru.md b/content/documentation/admin/actions/vault/_index.ru.md index ba34a237..0fc52147 100644 --- a/content/documentation/admin/actions/vault/_index.ru.md +++ b/content/documentation/admin/actions/vault/_index.ru.md @@ -1,4 +1,6 @@ --- title: HashiCorp Vault weight: 50 +params: + no_list: true --- diff --git a/content/documentation/admin/actions/wait/_index.ru.md b/content/documentation/admin/actions/wait/_index.ru.md index cc1ba228..9f59beda 100644 --- a/content/documentation/admin/actions/wait/_index.ru.md +++ b/content/documentation/admin/actions/wait/_index.ru.md @@ -1,4 +1,6 @@ --- title: Wait weight: 120 +params: + no_list: true --- From a1188800dae033bbf480780f1cc44223273c324c Mon Sep 17 00:00:00 2001 From: lada7878 Date: Wed, 5 Aug 2026 09:31:50 +0500 Subject: [PATCH 11/11] tables Signed-off-by: lada7878 --- .../createcodescoringproject.ru.md | 12 ++--- .../deletecodescoringproject.ru.md | 6 +-- .../admin/actions/debug/debug.ru.md | 10 ++-- .../admin/actions/debug/fail.ru.md | 6 +-- .../defectdojo/deletedefectdojoproduct.ru.md | 6 +-- .../actions/gitlab/creategitlabbranches.ru.md | 12 ++--- .../gitlab/creategitlabgroupvariables.ru.md | 8 +-- .../gitlab/creategitlabmergerequest.ru.md | 18 +++---- .../actions/gitlab/creategitlabproject.ru.md | 16 +++--- .../gitlab/creategitlabprojectvariables.ru.md | 8 +-- .../gitlab/creategitlabprojectwebhook.ru.md | 16 +++--- .../actions/gitlab/creategitlabrelease.ru.md | 12 ++--- .../actions/gitlab/creategitlabtag.ru.md | 12 ++--- .../gitlab/createrepositoryfromtemplate.ru.md | 18 +++---- .../actions/gitlab/deletegitlabproject.ru.md | 6 +-- .../actions/gitlab/startgitlabpipeline.ru.md | 14 +++--- .../admin/actions/kafka/createkafkaacls.ru.md | 30 +++++------ .../actions/kafka/createkafkatopics.ru.md | 16 +++--- .../actions/kafka/createkafkausers.ru.md | 18 +++---- .../admin/actions/kafka/deletekafkaacls.ru.md | 48 +++++++++--------- .../actions/kafka/deletekafkatopics.ru.md | 10 ++-- .../actions/kafka/deletekafkausers.ru.md | 14 +++--- .../keycloak/createkeycloakclient.ru.md | 8 +-- .../kubernetes/createkubernetesresource.ru.md | 6 +-- .../kubernetes/deletekubernetesresource.ru.md | 14 +++--- .../kubernetes/getkubernetesresource.ru.md | 20 ++++---- .../actions/nexus/assignnexusprivilege.ru.md | 8 +-- .../admin/actions/nexus/assignnexusrole.ru.md | 8 +-- .../actions/nexus/createnexusprivilege.ru.md | 24 ++++----- .../actions/nexus/createnexusrepository.ru.md | 30 +++++------ .../admin/actions/nexus/createnexusrole.ru.md | 14 +++--- .../admin/actions/nexus/createnexususer.ru.md | 18 +++---- .../actions/nexus/deletenexusprivilege.ru.md | 6 +-- .../actions/nexus/deletenexusrepository.ru.md | 6 +-- .../admin/actions/nexus/deletenexusrole.ru.md | 6 +-- .../admin/actions/nexus/deletenexususer.ru.md | 6 +-- .../admin/actions/overview.ru.md | 50 +++++++++---------- .../sonarqube/createsonarqubeproject.ru.md | 16 +++--- .../sonarqube/deletesonarqubeproject.ru.md | 6 +-- .../sonarqube/deletesonarqubeprojects.ru.md | 14 +++--- .../vault/createvaultkubernetesauthrole.ru.md | 40 +++++++-------- .../actions/vault/createvaultsecret.ru.md | 14 +++--- .../actions/vault/deletevaultsecret.ru.md | 6 +-- .../admin/actions/wait/wait.ru.md | 10 ++-- 44 files changed, 323 insertions(+), 323 deletions(-) diff --git a/content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md b/content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md index 24f3fb42..731beefd 100644 --- a/content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md +++ b/content/documentation/admin/actions/codescoring/createcodescoringproject.ru.md @@ -21,12 +21,12 @@ run_sca_after_clone: true ### Спецификация запроса -| Название | Обязательность | Описание | -|--------------------|----------------|-------------------------------------------------------------------------------| -| name | Да | Название проекта в CodeScoring | -| repository | Да | URL репозитория (например, ) | -| vcs_id | Да | ID VCS системы в CodeScoring (должен быть больше 0) | -| run_sca_after_clone| Нет | Автоматический запуск SCA-анализа после клонирования репозитория | +| Название | Обязательность | Описание | +| -------------------- | ---------------- | ---------------------------------------------------------------------------- | +| name | Да | Название проекта в CodeScoring | +| repository | Да | URL репозитория (например, ) | +| vcs_id | Да | ID VCS системы в CodeScoring (должен быть больше 0) | +| run_sca_after_clone | Нет | Автоматический запуск SCA-анализа после клонирования репозитория | ### Ответ diff --git a/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md b/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md index 0c4e2942..c0b56384 100644 --- a/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md +++ b/content/documentation/admin/actions/codescoring/deletecodescoringproject.ru.md @@ -13,6 +13,6 @@ id: 1 ### Спецификация запроса -| Название | Обязательность | Описание | -|----------|----------------|-----------------------------| -| id | Да | ID проекта в CodeScoring | +| Название | Обязательность | Описание | +| ---------- | ---------------- | ----------------------------- | +| id | Да | ID проекта в CodeScoring | diff --git a/content/documentation/admin/actions/debug/debug.ru.md b/content/documentation/admin/actions/debug/debug.ru.md index 5214b78f..1375cab4 100644 --- a/content/documentation/admin/actions/debug/debug.ru.md +++ b/content/documentation/admin/actions/debug/debug.ru.md @@ -16,8 +16,8 @@ extra: ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|---------------|----------------|-----------------------------------------------------------------------------------------------------|-----------------------| -| sleep_time | Нет | Длительность одного цикла ожидания в секундах | `1` | -| sleep_count | Нет | Число циклов ожидания | `1` | -| extra | Нет | Произвольный набор пар «ключ–значение», который записывается в лог и возвращается в ответе действия | - | +| Название | Обязательность | Описание | Значение по умолчанию | +| --------------- | ---------------- | ----------------------------------------------------------------------------------------------------- | ----------------------- | +| sleep_time | Нет | Длительность одного цикла ожидания в секундах | `1` | +| sleep_count | Нет | Число циклов ожидания | `1` | +| extra | Нет | Произвольный набор пар «ключ–значение», который записывается в лог и возвращается в ответе действия | - | diff --git a/content/documentation/admin/actions/debug/fail.ru.md b/content/documentation/admin/actions/debug/fail.ru.md index 6e87fa46..54569ebd 100644 --- a/content/documentation/admin/actions/debug/fail.ru.md +++ b/content/documentation/admin/actions/debug/fail.ru.md @@ -13,6 +13,6 @@ fail: true ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|----------|----------------|-----------------------------------------------------------------------------------------|-----------------------| -| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` | +| Название | Обязательность | Описание | Значение по умолчанию | +| ---------- | ---------------- | ----------------------------------------------------------------------------------------- | ----------------------- | +| fail | Нет | Если `true`, действие завершается с ошибкой; если `false`, действие завершается успешно | `true` | diff --git a/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md b/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md index d9a327f5..3645682e 100644 --- a/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md +++ b/content/documentation/admin/actions/defectdojo/deletedefectdojoproduct.ru.md @@ -18,6 +18,6 @@ id: 1 ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|-------------|----------------|----------------------------------------------------|------------------------| -| id | Да | Идентификатор продукта, который необходимо удалить | - | +| Название | Обязательность | Описание | Значение по умолчанию | +| ------------- | ---------------- | ---------------------------------------------------- | ------------------------ | +| id | Да | Идентификатор продукта, который необходимо удалить | - | diff --git a/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md b/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md index 4755d19e..7a5c7929 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabbranches.ru.md @@ -20,12 +20,12 @@ branches: ### Спецификация запроса -| Название | Обязательность | Описание | -|-----------------|----------------|-----------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать ветки | -| branches | Да | Список создаваемых веток | -| branches.branch | Да | Название новой ветки | -| branches.ref | Да | Название существующей ветки или SHA-хеш коммита | +| Название | Обязательность | Описание | +| ----------------- | ---------------- | ----------------------------------------------------------------------------- | +| project_id | Да | Идентификатор проекта, в котором необходимо создать ветки | +| branches | Да | Список создаваемых веток | +| branches.branch | Да | Название новой ветки | +| branches.ref | Да | Название существующей ветки или SHA-хеш коммита | ### Примечание diff --git a/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md b/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md index 62a298b3..61bb4958 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabgroupvariables.ru.md @@ -20,10 +20,10 @@ variables: ### Спецификация запроса -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | +| Название | Обязательность | Описание | +| ----------------- | ---------------- | ------------------------------------------------------------------------------ | +| group_id | Да | Идентификатор группы, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | Список полей для переменных соответствует официальному GitLab Group-level Variables API, `/groups/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/group_level_variables/#create-variable). diff --git a/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md b/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md index 6a9007fb..8c806a19 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabmergerequest.ru.md @@ -35,15 +35,15 @@ values: ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| source_project_id | Да | Идентификатор проекта, который служит источником для Merge Request | - | -| target_project_id | Да | Идентификатор целевого проекта, в котором будет сформирован Merge Request | - | -| merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | -| source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | -| source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](createrepositoryfromtemplate/#templateignore) | - | -| values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | +| Название | Обязательность | Описание | Значение по умолчанию | +| ------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | +| source_project_id | Да | Идентификатор проекта, который служит источником для Merge Request | - | +| target_project_id | Да | Идентификатор целевого проекта, в котором будет сформирован Merge Request | - | +| merge_request_spec | Да | Спецификация, соответствующая [GitLab Merge Requests API](https://docs.gitlab.com/ee/api/merge_requests.html#create-mr) | - | +| source_project_tag | Нет | Тег в проекте-источнике, из которого будет сформирован Merge Request. Если не указан, используется ветка в проекте-источнике | - | +| source_project_branch | Нет | Ветка в проекте-источнике, из которой будет сформирован Merge Request | main | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из MR. Заполняется по аналогии с [.templateignore](createrepositoryfromtemplate/#templateignore) | - | +| values | Нет | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | ### Алгоритм работы diff --git a/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md b/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md index 79cd3fb6..94fb1a4a 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabproject.ru.md @@ -22,14 +22,14 @@ namespace_id: '0' ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------------|----------------|------------------------------------------------------------------------------------|-----------------------| -| name | Да | Название проекта, который будет создан в GitLab | - | -| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | -| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | -| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | -| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | -| description | Нет | Описание проекта, которое будет видно пользователям | - | +| Название | Обязательность | Описание | Значение по умолчанию | +| ------------------------ | ---------------- | ------------------------------------------------------------------------------------ | ----------------------- | +| name | Да | Название проекта, который будет создан в GitLab | - | +| path | Да | URL-совместимый путь проекта. Обычно совпадает с названием, но может отличаться | - | +| default_branch | Да | Название ветки, которая будет использоваться по умолчанию, например, «main» | - | +| namespace_id | Да | Идентификатор неймспейса (namespace) в GitLab, в котором будет создан проект | - | +| initialize_with_readme | Нет | Флаг, определяющий, нужно ли инициализировать проект с файлом README | false | +| description | Нет | Описание проекта, которое будет видно пользователям | - | ### Примечание diff --git a/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md b/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md index 522d58e4..15032a88 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabprojectvariables.ru.md @@ -20,10 +20,10 @@ variables: ### Спецификация запроса -| Название | Обязательность | Описание | -|-----------------|----------------|------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | -| variables | Да | Список создаваемых переменных | +| Название | Обязательность | Описание | +| ----------------- | ---------------- | ------------------------------------------------------------------------------ | +| project_id | Да | Идентификатор проекта, в котором необходимо создать переменные | +| variables | Да | Список создаваемых переменных | Список полей для переменных соответствует официальному GitLab Project-level CI/CD variables API, `/projects/:id/variables`, подробнее — [в документации GitLab](https://docs.gitlab.com/api/project_level_variables/#create-a-variable). diff --git a/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md b/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md index eb770101..c4e79b64 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabprojectwebhook.ru.md @@ -22,14 +22,14 @@ pipeline_events: true ### Спецификация запроса -| Название | Обязательность | Описание | -|-----------------------|------------------|------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | -| url | Да | URL-адрес вебхука | -| push_events | Да | Запускать вебхук при push в репозиторий | -| issues_events | Да | Запускать вебхук при создании Issue | -| merge_requests_events | Да | Запускать вебхук при создании Merge Request | -| pipeline_events | Да | Запускать вебхук при запуске Pipeline | +| Название | Обязательность | Описание | +| ----------------------- | ------------------ | ------------------------------------------------------------ | +| project_id | Да | Идентификатор проекта, в котором необходимо создать вебхук | +| url | Да | URL-адрес вебхука | +| push_events | Да | Запускать вебхук при push в репозиторий | +| issues_events | Да | Запускать вебхук при создании Issue | +| merge_requests_events | Да | Запускать вебхук при создании Merge Request | +| pipeline_events | Да | Запускать вебхук при запуске Pipeline | ### Примечание diff --git a/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md b/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md index 1bd4798b..511b106b 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabrelease.ru.md @@ -23,12 +23,12 @@ description: | ### Спецификация запроса -| Название | Обязательность | Описание | -|--------------|----------------|--------------------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | -| tag_name | Да | Название существующего тега, на основе которого формируется релиз | -| name | Да | Название релиза, отображаемое в GitLab | -| description | Нет | Описание релиза в формате Markdown | +| Название | Обязательность | Описание | +| -------------- | ---------------- | -------------------------------------------------------------------------------------------- | +| project_id | Да | Идентификатор проекта, в котором необходимо создать релиз | +| tag_name | Да | Название существующего тега, на основе которого формируется релиз | +| name | Да | Название релиза, отображаемое в GitLab | +| description | Нет | Описание релиза в формате Markdown | ### Примечание diff --git a/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md b/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md index 0d9a7343..21460a1f 100644 --- a/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md +++ b/content/documentation/admin/actions/gitlab/creategitlabtag.ru.md @@ -20,12 +20,12 @@ message: Tag description ### Спецификация запроса -| Название | Обязательность | Описание | -|----------------------|----------------|-------------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | -| tag_name | Да | Название тега | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | -| message | Да | Описание тега | +| Название | Обязательность | Описание | +| ---------------------- | ---------------- | ------------------------------------------------------------------------------- | +| project_id | Да | Идентификатор проекта, в котором необходимо создать тег | +| tag_name | Да | Название тега | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на который будет ссылаться новый тег | +| message | Да | Описание тега | ### Примечание diff --git a/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md b/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md index e914b318..c0ad7acc 100644 --- a/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md +++ b/content/documentation/admin/actions/gitlab/createrepositoryfromtemplate.ru.md @@ -32,15 +32,15 @@ values: ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|--------------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| templateRepositoryUrl | Да | URL шаблонного репозитория | - | -| targetRepositoryUrl | Да | URL репозитория, который будет создан в результате выполнения действия | - | -| values | Да | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | -| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из целевого репозитория. Заполняется по аналогии с [.templateignore](#templateignore) | - | -| sourceTag | Нет | Тег шаблонного репозитория, который будет использоваться при шаблонизации. Если не указан, используется ветка шаблонного репозитория | - | -| sourceBranch | Нет | Ветка шаблонного репозитория, которая будет использоваться при шаблонизации | main | -| targetBranch | Нет | Ветка целевого репозитория, которая будет создана в результате выполнения действия | main | +| Название | Обязательность | Описание | Значение по умолчанию | +| -------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | +| templateRepositoryUrl | Да | URL шаблонного репозитория | - | +| targetRepositoryUrl | Да | URL репозитория, который будет создан в результате выполнения действия | - | +| values | Да | Переменные, используемые при шаблонизации, в формате `ключ: значение` | - | +| additionalIgnoreFiles | Нет | Список файлов, содержащих пути для исключения из целевого репозитория. Заполняется по аналогии с [.templateignore](#templateignore) | - | +| sourceTag | Нет | Тег шаблонного репозитория, который будет использоваться при шаблонизации. Если не указан, используется ветка шаблонного репозитория | - | +| sourceBranch | Нет | Ветка шаблонного репозитория, которая будет использоваться при шаблонизации | main | +| targetBranch | Нет | Ветка целевого репозитория, которая будет создана в результате выполнения действия | main | ### Алгоритм работы diff --git a/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md b/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md index aa4e9f2d..2d3059d4 100644 --- a/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md +++ b/content/documentation/admin/actions/gitlab/deletegitlabproject.ru.md @@ -17,9 +17,9 @@ project_id: 0 ### Спецификация запроса -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------| -| project_id | Да | Идентификатор проекта, который необходимо удалить | +| Название | Обязательность | Описание | +| --------------------------- | ---------------- | ---------------------------------------------------- | +| project_id | Да | Идентификатор проекта, который необходимо удалить | ### Примечание diff --git a/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md b/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md index 750041de..bb3e7869 100644 --- a/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md +++ b/content/documentation/admin/actions/gitlab/startgitlabpipeline.ru.md @@ -21,13 +21,13 @@ variables: ### Спецификация запроса -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------------------------------| -| project_id | Да | Идентификатор проекта, в котором необходимо запустить пайплайн | -| ref | Да | Название ветки, тег или SHA-хеш коммита, на котором будет запущен пайплайн | -| variables | Нет | Список переменных, которые необходимо передать в запускаемый пайплайн | -| variables.key | Да | Название переменной | -| variables.value | Да | Значение переменной | +| Название | Обязательность | Описание | +| --------------------------- | ---------------- | ---------------------------------------------------------------------------- | +| project_id | Да | Идентификатор проекта, в котором необходимо запустить пайплайн | +| ref | Да | Название ветки, тег или SHA-хеш коммита, на котором будет запущен пайплайн | +| variables | Нет | Список переменных, которые необходимо передать в запускаемый пайплайн | +| variables.key | Да | Название переменной | +| variables.value | Да | Значение переменной | ### Примечание diff --git a/content/documentation/admin/actions/kafka/createkafkaacls.ru.md b/content/documentation/admin/actions/kafka/createkafkaacls.ru.md index 32e70cb7..6e0ecb5b 100644 --- a/content/documentation/admin/actions/kafka/createkafkaacls.ru.md +++ b/content/documentation/admin/actions/kafka/createkafkaacls.ru.md @@ -52,21 +52,21 @@ acls: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо создать | - | - | -| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | -| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | -| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | -| acls.allow | Нет | Список принципалов (user, group), для которых разрешается правило | - | - | -| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | -| acls.hosts | Нет | Список хостов, для которых разрешается операция | - | - | -| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +| ------------------------ | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------ | +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо создать | - | - | +| acls.ops | Да | Список операций, для которых будет создано правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.topics | Нет | Список из названий топиков, для которых применяется правило | - | - | +| acls.groups | Нет | Список из названий групп, для которых применяется правило | - | - | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых применяется правило | - | - | +| acls.tokens | Нет | Список токенов, для которых применяется правило | - | - | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешается правило | - | - | +| acls.deny | Нет | Список принципалов (user, group), для которых запрещается правило | - | - | +| acls.hosts | Нет | Список хостов, для которых разрешается операция | - | - | +| acls.deny_hosts | Нет | Список хостов, для которых запрещается операция | - | - | ### Список возможных шаблонов diff --git a/content/documentation/admin/actions/kafka/createkafkatopics.ru.md b/content/documentation/admin/actions/kafka/createkafkatopics.ru.md index fb176ca6..38af9321 100644 --- a/content/documentation/admin/actions/kafka/createkafkatopics.ru.md +++ b/content/documentation/admin/actions/kafka/createkafkatopics.ru.md @@ -27,11 +27,11 @@ topics: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|-------------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| partitions | Да | Количество разделов (партиций), на которые будет разделён топик | - | -| replication_factor | Да | Количество копий (реплик) каждой партиции топика, которые необходимо разместить на разных брокерах | - | -| configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | -| topics | Да | Список названий топиков, которые необходимо создать | - | +| Название | Обязательность | Описание | Возможные значения | +| ------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| partitions | Да | Количество разделов (партиций), на которые будет разделён топик | - | +| replication_factor | Да | Количество копий (реплик) каждой партиции топика, которые необходимо разместить на разных брокерах | - | +| configs | Да | Конфигурация в формате ключ-значение для создаваемых топиков | Значения приведены [в документации Kafka](https://kafka.apache.org/documentation/#topicconfigs) | +| topics | Да | Список названий топиков, которые необходимо создать | - | diff --git a/content/documentation/admin/actions/kafka/createkafkausers.ru.md b/content/documentation/admin/actions/kafka/createkafkausers.ru.md index d427cae2..4fe85059 100644 --- a/content/documentation/admin/actions/kafka/createkafkausers.ru.md +++ b/content/documentation/admin/actions/kafka/createkafkausers.ru.md @@ -30,12 +30,12 @@ users: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|-------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| users | Да | Набор пользователей, которых необходимо создать | - | -| users.user | Да | Имя создаваемого пользователя | - | -| users.password | Да | Пароль создаваемого пользователя | - | -| users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | -| users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | +| Название | Обязательность | Описание | Возможные значения | +| ------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| users | Да | Набор пользователей, которых необходимо создать | - | +| users.user | Да | Имя создаваемого пользователя | - | +| users.password | Да | Пароль создаваемого пользователя | - | +| users.mechanism | Да | Механизм аутентификации создаваемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | +| users.iterations | Да | Количество итераций, которые будут применяться для хеширования пароля | От 4096 до 16384 | diff --git a/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md b/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md index 9459df2a..23ef47b7 100644 --- a/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md +++ b/content/documentation/admin/actions/kafka/deletekafkaacls.ru.md @@ -61,30 +61,30 @@ acls: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|---------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | -| acls | Да | Набор ACL, которые необходимо удалить | - | - | -| acls.ops | Да | Список операций, для которых будет удалено правило | [Список возможных операций](#список-возможных-операций) | - | -| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | -| acls.any_resource | Нет | Все ресурсы | - | false | -| acls.topics | Нет | Список из названий топиков, для которых будет применяться правило | - | - | -| acls.any_topic | Нет | Все топики | - | false | -| acls.groups | Нет | Список из названий групп, для которых будет применяться правило | - | - | -| acls.any_group | Нет | Все топики | - | false | -| acls.transactional_ids | Нет | Список из ID транзакций, для которых будет применяться правило | - | - | -| acls.any_transactional_id | Нет | Любая транзакция | - | false | -| acls.tokens | Нет | Список токенов, для которых будет применяться правило | - | - | -| acls.any_token | Нет | Все токены | - | false | -| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | -| acls.any_allow | Нет | Любой принципал (user, group) | - | false | -| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | -| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | -| acls.deny | Нет | Список принципалов (user, group), для которых будет запрещено правило | - | - | -| acls.any_deny | Нет | Любой принципал (user, group) | - | false | -| acls.deny_hosts | Нет | Список хостов, для которых будет запрещено операцию | - | - | -| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +| --------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------ | +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | - | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | - | +| acls | Да | Набор ACL, которые необходимо удалить | - | - | +| acls.ops | Да | Список операций, для которых будет удалено правило | [Список возможных операций](#список-возможных-операций) | - | +| acls.pattern | Да | Тип шаблона | [Список возможных шаблонов](#список-возможных-шаблонов) | - | +| acls.any_resource | Нет | Все ресурсы | - | false | +| acls.topics | Нет | Список из названий топиков, для которых будет применяться правило | - | - | +| acls.any_topic | Нет | Все топики | - | false | +| acls.groups | Нет | Список из названий групп, для которых будет применяться правило | - | - | +| acls.any_group | Нет | Все топики | - | false | +| acls.transactional_ids | Нет | Список из ID транзакций, для которых будет применяться правило | - | - | +| acls.any_transactional_id | Нет | Любая транзакция | - | false | +| acls.tokens | Нет | Список токенов, для которых будет применяться правило | - | - | +| acls.any_token | Нет | Все токены | - | false | +| acls.allow | Нет | Список принципалов (user, group), для которых разрешить правило | - | - | +| acls.any_allow | Нет | Любой принципал (user, group) | - | false | +| acls.allow_hosts | Нет | Список хостов, для которых разрешить операцию | - | - | +| acls.any_allow_hosts | Нет | Любой хост, с которого разрешено проводить операцию | - | false | +| acls.deny | Нет | Список принципалов (user, group), для которых будет запрещено правило | - | - | +| acls.any_deny | Нет | Любой принципал (user, group) | - | false | +| acls.deny_hosts | Нет | Список хостов, для которых будет запрещено операцию | - | - | +| acls.any_deny_hosts | Нет | Любой хост, с которого запрещено проводить операцию | - | false | ### Список возможных шаблонов diff --git a/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md b/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md index 5f6f3eb3..f0980746 100644 --- a/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md +++ b/content/documentation/admin/actions/kafka/deletekafkatopics.ru.md @@ -24,8 +24,8 @@ topics: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|--------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| topics | Да | Список названий топиков, которые необходимо удалить | - | +| Название | Обязательность | Описание | Возможные значения | +| -------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| topics | Да | Список названий топиков, которые необходимо удалить | - | diff --git a/content/documentation/admin/actions/kafka/deletekafkausers.ru.md b/content/documentation/admin/actions/kafka/deletekafkausers.ru.md index e130352a..38893b81 100644 --- a/content/documentation/admin/actions/kafka/deletekafkausers.ru.md +++ b/content/documentation/admin/actions/kafka/deletekafkausers.ru.md @@ -26,10 +26,10 @@ users: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|-------------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------| -| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | -| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | -| users | Да | Набор пользователей, которых необходимо удалить | - | -| users.user | Да | Имя удаляемого пользователя | - | -| users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | +| Название | Обязательность | Описание | Возможные значения | +| ------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | +| securityProtocol | Да | Протокол для подключения к Kafka. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#adminclientconfigs_security.protocol) | PLAINTEXT, SASL_PLAINTEXT, SASL_SSL | +| saslMechanism | Нет | Механизм аутентификации, который будет использовать SASL. Обязателен при использовании протокола SASL_PLAINTEXT или SASL_SSL. Подробнее — [в документации Kafka](https://kafka.apache.org/documentation/#security_sasl_mechanism) | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512 | +| users | Да | Набор пользователей, которых необходимо удалить | - | +| users.user | Да | Имя удаляемого пользователя | - | +| users.mechanism | Да | Механизм аутентификации удаляемого пользователя | SCRAM-SHA-256, SCRAM-SHA-512 | diff --git a/content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md b/content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md index 0022f74b..f6a06ade 100644 --- a/content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md +++ b/content/documentation/admin/actions/keycloak/createkeycloakclient.ru.md @@ -34,7 +34,7 @@ config: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|----------|----------------|----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| -| realm | Да | Realm в Keycloak, где требуется создать клиента | - | -| config | Да | Параметры создаваемого клиента в соответствии со [спецификацией ClientRepresentation Keycloak](https://www.keycloak.org/docs-api/latest/rest-api/index.html#ClientRepresentation) | - | +| Название | Обязательность | Описание | Возможные значения | +| ---------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| realm | Да | Realm в Keycloak, где требуется создать клиента | - | +| config | Да | Параметры создаваемого клиента в соответствии со [спецификацией ClientRepresentation Keycloak](https://www.keycloak.org/docs-api/latest/rest-api/index.html#ClientRepresentation) | - | diff --git a/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md index d2992b28..fb9a0d6f 100644 --- a/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md +++ b/content/documentation/admin/actions/kubernetes/createkubernetesresource.ru.md @@ -26,6 +26,6 @@ manifests: ### Спецификация запроса -| Название | Обязательность | Описание | -|----------------------------|----------------|----------------------------------------------------------------------------------------------------| -| manifests | Да | Манифесты Kubernetes, которые будут применены | +| Название | Обязательность | Описание | +| ---------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------- | +| manifests | Да | Манифесты Kubernetes, которые будут применены | diff --git a/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md index 9454fab4..6ba79c94 100644 --- a/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md +++ b/content/documentation/admin/actions/kubernetes/deletekubernetesresource.ru.md @@ -21,10 +21,10 @@ namespace: example ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|-----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится удаляемый объект | [Определение требуемых Group и Version](getkubernetesresource/#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](getkubernetesresource/#определение-требуемых-group-и-version) | -| resource_type | Да | Тип удаляемого ресурса | pods, services, deployments, statefulsets, daemonsets, replicasets, jobs, cronjobs, nodes, namespaces, configmaps, secrets, persistentvolumes, persistentvolumeclaims, limitranges, resourcequotas, horizontalpodautoscalers, ingresses, networkpolicies, serviceaccounts, roles, clusterroles, rolebindings, clusterrolebindings, podsecuritypolicies, storageclasses, volumeattachments, events, endpoints, customresourcedefinitions | -| resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | +| Название | Обязательность | Описание | Возможные значения | +| --------------------------- | ----------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| group | Да | API-группа ресурса. Указывает, к какой группе API относится удаляемый объект | [Определение требуемых Group и Version](getkubernetesresource/#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](getkubernetesresource/#определение-требуемых-group-и-version) | +| resource_type | Да | Тип удаляемого ресурса | pods, services, deployments, statefulsets, daemonsets, replicasets, jobs, cronjobs, nodes, namespaces, configmaps, secrets, persistentvolumes, persistentvolumeclaims, limitranges, resourcequotas, horizontalpodautoscalers, ingresses, networkpolicies, serviceaccounts, roles, clusterroles, rolebindings, clusterrolebindings, podsecuritypolicies, storageclasses, volumeattachments, events, endpoints, customresourcedefinitions | +| resource_name | Да | Название конкретного ресурса, который необходимо удалить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | diff --git a/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md b/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md index e937996c..004ef269 100644 --- a/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md +++ b/content/documentation/admin/actions/kubernetes/getkubernetesresource.ru.md @@ -22,21 +22,21 @@ namespace: default ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | -|---------------------------|----------------|----------------------------------------------------------------------------------|----------------------------------------------| -| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | -| resource_type | Да | Тип получаемого ресурса | - | -| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | -| namespace | Да | Неймспейс, в котором находится ресурс | - | +| Название | Обязательность | Описание | Возможные значения | +| --------------------------- | ---------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| group | Да | API-группа ресурса. Указывает, к какой группе API относится запрашиваемый объект | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| version | Да | Версия API ресурса | [Определение требуемых Group и Version](#определение-требуемых-group-и-version) | +| resource_type | Да | Тип получаемого ресурса | - | +| resource_name | Да | Название конкретного ресурса, который необходимо получить | - | +| namespace | Да | Неймспейс, в котором находится ресурс | - | ### Ответ При успешном выполнении действие возвращает объект ресурса в поле `resource`. Если ресурс не найден, действие завершается с ошибкой. -| Название | Описание | -|------------|-----------------------------------------------| -| `resource` | Объект ресурса в формате Kubernetes | +| Название | Описание | +| ------------ | ----------------------------------------------- | +| `resource` | Объект ресурса в формате Kubernetes | ### Определение требуемых Group и Version diff --git a/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md b/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md index 6c45ea6b..dbda45f4 100644 --- a/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md +++ b/content/documentation/admin/actions/nexus/assignnexusprivilege.ru.md @@ -21,10 +21,10 @@ privileges: ### Спецификация запроса -| Поле | Обязательность | Описание | -|------------|-----------------|------------------------------------------------------------------------------| -| roleId | Да | Идентификатор роли, которой назначаются привилегии | -| privileges | Да | Список названий привилегий, которые необходимо назначить роли | +| Поле | Обязательность | Описание | +| ------------ | ----------------- | ------------------------------------------------------------------------------ | +| roleId | Да | Идентификатор роли, которой назначаются привилегии | +| privileges | Да | Список названий привилегий, которые необходимо назначить роли | ### Алгоритм работы diff --git a/content/documentation/admin/actions/nexus/assignnexusrole.ru.md b/content/documentation/admin/actions/nexus/assignnexusrole.ru.md index d93d473c..295777e1 100644 --- a/content/documentation/admin/actions/nexus/assignnexusrole.ru.md +++ b/content/documentation/admin/actions/nexus/assignnexusrole.ru.md @@ -21,10 +21,10 @@ roles: ### Спецификация запроса -| Поле | Обязательность | Описание | -|--------|-----------------|---------------------------------------------------------------| -| userId | Да | Идентификатор пользователя, которому назначаются роли | -| roles | Да | Список идентификаторов ролей, которые необходимо назначить пользователю | +| Поле | Обязательность | Описание | +| -------- | ----------------- | ----------------------------------------------------------------------- | +| userId | Да | Идентификатор пользователя, которому назначаются роли | +| roles | Да | Список идентификаторов ролей, которые необходимо назначить пользователю | ### Алгоритм работы diff --git a/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md b/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md index 8b89a00f..ddb84715 100644 --- a/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md +++ b/content/documentation/admin/actions/nexus/createnexusprivilege.ru.md @@ -49,18 +49,18 @@ actions: ### Спецификация запроса -| Поле | Обязательность | Описание | -|-----------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | -| description | Нет | Описание привилегии | -| type | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | -| actions | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | -| format | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| repository | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | -| contentSelector | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | -| pattern | Нет | Шаблон для типа `wildcard` | -| domain | Нет | Домен для типа `application` | -| attributes | Нет | Дополнительные параметры в формате ключ-значение | +| Поле | Обязательность | Описание | +| ----------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| name | Да | Название создаваемой привилегии. Должно быть уникальным в рамках Nexus | +| description | Нет | Описание привилегии | +| type | Да | Тип привилегии: `repository-view`, `repository-content-selector`, `repository-admin`, `application`, `wildcard` | +| actions | Нет | Список действий, разрешённых привилегией (например, `READ`, `BROWSE`, `CREATE`, `UPDATE`, `DELETE`) | +| format | Нет | Формат репозитория (например, `maven2`, `docker`, `npm`). Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| repository | Нет | Название репозитория. Используется для типов `repository-view`, `repository-content-selector`, `repository-admin` | +| contentSelector | Нет | Название селектора контента. Обязателен для типа `repository-content-selector`. Если не указан или невалиден, тип автоматически преобразуется в `repository-view` | +| pattern | Нет | Шаблон для типа `wildcard` | +| domain | Нет | Домен для типа `application` | +| attributes | Нет | Дополнительные параметры в формате ключ-значение | ### Примечание diff --git a/content/documentation/admin/actions/nexus/createnexusrepository.ru.md b/content/documentation/admin/actions/nexus/createnexusrepository.ru.md index 9d4ff1b5..32cef84e 100644 --- a/content/documentation/admin/actions/nexus/createnexusrepository.ru.md +++ b/content/documentation/admin/actions/nexus/createnexusrepository.ru.md @@ -56,21 +56,21 @@ docker: ### Спецификация запроса -| Поле | Обязательность | Описание | Пример | -|-------------|----------------|---------------------------------------------------------------------------------------------------|------------------------------| -| description | Нет | Документация по назначению этого действия/репозитория. Не используется самим Nexus, только для UI | - | -| name | Да | Название создаваемого репозитория. Должно быть уникальным в рамках Nexus | my-maven-repo | -| format | Да | Формат (`maven`, `docker`, `npm`, `raw` и т. д.) | maven | -| type | Да | Тип: `hosted`, `proxy` или `group` | hosted | -| online | Да | Доступен ли репозиторий (`true`/`false`) | true | -| storage | Да | Объект storage: `blobStoreName`, `strictContentTypeValidation`, `writePolicy` | [Пример](#пример-запроса-maven-hosted) | -| cleanup | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | -| maven | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | -| proxy | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | -| group | Для group | Список значений `memberNames` | [Пример](#пример-запроса-docker-group) | -| docker | Для docker | Специфичные для Docker параметры: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | -| component | Очень редко | Только для некоторых нестандартных сценариев | - | -| attributes | Нет | Любые кастомные поля | - | +| Поле | Обязательность | Описание | Пример | +| ------------- | ---------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------- | +| description | Нет | Документация по назначению этого действия/репозитория. Не используется самим Nexus, только для UI | - | +| name | Да | Название создаваемого репозитория. Должно быть уникальным в рамках Nexus | my-maven-repo | +| format | Да | Формат (`maven`, `docker`, `npm`, `raw` и т. д.) | maven | +| type | Да | Тип: `hosted`, `proxy` или `group` | hosted | +| online | Да | Доступен ли репозиторий (`true`/`false`) | true | +| storage | Да | Объект storage: `blobStoreName`, `strictContentTypeValidation`, `writePolicy` | [Пример](#пример-запроса-maven-hosted) | +| cleanup | Нет | Привязанные политики очистки (`policyNames`) | policyNames: [maven-cleanup] | +| maven | Для maven | Только для maven: `versionPolicy`, `layoutPolicy` | [Пример](#пример-запроса-maven-hosted) | +| proxy | Для proxy | Прокси-репозиторий: `remoteUrl`, `contentMaxAge`, `metadataMaxAge` | - | +| group | Для group | Список значений `memberNames` | [Пример](#пример-запроса-docker-group) | +| docker | Для docker | Специфичные для Docker параметры: `httpPort`, `v1Enabled`, `forceBasicAuth` | [Пример](#пример-запроса-docker-group) | +| component | Очень редко | Только для некоторых нестандартных сценариев | - | +| attributes | Нет | Любые кастомные поля | - | ### Требования diff --git a/content/documentation/admin/actions/nexus/createnexusrole.ru.md b/content/documentation/admin/actions/nexus/createnexusrole.ru.md index a3afed0c..cea4cdd0 100644 --- a/content/documentation/admin/actions/nexus/createnexusrole.ru.md +++ b/content/documentation/admin/actions/nexus/createnexusrole.ru.md @@ -24,10 +24,10 @@ roles: [] ### Спецификация запроса -| Поле | Обязательность | Описание | -|-------------|-----------------|------------------------------------------------------------------------------| -| id | Да | Уникальный идентификатор роли | -| name | Да | Название роли | -| description | Нет | Описание роли | -| privileges | Нет | Список названий привилегий, которые назначаются роли | -| roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | +| Поле | Обязательность | Описание | +| ------------- | ----------------- | ------------------------------------------------------------------------------ | +| id | Да | Уникальный идентификатор роли | +| name | Да | Название роли | +| description | Нет | Описание роли | +| privileges | Нет | Список названий привилегий, которые назначаются роли | +| roles | Нет | Список идентификаторов других ролей, которые включаются в данную роль | diff --git a/content/documentation/admin/actions/nexus/createnexususer.ru.md b/content/documentation/admin/actions/nexus/createnexususer.ru.md index 5d58437c..8127d804 100644 --- a/content/documentation/admin/actions/nexus/createnexususer.ru.md +++ b/content/documentation/admin/actions/nexus/createnexususer.ru.md @@ -25,12 +25,12 @@ roles: ### Спецификация запроса -| Поле | Обязательность | Описание | -|-------------|-----------------|------------------------------------------------------------------------------| -| userId | Да | Уникальный идентификатор пользователя | -| firstName | Да | Имя пользователя | -| lastName | Да | Фамилия пользователя | -| emailAddress| Да | Email-адрес пользователя | -| password | Да | Пароль пользователя | -| status | Да | Статус пользователя: `active` или `disabled` | -| roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | +| Поле | Обязательность | Описание | +| ------------- | ----------------- | ------------------------------------------------------------------------------ | +| userId | Да | Уникальный идентификатор пользователя | +| firstName | Да | Имя пользователя | +| lastName | Да | Фамилия пользователя | +| emailAddress | Да | Email-адрес пользователя | +| password | Да | Пароль пользователя | +| status | Да | Статус пользователя: `active` или `disabled` | +| roles | Нет | Список идентификаторов ролей, которые назначаются пользователю при создании | diff --git a/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md b/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md index cf0e14e2..4954a3da 100644 --- a/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md +++ b/content/documentation/admin/actions/nexus/deletenexusprivilege.ru.md @@ -18,6 +18,6 @@ name: example-privilege ### Спецификация запроса -| Поле | Обязательность | Описание | -|------|-----------------|---------------------------------------------| -| name | Да | Название привилегии, которую требуется удалить | +| Поле | Обязательность | Описание | +| ------ | ----------------- | ---------------------------------------------- | +| name | Да | Название привилегии, которую требуется удалить | diff --git a/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md b/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md index 98c7047c..00aa6ee2 100644 --- a/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md +++ b/content/documentation/admin/actions/nexus/deletenexusrepository.ru.md @@ -18,9 +18,9 @@ name: my-repo-to-delete ### Спецификация запроса -| Поле | Обязательность | Описание | -|------|-----------------|------------------------------------------| -| `name` | Да | Название репозитория, который требуется удалить | +| Поле | Обязательность | Описание | +| ------ | ----------------- | ----------------------------------------------- | +| `name` | Да | Название репозитория, который требуется удалить | ### Алгоритм diff --git a/content/documentation/admin/actions/nexus/deletenexusrole.ru.md b/content/documentation/admin/actions/nexus/deletenexusrole.ru.md index 9d2d76b1..a523c290 100644 --- a/content/documentation/admin/actions/nexus/deletenexusrole.ru.md +++ b/content/documentation/admin/actions/nexus/deletenexusrole.ru.md @@ -18,6 +18,6 @@ id: example-role ### Спецификация запроса -| Поле | Обязательность | Описание | -|------|-----------------|-----------------------------------------| -| id | Да | Идентификатор роли, которую требуется удалить | +| Поле | Обязательность | Описание | +| ------ | ----------------- | --------------------------------------------- | +| id | Да | Идентификатор роли, которую требуется удалить | diff --git a/content/documentation/admin/actions/nexus/deletenexususer.ru.md b/content/documentation/admin/actions/nexus/deletenexususer.ru.md index 07b99620..59813f84 100644 --- a/content/documentation/admin/actions/nexus/deletenexususer.ru.md +++ b/content/documentation/admin/actions/nexus/deletenexususer.ru.md @@ -18,6 +18,6 @@ userId: example-user ### Спецификация запроса -| Поле | Обязательность | Описание | -|--------|-----------------|---------------------------------------------| -| userId | Да | Идентификатор пользователя, которого требуется удалить | +| Поле | Обязательность | Описание | +| -------- | ----------------- | ------------------------------------------------------ | +| userId | Да | Идентификатор пользователя, которого требуется удалить | diff --git a/content/documentation/admin/actions/overview.ru.md b/content/documentation/admin/actions/overview.ru.md index 0f6bdbe8..f5f7a81f 100644 --- a/content/documentation/admin/actions/overview.ru.md +++ b/content/documentation/admin/actions/overview.ru.md @@ -21,16 +21,16 @@ weight: 10 При создании или редактировании действия укажите основную информацию: -| Поле | Обязательность | Описание | -| ------------------- | -------------- | -------------------------------------------------------------------------------------------| -| Название | Да | Произвольное название действия | -| Идентификатор | Да | Идентификатор действия. Генерируется автоматически из названия | -| Ресурс | Нет | Один или несколько ресурсов, для которых будет доступен запуск действия | -| Иконка | Нет | Иконка, которая отображается в карточке действия | -| Владелец | Нет | Учётная запись пользователя, отвечающего за конфигурацию и работоспособность действия | -| Команда-владелец | Нет | Команда, отвечающая за конфигурацию и работоспособность действия | -| Теги | Нет | Теги для классификации и поиска действий | -| Описание | Нет | Описание в Markdown. Отображается при запуске действия или процесса, содержащего действие | +| Поле | Обязательность | Описание | +| ------------------- | -------------- | ------------------------------------------------------------------------------------------- | +| Название | Да | Произвольное название действия | +| Идентификатор | Да | Идентификатор действия. Генерируется автоматически из названия | +| Ресурс | Нет | Один или несколько ресурсов, для которых будет доступен запуск действия | +| Иконка | Нет | Иконка, которая отображается в карточке действия | +| Владелец | Нет | Учётная запись пользователя, отвечающего за конфигурацию и работоспособность действия | +| Команда-владелец | Нет | Команда, отвечающая за конфигурацию и работоспособность действия | +| Теги | Нет | Теги для классификации и поиска действий | +| Описание | Нет | Описание в Markdown. Отображается при запуске действия или процесса, содержащего действие | ### Конфигурация запроса @@ -174,14 +174,14 @@ project_id: {{ .property.project_id }} Если включена опция «Создание сущностей», платформа автоматически создаст новые сущности в выбранных ресурсах по заданным правилам. Правила задаются отдельно для каждого ресурса. -| Поле | Описание | -| ------------------------------- | --------------------------------------------------------------------------------------------- | -| Владелец создаваемых сущностей | Назначается владельцем всем сущностям, которые действие создаёт в каталоге | -| Команда-владелец создаваемых сущностей | Назначается командой-владельцем всем сущностям, которые действие создаёт в каталоге | -| Ресурс | Ресурс каталога, в котором будет создана сущность | -| Источник (идентификатор) | Go-шаблон для идентификатора создаваемой сущности | -| Источник (название) | Go-шаблон для названия создаваемой сущности | -| Дополнительные правила | Сопоставление Go-шаблона значения с параметром сущности | +| Поле | Описание | +| -------------------------------------- | --------------------------------------------------------------------------------------------- | +| Владелец создаваемых сущностей | Назначается владельцем всем сущностям, которые действие создаёт в каталоге | +| Команда-владелец создаваемых сущностей | Назначается командой-владельцем всем сущностям, которые действие создаёт в каталоге | +| Ресурс | Ресурс каталога, в котором будет создана сущность | +| Источник (идентификатор) | Go-шаблон для идентификатора создаваемой сущности | +| Источник (название) | Go-шаблон для названия создаваемой сущности | +| Дополнительные правила | Сопоставление Go-шаблона значения с параметром сущности | Идентификатор и название обязательны для каждой группы правил. Если в ресурсе уже есть сущность с таким идентификатором, создание пропускается. @@ -209,7 +209,7 @@ project_id: {{ .property.project_id }} | Поле | Описание | | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Ресурс | Любой из двух ресурсов, участвующих в нужной связи ресурсов: по выбранному ресурсу загружается список связей, в которых он указан как родительский или как дочерний. Можно выбрать ресурс сущности, для которой запускается действие, или ресурс другой стороны связи — в списке будет одна и та же связь, если оба ресурса входят в неё | +| Ресурс | Любой из двух ресурсов, участвующих в нужной связи ресурсов: по выбранному ресурсу загружается список связей, в которых он указан как родительский или как дочерний. Можно выбрать ресурс сущности, для которой запускается действие, или ресурс другой стороны связи — в списке будет одна и та же связь, если оба ресурса входят в неё | | Связь | Связь ресурсов в каталоге: в ней заданы родительский и дочерний ресурсы и роли сущностей при создании связи. По выбранной связи определяется, на какой стороне находится сущность запуска и какое из полей ниже задаёт идентификатор второй сущности из ответа действия | | Идентификатор родительской сущности | Go-шаблон для идентификатора родительской сущности в каталоге | | Идентификатор дочерней сущности | Go-шаблон для идентификатора дочерней сущности в каталоге | @@ -247,12 +247,12 @@ project_id: {{ .property.project_id }} Правила из раздела «Обновление хранилища процесса» применяются только при выполнении действия в рамках процесса: после успешного завершения действия значения записываются в хранилище запуска по заданным правилам, в порядке списка. -| Поле | Описание | -| ---- | -------- | -| Условие | Необязательный Go-шаблон; пустое — правило всегда выполняется. Результат рендеринга: `true`, `false`, `1` или `0` | -| Операция | Записать строку, Записать JSON, Добавить строку, Добавить JSON, Слить JSON (поверхностно), Удалить | -| Цель | Dot-path в хранилище без ведущей точки, например `deploy.job_id` или `notification.items` | -| Источник | Go-шаблон значения | +| Поле | Описание | +| -------- | ----------------------------------------------------------------------------------------------------------------- | +| Условие | Необязательный Go-шаблон; пустое — правило всегда выполняется. Результат рендеринга: `true`, `false`, `1` или `0` | +| Операция | Записать строку, Записать JSON, Добавить строку, Добавить JSON, Слить JSON (поверхностно), Удалить | +| Цель | Dot-path в хранилище без ведущей точки, например `deploy.job_id` или `notification.items` | +| Источник | Go-шаблон значения | Другие действия и элементы процесса читают данные через `{{ .store.<путь> }}`. Внутри цикла в шаблонах доступен контекст `{{ .store._loop.* }}`. diff --git a/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md b/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md index 07de6f77..f7c2b928 100644 --- a/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md +++ b/content/documentation/admin/actions/sonarqube/createsonarqubeproject.ru.md @@ -23,11 +23,11 @@ visibility: public ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|-------------------------|----------------|-----------------------------------------------------------------------------------------------|----------------------------------------------------|-------------------------| -| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | -| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | -| mainBranch | Нет | Название главной ветки проекта | - | master | -| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | -| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | -| visibility | Нет | Видимость проекта | private, public | private | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +| ------------------------- | ---------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------- | +| project | Да | Уникальный идентификатор проекта (Project Key) в SonarQube | - | - | +| name | Да | Название проекта, отображаемое в интерфейсе SonarQube | - | - | +| mainBranch | Нет | Название главной ветки проекта | - | master | +| newCodeDefinitionType | Нет | Метод определения «нового кода» | PREVIOUS_VERSION, NUMBER_OF_DAYS, REFERENCE_BRANCH | - | +| newCodeDefinitionValue | Нет | Значение для определения «нового кода» (например, количество дней, если тип - NUMBER_OF_DAYS) | - | - | +| visibility | Нет | Видимость проекта | private, public | private | diff --git a/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md b/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md index 4922c80d..7818aa03 100644 --- a/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md +++ b/content/documentation/admin/actions/sonarqube/deletesonarqubeproject.ru.md @@ -17,6 +17,6 @@ project: example-project ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|------------------|----------------|----------------------------------------------------------------------------|------------------------| -| project | Да | Уникальный идентификатор (Project Key) проекта, который необходимо удалить | - | +| Название | Обязательность | Описание | Значение по умолчанию | +| ------------------ | ---------------- | ---------------------------------------------------------------------------- | ------------------------ | +| project | Да | Уникальный идентификатор (Project Key) проекта, который необходимо удалить | - | diff --git a/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md b/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md index f1923c73..10da2ebd 100644 --- a/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md +++ b/content/documentation/admin/actions/sonarqube/deletesonarqubeprojects.ru.md @@ -21,10 +21,10 @@ qualifiers: TRK ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Примеры значений | -|--------------------|----------------|---------------------------------------------------------------------------------|-------------------------------|---------------------------------------| -| analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | -| onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | -| projects | Нет | Список ключей проектов, которые необходимо удалить | - | my_project, another_project | -| q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | -| qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | +| Название | Обязательность | Описание | Возможные значения | Примеры значений | +| -------------------- | ---------------- | --------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------- | +| analyzedBefore | Нет | Удалить все проекты, в которых последний анализ старше определённой даты | - | 2017-10-19, 2017-10-19T13:00:00+0200 | +| onProvisionedOnly | Нет | Фильтровать проекты по значению `onProvisionedOnly` | true, false, yes, no | - | +| projects | Нет | Список ключей проектов, которые необходимо удалить | - | my_project, another_project | +| q | Нет | Удалить все проекты, в названии или ключе которых содержится заданная подстрока | - | example | +| qualifiers | Нет | Фильтровать проекты по указанным квалификаторам | TRK, VW, APP | | diff --git a/content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md b/content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md index 338a14a6..6af749e7 100644 --- a/content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md +++ b/content/documentation/admin/actions/vault/createvaultkubernetesauthrole.ru.md @@ -28,28 +28,28 @@ optional: ### Спецификация запроса -| Название | Обязательность | Описание | -|-------------------------------------|----------------|-----------------------------------------------------------------------------------| -| mountPath | Да | Путь монтирования Kubernetes auth backend в Vault (например, kubernetes) | -| role | Да | Название роли, которая создаётся в Vault | -| bound_service_account_names | Да | Список имён service account'ов, которым разрешён доступ через данную роль | -| bound_service_account_namespaces | Да | Список неймспейсов (namespaces), в которых разрешён доступ через данную роль | -| optional | Нет | Дополнительные параметры роли (приведены в следующей таблице) | +| Название | Обязательность | Описание | +| ------------------------------------- | ---------------- | ----------------------------------------------------------------------------------- | +| mountPath | Да | Путь монтирования Kubernetes auth backend в Vault (например, kubernetes) | +| role | Да | Название роли, которая создаётся в Vault | +| bound_service_account_names | Да | Список имён service account'ов, которым разрешён доступ через данную роль | +| bound_service_account_namespaces | Да | Список неймспейсов (namespaces), в которых разрешён доступ через данную роль | +| optional | Нет | Дополнительные параметры роли (приведены в следующей таблице) | Поддерживаемые значения в optional: -| Поле | Тип | Описание | -|-------------------------|---------------|-----------------------------------------------------------------------| -| token_ttl | string | Время жизни (TTL) токена, выданного при логине | -| token_max_ttl | string | Максимальное TTL токена | -| token_policies | []string | Дополнительные политики, назначаемые при логине | -| audience | string | Значение JWT audience (aud), которое Vault ожидает от токена | -| token_period | string | Периодичность выдачи токена | -| token_explicit_max_ttl | string | Явный верхний предел TTL токена | -| token_num_uses | int | Ограничение на количество использований токена | -| token_type | string | Тип выдаваемого токена (например, service, batch) | -| alias_name_source | string | Источник alias name для identity | -| token_no_default_policy | bool | Исключение default policy из состава токена | -| token_bound_cidrs | []string | Ограничение CIDR-диапазонов, откуда можно использовать выданный токен | +| Поле | Тип | Описание | +| ------------------------- | --------------- | ----------------------------------------------------------------------- | +| token_ttl | string | Время жизни (TTL) токена, выданного при логине | +| token_max_ttl | string | Максимальное TTL токена | +| token_policies | []string | Дополнительные политики, назначаемые при логине | +| audience | string | Значение JWT audience (aud), которое Vault ожидает от токена | +| token_period | string | Периодичность выдачи токена | +| token_explicit_max_ttl | string | Явный верхний предел TTL токена | +| token_num_uses | int | Ограничение на количество использований токена | +| token_type | string | Тип выдаваемого токена (например, service, batch) | +| alias_name_source | string | Источник alias name для identity | +| token_no_default_policy | bool | Исключение default policy из состава токена | +| token_bound_cidrs | []string | Ограничение CIDR-диапазонов, откуда можно использовать выданный токен | Полный список поддерживаемых параметров приведён в официальной документации [HashiCorp Vault](https://developer.hashicorp.com/vault/docs/auth/kubernetes#parameters). diff --git a/content/documentation/admin/actions/vault/createvaultsecret.ru.md b/content/documentation/admin/actions/vault/createvaultsecret.ru.md index eca32203..66437c62 100644 --- a/content/documentation/admin/actions/vault/createvaultsecret.ru.md +++ b/content/documentation/admin/actions/vault/createvaultsecret.ru.md @@ -23,13 +23,13 @@ secrets: ### Спецификация запроса -| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | -|---------------------------|----------------|-------------------------------------------------------------------|-------------------------------------|-----------------------| -| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | -| allow_update | Нет | Определяет поведение действия при создании или обновлении секрета | true, false, merge, merge_or_create | false | -| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | -| secrets.key | Да | Название (идентификатор) секрета | | - | -| secrets.value | Да | Значение секрета | | - | +| Название | Обязательность | Описание | Возможные значения | Значение по умолчанию | +| --------------------------- | ---------------- | ------------------------------------------------------------------- | ------------------------------------- | ----------------------- | +| path | Да | Путь, по которому будет сохранён секрет в Vault | | - | +| allow_update | Нет | Определяет поведение действия при создании или обновлении секрета | true, false, merge, merge_or_create | false | +| secrets | Да | Набор секретов, которые необходимо создать в Vault | | - | +| secrets.key | Да | Название (идентификатор) секрета | | - | +| secrets.value | Да | Значение секрета | | - | ### Примечание diff --git a/content/documentation/admin/actions/vault/deletevaultsecret.ru.md b/content/documentation/admin/actions/vault/deletevaultsecret.ru.md index 26cf4d88..7c8cc9cc 100644 --- a/content/documentation/admin/actions/vault/deletevaultsecret.ru.md +++ b/content/documentation/admin/actions/vault/deletevaultsecret.ru.md @@ -18,6 +18,6 @@ path: example/data/path ### Спецификация запроса -| Название | Обязательность | Описание | -|---------------------------|----------------|----------------------------------------------------------------------------------------------------| -| path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | +| Название | Обязательность | Описание | +| --------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------- | +| path | Да | Путь, по которому находится секрет в Vault, который необходимо удалить | diff --git a/content/documentation/admin/actions/wait/wait.ru.md b/content/documentation/admin/actions/wait/wait.ru.md index 7795020d..5d470c69 100644 --- a/content/documentation/admin/actions/wait/wait.ru.md +++ b/content/documentation/admin/actions/wait/wait.ru.md @@ -15,8 +15,8 @@ description: "Waiting for release" ### Спецификация запроса -| Название | Обязательность | Описание | Значение по умолчанию | -|---------------------|----------------|----------------------------------------------------------------------------------|----------------------| -| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | -| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | `0` | -| description | Нет | Описание для отображения в логах и ответе действия | - | +| Название | Обязательность | Описание | Значение по умолчанию | +| --------------------- | ---------------- | ---------------------------------------------------------------------------------- | ---------------------- | +| duration_seconds | Да | Базовая длительность ожидания в секундах (0–86400, т. е. до 24 часов) | - | +| max_jitter_seconds | Нет | Максимальная случайная добавка к ожиданию в секундах (0–N). 0 — джиттер отключён | `0` | +| description | Нет | Описание для отображения в логах и ответе действия | - |