Kestra

Kestra — платформа управления данными (оркестратор) с открытым исходным кодом. Если вас интересует автоматизация — этот инструмент для вас.

Установим

docker run --pull=always --rm -it -p 8080:8080 --user=root \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /tmp:/tmp kestra/kestra:latest-full server local

Зайдем на веб-интерфейс

ip_address:8080

Так выглядит главный экран

Рассмотрим небольшой пример и создадим наш первый Flow

Flows -> Create 

id: devopslife
namespace: dev
tasks:
  - id: devopslife
    type: io.kestra.core.tasks.log.Log
    message: Welcome to devopslife.ru

Нажимаем Save, затем Execute

Важно на что стоит обратить внимание на примере выше

id - имя вашего flow

namespace - среда для вашего flow

tasks - задачи, которые выполняются в рамках flow

Отмечу, что внутри присутствует удобный редактор кода (Editor), в котором можно редактировать ваши Flows

Рассмотрим еще один пример. Создадим новый Flow (соблюдайте разметку, постараюсь показать на скрине)

id: devopslife
namespace: dev
tasks:
  - id: "script"
    type: "io.kestra.plugin.scripts.python.Script"
    script: |
      from kestra import Kestra
      import requests

      response = requests.get('https://devopslife.ru')
      print(response.status_code)

      Kestra.outputs({'status': response.status_code})
    beforeCommands:
    - pip install requests kestra

Видим что в ответ приходит код 200 — с сайтом все в порядке