EDGE Data Storage (DS)
At a Glance
Section titled “At a Glance”- Category: Data & Infrastructure
- Primary environment: MaaS Consumer, MaaS Provider
- Documentation focus: Design reference
- Maturity: TRL 4–5 (first release, M18)
- Related architecture docs: Reference Architecture Guide, Environments
Purpose
Section titled “Purpose”EDGE Data Storage is the operational data backbone used close to the shop floor. It stores planning, process, and integration data in a way that supports both consumer-side and provider-side services, while keeping performance and data ownership close to the environments where the data is generated.
Primary Actors
Section titled “Primary Actors”The D5.2 usage viewpoint defines roles, permissions, constraints, a role-task matrix, and a use case diagram for this solution.
- Retrieve DB: Query stored data for downstream services and dashboards; constraint: Read-only access with no permission to store data or manage users.
- Storage DB: Insert and retrieve operational data; constraint: Can manage stored data but cannot administer user access.
- Sys Admin DB: Manage users and access while retaining full data access; constraint: Administrative role with broader permissions than standard storage and retrieval roles.

Use-case diagram extracted from MaaSAI deliverable D5.2.
Functional Components
Section titled “Functional Components”DS combines authentication, storage, retrieval, and user-administration services to persist edge data safely. The functional view highlights how retrievers and storers access the repository through controlled interfaces while administrative actions preserve access governance.

Functional components diagram extracted from MaaSAI deliverable D5.2.
Design Baseline
Section titled “Design Baseline”The REST API plays a central role because it gives multiple MaaSAI services a controlled way to interact with the storage layer without requiring direct database coupling everywhere.
Communication with other MaaSAI solutions is handled through REST or WebSocket endpoints using JSON payloads, while direct SQL access can still be provided where appropriate for tightly integrated services.

Architecture diagram extracted from MaaSAI deliverable D5.2.
Technology Stack
Section titled “Technology Stack”The DS is composed of five open-source functional modules deployed together as a single containerised stack.
| Category | Technology |
|---|---|
| Data | PostgreSQL relational database — the core of the solution — with Row-Level Security (RLS), JWT-based authorisation and ISA-95-compliant data models. |
| API layer | PostgREST, which automatically converts the database schema into a fully functional RESTful API. |
| Identity | Keycloak connector generating JWT tokens for user authentication, authorisation and accounting (not yet implemented). |
| Web entry point | Nginx reverse proxy serving the API and dashboards and handling TLS termination. |
| Monitoring | Prometheus and Grafana observability stack (partially implemented). |
| Containerisation | Docker Compose. |
Integrations & External Dependencies
Section titled “Integrations & External Dependencies”The DS is the persistent hub that other MaaSAI solutions read from and write to; end users never interact with it directly. In the first release, interaction with the Remote Monitoring and Control is working, and communication has been established with the Data Integrator (DI), the Consumer and Provider Planners, and the Control Panels. Depending on their permissions, connected solutions can read, write, update and delete data; the DS also stores Consumer production data supplied by the DI. Identity management relies on an external Keycloak server, which has been included and simulated but is not yet enforced.
APIs & Interfaces
Section titled “APIs & Interfaces”The DS has no front end; all data exchange happens through the auto-generated REST API.
- Each database table is exposed as an endpoint of the same name (e.g.
/api/calendar), supporting GET, POST, PATCH and DELETE operations with PostgREST filter syntax (?id=eq.0). - Requests must carry a JWT token in the
Authorizationheader; responses are serialised JSON objects. - A Swagger UI lists the exposed endpoints and lets integrators test them.
- Grafana dashboards, served through the Nginx reverse proxy, give administrators visual statistics on resource consumption and request rates.
User Interface
Section titled “User Interface”DS exposes its functionality through documented REST endpoints:

List of some exposed endpoints of the EDGE Data Storage — MaaSAI deliverable D8.1.

Metrics detail served by the DS API — MaaSAI deliverable D8.1.
Deployment & Configuration
Section titled “Deployment & Configuration”The entire solution is deployed with a Docker Compose manifest that also handles the virtual networks and storage volumes; the host needs Ethernet HTTP/HTTPS access.
| Requirement | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPUs | 4 vCPUs |
| RAM | 2 GB | 4 GB |
| Storage | 50 GB | 100 GB (depending on each company’s data volume) |
| OS | 64-bit Linux | Debian 13 |