Appearance
Документация по раннерам Unishift
Этот раздел содержит документацию по каждому из раннеров платформы Unishift.
Обзор раннеров
| Раннер | Тип | Назначение |
|---|---|---|
| Shell | shell | Выполнение shell-команд на хосте |
| Code | code | Запуск кода на разных языках в изолированных контейнерах |
| Docker | docker | Выполнение задач в Docker-контейнерах |
| SQL | sql | Выполнение SQL-запросов к базам данных |
| DOCX Generator | docx-generator | Генерация DOCX-документов из HTML-шаблонов |
| PDF Generator | pdf-generator | Генерация PDF-документов из HTML-шаблонов |
| XLSX Generator | xlsx-generator | Генерация XLSX-файлов (в разработке) |
Исходники — git submodules orchestrator: runners/<name>/. Сборка: cd runners/shell && go build -o runner-shell .
Общие параметры
Все раннеры используют runner-common и поддерживают следующие общие параметры:
Параметры
Ключи совпадают у ush config set, --set при ush install / ush start и флагов прямого запуска бинарника:
| Ключ | Описание | По умолчанию |
|---|---|---|
url | Базовый URL gateway (gRPC stream), не веб-клиента | — |
name | Имя раннера | — |
token | Токен доступа | — |
insecure | Plaintext gRPC (http://…); для HTTPS обычно не нужен | false |
untagged | Разрешить задачи без тегов. Задачи с тегами ищут раннер по точному набору тегов и этот ключ не учитывают | true |
temporary | Пометить раннер как временный (эфемерный) | false |
session-timeout | Таймаут сессии в мс | 10000 |
task-timeout | Таймаут выполнения задачи в мс | 300000 (5 мин) |
concurrency | Количество одновременных задач | 1 |
tags | Теги через запятую | — |
description | Описание раннера | — |
artifact-tmp | Временная директория для артефактов | ~/.cache |
Переменные окружения
При прямом запуске бинарника те же параметры читаются из окружения (URL, TOKEN, CONCURRENCY, TAGS, INSECURE, …).
Приоритет конфигурации
- Значения, заданные через
ush(--setпри install/start,ush config set) - Переменные окружения
- Конфигурационный файл (при прямом запуске
-config) - Значения по умолчанию (наименьший приоритет)
Управление через ush
Те же параметры настраиваются без правки файлов — командами ush config get / ush config set. Ключи совпадают с флагами без ведущего дефиса: url, token, name, insecure, untagged, temporary, session-timeout, task-timeout, concurrency, tags, description, artifact-tmp. Специфичные для плагина ключи (image, dsn, ollama-* и т.д.) — на страницах отдельных раннеров. Изменения запущенного раннера применяются после ush restart <id>.
bash
ush config get shell-eedb1b0f
ush config set shell-eedb1b0f concurrency 4URL = gateway
Раннер ходит в /api/v1/runner-stream по gRPC. На self-hosted prod это порт 18090 (gateway), а не 18080 (UI). Для http:// укажите insecure=true. Подробнее — в CLI.
Запуск
Через ush (рекомендуется):
bash
ush install shell --start # опросит url/token и запустит инстанс
ush start shell --non-interactive \
--set url=http://HOST:18090 \
--set token=YOUR_TOKENПрямой запуск с конфигурационным файлом:
bash
./runner-shell -config config.yaml