В этом разделе вы найдете описание принципов устройства и работы сервиса Workflow Studio.
Workflow Studio — это платформа для создания инженерных сценариев в облаке: от автоматизации DevOps, MLOps и работы с данными до управления инфраструктурой приложений.
Работа сервиса строится вокруг сценариев, которые описываются в виде YAML-конфигурации и хранятся в репозитории кода. Когда происходит запуск сценария, система выделяет ресурсы в инфраструктуре выполнения, например, в легковесной среде Container Apps или полноценном кластере Managed Kubernetes.
Подробнее о Container Apps.
Подробнее о Managed Kubernetes.
Сам процесс выполнения сценария делится на последовательные стейджи (Stage) — логические этапы конвейера.
Внутри каждого стейджа находятся джобы (Job) — единицы выполнения, которые могут работать параллельно. То, какое именно действие выполнит джоба, определяет коннектор (например, сборка Docker-образа, выполнение HTTP-запроса или bash-скрипта).
Для гибкого управления конфигурацией и безопасной передачи данных (токенов, имен образов) на всех этапах используются переменные окружения.
Ниже описана каждая сущность системы.
Сценарий — основная сущность Workflow Studio. Это автоматизированный процесс, описанный в .yml-файле. Он хранится в репозитории Repo или в вашем собственном репозитории. Сценарий состоит из стейджей, каждый из которых содержит одну или несколько джобов.
Стейдж (Stage) — логический этап сценария, объединяющий группу джобов. Стейджи выполняются последовательно: следующий стейдж запускается только после успешного завершения предыдущего.
Атрибут
Тип
Описание
name
string
Уникальное имя стейджа
job
array
Список джобов внутри стейджа
Джоба (Job) — единица выполнения внутри стейджа. Каждая джоба содержит один коннектор с его настройками, а джобы внутри одного стейджа могут выполняться параллельно.
Атрибут
Тип
Описание
name
string
Уникальное имя джобы.
type
string
Тип коннектора.
spec
object
Конфигурация коннектора — набор атрибутов зависит от type.
Коннектор определяет тип шага в джобе и способ выполнения задачи. Workflow Studio поддерживает несколько типов коннекторов, список которых постоянно пополняется.
Запускает произвольный bash-скрипт внутри контейнера. Может работать как с привязкой к репозиторию, так и без нее.

Атрибут
Тип
Описание
script
string
Shell-команды для выполнения, поддерживает многострочный ввод.
repository_id
UUID
ID репозитория, если нужен доступ к коду во время выполнения.
branch
string
Ветка репозитория, указывается вместе с repository_id.
Отправляет HTTP-запрос к внешнему API или сервису. Ответ можно сохранять в переменные для использования в следующих джобах.

Атрибут
Тип
Описание
url
string
URL эндпоинта, поддерживает шаблоны {{.VAR}}.
method
string
HTTP-метод: get, post, put, delete.
body
string
Тело запроса, поддерживает подстановку переменных.
headers
array
Список HTTP-заголовков, [] — без дополнительных заголовков.
Собирает Docker-образ по указанному Dockerfile и публикует его в реестр Artifact Registry. Этот коннектор позволяет автоматизировать процесс упаковки приложения перед его развертыванием.

Атрибут
Тип
Описание
destination
string
Полный путь к образу в реестре, поддерживает шаблоны.
repository_id
UUID
ID репозитория с исходным кодом.
branch
string
Ветка репозитория для сборки.
dockerfile
string
Путь к Dockerfile относительно корня репозитория.
registry_credentials
array
Учетные данные для реестра, []— использовать данные по умолчанию.
Разворачивает или обновляет контейнерное приложение в сервисе Container Apps. Это удобный способ быстрого деплоя без необходимости настраивать сложную инфраструктуру.

Атрибут
Тип
Описание
name
string
Название приложения в Container Apps.
container-name
string
Имя контейнера внутри приложения.
image
string
Docker-образ для деплоя, поддерживает шаблоны.
port
integer
Порт, на котором слушает контейнер.
Разворачивает или обновляет приложение, используя Helm Chart. Развертывание происходит в кластере Managed Kubernetes.

Атрибут
Тип
Описание
name
string
Название деплоя в кластере.
image
string
Docker-образ для деплоя.
replicas
integer
Количество реплик пода.
config
string
Kubeconfig или конфигурация деплоя.
Запускает произвольный код на поддерживаемом языке программирования. Код функции может обращаться к глобальным данным сценария через Load/Save без внешнего хранилища.

Атрибут
Тип
Описание
language
string
Язык выполнения, поддерживается go.
code
string
Исходный код функции, используйте YAML-оператор > для многострочного кода.
Переменные окружения — именованные значения, доступные внутри сценария. Они хранятся в настройках сценария и подставляются в конфигурацию в момент запуска.
В полях коннекторов переменные указываются через синтаксис {{.VARIABLE_NAME}}.
В bash-скриптах переменные доступны как $VARIABLE_NAME.

Workflow Studio поддерживает два типа инфраструктуры для запуска джобов. Если при запуске сценария инфраструктура не выбрана, система автоматически предлагает запуск на Container Apps.
Тип инфраструктуры
Описание
Container Apps
Облегченная контейнерная среда. Включает free tier — бесплатный объем ресурсов для запуска сценариев без дополнительной оплаты.
Managed Kubernates
Полноценный кластер для сложных и ресурсоемких сценариев.
Максимальное количество одновременно запущенных джобов — 20 штук на пользователя для физических и юридических лиц.
Каждый запуск сценария — это отдельная сущность со своим уникальным run_id. Процесс запуска проходит через несколько статусов в зависимости от состояния выполнения задач.
Статус
Описание
pending
Запуск поставлен в очередь.
running
Джобы выполняются.
done
Все джобы завершены успешно.
failed
Один или несколько джобов завершились с ошибкой.
Каждый сценарий описывается в .yml-файле, хранящемся в репозитории. Общая иерархия конфигурации строится по принципу вложенности: pipeline → stages → stage → jobs → job.

Корневой атрибут | Тип | Описание |
|---|---|---|
pipeline | object | Корневой элемент конфигурации. |
stages | array | Список стейджей сценария. |