Appearance
Overview
This page is meant to give system administrators a high level view of the different Adept's services.

Adept is composed of different microservices. The backend code is written in Java and the frontend in TypeScript (Vue).
- Frontend service: The static files that are sent to the browser of each user.
- Gateway: It routes requests to the appropriate microservices and manages the communication between the different clients, microservices and external services.
- MinIO: It stores the files. e.g. uploaded files, exports, etc.
- Core / Search / Import / Export Service: They handle the core logic of the backend.
- AI Service: It's used by the chatbot to reply to users' questions. It does NOT have access to any datasets. It only uses information from the public documentation site you are currently viewing.
- Elastic Search: It stores the dataset data. It does not include data about the datasets (metadata).
- PostgreSQL: It stores metadata like dataset names, dashboard information, etc.
- Redis: It queues import requests (when there are too many simultaneous requests), and also caches some user requests so that future requests are returned faster.
- Keycloak: It handles authentication.
- Elixir Data Catalog: It checks whether users have the necessary approval to access different datasets.
Deployment methods
Adept was architected to be deployed inside containers. There are two possible strategies to deploy: docker compose and Kubernetes cluster (k8s).
Docker compose: It's a simpler method to deploy containers compared to a kubernetes cluster. It can be deployed to a single server. On the other hand, it has limited functionality compared to a cluster.
Cluster: It's a deployment method that enables more control over the containers, higher reliability, and performance. On the other hand, it has a steeper learning curve and it's typically advised to have dedicated people taking care of the cluster.
Backup
For the moment, the main instance of Adept is hosted in a virtual machine running docker-compose. The backups are applied only to this VM.
The backups are maintained by the LCSB system administrators.
What and When
Backups are run sequentially from 21:00 to 22:00, and they are collected at 02:00 (CEST time zone).
The backups are not done for the full production virtual machine. Instead, they backup different parts of Adept:
- 21:00 - Backup PostgreSQL database.
- 21:15 - Backup Elastic Search database.
- 21:30 - Backup Redis database.
- 21:45 - Backup minio.
Retention policy
- A backup is kept for each of the last 30 days.
- A backup is kept for each of the last 12 months.
- A backup is kept for each of the last 10 years.