Overview
Discover what makes µTask powerful
µTask is a lightweight, cloud‑native automation engine written in **Go** that focuses on secure, declarative workflow execution. It exposes a simple YAML‑based task definition language where developers can model complex business processes as directed acyclic graphs of actions. Each node in the graph is an *action* that can be implemented either by built‑in primitives or by custom Go plugins. The engine handles asynchronous execution, retries on transient failures, and persists every state change in an encrypted PostgreSQL database, guaranteeing auditability and data confidentiality.
Declarative workflow definition
Extensible action set
Secure persistence
Event driven hooks
Overview
µTask is a lightweight, cloud‑native automation engine written in Go that focuses on secure, declarative workflow execution. It exposes a simple YAML‑based task definition language where developers can model complex business processes as directed acyclic graphs of actions. Each node in the graph is an action that can be implemented either by built‑in primitives or by custom Go plugins. The engine handles asynchronous execution, retries on transient failures, and persists every state change in an encrypted PostgreSQL database, guaranteeing auditability and data confidentiality.
Key Features
- Declarative workflow definition – Tasks are authored in YAML, describing inputs, actions, and dependencies without writing imperative code.
- Extensible action set – Custom actions are compiled as Go plugins, loaded at runtime, and exposed through a clean API. This allows developers to integrate external services (Kubernetes, SMTP, HTTP APIs) without modifying the core engine.
- Secure persistence – All task data is encrypted at rest using PostgreSQL’s native encryption extensions, and access control is enforced via a fine‑grained RBAC layer.
- Event driven hooks – The engine emits webhook events on state transitions, enabling downstream systems to react automatically (e.g., notifying a CI pipeline after a VM is provisioned).
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | Go 1.22 (compiled binaries) |
| Persistence | PostgreSQL 15+ with pgcrypto for encryption |
| API | RESTful endpoints (JSON) + WebSocket for live updates |
| Plugin system | Go plugin (.so) files loaded via plugin.Open |
| Containerization | Official Docker image available on GitHub Container Registry; Helm chart for Kubernetes deployments |
| Observability | Prometheus metrics, OpenTelemetry tracing (optional) |
Core Capabilities
- Task lifecycle API – Create, query, cancel, and resume tasks via HTTP endpoints.
- Template engine – Reusable task templates with parameter substitution; stored in the database or as files.
- Action execution engine – Scheduler that queues actions, respects dependencies, and retries with exponential back‑off.
- Form generation – Dynamically generate HTML forms for human interventions (e.g., approving a high‑risk payment).
- Audit log – Immutable, encrypted record of every state change and action payload.
Deployment & Infrastructure
µTask is intentionally minimalistic: a single binary plus a PostgreSQL instance. It can run:
- Bare metal or VMs – Direct binary execution; no external services required.
- Docker/Kubernetes – The provided Docker image can be deployed as a Deployment or StatefulSet; the Helm chart automates configuration of secrets, database connections, and ingress.
- Scalability – Multiple µTask instances can share the same PostgreSQL database; the scheduler uses row locks to avoid duplicate action execution, enabling horizontal scaling.
- High availability – PostgreSQL clustering (Patroni or Patroni‑PG) coupled with multiple µTask replicas ensures zero downtime.
Integration & Extensibility
- Plugin API – Developers write Go packages exposing a
Run(ctx, input)function; the engine loads them at startup. Plugins can register custom HTTP endpoints or WebSocket streams. - Webhooks – External services can subscribe to task events via HTTP callbacks, receiving JSON payloads for each state change.
- CLI & SDK – A Go SDK is available on
godoc.orgfor programmatic task creation and monitoring, facilitating integration into existing services. - Form hooks – µTask can generate secure one‑time URLs that embed form state, allowing user interactions without exposing internal APIs.
Developer Experience
- Documentation – Comprehensive GoDoc, README with examples, and a dedicated “Extending µTask” section.
- Community – Active GitHub repo with issue tracking, pull request reviews, and a Slack channel for support.
- Configuration – All settings are environment‑driven (
UTASK_DB_URL,UTASK_PORT, etc.), making it easy to adapt across environments. - Testing – The codebase includes unit tests with coverage reports; developers can run
go test ./...to validate their plugins.
Use Cases
| Scenario | How µTask Helps |
|---|---|
| Kubernetes ingress TLS provisioning | Automates key generation, ACME challenges, and certificate deployment via a single task template. |
| Onboarding new team members | Orchestrates SSH key collection, account creation across services, VM provisioning, and welcome communications. |
| Payments antifraud workflow | Manages asynchronous risk checks, third‑party API calls, human review steps, and event notifications. |
| CI/CD pipeline triggers | Spawns long‑running build or deployment tasks that report progress back to the API. |
| Infrastructure as code | Executes Terraform or Ansible steps within a task, capturing outputs and handling rollbacks. |
Advantages Over Alternatives
- Performance – Native Go runtime with minimal overhead; actions run in parallel where dependencies allow.
- Flexibility – Declarative YAML plus Go plugins gives full control over business logic without a proprietary DSL.
- Licensing – MIT‑style license allows unrestricted use in commercial environments.
- Security – End‑to‑end encryption and fine‑grained RBAC reduce attack surface.
- Simplicity – Only PostgreSQL is required; no message brokers or external schedulers.
µTask offers developers a robust, secure foundation
Open SourceReady to get started?
Join the community and start self-hosting µTask today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
Joplin
Secure, offline-first note-taking with markdown and end-to-end sync
Calibre
All‑in‑one e‑book manager and converter
Smederee
Team‑centric code hosting and issue tracking for privacy.
Tracim
Collaborative workspace for teams
Gollum
Git‑based Wiki for easy, versioned documentation
Medusa
Open‑source commerce platform for custom B2C/B2B storefronts
