µTask

Model and execute business processes using a declarative YAML format. This lightweight automation engine is secure, extensible with Go plugins, and simple to operate.

µTask is a lightweight automation engine designed for the cloud. It allows you to model and execute complex business processes using a declarative YAML format. The core design focuses on being simple to operate, secure by default, and highly extensible. You define a set of inputs and a graph of actions with their dependencies, and µTask handles the rest.

The engine asynchronously executes each action, navigates transient errors with retries, and maintains an encrypted, auditable trace of all intermediary states until the process is complete. This makes it a reliable tool for critical workflows.

Key capabilities include:

  • YAML-based Workflows: Define your entire business process in a human-readable format that can be version-controlled with Git.
  • Extensible with Go: Develop custom action plugins in Go to integrate with your specific tools and APIs.
  • Simple Deployment: The only external dependency is a Postgres database, simplifying setup and maintenance.
  • Built-in Templating: Use Go's powerful templating engine to dynamically insert values from inputs, configuration, or previous steps.
  • Human-in-the-loop: Create steps that require manual input or validation from a user through generated forms.

Directory Structure

task
utask
config
db-data
plugins
.env
docker-compose.yml

docker-compose.yml

services:
  postgres:
    image: postgres:14-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: utask
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: utask
    volumes:
      - ./db-data:/var/lib/postgresql/data

  utask:
    image: ovhcom/utask:latest
    restart: unless-stopped
    ports:
      - "8081:8081"
    environment:
      - UTASK_DB_URL=postgres://utask:${DB_PASSWORD}@postgres:5432/utask?sslmode=disable
    volumes:
      - ./config:/config
      - ./plugins:/plugins
    depends_on:
      - postgres

.env

DB_PASSWORD=your_super_secret_password
Categories:

Share:

Ad
Favicon

 

  
 

Similar to µTask

Favicon

 

  
  
Favicon

 

  
  
Favicon