VegaDūta Platform Documentation
The complete engineering reference for the VegaDūta agentic-AI platform — from the Spring AI LLM layer through the modular monolith, the satellite services, and self-hosting with Docker Compose or Helm. Compiled from the repository source, Compose files and Helm charts.
42
Maven modules
One Spring Boot 3.4 deployable (core/app) plus dedicated worker/jobs assemblies
14
LLM providers
BYOK + platform-hosted pool + on-device edge tier, all behind Spring AI ChatClients
3
Ways to run it
Compose Lite (5 containers), Compose Full (10 core, up to 36 with profiles), or Helm on Kubernetes
10
Channel types
WhatsApp, Telegram, Slack, Discord, Messenger, Instagram, X, Email, Teams, Voice
Deployment options
| Option | What you get | Config lives in | Status |
|---|---|---|---|
| Compose Lite | Agents, chat, knowledge, graph memory on one machine (scripts/vegaduta up --lite) |
deploy/compose/lite.yml + deploy/compose/.env |
supported |
| Compose Full | Everything, with opt-in profiles; optional public HTTPS on your domain via Caddy (--domain) |
deploy/compose/docker-compose*.yml + deploy/compose/.env |
supported |
| Kubernetes (Helm) | Umbrella chart; bundled or bring-your-own Postgres, Valkey, S3, OIDC | deploy/helm/ |
preview |
Documentation map
| Section | Contents | Start with |
|---|---|---|
| 00 · Overview | What the platform is, who uses it, terminology | Platform at a Glance |
| 01 · Architecture | Layered system design, the 42-module core, the Spring AI / LLM layer, data and identity architecture | System Architecture |
| 02 · Decisions | Architecture Decision Records — every consequential choice and the problem that motivated it | ADR Index |
| 03 · Functional | Personas and functional specification by domain: agents, workflows, channels, knowledge, governance | Functional Overview |
| 04 · API | REST surface, JWT auth, SSE/AG-UI streaming, webhooks, developer API | API Overview |
| 05 · Deployment | Compose and Helm, CI/CD, local development, Keycloak, rollback | Deployment Guide |
| 06 · Operations | Observability (Prometheus, Grafana, Loki, Langfuse), backups | Observability |
| 07 · Security | Security architecture, secrets and key management, compliance posture, threat model | Security Architecture |
| 08 · Development | Getting started, build/test, repository map, conventions, contribution workflow | Getting Started |
| 09 · RFC | Request-for-comments process and template for proposals | RFC Index |
| 10 · Testing | Test strategy, the three Playwright suites, quality gates | Test Strategy |
| 11 · Appendix | Every command A–Z, environment variables, ports/services matrix | Command Reference |
How to read the verification markers
These pages distinguish what was checked against the code from what is assumed. Throughout this documentation set:
| Marker | Meaning |
|---|---|
| verified | Checked against the repository on the stated date |
| unverified | Believed true but not re-checked — treat as a lead, not a fact |
| live / reference | A supported deployment path |
| draft | Authored but never deployed/applied — aspirational, not real |
| retired | Was real, no longer is — kept for history |
Non-negotiable operating rules
- Back up
deploy/compose/.env(or your Kubernetes Secrets) together with the data.APP_ENCRYPTION_KEYmust be identical everywhere core boots, or every stored credential becomes undecryptable. - Never point a browser-facing or token-issuer URL (
PUBLIC_*) atlocalhoston a server. Never bake a localhostNEXT_PUBLIC_*into an image you deploy. - The issuer core validates must match the one Keycloak stamps; extra issuers go in
KEYCLOAK_ADDITIONAL_ISSUERS— otherwise every token 401s. - A hung service is evidence to collect (logs, container state, memory) before you restart anything;
docker compose down -vdeletes data. - Pin
VEGADUTA_VERSION; read the release notes beforescripts/vegaduta upgrade.
Conventions used across every page
- Every page carries a document ID (
VD-XX-NNN), a status badge, and a last-verified date. - Commands are copy-paste runnable;
<angle-bracket>values must be substituted. - Source file paths reference the repository root, e.g.
core/chat/pom.xml. - Diagrams use Mermaid — an internet connection is required to render them (they degrade to readable source otherwise).