-
Notifications
You must be signed in to change notification settings - Fork 3
Architecture
Giulio V edited this page Dec 19, 2025
·
2 revisions
📢 Important Update: LINDAS is undergoing a major infrastructure migration to LINDASnext. The current Stardog-based system is being replaced with GraphDB EE. New contracts have been awarded in two lots for the period 2025-2034: Lot 1 (Infrastructure) to Cognizone and Lot 2 (Application Development) to Liip, Zazuko, and Adnovum with their respective partners. Services remain operational during transition. See LINDASnext for details.
LINDAS uses a microservices architecture orchestrated by Kubernetes, providing scalability and high availability.
| Component | Technology | Provider | Description |
|---|---|---|---|
| Cloud Provider | Exoscale | VSHN | Swiss cloud infrastructure |
| Orchestration | Kubernetes + Rancher RKE | VSHN | Container management |
| Monitoring | Grafana, Graylog | VSHN | Monitoring and logging |
| Security | Named graphs, Keycloak | VSHN | Access control |
graph TD
A[Data Sources] --> B[S3 Buckets / SFTP]
B --> C[GitLab CI/CD]
C --> D[barnard59 Pipeline]
D --> E[Stardog Triplestore]
E --> F[Trifid + Varnish]
F --> G[User Applications]
- Ingestion: S3 buckets and SFTP shares
- Processing: GitLab CI/CD pipelines with barnard59 engine
- Storage: Stardog triplestore with named graph security
- Distribution: Trifid dereferencing service with Varnish cache
- Database: Stardog with named graph permissions
- Access Control: User Role Operator (URO 2.0)
- Availability: High availability cluster (target)
- Backup: Docker images in independent registry
- S3 Buckets: S3-compatible storage for large files
- SFTP: Secure transfer for government agencies
- WebDAV: Collaborative file management
- Varnish Cache: Custom HTTP cache for SPARQL POST requests
- Cached Endpoint: lindas-cached.cluster.ldbar.ch/sparql/
- Optimization: Improved response times for frequent queries
graph TD
%% Data Sources
subgraph "Data Sources"
DS[Data Publishers]
CSV[CSV Files]
API[External APIs]
end
%% Data Ingestion
subgraph "Data Ingestion"
S3[S3 Buckets]
SFTP[SFTP Shares]
WebDAV[WebDAV]
end
%% Processing Layer
subgraph "Data Processing"
CC[Cube Creator]
GL[GitLab CI/CD]
B59[barnard59 Pipeline]
CV[Cube Validator]
end
%% Authentication & Security
KC[Keycloak Authentication]
URO[User Role Operator]
%% Core Database
subgraph "Triplestore Cluster"
SD[Stardog Database]
SDS[Stardog Studio]
end
%% Distribution Layer
subgraph "Data Distribution"
TR[Trifid Dereferencing]
VC[Varnish Cache]
SP[SPARQL Endpoints]
end
%% Applications & Frontend
subgraph "Applications"
VIZ[Visualize]
GE[Graph Explorer]
WEB[ld.admin.ch]
APPS[Other Applications]
end
%% Monitoring
subgraph "Monitoring & Management"
GF[Grafana]
GL2[GrayLog]
PROM[Prometheus]
STATUS[Status Page]
end
%% Infrastructure
subgraph "Infrastructure"
K8S[Kubernetes Cluster]
RANCHER[Rancher]
end
%% Data Flow
DS --> S3
DS --> SFTP
CSV --> CC
S3 --> CC
SFTP --> GL
CC --> GL
GL --> B59
B59 --> CV
CV --> SD
KC --> CC
URO --> SD
SD --> TR
TR --> VC
VC --> SP
SP --> VIZ
SP --> GE
SP --> WEB
SP --> APPS
%% Monitoring connections
SD -.-> GF
GL -.-> GL2
K8S -.-> PROM
PROM -.-> STATUS
%% Infrastructure
CC -.-> K8S
GL -.-> K8S
SD -.-> K8S
TR -.-> K8S
K8S -.-> RANCHER
%% Styling (Dark mode compatible)
classDef dataSource fill:#2d5aa0,stroke:#4a90e2,stroke-width:2px,color:#ffffff
classDef processing fill:#7b1fa2,stroke:#9c27b0,stroke-width:2px,color:#ffffff
classDef storage fill:#2e7d32,stroke:#4caf50,stroke-width:2px,color:#ffffff
classDef distribution fill:#ef6c00,stroke:#ff9800,stroke-width:2px,color:#ffffff
classDef application fill:#c2185b,stroke:#e91e63,stroke-width:2px,color:#ffffff
classDef monitoring fill:#558b2f,stroke:#8bc34a,stroke-width:2px,color:#ffffff
classDef infrastructure fill:#455a64,stroke:#607d8b,stroke-width:2px,color:#ffffff
class DS,CSV,API dataSource
class CC,GL,B59,CV processing
class SD,SDS storage
class TR,VC,SP distribution
class VIZ,GE,WEB,APPS application
class GF,GL2,PROM,STATUS monitoring
class K8S,RANCHER infrastructure
- CI/CD Mechanisms - Detailed overview of CI/CD pipelines, GitOps, and deployment processes
- Technical Components - In-depth component documentation
- Data Integration - Data pipeline processes and integration patterns
- LINDASnext - Migration to GraphDB EE
LINDAS Documentation | Home | Architecture | LINDASnext and Migration
Core Documentation
Operations & Monitoring
Dependencies & Architecture
- Ecosystem Dependencies Overview
- Inter-Component Dependencies
- External NPM Dependencies
- Legacy Dependencies Analysis
Current Migration: Stardog → GraphDB EE