dagucloud/dagu

Self-hostable workflow orchestrator for teams whose main work isn't orchestration. Declarative YAML over your scripts, SSH commands, containers, etc; keep workflows separate from business logic. One binary, no database, runs on limited H/W resources. Alternative to Airflow / Cron / Job Scheduler.

해결하는 문제

Dagu는 기존 스크립트, 컨테이너, 런북을 복잡한 플랫폼을 관리하는 부담 없이 오케스트레이션해야 하는 팀을 위한 로컬 우선(workflow engine)입니다. Dagu는 워크플로우 구조를 코드가 아닌 구성(config)으로 다루어 Airflow나 Temporal과 같은 무거운 오케스트레이터, 또는 투명한 cron 작업을 대체합니다. 이로 인해 기존 자동화에 스크립트를 수정하지 않고도 스케줄링, 재시도, 감시 기능을 추가할 수 있습니다.

작동 방식

사용자는 선언적 YAML 형식으로 방향성 비순환 그래프(DAG)를 정의합니다. Dagu는 Web UI, 스케줄러, 코디네이터를 포함한 단일 바이너리로 배포됩니다. 세 가지 배포 모델로 실행 가능: 단일 서버, 일시적 워커(예: Kubernetes Jobs를 통해), gRPC를 통해 코디네이터를 풀링하는 분산 워커. 네이티브로 쉘 명령어, Docker 컨테이너, Kubernetes Jobs, SSH를 통한 원격 명령어 실행을 지원합니다.

대상 사용자

기존 스크립트와 런북을 최소한의 설정과 운영 부담으로 프로덕션 워크플로우로 전환하고자 하는 운영팀 및 내부 자동화 팀을 위한 것입니다.

주요 특징

  • 단일 바이너리 설치: 외부 데이터베이스나 메시지 브로커가 필요하지 않습니다.
  • 언어 독립성: 프레임워크를 임포트할 필요 없이 쉘 명령어, Docker, K8s Jobs, SSH를 실행할 수 있습니다.
  • 선언적 YAML: 워크플로우 구조, 종속성, 스케줄링을 YAML 파일로 정의합니다.
  • 관측성: 상태 추적, 로그, 시각화를 위한 내장 Web UI 제공.
  • 내구성 있는 실행: 재시도, 겹침 정책, 스케줄된 실행의 캐치업 윈도우를 지원합니다.
  • 사람의 작업: 운영자 승인 또는 입력을 기다려 워크플로우를 일시 정지할 수 있습니다.
  • MCP 서버: AI 클라이언트가 워크플로우를 검사하고 제어할 수 있는 내장 Model Context Protocol 서버.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트