[self-hosting] Dagu, le gestionnaire de workflow

Bambusa29

Chevalier Jedi
10 Avril 2022
416
172
88
Bonjour,

J'ai découvert https://github.com/dagu-org/dagu ce gestionnaire de workflow cette semaine ; vraiment très complet, dont l'installation est vraiment simple. C'est une alternative à 'AirFlow'.

On peut configurer le tout par le WebUI ou via des fichiers yaml.

Je pense gérer les opérations sur mon infra avec Gadu maintenant et délaisser mon interface web personnel développer en python. C'est un peu moins sécurisé que mon interface perso, mais bon, ne soyons pas parano et c'est vraiment simple d'utilisation :D

Un exemple de backup via un simple fichier yaml sur un de mes serveurs 'Incus' qui se fait de nuit :

YAML:
name: incus1_backup_lxc
description: "Copie des snapshot vers Syno"
schedule: "0 4 * * *"
steps:
  - name: incus-backup-lxc
    run: backup_lxc
    parallel:
      items:
        - "Django"
        - "MariaDB"
        - "Jellyfin"
        - "phpipam"
        - "2FAuth"
      maxConcurrent: 1
    params: "LXC=${ITEM} SYNO=/mnt/incus1 ZIP=bzip2 ARCHIVE=tar.bz2"
    output: RESULTS

---

name: backup_lxc
params:
  - LXC
  - SYNO
  - ZIP
  - ARCHIVE
steps:
  - name: backup
    executor:
      type: ssh
      config:
        user: dagu
        ip: incus1.yannick.lan
        port: "1122"
        key: /******/incus1.yannick.lan
    command: incus export ${LXC} --compression=${ZIP} --instance-only ${SYNO}/${LXC}.${ARCHIVE}


Une partie de la WebUI avec la définition des 'Dags' :


dagu.png