High Level Architecture
Keep architecture composes of two main components:- Keep API - A FastAPI-based backend server that handles business logic and API endpoints.
- Keep Frontend - A Next.js-based frontend interface for user interaction.
- Websocket Server - A Soketi server for real-time updates without page refreshes.
- Database Server - A database used to store and manage persistent data. Supported databases include SQLite, PostgreSQL, MySQL, and SQL Server.
Kubernetes Architecture
Keep uses a single unified NGINX ingress controller to route traffic to all components (frontend, backend, and websocket). The ingress handles path-based routing: By default:/routed to Frontend (configurable viaglobal.ingress.frontendPrefix)/v2routed to Backend (configurable viaglobal.ingress.backendPrefix)/websocketrouted to WebSocket (configurable viaglobal.ingress.websocketPrefix)
General Components
Ingress Component
Frontend Components
Backend Components
Database Components
WebSocket Components
These tables provide a comprehensive overview of the Kubernetes resources used in the Keep architecture, organized by component type. Each table describes the purpose of each resource, indicates whether it’s required or optional, and provides a direct link to the source template in the Keep Helm charts GitHub repository.
Kubernetes Configuration
Each of these components can be customized via thevalues.yaml file in the Helm chart.
Below are key configurations that can be adjusted for each component.

