Skip to content

Taskbase

Overview

Taskbase is the task management application for the Skatzi platform. It consists of two independently deployed microservices:

  • platform-tasks-api — REST API written in Go. Owns all business logic, database access, and Keycloak JWT validation.
  • platform-tasks-ui — React SPA served via nginx. Handles Keycloak OIDC login and calls the API.

The application is deployed to the tasks namespace and managed by Flux CD. Source code lives in the Skatzi/taskbase repository.

Key features

  • Task creation, assignment, and status tracking
  • REST API suitable for direct AI agent integration
  • Keycloak OIDC authentication — all Skatzi group members have full access (no RBAC in v1)
  • PostgreSQL persistence via CloudNativePG

Architecture

graph TD
    Browser["🌐 Browser"]
    Agent["🤖 AI Agent"]
    KC["Keycloak\n(OIDC)"]

    subgraph Kubernetes Cluster
        subgraph tasks namespace
            UI["platform-tasks-ui\n(React SPA · nginx)"]
            API["platform-tasks-api\n(REST API)"]
            DB[("PostgreSQL\nCloudNativePG")]
        end
        Ingress["Ingress\n/* → UI\n/api/* → API"]
    end

    Browser -->|OIDC login| KC
    KC -->|JWT| Browser
    Browser -->|HTTPS| Ingress
    Agent -->|REST /api/* + Bearer JWT| Ingress
    Ingress --> UI
    Ingress --> API
    UI -->|REST /api/* + Bearer JWT| Ingress
    API -->|validate token| KC
    API -->|SQL| DB

An MCP server for richer agent integration is planned for v2 (see ADR 0003).

Dependencies

  • Keycloak — OIDC authentication and JWT issuance
  • CloudNativePG — PostgreSQL cluster for task persistence
  • cert-manager — TLS certificates for the Ingress
  • shared-gateway — Ingress routing

Exposed Services

Service Description
/ Management UI (React SPA)
/api/ REST API — consumed by agents and the UI
/api/health Liveness probe

Source

Resource Location
Application code Skatzi/taskbase
API image harbor.prod.skatzi.com/skatzi/platform-tasks-api
UI image harbor.prod.skatzi.com/skatzi/platform-tasks-ui
Kubernetes manifests components/tasks/ in this repository

Further reading