MCPSERV.CLUB
µTask

µTask

Self-Hosted

Declarative, secure automation engine for cloud workflows

Active(75)
1.3kstars
2views
Updated Sep 2, 2025
µTask screenshot 1
1 / 5

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

LayerTechnology
RuntimeGo 1.22 (compiled binaries)
PersistencePostgreSQL 15+ with pgcrypto for encryption
APIRESTful endpoints (JSON) + WebSocket for live updates
Plugin systemGo plugin (.so) files loaded via plugin.Open
ContainerizationOfficial Docker image available on GitHub Container Registry; Helm chart for Kubernetes deployments
ObservabilityPrometheus 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.org for 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

ScenarioHow µTask Helps
Kubernetes ingress TLS provisioningAutomates key generation, ACME challenges, and certificate deployment via a single task template.
Onboarding new team membersOrchestrates SSH key collection, account creation across services, VM provisioning, and welcome communications.
Payments antifraud workflowManages asynchronous risk checks, third‑party API calls, human review steps, and event notifications.
CI/CD pipeline triggersSpawns long‑running build or deployment tasks that report progress back to the API.
Infrastructure as codeExecutes 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

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
development-tools
License
BSD-3-CLAUSE
Stars
1.3k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Community
Supported OS
LinuxDocker
Author
ovh
ovh
Last Updated
Sep 2, 2025