µTask

automationdevops

Automation engine for multi-step operational workflows declared in YAML. Built by OVH for processes that need async execution, human approval steps, retry logic, and an encrypted audit trail

#automation#workflow#yaml#devops#self-hosted#audit#human-in-the-loop#ovh
Alternative to Rundeckcustom runbooks

Quick Start

mkdir utask && cd utask && wget https://github.com/ovh/utask/releases/latest/download/install-utask.sh && sh install-utask.sh && docker compose up

Overview

µTask is an automation engine for multi-step operational processes. You describe a workflow as a YAML template — a set of inputs, a graph of steps, and the dependencies between them — and µTask handles asynchronous execution, transient error retries, and an encrypted audit trail of every intermediate state. It was built by OVH, one of Europe’s largest cloud providers, for their own internal operations.

The feature that distinguishes it from simpler job runners is the human-in-the-loop step. A workflow can pause mid-execution and present a form to an operator for input or approval before continuing. This makes it practical for processes that cannot be fully automated: a payment antifraud check that escalates to human review when a risk score is ambiguous, or an employee onboarding flow that needs the new hire to submit an SSH public key before account provisioning can proceed.

The execution model is asynchronous and fault-tolerant. µTask works its way through the dependency graph, retrying individual steps on transient failures without re-running the steps that already succeeded. Each run keeps a full encrypted record of inputs, outputs, and state transitions, which makes it suitable for regulated environments where you need to show what happened and when.

The tool comes with a web dashboard for requesting new tasks, monitoring running ones, and browsing available templates. The REST API covers the same surface, making it straightforward to trigger workflows from external systems.

The cost is complexity. Authoring templates requires understanding the dependency graph model, and extending µTask with custom step types requires writing Go. This is a tool for platform and DevOps teams, not a no-code workflow builder.

µTask: Pros & Cons

Pros (The Wins)Cons (The Friction)
Human-in-the-loop:
Workflows pause for operator
input or approval mid-run.
PostgreSQL required:
No lightweight embedded
database option available.
Encrypted audit trail:
Every intermediate state stored;
full history of what ran and when.
Steep YAML learning curve:
Complex step graphs take time
to model correctly.
Fault-tolerant async:
Retries failing steps without
re-running completed ones.
Go required to extend:
Custom plugins mean writing
Go code, not config.
OVH production origin:
Built and used internally by
a major cloud provider.
Small community:
Limited third-party docs;
mostly official README only.

Use Cases

Specific ways to use µTask for your workflow.

01
Automate Kubernetes TLS certificate provisioning across multiple steps with retry and error handling
02
Model employee onboarding as a workflow that spans account creation, SSH key collection, and VM provisioning
03
Handle async payment processing where human operator review is required if automated checks are inconclusive
04
Replace ad-hoc runbooks with auditable, repeatable process definitions version-controlled in YAML

Deployment Strategy

Recommended ways to host µTask in your own environment.

docker
self-hosted