Vikunja
Vikunja — open-source, self-hostable to-do and project management app — packaged for the Hiroba ecosystem.
Overview
This repository ships two Helm charts: vikunja for the workload (Deployment, Service, HTTPRoute) and vikunja-platform for the cross-cutting dependencies (PostgreSQL via CNPG, secrets via External Secrets, observability). The container image is consumed unchanged from docker.io/vikunja/vikunja — we don't maintain a custom build.
Architecture
┌────────────────────────────┐
HTTPRoute ──▶ Service (80) ─▶ Vikunja pod (3456)
│ ├─ /api/v1/info (probe)
│ ├─ /metrics (Prometheus)
│ └─ /app/vikunja/files (PVC or emptyDir)
│
▼
Postgres (CNPG, vikunja-pg-rw)
▲
Secret `vikunja` ◀── ExternalSecret ◀── ClusterSecretStore
(DB password, JWT secret)
Prerequisites
- Access to the Kubernetes cluster
- Helm v3.x installed
- kubectl configured
- A parent
Gateway(HTTP + HTTPS listeners, TLS configured) — typically from a gateway chart such ashiroba-gateway - For the platform chart's defaults: CloudNativePG, External Secrets Operator, Prometheus Operator
Quick start
# Workload
helm install vikunja ./helm/base
# Platform dependencies (Postgres, ExternalSecret, ServiceMonitor)
helm install vikunja-platform ./helm/platform \
--set postgres.enabled=true \
--set externalSecrets.enabled=true \
--set observability.serviceMonitor.enabled=true
See the per-stack pages for full configuration:
- Helm base chart — Deployment, Service, HTTPRoute, env vars, persistence
- Helm platform chart — PostgreSQL, ExternalSecrets, observability
- Crossplane compositions — Infrastructure capabilities this app exposes (none today)