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¶
- API Architecture — package layout, env vars, adding new resources
- Database Schema — tables, relationships, migration history
- Authentication — Keycloak OIDC setup, local dev bypass, client registration